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..06539c9 100644 --- a/slurm.conf +++ b/slurm.conf @@ -1,30 +1,36 @@ -# 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 +#MaxTasksPerNode=128 MpiDefault=pmix #MpiParams=ports=#-# #PluginDir= @@ -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.spec b/slurm.spec index 16261b5..037bf98 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,40 +15,39 @@ %endif Name: slurm -Version: 24.05.2 -Release: %autorelease +Version: 19.05.8 +Release: 1%{?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_without_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: desktop-file-utils BuildRequires: gcc -BuildRequires: make -BuildRequires: man2html BuildRequires: perl-devel BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-interpreter -BuildRequires: perl-generators +BuildRequires: perl-macros BuildRequires: perl-podlators BuildRequires: pkgconf BuildRequires: pkgconfig(check) @@ -63,36 +62,28 @@ BuildRequires: hwloc-devel BuildRequires: libcurl-devel BuildRequires: libssh2-devel BuildRequires: lz4-devel -BuildRequires: mariadb-connector-c-devel +BuildRequires: mariadb-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: ncurses-devel BuildRequires: numactl-devel -%endif BuildRequires: pam-devel BuildRequires: pmix-devel BuildRequires: rdma-core-devel BuildRequires: readline-devel +BuildRequires: rrdtool-devel BuildRequires: zlib-devel -%if 0%{?fedora} && %{with ucx} +%if %{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} +%if %{with ucx} Requires: ucx %endif %{?systemd_requires} @@ -124,14 +115,38 @@ 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 %description libs Slurm shared libraries. +%package pmi +Summary: The %{name} implementation of libpmi and libpmi2 +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: pmix-pmi +%description pmi +The %{name}-pmi package contains the %{name} implementation of +the libpmi and libpmi2 libraries. + +%package pmi-devel +Summary: Development files for %{name}-pmi +Requires: %{name}-pmi%{?_isa} = %{version}-%{release} +Conflicts: pmix-pmi-devel +%description pmi-devel +The %{name}-pmi-devel package contains the development files for +the libpmi and libpmi2 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 +168,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 # ----------------- @@ -205,6 +206,7 @@ on the node according 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 @@ -217,7 +219,6 @@ 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} cp %SOURCE1 etc/slurm.conf @@ -231,7 +232,6 @@ cp %SOURCE4 share/icons/hicolor/128x128/apps/%{name}.png mkdir -p extras cp %SOURCE5 extras/%{name}-setuser.in - %build aclocal -I auxdir autoconf @@ -241,18 +241,20 @@ export CFLAGS="%{build_cflags} -fcommon" # use -z lazy to allow dlopen with unresolved symbols export LDFLAGS="%{build_ldflags} -Wl,-z,lazy" %configure \ + --prefix=%{_prefix} \ --sysconfdir=%{_sysconfdir}/%{name} \ --with-pam_dir=%{_libdir}/security \ - --enable-pam \ - --enable-really-no-cray \ +%if %{with ucx} + --with-ucx=%{_prefix} \ +%endif --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,26 +271,35 @@ 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 # build contribs packages -%make_build contrib +# INSTALLDIRS=vendor so perlapi goes to vendor_perl directory +%make_build PERL_MM_PARAMS="INSTALLDIRS=vendor" contrib +%check +# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library +# in the build tree. +%make_build LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" check %install %make_install %make_build DESTDIR=%{buildroot} install-contrib 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/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} @@ -296,7 +307,6 @@ install -m 0600 -p etc/slurmdbd.conf.example %{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 +318,7 @@ EOF install -d -m 0755 %{buildroot}%{_var}/log/%{name} install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d cat >%{buildroot}%{_sysconfdir}/logrotate.d/%{name} < - 19.05.8-1 +- Release of 19.05.8 +- Closes security issues CVE-2020-27745 and CVE-2020-27746 + +* Mon May 25 2020 Philip Kovacs - 19.05.7-1 +- Release of 19.05.7 + +* 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_release_version.patch b/slurm_libslurmfull_version.patch similarity index 58% rename from slurm_release_version.patch rename to slurm_libslurmfull_version.patch index a51e4c6..26efdb9 100644 --- a/slurm_release_version.patch +++ b/slurm_libslurmfull_version.patch @@ -1,8 +1,8 @@ diff --git a/src/api/Makefile.am b/src/api/Makefile.am -index 53af7f8d7f..81d41c1161 100644 +index d7e9d171cd..93ad848aeb 100644 --- a/src/api/Makefile.am +++ b/src/api/Makefile.am -@@ -46,14 +46,7 @@ current = $(SLURM_API_CURRENT) +@@ -44,12 +44,7 @@ current = $(SLURM_API_CURRENT) age = $(SLURM_API_AGE) rev = $(SLURM_API_REVISION) @@ -11,14 +11,12 @@ index 53af7f8d7f..81d41c1161 100644 -# 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 +-pkglib_LTLIBRARIES = libslurmfull.la ++lib_LTLIBRARIES = libslurm.la libslurmfull.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 = +@@ -157,7 +152,7 @@ libslurmfull_la_SOURCES = libslurmfull_la_LIBADD = $(convenience_libs) libslurmfull_la_LDFLAGS = \ $(LIB_LDFLAGS) \ @@ -26,12 +24,4 @@ index 53af7f8d7f..81d41c1161 100644 + -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_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..c6c2449 --- /dev/null +++ b/slurm_pmix_soname.patch @@ -0,0 +1,84 @@ +diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c +index c4bdeafc6b..eda8b39e0a 100644 +--- a/src/plugins/mpi/pmix/mpi_pmix.c ++++ b/src/plugins/mpi/pmix/mpi_pmix.c +@@ -89,6 +89,8 @@ const uint32_t plugin_version = SLURM_VERSION_NUMBER; + + void *libpmix_plug = NULL; + ++static const char *pmix_libraries[] = { "libpmix.so", "libpmix.so.2" }; ++ + static void _libpmix_close(void *lib_plug) + { + xassert(lib_plug); +@@ -99,6 +101,7 @@ static void *_libpmix_open(void) + { + void *lib_plug = NULL; + char *full_path = NULL; ++ size_t sz = 0; + + #ifdef PMIXP_V1_LIBPATH + xstrfmtcat(full_path, "%s/", PMIXP_V1_LIBPATH); +@@ -112,6 +115,13 @@ static void *_libpmix_open(void) + lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); + ++ while (!lib_plug && (sz < sizeof(pmix_libraries)/sizeof(pmix_libraries[0]))) { ++ xstrfmtcat(full_path, "%s", pmix_libraries[sz]); ++ lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); ++ xfree(full_path); ++ ++sz; ++ } ++ + if (lib_plug && (HAVE_PMIX_VER != pmixp_lib_get_version())) { + PMIXP_ERROR("pmi/pmix: incorrect PMIx library version loaded %d was loaded, required %d version", + pmixp_lib_get_version(), (int)HAVE_PMIX_VER); +diff --git a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c +index f6c91adc93..506a18e3c1 100644 +--- a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c ++++ b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c +@@ -140,6 +140,8 @@ static struct io_operations _progress_ops = { + .handle_read = _progress_read + }; + ++static const char *ucx_libraries[] = { "libucp.so", "libucp.so.0" }; ++ + static void *_ucx_init(int nodeid, pmixp_p2p_data_t direct_hdr); + static void _ucx_fini(void *_priv); + static int _ucx_connect(void *_priv, void *ep_data, size_t ep_len, +@@ -161,6 +163,8 @@ static int _load_ucx_lib() + setenv("UCX_MEM_MALLOC_RELOC", "no", 1); + setenv("UCX_MEM_EVENTS", "no", 1); + ++ size_t sz = 0; ++ + #ifdef PMIXP_UCX_LIBPATH + /* If this Slurm build doesn't allow RPATH's + * try to open library by it's full path that +@@ -170,6 +174,12 @@ static int _load_ucx_lib() + xstrfmtcat(full_path, "%s/libucp.so", PMIXP_UCX_LIBPATH); + _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); ++ while (!_ucx_lib_handler && (sz < sizeof(ucx_libraries)/sizeof(ucx_libraries[0]))) { ++ xstrfmtcat(full_path, "%s/%s", PMIXP_UCX_LIBPATH, ucx_libraries[sz]); ++ _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); ++ xfree(full_path); ++ ++sz; ++ } + if (_ucx_lib_handler) { + /* successful, exit now */ + return SLURM_SUCCESS; +@@ -179,6 +189,13 @@ static int _load_ucx_lib() + */ + #endif + _ucx_lib_handler = dlopen("libucp.so", RTLD_LAZY | RTLD_GLOBAL); ++ sz = 0; ++ while (!_ucx_lib_handler && (sz < sizeof(ucx_libraries)/sizeof(ucx_libraries[0]))) { ++ xstrfmtcat(full_path, "%s", ucx_libraries[sz]); ++ _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); ++ xfree(full_path); ++ ++sz; ++ } + if (!_ucx_lib_handler) { + char *err = dlerror(); + PMIXP_ERROR("Cannot open UCX lib: %s", (err) ? err : "unknown"); diff --git a/slurm_service_files.patch b/slurm_service_files.patch new file mode 100644 index 0000000..fc328c4 --- /dev/null +++ b/slurm_service_files.patch @@ -0,0 +1,39 @@ +diff --git a/etc/slurmctld.service.in b/etc/slurmctld.service.in +index 6f175ad651..82a128ac0a 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 + LimitNOFILE=65536 + @SYSTEMD_TASKSMAX_OPTION@ + +diff --git a/etc/slurmd.service.in b/etc/slurmd.service.in +index b36433dd7d..146b6574d2 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=131072 + LimitMEMLOCK=infinity +diff --git a/etc/slurmdbd.service.in b/etc/slurmdbd.service.in +index c80feb9d7c..97a95c0e57 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 + LimitNOFILE=65536 + @SYSTEMD_TASKSMAX_OPTION@ + diff --git a/slurm_to_python3.patch b/slurm_to_python3.patch new file mode 100644 index 0000000..c60e941 --- /dev/null +++ b/slurm_to_python3.patch @@ -0,0 +1,50 @@ +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/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/slurm_without_cray.patch b/slurm_without_cray.patch new file mode 100644 index 0000000..ce4aa86 --- /dev/null +++ b/slurm_without_cray.patch @@ -0,0 +1,104 @@ +diff --git a/contribs/Makefile.am b/contribs/Makefile.am +index da96aa070d..2a2d1f2c82 100644 +--- a/contribs/Makefile.am ++++ b/contribs/Makefile.am +@@ -1,4 +1,4 @@ +-SUBDIRS = cray lua mic nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque ++SUBDIRS = lua mic nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque + + EXTRA_DIST = \ + make-3.81.slurm.patch \ +diff --git a/src/plugins/acct_gather_energy/Makefile.am b/src/plugins/acct_gather_energy/Makefile.am +index 50c4fd36a2..c826387219 100644 +--- a/src/plugins/acct_gather_energy/Makefile.am ++++ b/src/plugins/acct_gather_energy/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for accounting gather energy plugins + +-SUBDIRS = cray_aries rapl ibmaem ipmi none xcc ++SUBDIRS = rapl ibmaem ipmi none xcc +diff --git a/src/plugins/core_spec/Makefile.am b/src/plugins/core_spec/Makefile.am +index 44b1ed67c0..f06bc541d7 100644 +--- a/src/plugins/core_spec/Makefile.am ++++ b/src/plugins/core_spec/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for core specialization plugins + +-SUBDIRS = cray_aries none ++SUBDIRS = none +diff --git a/src/plugins/job_container/Makefile.am b/src/plugins/job_container/Makefile.am +index 8e1960a456..529a9d581d 100644 +--- a/src/plugins/job_container/Makefile.am ++++ b/src/plugins/job_container/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for job_container plugins + +-SUBDIRS = cncu none ++SUBDIRS = none +diff --git a/src/plugins/job_submit/Makefile.am b/src/plugins/job_submit/Makefile.am +index e393bcfb1c..b98cf2e000 100644 +--- a/src/plugins/job_submit/Makefile.am ++++ b/src/plugins/job_submit/Makefile.am +@@ -2,7 +2,6 @@ + + SUBDIRS = \ + all_partitions \ +- cray_aries \ + defaults \ + logging \ + lua \ +diff --git a/src/plugins/node_features/Makefile.am b/src/plugins/node_features/Makefile.am +index f5ef036303..d955c51ba1 100644 +--- a/src/plugins/node_features/Makefile.am ++++ b/src/plugins/node_features/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for node_features plugins + +-SUBDIRS = knl_cray knl_generic ++SUBDIRS = knl_generic +diff --git a/src/plugins/power/Makefile.am b/src/plugins/power/Makefile.am +index ccde44c322..c6171740c1 100644 +--- a/src/plugins/power/Makefile.am ++++ b/src/plugins/power/Makefile.am +@@ -1,3 +1,3 @@ + # Makefile for power management plugins + +-SUBDIRS = common cray_aries none ++SUBDIRS = common none +diff --git a/src/plugins/select/Makefile.am b/src/plugins/select/Makefile.am +index 09fdfd2313..570af23c4a 100644 +--- a/src/plugins/select/Makefile.am ++++ b/src/plugins/select/Makefile.am +@@ -1,7 +1,7 @@ + # Makefile for node selection plugins + + # NOTE: other must be in the list before cray_aries lest the build break +-SUBDIRS = other cons_res cons_tres cray_aries linear ++SUBDIRS = other cons_res cons_tres linear + + # Each plugin here needs a plugin_id, here are the currect plug_ids + # for each plugin. +diff --git a/src/plugins/switch/Makefile.am b/src/plugins/switch/Makefile.am +index c58f51329d..39a2b3eb7f 100644 +--- a/src/plugins/switch/Makefile.am ++++ b/src/plugins/switch/Makefile.am +@@ -1,7 +1,3 @@ + # Makefile for switch plugins + + SUBDIRS = generic none +- +-if WITH_SWITCH_CRAY_ARIES +-SUBDIRS += cray_aries +-endif +diff --git a/src/plugins/task/Makefile.am b/src/plugins/task/Makefile.am +index 8d2a36eb68..607af1cb7c 100644 +--- a/src/plugins/task/Makefile.am ++++ b/src/plugins/task/Makefile.am +@@ -1,6 +1,6 @@ + # Makefile for task plugins + +-SUBDIRS = cray_aries none ++SUBDIRS = none + + if HAVE_SCHED_SETAFFINITY + SUBDIRS += affinity diff --git a/sources b/sources index 821f3fe..29b7d2b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-24.05.2.tar.bz2) = d00b7420690f0067a53e6c52cf9ec103411766437d9677f9968fdb81859ad4c839ba7d3dbfa046f6b06b753262a25d12ff7e8e019b14fc8f7b1e1cbbe60ed819 +SHA512 (slurm-19.05.8.tar.bz2) = 9e00a54673ef650cc3dbb09c2305abdca9fbbae0a776e8f67b5cf2120b6ff058fbc20cb902e366347a55540d647aec503a8263e86f8da86162c8b96f12d040c1