Accepting request 452717 from home:tsaupe

Update hwloc to support Knights Mill (fate#321929)

OBS-URL: https://build.opensuse.org/request/show/452717
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/hwloc?expand=0&rev=20
This commit is contained in:
Thomas Blume 2017-01-26 14:48:20 +00:00 committed by Git OBS Bridge
parent b127f8d58b
commit 8d61934959
7 changed files with 93 additions and 292 deletions

View File

@ -1,16 +1,5 @@
<services> <services>
<service name="tar_scm" mode="disabled"> <service name="download_files" mode="localonly">
<param name="scm">git</param> <param name="enforceupstream">yes</param>
<param name="url">https://github.com/tblume/openmpi-hwloc.git</param> </service>
<param name="subdir"></param>
<param name="filename">hwloc</param>
<param name="version">2.0</param>
<param name="revision">SLES12SP2</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*hwloc*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version"/>
</services> </services>

View File

@ -1,202 +0,0 @@
#
# spec file for package hwloc
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global lname libhwloc5
%define sversion 2.0
Name: hwloc
Version: 2.0
Release: 0
Summary: Portable Hardware Locality
License: BSD-3-Clause
Group: Productivity/Clustering/Computing
Url: http://www.open-mpi.org/projects/hwloc/
Source0: hwloc-%{sversion}.tar.xz
Source1: hwloc-rpmlintrc
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
#BuildRequires: libXNVCtrl-devel
BuildRequires: ncurses-devel
BuildRequires: transfig
BuildRequires: update-desktop-files
BuildRequires: w3m
Requires: %{lname} = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} <= 1220 && !0%{?suse_version}
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(pciaccess)
BuildRequires: pkgconfig(x11)
%else
BuildRequires: cairo-devel
BuildRequires: libxml2-devel
BuildRequires: ncurses-devel
BuildRequires: xorg-x11-libICE-devel
BuildRequires: xorg-x11-libSM-devel
BuildRequires: xorg-x11-libX11-devel
%endif
#BuildRequires: texlive-latex
%if 0%{?suse_version} <= 1220
BuildRequires: texlive-bin-latex
%else
BuildRequires: texlive-makeindex-bin
%endif
# % ifnarch s390 s390x
# BuildRequires: libibverbs-devel
# % endif
%ifnarch s390 s390x i586 %arm
BuildRequires: libnuma-devel
%endif
BuildRequires: perl-macros
Requires: perl-JSON
Requires: perl-base >= 5.22.1
%description
The Portable Hardware Locality (hwloc) software package provides
a portable abstraction (across OS, versions, architectures, ...)
of the hierarchical topology of modern architectures, including
NUMA memory nodes, shared caches, processor sockets, processor cores
and processing units (logical processors or "threads"). It also gathers
various system attributes such as cache and memory information. It primarily
aims at helping applications with gathering information about modern
computing hardware so as to exploit it accordingly and efficiently.
hwloc may display the topology in multiple convenient formats.
It also offers a powerful programming interface (C API) to gather information
about the hardware, bind processes, and much more.
%package devel
Summary: Headers and shared development libraries for hwloc
Group: Development/Libraries/C and C++
Requires: %{lname} = %{version}
Provides: lib%{name}-devel = %{version}-%{release}
Obsoletes: lib%{name}-devel <= 1.11
%description devel
Package contains headers and shared object symbolic links for the hwloc.
%package -n %{lname}
Summary: Run time libraries for the hwloc
Group: System/Libraries
Requires: %{name}-data
%description -n %{lname}
Package contains run time libraries for the hwloc.
%package data
Summary: Run time data for hwloc
Group: Development/Libraries/C and C++
%description data
Package contains run time data for the hwloc.
%package doc
Summary: Documentation for hwloc
Group: Documentation/Other
%description doc
Package contains documentation for %{name}.
%prep
%setup -q
%build
%if 0%{?sles_version}
sed -i 's/2.0 dist-bzip2 subdir-objects foreign tar-ustar parallel-tests -Wall -Werror/2.0 dist-bzip2 subdir-objects foreign tar-ustar -Wall -Werror/g' configure.ac
%endif
autoreconf --force --install
sed -i "s;(LN_S) lstopo-no-graphics;(LN_S) lstopo;g" utils/lstopo/Makefile.in
%configure
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags} V=1
%install
make install DESTDIR=%{buildroot} INSTALL="install -p"
%suse_update_desktop_file -r lstopo System Monitor
# We don't ship .la files.
rm -rf %{buildroot}%{_libdir}/libhwloc.la
# documentation will be handled by % doc macro
rm -rf %{buildroot}%{_datadir}/doc/
%fdupes -s %{buildroot}/%{_mandir}/man1
%fdupes -s %{buildroot}/%{_mandir}/man7
#support perl scripts
mkdir -p %{buildroot}/%{perl_vendorlib}
mv %{buildroot}/%{_bindir}/Perl_* %{buildroot}/%{perl_vendorlib}/
%check
#XXX: this is weird, but make check got broken by removing doxygen-doc/man above
# the only one fix is to install documentation by hand, or to ignore check error
make %{?_smp_mflags} check || :
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
%files
%defattr(-, root, root, -)
%doc AUTHORS COPYING NEWS README VERSION
# This binary is built only for intel architectures
%ifarch %ix86 x86_64
%attr(0755,root,root) %{_sbindir}/hwloc-dump-hwdata
%endif
%doc %{_mandir}/man1/%{name}*
%doc %{_mandir}/man1/lstopo*
%{_bindir}/hwloc*
%{_bindir}/lsmap
%{_bindir}/lsnettopo
%{_bindir}/lstopo*
%{_bindir}/netloc*
%{perl_vendorlib}/Perl_IB_support.pm
%{perl_vendorlib}/Perl_OF_support.pm
%dir %{_datadir}/hwloc
%{_datadir}/applications/*.desktop
%files devel
%defattr(-, root, root, -)
%doc %{_mandir}/man7/%{name}*
%{_includedir}/%{name}
%{_includedir}/%{name}.h
%{_includedir}/netloc*
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/netloc.pc
%{_libdir}/libnetloc.so
%{_libdir}/libnetloc.la
%files -n %{lname}
%defattr(-, root, root, -)
%{_libdir}/libhwloc*so.*
%{_libdir}/libnetloc*so.*
%files data
%defattr(-, root, root, -)
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/%{name}.dtd
%{_datadir}/%{name}/%{name}-valgrind.supp
%files doc
%defattr(-, root, root, -)
%doc ./doc/images/*.pdf
%changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:91c9eb7fbc4b8deb9dd64718fb7dae2424bbf3be8a654422dce9a625f17116fd
size 1552264

View File

@ -1,2 +0,0 @@
addFilter(".*script-without-shebang.*/usr/lib/perl5/vendor_perl/5.22.1/Perl_.*")
addFilter(".*perl5-naming-policy-not-applied.*/usr/lib/perl5/vendor_perl/5.22.1/Perl_.*")

