Accepting request 369651 from home:tsaupe:branches:devel:libraries:c_c++

Update hwloc to support memory side cache (fate#319511)

OBS-URL: https://build.opensuse.org/request/show/369651
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/hwloc?expand=0&rev=19
This commit is contained in:
Michal Vyskocil 2016-03-10 16:18:00 +00:00 committed by Git OBS Bridge
parent 9c6700be5c
commit b127f8d58b
6 changed files with 257 additions and 35 deletions

16
_service Normal file
View File

@ -0,0 +1,16 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/tblume/openmpi-hwloc.git</param>
<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>

View File

@ -0,0 +1,202 @@
#
# 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:8c029b6b1638245837707bfa6c865f448af4e49e7d352335e019d818b51fecf8
size 4019136

3
hwloc-2.0.tar.xz Normal file
View File

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

2
hwloc-rpmlintrc Normal file
View File

@ -0,0 +1,2 @@
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,7 +1,7 @@
# #
# spec file for package hwloc # spec file for package hwloc
# #
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2016 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,15 +17,16 @@
%global lname libhwloc5 %global lname libhwloc5
%define sversion 1.11 %define sversion 2.0
Name: hwloc Name: hwloc
Version: 1.11.2 Version: 2.0
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: http://www.open-mpi.org/software/hwloc/v%{sversion}/downloads/%{name}-%{version}.tar.bz2 Source0: hwloc-%{sversion}.tar.xz
Source1: hwloc-rpmlintrc
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
BuildRequires: doxygen BuildRequires: doxygen
@ -64,6 +65,9 @@ BuildRequires: texlive-makeindex-bin
%ifnarch s390 s390x i586 %arm %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
@ -79,22 +83,15 @@ hwloc may display the topology in multiple convenient formats.
It also offers a powerful programming interface (C API) to gather information It also offers a powerful programming interface (C API) to gather information
about the hardware, bind processes, and much more. about the hardware, bind processes, and much more.
%package lstopo
Summary: Shows the topology in various formats
Group: Productivity/Clustering/Computing
%description lstopo
Lstopo shows the topology of the system in various formats.
%package devel %package devel
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: lib%{name}-devel = %{version}-%{release}
Obsoletes: lib%{name}-devel <= 1.4.1 Obsoletes: lib%{name}-devel <= 1.11
%description devel %description devel
Headers and shared object symbolic links for the hwloc. Package contains headers and shared object symbolic links for the hwloc.
%package -n %{lname} %package -n %{lname}
Summary: Run time libraries for the hwloc Summary: Run time libraries for the hwloc
@ -102,14 +99,14 @@ Group: System/Libraries
Requires: %{name}-data Requires: %{name}-data
%description -n %{lname} %description -n %{lname}
Run time libraries for the %{name}. 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++
%description data %description data
Run time data for the hwloc. Package contains run time data for the hwloc.
%package doc %package doc
Summary: Documentation for hwloc Summary: Documentation for hwloc
@ -123,29 +120,29 @@ Package contains documentation for %{name}.
%build %build
%if 0%{?sles_version} %if 0%{?sles_version}
sed -i 's/1.11 dist-bzip2 subdir-objects foreign tar-ustar parallel-tests -Wall -Werror/1.10 dist-bzip2 subdir-objects foreign tar-ustar -Wall -Werror/g' configure.ac 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 %endif
autoreconf --force --install autoreconf --force --install
sed -i "s;(LN_S) lstopo-no-graphics;(LN_S) lstopo;g" utils/lstopo/Makefile.in sed -i "s;(LN_S) lstopo-no-graphics;(LN_S) lstopo;g" utils/lstopo/Makefile.in
%configure %configure
##sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool 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 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags} V=1 make %{?_smp_mflags} V=1
%install %install
make install DESTDIR=%{buildroot} INSTALL="install -p" make install DESTDIR=%{buildroot} INSTALL="install -p"
%suse_update_desktop_file -r lstopo System Monitor %suse_update_desktop_file -r lstopo System Monitor
#Fix wrong permition on file hwloc-assembler-remote => I have reported this to upstream already
chmod 0755 %{buildroot}%{_bindir}/hwloc-assembler-remote
# We don't ship .la files. # We don't ship .la files.
rm -rf %{buildroot}%{_libdir}/libhwloc.la rm -rf %{buildroot}%{_libdir}/libhwloc.la
# documentation will be handled by % doc macro # documentation will be handled by % doc macro
rm -rf %{buildroot}%{_datadir}/doc/ rm -rf %{buildroot}%{_datadir}/doc/
%fdupes -s %{buildroot}/%{_mandir}/man1 %fdupes -s %{buildroot}/%{_mandir}/man1
%fdupes -s %{buildroot}/%{_mandir}/man3
%fdupes -s %{buildroot}/%{_mandir}/man7 %fdupes -s %{buildroot}/%{_mandir}/man7
%fdupes -s doc/doxygen-doc
#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
@ -159,32 +156,38 @@ make %{?_smp_mflags} check || :
%files %files
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc AUTHORS COPYING NEWS README VERSION %doc AUTHORS COPYING NEWS README VERSION
%attr(0755,root,root) %{_bindir}/%{name}*
# 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}* %doc %{_mandir}/man1/%{name}*
%doc %{_mandir}/man1/lstopo*
%files lstopo %{_bindir}/hwloc*
%defattr(-,root,root) %{_bindir}/lsmap
%attr(0755,root,root) %{_bindir}/lstopo* %{_bindir}/lsnettopo
%{_bindir}/lstopo*
%{_bindir}/netloc*
%{perl_vendorlib}/Perl_IB_support.pm
%{perl_vendorlib}/Perl_OF_support.pm
%dir %{_datadir}/hwloc
%{_datadir}/applications/*.desktop %{_datadir}/applications/*.desktop
%doc %{_mandir}/man1/lstopo.1*
%doc %{_mandir}/man1/lstopo-no-graphics.1.*
%files devel %files devel
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc %{_mandir}/man3/*
%doc %{_mandir}/man7/%{name}* %doc %{_mandir}/man7/%{name}*
%{_includedir}/%{name} %{_includedir}/%{name}
%{_includedir}/%{name}.h %{_includedir}/%{name}.h
%{_includedir}/netloc*
%{_libdir}/lib%{name}.so %{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.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, -)
@ -194,7 +197,6 @@ make %{?_smp_mflags} check || :
%files doc %files doc
%defattr(-, root, root, -) %defattr(-, root, root, -)
%doc doc/doxygen-doc/html %doc ./doc/images/*.pdf
%doc doc/doxygen-doc/hwloc*.pdf
%changelog %changelog