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>
<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"/>
<service name="download_files" mode="localonly">
<param name="enforceupstream">yes</param>
</service>
</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

View File

@ -1,7 +1,7 @@
#
# 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
# remain the property of their copyright owners, unless otherwise agreed
@ -17,57 +17,41 @@
%global lname libhwloc5
%define sversion 2.0
%if ! 0%{?is_opensuse}
%define version_prefix 2.0.0.
%endif
Name: hwloc
Version: 2.0
Version: %{?version_prefix}1.11.5
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
#Source0: %{name}-%{version}.tar.xz
Source0: https://github.com/open-mpi/hwloc/archive/v1.11.tar.gz
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
#BuildRequires: libXNVCtrl-devel
BuildRequires: ncurses-devel
BuildRequires: transfig
BuildRequires: perl
BuildRequires: pkgconfig
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
Requires: %{lname} = %{version}-%{release}
Requires: perl-JSON
Requires: perl-base >= 5.18.2
Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils
BuildRoot: %{_tmppath}/%{name}-1.11-build
%ifnarch s390 s390x i586 aarch64 %{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
@ -87,8 +71,9 @@ about the hardware, bind processes, and much more.
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
Provides: libhwloc-devel = %{version}
Obsoletes: libhwloc-devel < %{version}
Obsoletes: libhwloc-devel = 0.0.0
%description devel
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
Summary: Run time data for hwloc
Group: Development/Libraries/C and C++
BuildArch: noarch
%description data
Package contains run time data for the hwloc.
@ -111,26 +97,23 @@ Package contains run time data for the hwloc.
%package doc
Summary: Documentation for hwloc
Group: Documentation/Other
BuildArch: noarch
%description doc
Package contains documentation for %{name}.
%prep
%setup -q
%setup -q -n %{name}-1.11
%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
autoreconf -fvi
%configure \
--disable-silent-rules
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot} INSTALL="install -p"
%make_install
%suse_update_desktop_file -r lstopo System Monitor
# We don't ship .la files.
rm -rf %{buildroot}%{_libdir}/libhwloc.la
@ -140,60 +123,52 @@ 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
%post
%desktop_database_post
%postun
%desktop_database_postun
%files
%defattr(-, root, root, -)
%doc AUTHORS COPYING NEWS README VERSION
# This binary is built only for intel architectures
%ifarch %ix86 x86_64
%ifarch %{ix86} x86_64
%attr(0755,root,root) %{_sbindir}/hwloc-dump-hwdata
%endif
%doc %{_mandir}/man1/%{name}*
%doc %{_mandir}/man1/lstopo*
%{_mandir}/man1/hwloc*
%{_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
%{_datadir}/hwloc/hwloc-dump-hwdata.service
%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
%{_mandir}/man7/hwloc*
%{_includedir}/hwloc
%{_includedir}/hwloc.h
%{_libdir}/libhwloc.so
%{_libdir}/pkgconfig/hwloc.pc
%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
%dir %{_datadir}/hwloc
%{_datadir}/hwloc/hwloc.dtd
%{_datadir}/hwloc/hwloc-valgrind.supp
%files doc
%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