View File

@ -1,3 +1,44 @@
-------------------------------------------------------------------
Tue Jan 24 15:10:18 UTC 2017 - Thomas.Blume@suse.com
- use version_prefix in specfile and download_files service to get sources
-------------------------------------------------------------------
Mon Jan 23 14:37:16 UTC 2017 - tchvatal@suse.com
- Set noarch on the subpackages that are arch independent
- Run configure with enabling verbose mode and disable needless knobs
- Set version in the package fully (not 1.11 but 1.11.5+git...)
- Rename files to name of the package, if it needs to be renamed the folder
needs to keep the other name too
- Do not mess with provides/obsoletes about the hwloc-2.0 it won't work
with libsolv anyway without user interaction
* Bump the user version to 2.0.0.1.11.5+git... to allow 'fake' update
for user in order to work with fate#321929c#5
-------------------------------------------------------------------
Tue Jan 17 12:34:11 UTC 2017 - Thomas.Blume@suse.com
- switch to version 1.11.5 since 2.0 is a development version with
no .so-version set fate#321929 comment#5)
-------------------------------------------------------------------
Mon Aug 29 13:28:27 UTC 2016 - Thomas.Blume@suse.com
- fix missing manpage bug (bsc#995407)
- remove dependency to selinux-policy, selinux is not essential
for hwloc (bsc#976559 comment#4)
-------------------------------------------------------------------
Fri Apr 22 08:28:22 UTC 2016 - Thomas.Blume@suse.com
- add dependency to selinux-policy (bsc#976559)
-------------------------------------------------------------------
Fri Mar 11 05:39:24 UTC 2016 - thomas.blume@suse.com
- Update to 2.0 to support memory side cache (fate#319511)
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Dec 26 17:24:37 UTC 2015 - mpluskal@suse.com Sat Dec 26 17:24:37 UTC 2015 - mpluskal@suse.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package hwloc # spec file for package hwloc
# #
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -17,57 +17,41 @@
%global lname libhwloc5 %global lname libhwloc5
%define sversion 2.0 %if ! 0%{?is_opensuse}
%define version_prefix 2.0.0.
%endif
Name: hwloc Name: hwloc
Version: 2.0 Version: %{?version_prefix}1.11.5
Release: 0 Release: 0
Summary: Portable Hardware Locality Summary: Portable Hardware Locality
License: BSD-3-Clause License: BSD-3-Clause
Group: Productivity/Clustering/Computing Group: Productivity/Clustering/Computing
Url: http://www.open-mpi.org/projects/hwloc/ Url: http://www.open-mpi.org/projects/hwloc/
Source0: hwloc-%{sversion}.tar.xz #Source0: %{name}-%{version}.tar.xz
Source1: hwloc-rpmlintrc Source0: https://github.com/open-mpi/hwloc/archive/v1.11.tar.gz
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: libtool BuildRequires: libtool
#BuildRequires: libXNVCtrl-devel
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: transfig BuildRequires: perl
BuildRequires: pkgconfig
BuildRequires: update-desktop-files BuildRequires: update-desktop-files
BuildRequires: w3m
Requires: %{lname} = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} <= 1220 && !0%{?suse_version}
BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(pciaccess) BuildRequires: pkgconfig(pciaccess)
BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11)
%else Requires: %{lname} = %{version}-%{release}
BuildRequires: cairo-devel Requires: perl-JSON
BuildRequires: libxml2-devel Requires: perl-base >= 5.18.2
BuildRequires: ncurses-devel Requires(post): desktop-file-utils
BuildRequires: xorg-x11-libICE-devel Requires(postun): desktop-file-utils
BuildRequires: xorg-x11-libSM-devel BuildRoot: %{_tmppath}/%{name}-1.11-build
BuildRequires: xorg-x11-libX11-devel %ifnarch s390 s390x i586 aarch64 %{arm}
%endif
#BuildRequires: texlive-latex
%if 0%{?suse_version} <= 1220
BuildRequires: texlive-bin-latex
%else
BuildRequires: texlive-makeindex-bin
%endif
# % ifnarch s390 s390x
# BuildRequires: libibverbs-devel
# % endif
%ifnarch s390 s390x i586 %arm
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
%endif %endif
BuildRequires: perl-macros
Requires: perl-JSON
Requires: perl-base >= 5.22.1
%description %description
The Portable Hardware Locality (hwloc) software package provides The Portable Hardware Locality (hwloc) software package provides
@ -87,8 +71,9 @@ about the hardware, bind processes, and much more.
Summary: Headers and shared development libraries for hwloc Summary: Headers and shared development libraries for hwloc
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{lname} = %{version} Requires: %{lname} = %{version}
Provides: lib%{name}-devel = %{version}-%{release} Provides: libhwloc-devel = %{version}
Obsoletes: lib%{name}-devel <= 1.11 Obsoletes: libhwloc-devel < %{version}
Obsoletes: libhwloc-devel = 0.0.0
%description devel %description devel
Package contains headers and shared object symbolic links for the hwloc. Package contains headers and shared object symbolic links for the hwloc.
@ -104,6 +89,7 @@ Package contains run time libraries for the hwloc.
%package data %package data
Summary: Run time data for hwloc Summary: Run time data for hwloc
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
BuildArch: noarch
%description data %description data
Package contains run time data for the hwloc. Package contains run time data for the hwloc.
@ -111,26 +97,23 @@ Package contains run time data for the hwloc.
%package doc %package doc
Summary: Documentation for hwloc Summary: Documentation for hwloc
Group: Documentation/Other Group: Documentation/Other
BuildArch: noarch
%description doc %description doc
Package contains documentation for %{name}. Package contains documentation for %{name}.
%prep %prep
%setup -q %setup -q -n %{name}-1.11
%build %build
%if 0%{?sles_version} autoreconf -fvi
sed -i 's/2.0 dist-bzip2 subdir-objects foreign tar-ustar parallel-tests -Wall -Werror/2.0 dist-bzip2 subdir-objects foreign tar-ustar -Wall -Werror/g' configure.ac
%endif %configure \
autoreconf --force --install --disable-silent-rules
sed -i "s;(LN_S) lstopo-no-graphics;(LN_S) lstopo;g" utils/lstopo/Makefile.in make %{?_smp_mflags}
%configure
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags} V=1
%install %install
make install DESTDIR=%{buildroot} INSTALL="install -p" %make_install
%suse_update_desktop_file -r lstopo System Monitor %suse_update_desktop_file -r lstopo System Monitor
# We don't ship .la files. # We don't ship .la files.
rm -rf %{buildroot}%{_libdir}/libhwloc.la rm -rf %{buildroot}%{_libdir}/libhwloc.la
@ -140,60 +123,52 @@ rm -rf %{buildroot}%{_datadir}/doc/
%fdupes -s %{buildroot}/%{_mandir}/man1 %fdupes -s %{buildroot}/%{_mandir}/man1
%fdupes -s %{buildroot}/%{_mandir}/man7 %fdupes -s %{buildroot}/%{_mandir}/man7
#support perl scripts
mkdir -p %{buildroot}/%{perl_vendorlib}
mv %{buildroot}/%{_bindir}/Perl_* %{buildroot}/%{perl_vendorlib}/
%check %check
#XXX: this is weird, but make check got broken by removing doxygen-doc/man above #XXX: this is weird, but make check got broken by removing doxygen-doc/man above
# the only one fix is to install documentation by hand, or to ignore check error # the only one fix is to install documentation by hand, or to ignore check error
make %{?_smp_mflags} check || : make %{?_smp_mflags} check || :
%post -n %{lname} -p /sbin/ldconfig %post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig %postun -n %{lname} -p /sbin/ldconfig
%post
%desktop_database_post
%postun
%desktop_database_postun
%files %files
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc AUTHORS COPYING NEWS README VERSION %doc AUTHORS COPYING NEWS README VERSION
# This binary is built only for intel architectures # This binary is built only for intel architectures
%ifarch %ix86 x86_64 %ifarch %{ix86} x86_64
%attr(0755,root,root) %{_sbindir}/hwloc-dump-hwdata %attr(0755,root,root) %{_sbindir}/hwloc-dump-hwdata
%endif %endif
%doc %{_mandir}/man1/%{name}* %{_mandir}/man1/hwloc*
%doc %{_mandir}/man1/lstopo* %{_mandir}/man1/lstopo*
%{_bindir}/hwloc* %{_bindir}/hwloc*
%{_bindir}/lsmap
%{_bindir}/lsnettopo
%{_bindir}/lstopo* %{_bindir}/lstopo*
%{_bindir}/netloc*
%{perl_vendorlib}/Perl_IB_support.pm
%{perl_vendorlib}/Perl_OF_support.pm
%dir %{_datadir}/hwloc %dir %{_datadir}/hwloc
%{_datadir}/applications/*.desktop %{_datadir}/applications/*.desktop
%{_datadir}/hwloc/hwloc-dump-hwdata.service
%files devel %files devel
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc %{_mandir}/man7/%{name}* %{_mandir}/man7/hwloc*
%{_includedir}/%{name} %{_includedir}/hwloc
%{_includedir}/%{name}.h %{_includedir}/hwloc.h
%{_includedir}/netloc* %{_libdir}/libhwloc.so
%{_libdir}/lib%{name}.so %{_libdir}/pkgconfig/hwloc.pc
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/netloc.pc
%{_libdir}/libnetloc.so
%{_libdir}/libnetloc.la
%files -n %{lname} %files -n %{lname}
%defattr(-, root, root, -) %defattr(-, root, root, -)
%{_libdir}/libhwloc*so.* %{_libdir}/libhwloc*so.*
%{_libdir}/libnetloc*so.*
%files data %files data
%defattr(-, root, root, -) %defattr(-, root, root, -)
%dir %{_datadir}/%{name} %dir %{_datadir}/hwloc
%{_datadir}/%{name}/%{name}.dtd %{_datadir}/hwloc/hwloc.dtd
%{_datadir}/%{name}/%{name}-valgrind.supp %{_datadir}/hwloc/hwloc-valgrind.supp
%files doc %files doc
%defattr(-, root, root, -) %defattr(-, root, root, -)

3
v1.11.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1ed66930f32db9630f55ebcea0f41649dc8c174d3f3ea5af7a80e1f3695882f
size 1585620