# # spec file for package numactl # # Copyright (c) 2018 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/ # Name: numactl Version: 2.0.11 Release: 4.2 Summary: NUMA Policy Control License: GPL-2.0-only Group: System/Management Url: http://oss.sgi.com/projects/libnuma/ Source0: %{name}-%{version}.tar.xz Source2: baselibs.conf # PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch0: revert_date_in_numastat.patch # PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch1: 0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch Patch2: numactl-clearcache-pie.patch # PATCH-FIX-UPSTREAM Include for major/minor Patch3: sysmacros.patch %if 0%{?suse_version} > 1110 BuildRequires: autoconf >= 2.64 BuildRequires: automake BuildRequires: libtool %endif Requires: perl BuildRoot: %{_tmppath}/%{name}-%{version}-build ExcludeArch: %arm %description Control NUMA policy for individual processes. Offer libnuma for individual NUMA policy in applications. %package -n libnuma1 Summary: NUMA Policy Control License: LGPL-2.1-or-later Group: Development/Languages/C and C++ %description -n libnuma1 Control NUMA policy for individual processes. Offer libnuma for individual NUMA policy in applications. %package -n libnuma-devel Summary: NUMA Policy Control License: GPL-2.0-only Group: Development/Languages/C and C++ Requires: libnuma1 = %{version} %description -n libnuma-devel Control NUMA policy for individual processes. Offer libnuma for individual NUMA policy in applications. %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %build %if 0%{?suse_version} > 1110 autoreconf -fiv %endif %configure \ --disable-static make %{?_smp_mflags} CFLAGS="%{optflags}" %install %make_install rm %{buildroot}%{_mandir}/man2/move_pages.2* rm -f %{buildroot}/%{_libdir}/lib*a %post -n libnuma1 -p /sbin/ldconfig %postun -n libnuma1 -p /sbin/ldconfig %files %defattr(-,root,root) %{_bindir}/* %{_mandir}/man8/* %doc CHANGES %files -n libnuma1 %defattr(-,root,root) %{_libdir}/lib*so.* %files -n libnuma-devel %defattr(-,root,root) %{_mandir}/man3/* %{_includedir}/* %{_libdir}/lib*so %changelog * Wed Aug 1 2018 schwab@suse.de - sysmacros.patch: Include for major/minor * Fri Jan 5 2018 matwey.kornilov@gmail.com - Disable building at 32-bit ARM. NUMA is not supported by 32-bit ARM Linux Kernel, so build failed with [#]error "Add syscalls for your architecture or update kernel headers" * Fri Jul 7 2017 fschnizlein@suse.com - Update to latest HEAD (ea3a70681c2f523fe58e1d44527f478ca76db74e) * Fix usage of __GLIBC_PREREQ for non-glibc toolchains * Fix usage of __GLIBC_PREREQ for non-glibc toolchains * Clean up numa_error() calls. * Handle sched_getaffinity() failing with errno != EINVAL. * "Further more" should be a single word * Fix for numa_police_memory() * Segment fault when numa nodes not sequential or contiguous * Update prototype of get_mempolicy * Thu Mar 9 2017 fschnizlein@suse.com - Update to 2.0.11 * 150116 libnuma: numa_node_to_cpu skips over non-existing nodes (Petr Holasek) * 151210 libnuma: supress warnings for non-existing node (Petr Holasek) * Sun Aug 2 2015 mpluskal@suse.com - Cleanup spec file with spec-cleaner - Use autoreconf to update configure * Mon Feb 23 2015 crrodriguez@opensuse.org - package fails to build with PIE globally enabled, due to error: inconsistent operand constraints in an 'asm'. Turns out there is a GCC builtin for doing the operation cleanly. (numactl-clearcache-pie.patch) * Tue Jan 27 2015 trenn@suse.de - Change license from GPL-2.0+ to GPL-2.0 * Tue Jan 20 2015 trenn@suse.de - Make latest factory version build against SLE11 as well * Thu Nov 27 2014 meissner@suse.com - cleanup, also build for i586 - remove move_pages.2 , as it is in manual-pages rpm. * Sat Nov 22 2014 mailaender@opensuse.org - Update to version 2.0.10: * 131123 numactl: numactl check for NUMA available (Elena Ufimtseva) * 140715 numactl: fix numactl --show and preferrred node (Bill Gray) * 140722 makefile: remove warning about missing .depend (Filipe Brandenburger) * 140820 convert the build procedure to automake (Filipe Brandenburger) - Cleanup spec file * use RPM macros where possible * remove redundant %%clean * Tue Jul 29 2014 juwolf@suse.com - Fixed patch 0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch for bnc#872922 * Fri Jun 13 2014 juwolf@suse.com - Add: 0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch Fixes segfault when no node could be found in sysfs. bnc#872922 * Tue Dec 10 2013 dvaleev@suse.com - enable ppc64le * Wed Oct 9 2013 trenn@suse.de - Update to version 2.0.9: - 130207 Add a prototype for numa_bitmask_weight (Cliff W.) - 130725 Fix hubstats huge pages bug, version number, man page (Bill Gray) - 130726 Disable the regress-io test (Cliff W.) - 130730 Fix typos in numactl man page; add short opts to --help (Petr Holasek) - 130906 numactl: option --all/-a added for policy settings (Petr Holasek) - 130906 libnuma: new function numa_run_on_node_mask_all (Petr Holasek) * Thu Nov 8 2012 trenn@suse.de - Update to version 2.0.8: Drop patch numactl_install_all_manpages, merged upstream - Removed __DATE__ in numastat to avoid constant rebuilding in build service (added patch revert_date_in_numastat.patch) - adjusted license strings * Wed Oct 12 2011 tabraham@novell.com - Update from 2.0.6 to 2.0.7 * Add numa_realloc() (and realloc_test) * Re-fix numa_get_run_node_mask() and fix numa_get_run_node_mask * Fix the numa_get_run_node_mask() man page (cpus vs nodes) * Fix the cpu and node parsing to be cpuset aware * Fix test/checkaffininty to be cpuset aware * Fix two typos in numactl.8 * Wed Mar 16 2011 trenn@novell.com - Only use LGPL for the library licence, remove the gpl part. * Wed Mar 16 2011 trenn@novell.com - Add lesser GPL public license to libnuma as metioned in the sources * Wed Mar 16 2011 trenn@novell.com - Adjust/refresh patch, no functional change * Tue Jan 4 2011 trenn@novell.com - Update from 2.0.6-rc3 to final version 2.0.6 * Sun Oct 31 2010 jengelh@medozas.de - Use %%_smp_mflags * Tue Oct 12 2010 trenn@novell.com - Updated to version 2.0.6-rc3 * Fix numa_get_run_node_mask() to return a cpuset-aware node mask (Cliff W.) * Add a better warning to numa_node_to_cpus() * Tue Oct 5 2010 trenn@novell.com - Updated to version 2.0.6-rc1 * numa_num_task_cpus()/..nodes() to return actual counts (Cliff W.) * Correct numa_max_node() use of broken numa_num_configured_nodes() (Tim Pepper) * Use numa_max_node() not numa_num_configured_nodes() (Tim Pepper) * Fix numa_num_configured_nodes() to match man page description (Tim Pepper) * Clarify comment for numa_all_nodes_ptr extern (Tim Pepper) * numactl --hardware should handle sparse node numbering (Tim Pepper) * Maintain compatibility with 2.0.3 numa_num_thread...()'s (Cliff W.) * Sun Oct 3 2010 aj@suse.de - Update to 2.0.5: * Remove merged patch numactl_fix_mem_corrup_numa_init.patch * Various bug fixes. * Mon Jun 21 2010 trenn@novell.com - Forgot to increase the version string from 2.0.4-rc1 to 2.0.4-rc2 * Wed Jun 9 2010 trenn@novell.com - Fixed corrupt tar.bz2 and added a mem corruption fix from Jan. * Thu May 20 2010 trenn@novell.com - Update to version 2.0.4-rc2 * Thu Feb 11 2010 jengelh@medozas.de - workaround broken Makefile which uses uname -m to detect bitness and libdir - remove sparcv9 from special-casing in baselibs.conf * Tue Dec 15 2009 jengelh@medozas.de - add baselibs.conf as a source - add baselibs for SPARC - add SPARC to ExclusiveArch - enable parallel building * Fri Dec 11 2009 trenn@suse.de - Update to version 2.0.4-rc1 - Added missing manpages: numastat, migspeed, migratepages * Thu Dec 10 2009 meissner@suse.de - fixed build with asneeded on platforms with non-builtin sqrt() * Wed Feb 4 2009 cthiel@suse.de - fix baselibs.conf syntax * Wed Jan 28 2009 bwalle@suse.de - Fixes the function to print all available CPUs. * Mon Jan 26 2009 cthiel@suse.de - fix baselibs.conf, to require libnuma1-32bit on ppc * Thu Jan 15 2009 bwalle@suse.de - Update to 2.0.3-rc1 o Fixes to libnuma.c numa.h numacompat1.h by Daniel Gollub to fix v1 compatiblity o Fixes for 64-bit big-endian systems o Restore nodemask_zero() and nodemask_equal() o Fixes to read_mask() o Drops a warning message about this not being a NUMA system o Remove the numa_maps.5 man page (it's in Linux now) o Fix makefiles in tests o Fix off-by-ones in test mbind_mig_pages - Drop numactl-compat.diff: Mainline. - Drop numactl-fix-for-ppc64.patch: Mainline. * Wed Jan 14 2009 ro@suse.de - baselibs.conf: really create libnuma-devel-32bit only on ppc * Wed Jan 14 2009 bwalle@suse.de - Don't include the numa_maps(5) manpage since it's in man-pages for some time (bnc #456823). - Add libnuma-devel to baselibs.conf to get a libnuma-devel-32bit on PPC (bnc #456823) * Tue Jan 13 2009 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Tue Jan 13 2009 bwalle@suse.de - Fix "memset fails with 'mbind: Invalid argument'" on PPC64 (bnc #455977). * Mon Dec 8 2008 kukuk@suse.de - Fix baselibs.conf * Fri Dec 5 2008 bwalle@suse.de - Revert last change, it breaks other architectures. * Fri Dec 5 2008 bwalle@suse.de - Fix numademo memset fails with 'mbind: Invalid argument' (bnc #455977). * Thu Nov 20 2008 bwalle@suse.de - Fixes to libnuma.c numa.h numacompat1.h by Daniel Gollub to fix v1 compatiblity (bnc#441440). * Tue Aug 5 2008 bwalle@suse.de - update to 2.0.2 o Various numademo improvements: * Fix random benchmark to use all specified memory * Rename to random2 to signify it's different * Optimize random benchmark by inlining random number generator fast path. * Clear caches between runs for more stable results * Add new random pointer chaser benchmark * Compile benchmarks with gcc vectorization if available * run numademo in regression test o Add numa_exit_on_warn o Fix no cpuset fallback in libnuma.c o Install symlinks for the manpages of all new functions o Make internal libnuma functions static o Add copy_bitmask_to_bitmask() to numa.h o Some cleanups o Fix line reading in proc o Add versions.ldscript to libnuma.so dependencies o Remove the non-"numa_" functions from numacompat1.h and numa.h o Add ia64 clearcache() to numademo o Add -t to numademo for regression testing o Remove "numa_all_cpus" from numa.h o Changed VERSION1_COMPATIBILITY to NUMA_VERSION1_COMPATIBILITY o Defined LIBNUMA_API_VERSION 2 in numa.h o Fix numaif.h and numaint.h (migrate_pages) o Fixes to numademo (min/max, and array index) * Wed Jun 25 2008 bwalle@suse.de - change RPM version to '2.0.1+2.0.2_rc1' for a clean update path - don't package the static library - update baselibs.conf to reflect the package split - remove Provides/Obsoletes since the 'numactl' package still exists and provides the numactl binary - move Changelog from 'libnuma1' package to 'numactl' package * Tue Jun 17 2008 bwalle@suse.de - update to 2.0.2-rc1 o Various numademo improvements: * Fix random benchmark to use all specified memory * Rename to random2 to signify it's different * Optimize random benchmark by inlining random number generator fast path. * Clear caches between runs for more stable results * Add new random pointer chaser benchmark * Compile benchmarks with gcc vectorization if available * run numademo in regression test o Add numa_exit_on_warn o Fix no cpuset fallback in libnuma.c o Fix no cpuset fallback in libnuma.c o Install symlinks for the manpages of all new functions o Make internal libnuma functions static o Add copy_bitmask_to_bitmask() to numa.h o Some cleanups o Fix line reading in proc o Add versions.ldscript to libnuma.so dependencies o Remove the non-"numa_" functions from numacompat1.h and numa.h o Add ia64 clearcache() to numademo o Add -t to numademo for regression testing * Wed Jun 11 2008 bwalle@suse.de - update to 2.0.1 (see CHANGES file for a changelog) - follow shared library packaging policy * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Mon Mar 17 2008 jeffm@suse.com - Update to 1.0.2 * Fix parallel Makefile build (Andreas Herrmann) * Fix target command argument parsing for numactl * Clarify numa_node_to_cpus() manpage * Wed Aug 15 2007 ak@suse.de - Update to 1.0.1 * Only bug fixes since the previous version, no new functionality. * Thu Jun 8 2006 ak@suse.de - Save/restore errno correctly (#182158) * Thu Jun 8 2006 ak@suse.de - Fix cpu buffer sizing for affinity syscalls (#182145) * Tue May 23 2006 ak@suse.de - Fix cpumap parsing again (#177749) * Thu Mar 30 2006 ak@suse.de - Fix the cpumap parsing fix to not corrupt memory (still #161089) * Tue Mar 28 2006 ak@suse.de - Update to 0.9.6: (#161089) * consolidates earlier changes * fix migrate pages error handling * add numa_maps manpage * fix cpumap parsing on large systems * some build fixes * Thu Mar 23 2006 ak@suse.de - Don't install syscall manpages which are in the normal manpages now (#158550) * Sun Feb 12 2006 ak@suse.de - Install migratepages manpage (followon for #143825) * Wed Feb 8 2006 ak@suse.de - Add support for page migration (#143825) * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Wed Jan 4 2006 ak@suse.de - Update to numactl 0.9.1 to fix ppc32 build. * Tue Jan 3 2006 ak@suse.de - Update to numactl 0.9 * Mon Dec 19 2005 ak@suse.de - Update to numactl 0.8 * Fri Dec 16 2005 ro@suse.de - do not build as root * Mon Oct 10 2005 ak@suse.de - use RPM_OPT_FLAGS - fix build on ia64 with debuginfo package * Mon Oct 10 2005 ak@suse.de - Fix includes in manpages (#72853) - Fix buffer length calculation (#118980) * Wed Apr 27 2005 jplack@suse.de - override broken calculation of libdir in Makefile by using %%{_libdir} rpm macro (#75249). Now it builds on ppc also. * Mon Apr 25 2005 jplack@suse.de - added numactl-LDPS1255-ppc (#75249 - LTC14536) * Tue Apr 5 2005 ak@suse.de - Fix manpages (#72835, #65944) - Fix thread handling with NPTL (#64496) * Mon Nov 22 2004 ak@suse.de - Fix C++ compilation (#45796) * Tue Sep 7 2004 ak@suse.de - Fix numa_node_to_cpus on big machines (#44433) * Wed Jun 16 2004 ak@suse.de - Fix --cpubind on kernels with large NR_CPUS (#42041) * Sat Jun 5 2004 ak@suse.de - update to 0.6.4: * add copyright headers for GPL and LGPL (#41685) - Add requires to perl for numastat * Thu May 20 2004 ak@suse.de - update to 0.6.3: * fix cpu map parsing with large number of CPUs (#40820) * Tue May 11 2004 ak@suse.de - update to 0.6.2: * fix numademo to use STREAM * make headers C++ clean * some other bug fixes. * add preliminary i386 syscalls * Sun Apr 4 2004 ak@suse.de - compile on ia64 too * Thu Apr 1 2004 ak@suse.de - update to 0.6 final. fix a few bugs in numactl and libnuma and work on IA64 too * Mon Mar 22 2004 ak@suse.de - update to 0.6pre. * Mon May 19 2003 ak@suse.de - update to numactl-0.3. add libnuma and new manpages. add numademo. * Wed May 7 2003 ak@suse.de - package written and created