diff --git a/changelog b/changelog deleted file mode 100644 index d94dfb2..0000000 --- a/changelog +++ /dev/null @@ -1,340 +0,0 @@ -* Fri Dec 22 2023 Neil Hanlon - 22.05.11-1 -- Update to 22.05.11 (#2155310) -- Closes CVE-2023-49933 through CVE-2023-49938; RHBZ bugs: -- #2254496, #2254499, #2254502, #2254505, #2254507, #2254509 - -* Sat Oct 21 2023 Philip Kovacs - 22.05.10-1 -- Update to 22.05.10 -- Use mariadb-connector-c-devel not mariadb-devel for builds - -* Fri Sep 15 2023 Michel Lind - 22.05.9-4 -- Consistently use rpmautospec by using %%autorelease -- Fix license: GPLv2 should be GPLv2 or later -- Use SPDX license identifiers - -* Sat Jul 22 2023 Fedora Release Engineering - 22.05.9-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 Jitka Plesnikova - 22.05.9-2 -- Perl 5.38 rebuild - -* Tue May 9 2023 Philip Kovacs - 22.05.9-1 -- Update to 22.05.9 - -* Sat Jan 21 2023 Fedora Release Engineering - 22.05.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Dec 17 2022 Philip Kovacs - 22.05.6-3 -- Change mailx runtime requirement to /bin/mailx - -* Mon Dec 12 2022 Jitka Plesnikova - 22.05.6-2 -- Add BR perl-generators to generates run-time deps - -* Sun Nov 27 2022 Philip Kovacs - 22.05.6-1 -- Update to 22.05.6 (#2131112) -- Update deprecated vars in slurm.conf (#2133159) - -* Tue Sep 6 2022 Philip Kovacs - 22.05.3-2 -- Add slurm to epel9 (#2072632); update spec for epel 7/8/9 -- Use %autochangelog macro; add changelog file - -* Mon Sep 5 2022 Philip Kovacs - 22.05.3-1 -- Update to 22.05.3 -- Thanks Cristian Le (fedora@lecris.me) for his contributions - -* Sat Jul 23 2022 Fedora Release Engineering - 21.08.8-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon May 30 2022 Jitka Plesnikova - 21.08.8-3 -- Perl 5.36 rebuild - -* Mon May 9 2022 Philip Kovacs - 21.08.8-2 -- Update to 21.08.8-2 (upstream re-release) - -* Thu May 05 2022 Carl George - 21.08.8-1 -- Update to 21.08.8, resolves: rhbz#2082276 -- Fix CVE-2022-29500, resolves: rhbz#2082286 -- Fix CVE-2022-29501, resolves: rhbz#2082289 -- Fix CVE-2022-29502, resolves: rhbz#2082293 - -* Sat Apr 2 2022 Philip Kovacs - 21.08.6-1 -- Update to 21.08.6 - -* Sat Jan 22 2022 Fedora Release Engineering - 21.08.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jan 14 2022 Philip Kovacs - 21.08.5-1 -- Update to 21.08.5 - -* Sun Nov 21 2021 Orion Poplawski - 21.08.4-2 -- Rebuild for hdf5 1.12.1 - -* Wed Nov 17 2021 Philip Kovacs - 21.08.4-1 -- Update to 21.08.4 -- Closes security issue CVE-2021-43337 - -* Sun Oct 31 2021 Philip Kovacs - 21.08.2-2 -- Correct log rotation problems (#2016683, #2018508) - -* Fri Oct 8 2021 Philip Kovacs - 21.08.2-1 -- Update to 21.08.2 -- Added Fedora patches to support pmix v4 -- Remove slurm-pmi(-devel) subpackages - -* Tue Aug 10 2021 Orion Poplawski - 20.11.8-4 -- Rebuild for hdf5 1.10.7 - -* Fri Jul 23 2021 Fedora Release Engineering - 20.11.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Sat Jul 10 2021 Björn Esser - 20.11.8-2 -- Rebuild for versioned symbols in json-c - -* Sat Jul 3 2021 Philip Kovacs - 20.11.8-1 -- Update to 20.11.8 - -* Tue May 25 2021 Jitka Plesnikova - 20.11.7-4 -- Perl 5.34 re-rebuild updated packages - -* Mon May 24 2021 Philip Kovacs - 20.11.7-3 -- Move auth_jwt.so plugin to base package (#1947878) - -* Fri May 21 2021 Jitka Plesnikova - 20.11.7-2 -- Perl 5.34 rebuild - -* Sat May 15 2021 Philip Kovacs - 20.11.7-1 -- Update to 20.11.7 -- Closes security issue CVE-2021-31215 - -* Tue May 4 2021 Philip Kovacs - 20.11.6-1 -- Release of 20.11.6 - -* Mon Apr 12 2021 Philip Kovacs - 20.11.5-2 -- Add subpackage slurm-slurmrestd (Slurm REST API daemon) - -* Fri Mar 26 2021 Philip Kovacs - 20.11.5-1 -- Release of 20.11.5 - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 20.11.3-3 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Wed Jan 27 2021 Fedora Release Engineering - 20.11.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jan 19 2021 Philip Kovacs - 20.11.3-1 -- Release of 20.11.3 - -* Wed Jan 6 2021 Philip Kovacs - 20.11.2-2 -- Minor spec adjustments - -* Tue Jan 5 2021 Philip Kovacs - 20.11.2-1 -- Release of 20.11.2 - -* Tue Nov 17 2020 Philip Kovacs - 20.02.6-1 -- Release of 20.02.6 -- Closes security issues CVE-2020-27745 and CVE-2020-27746 - -* Wed Jul 29 2020 Fedora Release Engineering - 20.02.3-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sat Jun 27 2020 Jitka Plesnikova - 20.02.3-4 -- Perl 5.32 re-rebuild updated packages - -* Thu Jun 25 2020 Orion Poplawski - 20.02.3-3 -- Rebuild for hdf5 1.10.6 - -* Mon Jun 22 2020 Jitka Plesnikova - 20.02.3-2 -- Perl 5.32 rebuild - -* Mon May 25 2020 Philip Kovacs - 20.02.3-1 -- Release of 20.02.3 - -* Tue May 5 2020 Philip Kovacs - 20.02.2-1 -- Release of 20.02.2 - -* Mon Mar 30 2020 Philip Kovacs - 19.05.6-1 -- Release of 19.05.6 - -* Thu Jan 30 2020 Fedora Release Engineering - 19.05.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Jan 22 2020 Philip Kovacs - 19.05.5-2 -- Use cflag -fcommon to allow for building with gcc 10 - -* Mon Dec 23 2019 Philip Kovacs - 19.05.5-1 -- Release of 19.05.5 -- Closes security issues CVE-2019-19727, CVE-2019-19728 - -* Mon Nov 18 2019 Philip Kovacs - 19.05.4-1 -- Release of 19.05.4 - -* Mon Oct 7 2019 Philip Kovacs - 19.05.3-1 -- Release of 19.05.3 - -* Sun Aug 25 2019 Zbigniew Jędrzejewski-Szmek - 19.05.2-2 -- Rebuilt for hwloc-2.0 - -* Tue Aug 13 2019 Philip Kovacs - 19.05.2-1 -- Release of 19.05.2 - -* Fri Jul 26 2019 Fedora Release Engineering - 19.05.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sun Jul 21 2019 Philip Kovacs - 19.05.1-2 -- Create slurm-pmi and slurm-pmi-devel subpackages for pmi/pmi2 libs -- Remove rpm-generated pkgconfig files until upstream provides them -- Do not pull dependencies with pkgconfig unless package uses it - -* Mon Jul 15 2019 Philip Kovacs - 19.05.1-1 -- Release of 19.05.1 -- Closes security issue (CVE-2019-12838) -- Configure for UCX support on supported arches - -* Tue Jul 2 2019 Philip Kovacs - 19.05.0-5 -- Do not install slurm implementation of libpmi/pmi2 libraries -- in favor of the faster implementation provided by pmix -- Remove pmi environment module formerly used to select the slurm -- vs pmix implementations of libpmi/pmi2 - -* Wed Jun 19 2019 Philip Kovacs - 19.05.0-4 -- Correct the configure for pmix -- Correct the slurm_pmix_soname patch - -* Wed Jun 19 2019 Philip Kovacs - 19.05.0-3 -- Stop using autotools macros that were removed from rpm - -* Sun Jun 9 2019 Philip Kovacs - 19.05.0-2 -- Exclude upstream-deprecated 32-bit architectures - -* Sun Jun 9 2019 Philip Kovacs - 19.05.0-1 -- Release of 19.05.0 -- Added nss_plugin subpackage for optional nss plugin -- Added patch to fix 19.05.0 testsuite -- Adjusted cray patch to remove all cray, cray_aries plugins -- Reflect all upstream plugin additions/deletions -- Remove openssl build dependency - -* Thu May 30 2019 Jitka Plesnikova - 18.08.7-2 -- Perl 5.30 rebuild - -* Fri Apr 12 2019 Philip Kovacs - 18.08.7-1 -- Release of 18.08.7 - -* Sat Mar 16 2019 Orion Poplawski - 18.08.6-2 -- Rebuild for hdf5 1.10.5 - -* Thu Mar 7 2019 Philip Kovacs - 18.08.6-1 -- Release of 18.08.6 - -* Sun Feb 17 2019 Igor Gnatenko - 18.08.5-2 -- Rebuild for readline 8.0 - -* Thu Jan 31 2019 Philip Kovacs - 18.08.5-1 -- Release of 18.08.5 - -* Thu Jan 31 2019 Philip Kovacs - 17.11.13-2 -- Fix build issue on 32-bit architectures - -* Wed Jan 30 2019 Philip Kovacs - 17.11.13-1 -- Release of 17.11.13 -- Closes security issue CVE-2019-6438 - -* Wed Oct 24 2018 Philip Kovacs - 17.11.12-1 -- Release of 17.11.12 - -* Sat Oct 20 2018 Philip Kovacs - 17.11.11-1 -- Release of 17.11.11 - -* Thu Oct 11 2018 Yu Watanabe - 17.11.10-1 -- Release of 17.11.10 - -* Fri Sep 28 2018 Philip Kovacs - 17.11.9-2 -- Release of 17.11.9-2 (new upstream tarball) - -* Fri Aug 10 2018 Philip Kovacs - 17.11.9-1 -- Release of 17.11.9 - -* Fri Jul 20 2018 Philip Kovacs - 17.11.8-1 -- Release of 17.11.8 - -* Sat Jul 14 2018 Fedora Release Engineering - 17.11.7-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Jun 27 2018 Jitka Plesnikova - 17.11.7-2 -- Perl 5.28 rebuild - -* Fri Jun 1 2018 Philip Kovacs - 17.11.7-1 -- Release of 17.11.7 -- Closes security issue CVE-2018-10995 - -* Sat May 12 2018 Philip Kovacs - 17.11.6-1 -- Release of 17.11.6 -- Added patch to avoid building contribs/cray (Yu Watanabe) -- Added lz4 support via new BuildRequires (Yu Watanabe) -- Replaced obsolete packages libibmad-devel and libibumad-devel - with rdma-core-devel (Yu Watanabe) -- Updated package descriptions (Yu Watanabe) - -* Fri Mar 16 2018 Philip Kovacs - 17.11.5-1 -- Release of 17.11.5 -- Closes security issue CVE-2018-7033 - -* Sat Mar 3 2018 Philip Kovacs - 17.11.4-1 -- Release of 17.11.4 -- Add perl-devel, python3 to build requirements -- Add patch to convert python references to python3 -- Use LDFLAGS to disable -z now instaed of _hardened_ldflags - -* Thu Feb 15 2018 Philip Kovacs - 17.11.3-3 -- Add perl-interpreter to BuildRequires - -* Thu Feb 15 2018 Philip Kovacs - 17.11.3-2 -- Rebuild for libevent soname bump - -* Sat Feb 10 2018 Philip Kovacs - 17.11.3-1 -- Release of 17.11 series -- Re-aligned rpm packaging to be closer to upstream -- Enabled new slurm native X11 support using ssh2 -- Enabled new shared libslurm for smaller code size -- Enabled `check` unit testing via check-devel -- Added environment module support for pmi/slurm -- Add dependency to pmix -- Removed gtk-update-icon-cache scriptlets -- Use new ldconfig_scriptlets macro - -* Fri Feb 09 2018 Fedora Release Engineering - 17.02.9-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Nov 16 2017 Philip Kovacs - 17.02.9-3 -- Added patch to enable full relro builds and operation -- Added patch to link knl_generic plugin to libnuma if available -- Remove the following cray or bluegene-only plugins -- job_container/cncu, select/alps, select/bluegene -- Rename slurm_setuser to slurm-setuser -- Minor corrections to slurm.conf - -* Wed Nov 1 2017 Philip Kovacs - 17.02.9-2 -- Correct desktop categories for rpmgrill.desktop-lint - -* Wed Nov 1 2017 Philip Kovacs - 17.02.9-1 -- Version bump to close CVE-2017-15566 -- Adjusted patches per closure of upstream bug #3942 -- Added desktop categories per rpmgrill.desktop-lint - -* Wed Oct 25 2017 Philip Kovacs - 17.02.8-1 -- Version bump, patches adjusted - -* Thu Oct 5 2017 Philip Kovacs - 17.02.7-4 -- Patch changes per resolution of upstream bug #4101: -- salloc/sbatch/srun: must be root to use --uid/--gid options -- salloc: supplemental groups dropped after setuid - -* Thu Oct 5 2017 Philip Kovacs - 17.02.7-3 -- Added BuildRequires gcc and minor packaging conformance items - -* Sat Sep 16 2017 Philip Kovacs - 17.02.7-2 -- Removed unneeded Requires(pre) - -* Thu Sep 14 2017 Philip Kovacs - 17.02.7-1 -- Packaging for Fedora diff --git a/slurm-24.05.2-perlapi_vendor_installpath.patch b/slurm-24.05.2-perlapi_vendor_installpath.patch deleted file mode 100644 index a17d9e5..0000000 --- a/slurm-24.05.2-perlapi_vendor_installpath.patch +++ /dev/null @@ -1,38 +0,0 @@ -Subject: [PATCH] Switch perl site install path to vendor ---- -Index: contribs/perlapi/libslurm/Makefile.am -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/contribs/perlapi/libslurm/Makefile.am b/contribs/perlapi/libslurm/Makefile.am ---- a/contribs/perlapi/libslurm/Makefile.am (revision ca885c43cd9c6deae7800619282573c421933bc1) -+++ b/contribs/perlapi/libslurm/Makefile.am (revision 8dd9898e73e3c890092e133068d143e842ab40ba) -@@ -62,8 +62,7 @@ - fi - @cd $(perl_dir) && $(perlpath) Makefile.PL $(PERL_MM_PARAMS) \ - prefix=${prefix} libdir=${libdir} INSTALL_BASE= PERL_MM_OPT= \ -- INSTALLDIRS=site INSTALLSITELIB=${_perlsitedir} \ -- INSTALLSITEARCH=${_perlsitedir} \ -+ INSTALLDIRS=vendor \ - INSTALLSITEMAN1DIR=$(mandir)/man1 \ - INSTALLSITEMAN3DIR=$(mandir)/man3 - -Index: contribs/perlapi/libslurmdb/Makefile.am -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/contribs/perlapi/libslurmdb/Makefile.am b/contribs/perlapi/libslurmdb/Makefile.am ---- a/contribs/perlapi/libslurmdb/Makefile.am (revision ca885c43cd9c6deae7800619282573c421933bc1) -+++ b/contribs/perlapi/libslurmdb/Makefile.am (revision 8dd9898e73e3c890092e133068d143e842ab40ba) -@@ -34,8 +34,7 @@ - fi - @cd $(perl_dir) && $(perlpath) Makefile.PL $(PERL_MM_PARAMS) \ - prefix=${prefix} INSTALL_BASE= PERL_MM_OPT= \ -- INSTALLDIRS=site INSTALLSITELIB=${_perlsitedir} \ -- INSTALLSITEARCH=${_perlsitedir} \ -+ INSTALLDIRS=vendor \ - INSTALLSITEMAN1DIR=$(mandir)/man1 \ - INSTALLSITEMAN3DIR=$(mandir)/man3 - diff --git a/slurm.conf b/slurm.conf index e344e1a..e84d7a7 100644 --- a/slurm.conf +++ b/slurm.conf @@ -1,31 +1,37 @@ -# slurm.conf file generated by configurator.html. -# Put this file on all nodes of your cluster. +# # See the slurm.conf man page for more information. # -ClusterName=cluster -SlurmctldHost=localhost -#SlurmctldHost= +ControlMachine=localhost +ControlAddr=127.0.0.1 +#BackupController= +#BackupAddr= # +AuthType=auth/munge +#CheckpointType=checkpoint/none +CryptoType=crypto/munge #DisableRootJobs=NO #EnforcePartLimits=NO #Epilog= #EpilogSlurmctld= #FirstJobId=1 -#MaxJobId=67043328 +#MaxJobId=999999 #GresTypes= #GroupUpdateForce=0 #GroupUpdateTime=600 +#JobCheckpointDir=/var/slurm/checkpoint +#JobCredentialPrivateKey= +#JobCredentialPublicCertificate= #JobFileAppend=0 #JobRequeue=1 -#JobSubmitPlugins=lua +#JobSubmitPlugins= #KillOnBadExit=0 #LaunchType=launch/slurm #Licenses=foo*4,bar -#MailProg=/bin/mail -#MaxJobCount=10000 +#MailProg=/bin/true +#MaxJobCount=5000 #MaxStepCount=40000 -#MaxTasksPerNode=512 -MpiDefault=pmix +#MaxTasksPerNode=128 +MpiDefault=none #MpiParams=ports=#-# #PluginDir= #PlugStackConfig= @@ -39,6 +45,7 @@ ProctrackType=proctrack/cgroup #PropagateResourceLimitsExcept= #RebootProgram= ReturnToService=1 +#SallocDefaultCommand= SlurmctldPidFile=/var/run/slurm/slurmctld.pid SlurmctldPort=6817 SlurmdPidFile=/var/run/slurm/slurmd.pid @@ -52,6 +59,7 @@ StateSaveLocation=/var/spool/slurm/ctld SwitchType=switch/none #TaskEpilog= TaskPlugin=task/none +#TaskPluginParam= #TaskProlog= #TopologyPlugin=topology/tree #TmpFS=/tmp @@ -83,10 +91,12 @@ Waittime=0 # # SCHEDULING #DefMemPerCPU=0 +FastSchedule=1 #MaxMemPerCPU=0 #SchedulerTimeSlice=30 SchedulerType=sched/backfill SelectType=select/linear +#SelectTypeParameters= # # # JOB PRIORITY @@ -107,11 +117,14 @@ SelectType=select/linear # LOGGING AND ACCOUNTING #AccountingStorageEnforce=0 #AccountingStorageHost= +#AccountingStorageLoc= #AccountingStoragePass= #AccountingStoragePort= AccountingStorageType=accounting_storage/none #AccountingStorageUser= -AccountingStoreFlags=job_comment +AccountingStoreJobComment=YES +ClusterName=cluster +#DebugFlags= #JobCompHost= #JobCompLoc= #JobCompPass= @@ -121,13 +134,12 @@ JobCompType=jobcomp/none #JobContainerType=job_container/none JobAcctGatherFrequency=30 JobAcctGatherType=jobacct_gather/none -SlurmctldDebug=info -SlurmctldLogFile=/var/log/slurm/slurmctld.log -SlurmdDebug=info -SlurmdLogFile=/var/log/slurm/slurmd.log +SlurmctldDebug=3 +#SlurmctldLogFile= +SlurmdDebug=3 +#SlurmdLogFile= #SlurmSchedLogFile= #SlurmSchedLogLevel= -#DebugFlags= # # # POWER SAVE SUPPORT FOR IDLE NODES (optional) @@ -144,4 +156,4 @@ SlurmdLogFile=/var/log/slurm/slurmd.log # # COMPUTE NODES NodeName=localhost CPUs=1 State=UNKNOWN -PartitionName=debug Nodes=ALL Default=YES MaxTime=INFINITE State=UP +PartitionName=debug Nodes=localhost Default=YES MaxTime=INFINITE State=UP diff --git a/slurm.rpmlintrc b/slurm.rpmlintrc deleted file mode 100644 index 24fde8a..0000000 --- a/slurm.rpmlintrc +++ /dev/null @@ -1,8 +0,0 @@ -addFilter("E: shared-lib-without-dependency-information") -addFilter("E: missing-dependency-to-logrotate") -addFilter("W: manual-page-warning") -addFilter("W: no-documentation") -addFilter("W: no-manual-page-for-binary") -addFilter("W: non-conffile-in-etc") -addFilter("W: shared-lib-calls-exit") -addFilter("W: spelling-error") diff --git a/slurm.spec b/slurm.spec index 16261b5..1d2e67f 100644 --- a/slurm.spec +++ b/slurm.spec @@ -1,5 +1,5 @@ # Upstream tarballs use an additional release number -%global ups_rel 1 +%global ups_rel 2 %if "%{ups_rel}" == "1" %global name_version %{name}-%{version} @@ -7,94 +7,76 @@ %global name_version %{name}-%{version}-%{ups_rel} %endif -# follow arch-inclusions for ucx -%ifarch aarch64 ppc64le x86_64 -%bcond_without ucx -%else -%bcond_with ucx -%endif +# Allow linkage with undefined symbols (disable -z,defs) +%undefine _strict_symbol_defs_build Name: slurm -Version: 24.05.2 -Release: %autorelease +Version: 17.11.13 +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management -# ./src/common/log.c: BSD 2-Clause License -# ./src/common/log.h: BSD 2-Clause License -# ./src/common/uthash.h: BSD 1-Clause License -License: GPL-2.0-or-later AND BSD-2-Clause AND BSD-1-Clause +License: GPLv2 and BSD URL: https://slurm.schedmd.com/ -Source0: https://download.schedmd.com/slurm/%{name_version}.tar.bz2 +Source0: http://www.schedmd.com/download/latest/%{name_version}.tar.bz2 Source1: slurm.conf Source2: slurmdbd.conf Source3: slurm-sview.desktop Source4: slurm-128x128.png Source5: slurm-setuser.in -# Release-style versioning of libslurmfull/libslurm_pmi -Patch0: slurm_release_version.patch +# Upstream bug #4449: release-style versioning of libslurmfull +Patch0: slurm_libslurmfull_version.patch # Build-related patches +Patch10: slurm_perlapi_rpaths.patch Patch11: slurm_html_doc_path.patch -Patch12: slurm_perlapi_rpaths.patch -Patch13: slurm-24.05.2-perlapi_vendor_installpath.patch +Patch12: slurm_doc_fix.patch +Patch13: slurm_do_not_build_cray.patch + +# Fedora-related patches +Patch20: slurm_pmix_soname.patch +Patch21: slurm_service_files.patch +Patch22: slurm_to_python3.patch BuildRequires: autoconf BuildRequires: automake -BuildRequires: dbus-devel +BuildRequires: environment(modules) BuildRequires: desktop-file-utils BuildRequires: gcc -BuildRequires: make -BuildRequires: man2html BuildRequires: perl-devel BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-interpreter -BuildRequires: perl-generators BuildRequires: perl-podlators BuildRequires: pkgconf BuildRequires: pkgconfig(check) -BuildRequires: pkgconfig(lua) BuildRequires: python3 BuildRequires: systemd -BuildRequires: freeipmi-devel -BuildRequires: gtk2-devel BuildRequires: hdf5-devel -BuildRequires: hwloc-devel -BuildRequires: libcurl-devel -BuildRequires: libssh2-devel -BuildRequires: lz4-devel -BuildRequires: mariadb-connector-c-devel -BuildRequires: munge-devel -# numctl-devel not available in el9 for arch s390x (#2099483); -# task/affinity plugin won't be available in el9 for arch s390x -%if (0%{?rhel} != 9) || ("%{_arch}" != "s390x") +BuildRequires: pam-devel +BuildRequires: pkgconfig(gtk+-2.0) +BuildRequires: pkgconfig(hwloc) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libfreeipmi) +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(librrd) +BuildRequires: pkgconfig(libssh2) +BuildRequires: pkgconfig(lua) +BuildRequires: pkgconfig(mariadb) +BuildRequires: pkgconfig(munge) +BuildRequires: pkgconfig(ncurses) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(pmix) >= 2.0.0 +BuildRequires: pkgconfig(zlib) +BuildRequires: readline-devel + +# follow arch exclusions for these devel packages +%ifnarch s390 s390x %{arm} +BuildRequires: rdma-core-devel BuildRequires: numactl-devel %endif -BuildRequires: pam-devel -BuildRequires: pmix-devel -BuildRequires: rdma-core-devel -BuildRequires: readline-devel -BuildRequires: zlib-devel -%if 0%{?fedora} && %{with ucx} -BuildRequires: ucx-devel -%endif - -BuildRequires: http-parser-devel -BuildRequires: json-c-devel -BuildRequires: libjwt-devel -BuildRequires: libyaml-devel - -# exclude upstream-deprecated 32-bit architectures -ExcludeArch: armv7hl -ExcludeArch: i686 - -Requires: /bin/mailx Requires: munge -Requires: pmix -%if 0%{?fedora} && %{with ucx} -Requires: ucx -%endif +Requires: pmix >= 2.0.0 %{?systemd_requires} %description @@ -124,14 +106,24 @@ html-based configuration tools for Slurm. Summary: Slurm gui and visual tools Requires: %{name}%{?_isa} = %{version}-%{release} %description gui -This package contains the Slurm visual tool sview and -its respective man pages. +This package contains the Slurm visual tools smap and sview +and their respective man pages. %package libs Summary: Slurm shared libraries +Provides: pmi +Requires: environment(modules) %description libs Slurm shared libraries. +%package rrdtool +Summary: Slurm rrdtool external sensor plugin +Requires: %{name}%{?_isa} = %{version}-%{release} +%description rrdtool +Slurm external sensor plugin for rrdtool. This package is separated from +the base plugins package due to gui dependencies which are unneeded if not +using this plugin. + %package slurmctld Summary: Slurm controller daemon Requires: %{name}%{?_isa} = %{version}-%{release} @@ -153,20 +145,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Slurm database daemon. Used to accept and process database RPCs and upload database changes to slurmctld daemons on each cluster. -%package slurmrestd -Summary: Slurm REST API deamon -Requires: %{name}%{?_isa} = %{version}-%{release} -%description slurmrestd -Slurm REST API daemon. The slurmrestd daemon is designed to allow clients -to communicate with Slurm via a REST API. - -%package sackd -Summary: Slurm Auth and Cred Kiosk daemon -Requires: %{name}%{?_isa} = %{version}-%{release} -%description sackd -Slurm Auth and Cred Kiosk daemon. It can be used on login nodes that are not -running slurmd daemons to allow authentication to the cluster. - # ----------------- # Contribs Packages # ----------------- @@ -179,21 +157,20 @@ Slurm contribution package which includes the programs seff, sjobexitmod, sjstat and smail. See their respective man pages for more information. -%package nss_slurm -Summary: NSS plugin for slurm -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -%description nss_slurm -nss_slurm is an optional NSS plugin that can permit passwd and group resolution -for a job on the compute node to be serviced through the local slurmstepd -process, rather than through some alternate network-based service such as LDAP, -SSSD, or NSLCD. - %package openlava Summary: Openlava/LSF wrappers for transition from OpenLava/LSF to Slurm Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} %description openlava OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm. +%package perlapi +Summary: Perl API to Slurm +Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description perlapi +Perl API package for Slurm. This package includes the perl API to provide a +helpful interface to Slurm through Perl. + %package pam_slurm Summary: PAM module for restricting access to compute nodes via Slurm Requires: %{name}-libs%{?_isa} = %{version}-%{release} @@ -203,13 +180,6 @@ is in use. Access is granted to root, any user with a Slurm-launched job currently running on the node, or any user who has allocated resources on the node according to Slurm. -%package perlapi -Summary: Perl API to Slurm -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -%description perlapi -Perl API package for Slurm. This package includes the perl API to provide a -helpful interface to Slurm through Perl. - %package torque Summary: Torque/PBS wrappers for transition from Torque/PBS to Slurm Requires: %{name}%{?_isa} = %{version}-%{release} @@ -217,9 +187,16 @@ Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} %description torque Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm. - %prep -%autosetup -p1 -n %{name_version} +%setup -q -n %{name_version} +%patch0 -p1 +%patch10 -p1 +%patch11 -p1 +%patch12 -p1 +%patch13 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 cp %SOURCE1 etc/slurm.conf cp %SOURCE1 etc/slurm.conf.example cp %SOURCE2 etc/slurmdbd.conf @@ -231,28 +208,25 @@ cp %SOURCE4 share/icons/hicolor/128x128/apps/%{name}.png mkdir -p extras cp %SOURCE5 extras/%{name}-setuser.in - %build -aclocal -I auxdir -autoconf -automake --no-force -# use -fcommon for gcc 10 to avoid multiple definition errors -export CFLAGS="%{build_cflags} -fcommon" +%{__aclocal} -I auxdir +%{__autoconf} +%{__automake} --no-force # use -z lazy to allow dlopen with unresolved symbols -export LDFLAGS="%{build_ldflags} -Wl,-z,lazy" %configure \ + LDFLAGS="$LDFLAGS -Wl,-z,lazy" \ + --prefix=%{_prefix} \ --sysconfdir=%{_sysconfdir}/%{name} \ --with-pam_dir=%{_libdir}/security \ - --enable-pam \ - --enable-really-no-cray \ + --with-pmix \ --enable-shared \ --enable-x11 \ --disable-static \ --disable-debug \ + --disable-developer \ --disable-salloc-background \ + --disable-multiple-slurmd \ --disable-partial_attach \ - --with-oneapi=no \ - --with-pmix=%{_prefix} \ --with-shared-libslurm \ --without-rpath # patch libtool to remove rpaths @@ -269,34 +243,45 @@ s|^dir_spool=.*|dir_spool="%{_var}/spool/%{name}"|g; s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \ extras/%{name}-setuser.in > extras/%{name}-setuser -# patch the test files -sed -i 's|"PluginDir=" SLURM_PREFIX "/lib/slurm/\\n"|"PluginDir=%{buildroot}%{_libdir}/%{name}/\\n"|g' testsuite/slurm_unit/common/serializer-test.c - # build base packages -%make_build +%make_build V=1 # build contribs packages -%make_build contrib +# INSTALLDIRS=vendor so perlapi goes to vendor_perl directory +PERL_MM_PARAMS="INSTALLDIRS=vendor" %make_build contrib V=1 +%check +# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library +# in the build tree. +LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" %{__make} check %install %make_install -%make_build DESTDIR=%{buildroot} install-contrib +%{__make} install-contrib DESTDIR=%{buildroot} install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name} +install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/layouts.d install -d -m 0755 %{buildroot}%{_unitdir} install -m 0644 -p etc/cgroup.conf.example \ %{buildroot}%{_sysconfdir}/%{name} install -m 0644 -p etc/cgroup.conf.example \ %{buildroot}%{_sysconfdir}/%{name}/cgroup.conf +install -m 0644 -p etc/cgroup_allowed_devices_file.conf.example \ + %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/layouts.d.power.conf.example \ + %{buildroot}%{_sysconfdir}/%{name}/layouts.d/power.conf.example +install -m 0644 -p etc/layouts.d.power_cpufreq.conf.example \ + %{buildroot}%{_sysconfdir}/%{name}/layouts.d/power_cpufreq.conf.example +install -m 0644 -p etc/layouts.d.unit.conf.example \ + %{buildroot}%{_sysconfdir}/%{name}/layouts.d/unit.conf.example install -m 0644 -p etc/slurm.conf %{buildroot}%{_sysconfdir}/%{name} install -m 0644 -p etc/slurm.conf.example %{buildroot}%{_sysconfdir}/%{name} -install -m 0600 -p etc/slurmdbd.conf %{buildroot}%{_sysconfdir}/%{name} -install -m 0600 -p etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/slurmdbd.conf %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{name} +install -m 0644 -p etc/slurm.epilog.clean %{buildroot}%{_sysconfdir}/%{name} install -m 0644 -p etc/slurmctld.service %{buildroot}%{_unitdir} install -m 0644 -p etc/slurmd.service %{buildroot}%{_unitdir} install -m 0644 -p etc/slurmdbd.service %{buildroot}%{_unitdir} -install -m 0644 -p etc/slurmrestd.service %{buildroot}%{_unitdir} # tmpfiles.d file for creating /run/slurm dir after reboot install -d -m 0755 %{buildroot}%{_tmpfilesdir} @@ -308,7 +293,7 @@ EOF install -d -m 0755 %{buildroot}%{_var}/log/%{name} install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d cat >%{buildroot}%{_sysconfdir}/logrotate.d/%{name} <%{buildroot}%{_modulesdir}/pmi/%{name}-%{_arch} <%{buildroot}%{_libdir}/pkgconfig/%{name}.pc <%{buildroot}%{_libdir}/%{name}/lib/pkgconfig/pmi.pc <%{buildroot}%{_libdir}/%{name}/lib/pkgconfig/pmi2.pc < - 17.11.13-2 +- Fix build issue on 32-bit architectures + +* Wed Jan 30 2019 Philip Kovacs - 17.11.13-1 +- Release of 17.11.13 +- Closes security issue CVE-2019-6438 + +* Wed Oct 24 2018 Philip Kovacs - 17.11.12-1 +- Release of 17.11.12 + +* Sat Oct 20 2018 Philip Kovacs - 17.11.11-1 +- Release of 17.11.11 + +* Thu Oct 11 2018 Yu Watanabe - 17.11.10-1 +- Release of 17.11.10 + +* Fri Sep 28 2018 Philip Kovacs - 17.11.9-2 +- Release of 17.11.9-2 (new upstream tarball) + +* Fri Aug 10 2018 Philip Kovacs - 17.11.9-1 +- Release of 17.11.9 + +* Fri Jul 20 2018 Philip Kovacs - 17.11.8-1 +- Release of 17.11.8 + +* Sat Jul 14 2018 Fedora Release Engineering - 17.11.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jun 27 2018 Jitka Plesnikova - 17.11.7-2 +- Perl 5.28 rebuild + +* Fri Jun 1 2018 Philip Kovacs - 17.11.7-1 +- Release of 17.11.7 +- Closes security issue CVE-2018-10995 + +* Sat May 12 2018 Philip Kovacs - 17.11.6-1 +- Release of 17.11.6 +- Added patch to avoid building contribs/cray (Yu Watanabe) +- Added lz4 support via new BuildRequires (Yu Watanabe) +- Replaced obsolete packages libibmad-devel and libibumad-devel + with rdma-core-devel (Yu Watanabe) +- Updated package descriptions (Yu Watanabe) + +* Fri Mar 16 2018 Philip Kovacs - 17.11.5-1 +- Release of 17.11.5 +- Closes security issue CVE-2018-7033 + +* Sat Mar 3 2018 Philip Kovacs - 17.11.4-1 +- Release of 17.11.4 +- Add perl-devel, python3 to build requirements +- Add patch to convert python references to python3 +- Use LDFLAGS to disable -z now instaed of _hardened_ldflags + +* Thu Feb 15 2018 Philip Kovacs - 17.11.3-3 +- Add perl-interpreter to BuildRequires + +* Thu Feb 15 2018 Philip Kovacs - 17.11.3-2 +- Rebuild for libevent soname bump + +* Sat Feb 10 2018 Philip Kovacs - 17.11.3-1 +- Release of 17.11 series +- Re-aligned rpm packaging to be closer to upstream +- Enabled new slurm native X11 support using ssh2 +- Enabled new shared libslurm for smaller code size +- Enabled `check` unit testing via check-devel +- Added environment module support for pmi/slurm +- Add dependency to pmix +- Removed gtk-update-icon-cache scriptlets +- Use new ldconfig_scriptlets macro + +* Fri Feb 09 2018 Fedora Release Engineering - 17.02.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Nov 16 2017 Philip Kovacs - 17.02.9-3 +- Added patch to enable full relro builds and operation +- Added patch to link knl_generic plugin to libnuma if available +- Remove the following cray or bluegene-only plugins +- job_container/cncu, select/alps, select/bluegene +- Rename slurm_setuser to slurm-setuser +- Minor corrections to slurm.conf + +* Wed Nov 1 2017 Philip Kovacs - 17.02.9-2 +- Correct desktop categories for rpmgrill.desktop-lint + +* Wed Nov 1 2017 Philip Kovacs - 17.02.9-1 +- Version bump to close CVE-2017-15566 +- Adjusted patches per closure of upstream bug #3942 +- Added desktop categories per rpmgrill.desktop-lint + +* Wed Oct 25 2017 Philip Kovacs - 17.02.8-1 +- Version bump, patches adjusted + +* Thu Oct 5 2017 Philip Kovacs - 17.02.7-4 +- Patch changes per resolution of upstream bug #4101: +- salloc/sbatch/srun: must be root to use --uid/--gid options +- salloc: supplemental groups dropped after setuid + +* Thu Oct 5 2017 Philip Kovacs - 17.02.7-3 +- Added BuildRequires gcc and minor packaging conformance items + +* Sat Sep 16 2017 Philip Kovacs - 17.02.7-2 +- Removed unneeded Requires(pre) + +* Thu Sep 14 2017 Philip Kovacs - 17.02.7-1 +- Packaging for Fedora diff --git a/slurm_do_not_build_cray.patch b/slurm_do_not_build_cray.patch new file mode 100644 index 0000000..a36517e --- /dev/null +++ b/slurm_do_not_build_cray.patch @@ -0,0 +1,10 @@ +diff --git a/contribs/Makefile.am b/contribs/Makefile.am +index 24ab9de7cc..087262c347 100644 +--- a/contribs/Makefile.am ++++ b/contribs/Makefile.am +@@ -1,4 +1,4 @@ +-SUBDIRS = cray lua mic openlava pam pam_slurm_adopt perlapi pmi2 seff sgather sgi sjobexit torque ++SUBDIRS = lua mic openlava pam pam_slurm_adopt perlapi pmi2 seff sgather sgi sjobexit torque + + EXTRA_DIST = \ + gcp \ diff --git a/slurm_doc_fix.patch b/slurm_doc_fix.patch new file mode 100644 index 0000000..6a968b9 --- /dev/null +++ b/slurm_doc_fix.patch @@ -0,0 +1,71 @@ +diff --git a/doc/man/man5/burst_buffer.conf.5 b/doc/man/man5/burst_buffer.conf.5 +index 34ee651513..01f47c1383 100644 +--- a/doc/man/man5/burst_buffer.conf.5 ++++ b/doc/man/man5/burst_buffer.conf.5 +@@ -31,18 +31,18 @@ The configuration parameters available include: + \fBAllowUsers\fR + Comma separated list of user names and/or IDs permitted to use burst buffers. + The options \fBAllowUsers\fR and \fBDenyUsers\fR can not both be specified. +-By default all users are permitted to use burst buffers. ++By default all users are permitted to use burst buffers. Possible future ++enhancement for generic plugin. + +-.\ Possible future enhancement for generic plugin +-.\ .TP +-.\ \fBAltPool\fR +-.\ The AltPool value consists of a comma separated list of alternate pools of +-.\ resources, each of which includes a name separated by a colon and a numeric +-.\ value. +-.\ The numeric value can include a suffix of "k", "m", "g", "t" and "p" which +-.\ multiplies the numeric value by 1,024, 1,048,576, 1,073,741,824 etc. +-.\ The numeric value is a 64-bit value. +-.\ for example, "AltPool=test:20g,small:4g ++.TP ++\fBAltPool\fR ++The AltPool value consists of a comma separated list of alternate pools of ++resources, each of which includes a name separated by a colon and a numeric ++value. ++The numeric value can include a suffix of "k", "m", "g", "t" and "p" which ++multiplies the numeric value by 1,024, 1,048,576, 1,073,741,824 etc. ++The numeric value is a 64-bit value. ++for example, "AltPool=test:20g,small:4g + + .TP + \fBCreateBuffer\fR +@@ -193,8 +193,8 @@ By default there is a 5 second timeout for the validation operations. + AllowUsers=alan,brenda + .br + PrivateData=true +-.\ .br +-.\ Gres=nodes:10,other:20 ++.br ++Gres=nodes:10,other:20 + .br + # + .br +diff --git a/doc/man/man5/slurm.conf.5 b/doc/man/man5/slurm.conf.5 +index 6a9c753f51..56da9b7573 100644 +--- a/doc/man/man5/slurm.conf.5 ++++ b/doc/man/man5/slurm.conf.5 +@@ -3434,7 +3434,7 @@ + \fB\-D\fR command line option) the \fBSlurmdSyslogDebug\fR configuration + parameter will be ignored. + The default value is \fBquiet\fR unless there is no configured +-\fBSlurmdLogFile\fR, in which case the default value will be \fBfatal\fR so ++\fBSlurmdLogFile\fR, in which case the default value will be \fBfatal\fRso + that fatal errors are logged somewhere. + + .RS +diff --git a/doc/man/man5/slurmdbd.conf.5 b/doc/man/man5/slurmdbd.conf.5 +index d8e2ebe286..1dc4f789a7 100644 +--- a/doc/man/man5/slurmdbd.conf.5 ++++ b/doc/man/man5/slurmdbd.conf.5 +@@ -276,7 +276,7 @@ If the slurmdbd daemon is run in the foreground (started with the \fB\-D\fR + command line option) the \fBDebugLevelSyslog\fR configuration parameter + will be ignored. + The default value is \fBquiet\fR unless there is no configured +-\fBSlurmdLogFile\fR, in which case the default value will be \fBfatal\bR so ++\fBSlurmdLogFile\fR, in which case the default value will be \fBfatal\bRso + that fatal errors are logged somewhere. + + .RS diff --git a/slurm_libslurmfull_version.patch b/slurm_libslurmfull_version.patch new file mode 100644 index 0000000..9f65ebf --- /dev/null +++ b/slurm_libslurmfull_version.patch @@ -0,0 +1,27 @@ +diff --git a/src/api/Makefile.am b/src/api/Makefile.am +index 80c5c60f12..c7334fe9f8 100644 +--- a/src/api/Makefile.am ++++ b/src/api/Makefile.am +@@ -61,12 +61,7 @@ libpmi_current = 0 + libpmi_age = 0 + libpmi_rev = 0 + +-lib_LTLIBRARIES = libslurm.la libpmi.la +- +-# The ABI of libslurmfull can easily change from 1 micro version to another. +-# To avoid issue we will install this lib alongside the plugins to protect +-# from version issues. +-pkglib_LTLIBRARIES = libslurmfull.la ++lib_LTLIBRARIES = libslurm.la libpmi.la libslurmfull.la + + # BUILT_SOURCES tells automake that when "make" is called, these targets + # need to be built before anything else. For instance, this takes care +@@ -156,7 +151,7 @@ libslurmfull_la_SOURCES = + libslurmfull_la_LIBADD = $(convenience_libs) + libslurmfull_la_LDFLAGS = \ + $(LIB_LDFLAGS) \ +- -avoid-version \ ++ -release $(SLURM_VERSION_STRING) \ + $(FULL_OTHER_FLAGS) + # + # The libpmi_la_LIBADD specification below causes libpmi.la to relink diff --git a/slurm_perlapi_rpaths.patch b/slurm_perlapi_rpaths.patch index 88b42b4..0da934b 100644 --- a/slurm_perlapi_rpaths.patch +++ b/slurm_perlapi_rpaths.patch @@ -1,25 +1,21 @@ -diff --git a/contribs/perlapi/libslurm/perl/Makefile.PL.in b/contribs/perlapi/libslurm/perl/Makefile.PL.in -index fcae43796d..34c1ad1411 100644 ---- a/contribs/perlapi/libslurm/perl/Makefile.PL.in -+++ b/contribs/perlapi/libslurm/perl/Makefile.PL.in -@@ -68,7 +68,7 @@ DESTDIR_BUG +--- a/contribs/perlapi/libslurm/perl/Makefile.PL.in 2016-11-08 15:11:32.000000000 -0500 ++++ b/contribs/perlapi/libslurm/perl/Makefile.PL.in 2017-08-17 03:06:27.363688978 -0400 +@@ -77,7 +77,7 @@ # AIX has problems with not always having the correct # flags so we have to add some :) my $os = lc(`uname`); --my $other_ld_flags = '-Wl,-rpath,@top_builddir@/src/api/.libs -Wl,-rpath,@libdir@'; +-my $other_ld_flags = "-Wl,-rpath,@top_builddir@/src/api/.libs -Wl,-rpath,@prefix@/lib"; +my $other_ld_flags = ""; $other_ld_flags = " -brtl -G -bnoentry -bgcbypass:1000 -bexpfull" if $os =~ "aix"; -diff --git a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in -index 2db028c113..d143c20190 100644 ---- a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in -+++ b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in -@@ -68,7 +68,7 @@ DESTDIR_BUG +--- a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in 2017-08-17 03:37:39.689054161 -0400 ++++ b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in 2017-08-17 03:38:07.305780718 -0400 +@@ -76,7 +76,7 @@ # AIX has problems with not always having the correct # flags so we have to add some :) my $os = lc(`uname`); --my $other_ld_flags = '-Wl,-rpath,@top_builddir@/src/db_api/.libs -Wl,-rpath,@libdir@'; +-my $other_ld_flags = "-Wl,-rpath,@top_builddir@/src/db_api/.libs -Wl,-rpath,@prefix@/lib"; +my $other_ld_flags = ""; $other_ld_flags = " -brtl -G -bnoentry -bgcbypass:1000 -bexpfull" if $os =~ "aix"; diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch new file mode 100644 index 0000000..d598016 --- /dev/null +++ b/slurm_pmix_soname.patch @@ -0,0 +1,24 @@ +diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c +index 2d4c5d9dc9..dedb983f92 100644 +--- a/src/plugins/mpi/pmix/mpi_pmix.c ++++ b/src/plugins/mpi/pmix/mpi_pmix.c +@@ -79,8 +79,10 @@ const char plugin_name[] = "PMIx plugin"; + + #if (HAVE_PMIX_VER == 1) + const char plugin_type[] = "mpi/pmix_v1"; ++const char libpmix_soname[] = "libpmix.so.1"; + #elif (HAVE_PMIX_VER == 2) + const char plugin_type[] = "mpi/pmix_v2"; ++const char libpmix_soname[] = "libpmix.so.2"; + #endif + + const uint32_t plugin_version = SLURM_VERSION_NUMBER; +@@ -103,7 +105,7 @@ static void *_libpmix_open(void) + #elif defined PMIXP_V2_LIBPATH + xstrfmtcat(full_path, "%s/", PMIXP_V2_LIBPATH); + #endif +- xstrfmtcat(full_path, "libpmix.so"); ++ xstrfmtcat(full_path, libpmix_soname); + lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); + diff --git a/slurm_release_version.patch b/slurm_release_version.patch deleted file mode 100644 index a51e4c6..0000000 --- a/slurm_release_version.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/src/api/Makefile.am b/src/api/Makefile.am -index 53af7f8d7f..81d41c1161 100644 ---- a/src/api/Makefile.am -+++ b/src/api/Makefile.am -@@ -46,14 +46,7 @@ current = $(SLURM_API_CURRENT) - age = $(SLURM_API_AGE) - rev = $(SLURM_API_REVISION) - --lib_LTLIBRARIES = libslurm.la -- --# The ABI of libslurmfull can easily change from 1 micro version to another. --# To avoid issue we will install this lib alongside the plugins to protect --# from version issues. --# --# The unversioned libslurm_pmi is hidden there as well. --pkglib_LTLIBRARIES = libslurmfull.la libslurm_pmi.la -+lib_LTLIBRARIES = libslurm.la libslurmfull.la libslurm_pmi.la - - # BUILT_SOURCES tells automake that when "make" is called, these targets - # need to be built before anything else. -@@ -158,14 +151,14 @@ libslurmfull_la_SOURCES = - libslurmfull_la_LIBADD = $(convenience_libs) - libslurmfull_la_LDFLAGS = \ - $(LIB_LDFLAGS) \ -- -avoid-version \ -+ -release $(SLURM_VERSION_STRING) \ - $(FULL_OTHER_FLAGS) - - libslurm_pmi_la_SOURCES = - libslurm_pmi_la_LIBADD = $(convenience_libs) - libslurm_pmi_la_LDFLAGS = \ - $(LIB_LDFLAGS) \ -- -avoid-version \ -+ -release $(SLURM_VERSION_STRING) \ - $(SLURM_PMI_OTHER_FLAGS) - - # This was made so we could export all symbols from libcommon diff --git a/slurm_service_files.patch b/slurm_service_files.patch new file mode 100644 index 0000000..1f3087b --- /dev/null +++ b/slurm_service_files.patch @@ -0,0 +1,39 @@ +diff --git a/etc/slurmctld.service.in b/etc/slurmctld.service.in +index ebf92b0da4..d13a653339 100644 +--- a/etc/slurmctld.service.in ++++ b/etc/slurmctld.service.in +@@ -8,7 +8,7 @@ Type=forking + EnvironmentFile=-/etc/sysconfig/slurmctld + ExecStart=@sbindir@/slurmctld $SLURMCTLD_OPTIONS + ExecReload=/bin/kill -HUP $MAINPID +-PIDFile=/var/run/slurmctld.pid ++PIDFile=/var/run/slurm/slurmctld.pid + @SYSTEMD_TASKSMAX_OPTION@ + + [Install] +diff --git a/etc/slurmd.service.in b/etc/slurmd.service.in +index 2e20bb33a3..263bd8aa77 100644 +--- a/etc/slurmd.service.in ++++ b/etc/slurmd.service.in +@@ -8,7 +8,7 @@ Type=forking + EnvironmentFile=-/etc/sysconfig/slurmd + ExecStart=@sbindir@/slurmd $SLURMD_OPTIONS + ExecReload=/bin/kill -HUP $MAINPID +-PIDFile=/var/run/slurmd.pid ++PIDFile=/var/run/slurm/slurmd.pid + KillMode=process + LimitNOFILE=51200 + LimitMEMLOCK=infinity +diff --git a/etc/slurmdbd.service.in b/etc/slurmdbd.service.in +index 5f8f73c7f1..a0aede6feb 100644 +--- a/etc/slurmdbd.service.in ++++ b/etc/slurmdbd.service.in +@@ -8,7 +8,7 @@ Type=forking + EnvironmentFile=-/etc/sysconfig/slurmdbd + ExecStart=@sbindir@/slurmdbd $SLURMDBD_OPTIONS + ExecReload=/bin/kill -HUP $MAINPID +-PIDFile=/var/run/slurmdbd.pid ++PIDFile=/var/run/slurm/slurmdbd.pid + @SYSTEMD_TASKSMAX_OPTION@ + + [Install] diff --git a/slurm_to_python3.patch b/slurm_to_python3.patch new file mode 100644 index 0000000..fdfcbe8 --- /dev/null +++ b/slurm_to_python3.patch @@ -0,0 +1,60 @@ +diff --git a/contribs/cray/csm/slurmconfgen_smw.py b/contribs/cray/csm/slurmconfgen_smw.py +index cf2bf56f82..013181447f 100644 +--- a/contribs/cray/csm/slurmconfgen_smw.py ++++ b/contribs/cray/csm/slurmconfgen_smw.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Copyright 2015-2016 Cray Inc. All Rights Reserved. + """ A script to generate slurm.conf and gres.conf for a +diff --git a/contribs/cray/slurmconfgen.py.in b/contribs/cray/slurmconfgen.py.in +index b92aabc731..970c5b4802 100644 +--- a/contribs/cray/slurmconfgen.py.in ++++ b/contribs/cray/slurmconfgen.py.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + # + # (c) Copyright 2013 Cray Inc. All Rights Reserved. + # +diff --git a/doc/html/shtml2html.py b/doc/html/shtml2html.py +index 0b03182b80..43954a37a9 100755 +--- a/doc/html/shtml2html.py ++++ b/doc/html/shtml2html.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import re + import sys +diff --git a/doc/man/man2html.py b/doc/man/man2html.py +index 54909096b9..93433d6fa3 100755 +--- a/doc/man/man2html.py ++++ b/doc/man/man2html.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import re + import sys +diff --git a/testsuite/expect/driveregress.py b/testsuite/expect/driveregress.py +index 8019615953..4e7eb7ca0f 100755 +--- a/testsuite/expect/driveregress.py ++++ b/testsuite/expect/driveregress.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + ############################################################################ + # Copyright (C) 2011-2013 SchedMD LLC +diff --git a/testsuite/expect/regression.py b/testsuite/expect/regression.py +index 938aecc154..ea64c7cce0 100755 +--- a/testsuite/expect/regression.py ++++ b/testsuite/expect/regression.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + ############################################################################ + # Copyright (C) 2006 The Regents of the University of California. + # Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). diff --git a/sources b/sources index 821f3fe..a3f68f2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-24.05.2.tar.bz2) = d00b7420690f0067a53e6c52cf9ec103411766437d9677f9968fdb81859ad4c839ba7d3dbfa046f6b06b753262a25d12ff7e8e019b14fc8f7b1e1cbbe60ed819 +SHA512 (slurm-17.11.13-2.tar.bz2) = d419984bfa1bf1be20d3439672eaf868e3e0c45549b8d696bb6f588a57e1bc1e765dbca8a9a62c54bf27c3dfbbd0f165f573459a22ef87d976bc511c22fde639