From 97702f91de0da42a3fd62764cee8099351a23452 Mon Sep 17 00:00:00 2001 From: zyppe <210hcl@gmail.com> Date: Wed, 28 Feb 2024 21:51:43 +0800 Subject: [PATCH] Initialize for numactl --- .gitignore | 1 + .numactl.metadata | 1 + ...hen-no-node-could-be-found-in-sysfs-.patch | 40 ++ baselibs.conf | 7 + numactl-clearcache-pie.patch | 28 ++ numactl.changes | 426 ++++++++++++++++++ numactl.spec | 84 ++++ 7 files changed, 587 insertions(+) create mode 100644 .gitignore create mode 100644 .numactl.metadata create mode 100644 0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch create mode 100644 baselibs.conf create mode 100644 numactl-clearcache-pie.patch create mode 100644 numactl.changes create mode 100644 numactl.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..46ac7f8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +numactl-2.0.14.20.g4ee5e0c.tar.gz diff --git a/.numactl.metadata b/.numactl.metadata new file mode 100644 index 0000000..85fe8c8 --- /dev/null +++ b/.numactl.metadata @@ -0,0 +1 @@ +0693c639eede49ace60a68200c998ed59d6304c1d497479ec442cf7d55ee175f numactl-2.0.14.20.g4ee5e0c.tar.gz diff --git a/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch b/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch new file mode 100644 index 0000000..ee7a603 --- /dev/null +++ b/0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch @@ -0,0 +1,40 @@ +From 5dce07818a2f2c6ebde399f58702fe5beecb2eed Mon Sep 17 00:00:00 2001 +From: Julian Wolf +Date: Fri, 18 Jul 2014 14:05:05 +0200 +Subject: [PATCH] Fixed segfault when no node could be found in sysfs + bnc#872922 + +--- + distance.c | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +Index: numactl-2.0.10/distance.c +=================================================================== +--- numactl-2.0.10.orig/distance.c 2014-10-03 22:49:11.000000000 +0200 ++++ numactl-2.0.10/distance.c 2015-01-20 19:07:43.397202100 +0100 +@@ -58,19 +58,16 @@ + int *table = NULL; + int err = -1; + +- for (nd = 0;; nd++) { ++ for (nd = 0; nd < maxnode; nd++) { + char fn[100]; + FILE *dfh; + sprintf(fn, "/sys/devices/system/node/node%d/distance", nd); + dfh = fopen(fn, "r"); +- if (!dfh) { +- if (errno == ENOENT) +- err = 0; +- if (!err && nd <= " + provides "numactl- = " +arch ppc package libnuma-devel + requires -numactl1- + requires -libnuma- + requires "numactl- = " diff --git a/numactl-clearcache-pie.patch b/numactl-clearcache-pie.patch new file mode 100644 index 0000000..eb554b5 --- /dev/null +++ b/numactl-clearcache-pie.patch @@ -0,0 +1,28 @@ +--- numactl-2.0.10.orig/clearcache.c ++++ numactl-2.0.10/clearcache.c +@@ -54,24 +54,5 @@ void fallback_clearcache(void) + + void clearcache(unsigned char *mem, unsigned size) + { +-#if defined(__i386__) || defined(__x86_64__) +- unsigned i, cl, eax, feat; +- /* get clflush unit and feature */ +- asm("cpuid" : "=a" (eax), "=b" (cl), "=d" (feat) : "0" (1) : "cx"); +- if (!(feat & (1 << 19))) +- fallback_clearcache(); +- cl = ((cl >> 8) & 0xff) * 8; +- for (i = 0; i < size; i += cl) +- asm("clflush %0" :: "m" (mem[i])); +-#elif defined(__ia64__) +- unsigned long cl, endcl; +- // flush probable 128 byte cache lines (but possibly 64 bytes) +- cl = (unsigned long)mem; +- endcl = (unsigned long)(mem + (size-1)); +- for (; cl <= endcl; cl += 64) +- asm ("fc %0" :: "r"(cl) : "memory" ); +-#else +-#warning "Consider adding a clearcache implementation for your architecture" +- fallback_clearcache(); +-#endif ++ __builtin___clear_cache(mem, (mem + (size-1))); + } diff --git a/numactl.changes b/numactl.changes new file mode 100644 index 0000000..254b54a --- /dev/null +++ b/numactl.changes @@ -0,0 +1,426 @@ +* Wed Sep 1 2021 trenn@suse.de +- Update to version 2.0.14.20.g4ee5e0c: + * Fix system call numbers on s390x + * numactl.c: fixed debug verify for --preferred option + * numactl.c: Fixed description for the usage of numactl +* Mon Jul 19 2021 trenn@suse.de +- Update to version 2.0.14.17.g498385e: + * numactl.c: fix use after free + * sysfs.c: prevent mem leak in sysfs_node_read() + * sysfs.c: don't leak fd if fail in sysfs_read() + * shm.c: fix memleak in verify_shm() + * shm.c: fix memleak in dump_shm() + * fix description for numa_node_size64 in man as well + * fix numa_node_size definition in manpage numa.3 + * link with -latomic if needed + * libnuma: make numa_police_memory() free of race + * numademo: Use first two nodes instead of node 0 and 1 +- Enhance _service magic +- Enable automake +* Tue Dec 15 2020 mliska@suse.cz +- Enable LTO (boo#1133098) as it works now. +* Sat Oct 3 2020 dmueller@suse.com +- update to 2.0.14 (SLE-17217): + * manpage update + * numademo: fix issue on 32 bit systems + * drop custom cflags for libnuma + * use symvers attribute for symbol versioning +* Sat Jan 11 2020 stefan.bruens@rwth-aachen.de +- Update to version 2.0.13: + * Release numactl 2.0.13 + * Skip `test/move_pages` if we don't have at least two nodes available + * Add license files: GPLv2 + LGPLv2.1 + * Handle cpu-less node for bind_range test + * Convert numastat.c to standard numactl coding style + * Disable clang travis targets for now + * numastat.8: clarify that information relates to resident pages + * Fix all declarations to be C prototypes + * numatopology: Add check for cpu-less nodes + * Update INSTALL.md + * numastat: when reading no-exist pid, return EXIT_FAILURE + * numastat: Add KReclaimable to list of known fields in meminfo + * numastat: Better diagnostic when find unknown string in meminfo + * Enable building on s390x + * Correct sysconf constants + * Removed unnecessary exit from memhog.c Solves issue #50 + * Synchronized usage function with man page + * Added memhog.8 to Makefile.am + * memhog: add man page + * Allow linking with lld by deduplicating symbols + * numademo: free the node_to_use on the way out + * numademo: free test nodemask + * libnuma: cleanup node cpu mask in destructor + * numactl: add va_end to usage function + * travis: add build matrix + * remove kernel version check + * add missing linux version header + * make MPOL_ macros match linux kernel + * add missing policy + * Fix: Add ShmemHugePages and ShmemPmdMapped to system_meminfo[] + * Fix: move_pages test for non-contiguous nodes + * Correct calculation of nr_nodes and re-enable move_pages test + * Fix: regress test numastat function and few test fixes + * Fix: distance test to include all existing nodes + * numademo: fix wrong node input + * Fix: node_list with memory-less nodes +- Drop autoconf/libtool BuildRequires and autoreconf invocation, + bundled configure is up-to-date. +- Drop obsolete revert_date_in_numastat.patch, gcc sets __DATE__ + based on SOURCE_DATE_EPOCH now. +- Correct License for devel subpackage, same as for the library + (LGPL-2.1-or-later). +* Tue Sep 10 2019 kukuk@suse.de +- numastat doesn't need perl anymore since 2012 +* Wed May 15 2019 trenn@suse.de +- For obs regression checker, this version includes following SLE + fixes: + - enable build for aarch64 (fate#319973) (bsc#976199) + factory has an extra patch to disable ARM 32 bit archs which + looks a bit misleading as %%arm macro only covers 32 bit ARM. + - Bug 955334 - numactl/libnuma: add patch for Dynamic Reconfiguration + bsc#955334 +* Tue Apr 23 2019 mliska@suse.cz +- Disable LTO (boo#1133098). +* Wed Nov 7 2018 egotthold@suse.com +- Update to version 2.0.12: + * Release numactl 2.0.12 + * Cleanup whitespace from *.c and *.h files + * Add Travis build status to numactl README + * Convert README and INSTALL to Markdown + * Remove `threadtest.c` + * Remove `mkolddemo` script + * Remove file TODO, which has outdated contents + * Remove file DESIGN, which has no contents + * Remove changelogs from the repository + * Revert "make clearcache work on x86/PIC" + * Add "NAME" section to numastat manpage + * Allow building on ARM systems + * Add pkg-config file for NUMA library + * readdir_r(3) is deprecated, use readdir(3) instead + * Avoid filename truncation in numastat + * fix coding style in last change + * Fix: numademo test between sparse nodes + * Fix: allocation of dynamic array + * Fix: numactl distance between sparse nodes + * include sys/sysmacros.h for major/minor + * make clearcache work on x86/PIC + * Fix regress test for invalid hard code of nodenames + * Fix end of line check in distance parsing + * Optimize numa_distance check + * affinity: Include sys/sysmacros.h to fix warning + * numademo: Increase buffer to avoid theoretical buffer overflow + * Check for invalid nodes in numa_distance +* Wed Aug 1 2018 schwab@suse.de +- sysmacros.patch: Include for major/minor (bsc#1181571) (bsc#1183796) +* 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 diff --git a/numactl.spec b/numactl.spec new file mode 100644 index 0000000..7a811d6 --- /dev/null +++ b/numactl.spec @@ -0,0 +1,84 @@ +# +# spec file for package numactl +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +Name: numactl +Version: 2.0.14.20.g4ee5e0c +Release: 150400.1.24 +Summary: NUMA Policy Control +License: GPL-2.0-only +Group: System/Management +URL: https://github.com/numactl/numactl/releases +Source0: %{name}-%{version}.tar.gz +Source2: baselibs.conf +# PATCH-FIX-OPENSUSE -- Avoid segfault when no node can be found in sysfs +Patch1: 0001-Fixed-segfault-when-no-node-could-be-found-in-sysfs-.patch +Patch2: numactl-clearcache-pie.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool + +%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: LGPL-2.1-or-later +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 +%patch1 -p1 +%patch2 -p1 + +%build +./autogen.sh +%configure \ + --disable-static +make %{?_smp_mflags} CFLAGS="%{optflags}" V=1 + +%install +%make_install +rm %{buildroot}%{_mandir}/man2/move_pages.2* +rm -f %{buildroot}/%{_libdir}/lib*.la + +%post -n libnuma1 -p /sbin/ldconfig + +%postun -n libnuma1 -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%license LICENSE.GPL2 LICENSE.LGPL2.1 +%{_bindir}/* +%{_mandir}/man8/* + +%files -n libnuma1 +%defattr(-,root,root) +%{_libdir}/lib*so.* + +%files -n libnuma-devel +%defattr(-,root,root) +%{_mandir}/man3/* +%{_includedir}/* +%{_libdir}/lib*so +%{_libdir}/pkgconfig/numa.pc + +%changelog