diff --git a/slurm.spec b/slurm.spec index a103b66..44912b8 100644 --- a/slurm.spec +++ b/slurm.spec @@ -1,5 +1,5 @@ # Upstream tarballs use an additional release number -%global ups_rel 2 +%global ups_rel 1 %if "%{ups_rel}" == "1" %global name_version %{name}-%{version} @@ -15,12 +15,12 @@ %endif Name: slurm -Version: 21.08.8 -Release: 4%{?dist} +Version: 22.05.3 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ -Source0: http://www.schedmd.com/download/latest/%{name_version}.tar.bz2 +Source0: https://download.schedmd.com/slurm/%{name_version}.tar.bz2 Source1: slurm.conf Source2: slurmdbd.conf Source3: slurm-sview.desktop @@ -31,27 +31,27 @@ Source5: slurm-setuser.in Patch0: slurm_release_version.patch # Build-related patches -Patch10: slurm_perlapi_rpaths.patch +Patch10: slurm_check_version.patch Patch11: slurm_html_doc_path.patch -Patch12: slurm_without_cray.patch -Patch13: slurm_check_version.patch -Patch14: slurm_detect_pmix_v4.patch +Patch12: slurm_perlapi_rpaths.patch # Other patches -Patch20: slurm_pmix_soname.patch +Patch20: slurm_runtime_linking.patch Patch21: 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-macros BuildRequires: perl-podlators -%if !0%{?el7} +%if 0%{?epel} != 7 BuildRequires: pkgconf %else BuildRequires: pkgconfig @@ -83,7 +83,7 @@ BuildRequires: ucx-devel %endif # create slurm-slurmrestd package for Fedora >= 34 and EPEL7/8 -%if (0%{?fedora} >= 34) || 0%{?el7} || 0%{?el8} +%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) BuildRequires: http-parser-devel BuildRequires: json-c-devel BuildRequires: libjwt-devel @@ -165,7 +165,7 @@ 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. -%if (0%{?fedora} >= 34) || 0%{?el7} || 0%{?el8} +%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) %package slurmrestd Summary: Slurm REST API deamon Requires: %{name}%{?_isa} = %{version}-%{release} @@ -253,14 +253,15 @@ export LDFLAGS="%{build_ldflags} -Wl,-z,lazy" %if 0%{?fedora} && %{with ucx} --with-ucx=%{_prefix} \ %endif + --enable-pam \ + --enable-really-no-cray \ --enable-shared \ --enable-x11 \ --disable-static \ --disable-debug \ - --disable-developer \ --disable-salloc-background \ - --disable-multiple-slurmd \ --disable-partial_attach \ + --with-oneapi=no \ --with-shared-libslurm \ --without-rpath # patch libtool to remove rpaths @@ -379,7 +380,11 @@ rm -f %{buildroot}%{_libdir}/%{name}/job_submit_defaults.so rm -f %{buildroot}%{_libdir}/%{name}/job_submit_logging.so rm -f %{buildroot}%{_libdir}/%{name}/job_submit_partition.so # remove cray files +rm -f %{buildroot}%{_libdir}/%{name}/*datawarp*.so +rm -f %{buildroot}%{_libdir}/%{name}/*cray*.so rm -f %{buildroot}%{_mandir}/man5/cray* +rm -f %{buildroot}%{_sbindir}/capmc* +rm -f %{buildroot}%{_sbindir}/slurmsmwd* # remove perl cruft rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/Slurm*.bs @@ -431,12 +436,13 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_bindir}/%{name}-setuser %{_libdir}/%{name}/accounting_storage_*.so %{_libdir}/%{name}/acct_gather_*.so -%if (0%{?fedora} >= 34) || 0%{?el7} || 0%{?el8} +%if (0%{?fedora} >= 34) || (0%{?epel} >= 7) %{_libdir}/%{name}/auth_jwt.so %endif %{_libdir}/%{name}/auth_munge.so %{_libdir}/%{name}/burst_buffer_lua.so %{_libdir}/%{name}/cgroup_v1.so +%{_libdir}/%{name}/cgroup_v2.so %{_libdir}/%{name}/cli_filter_*.so %{_libdir}/%{name}/core_spec_none.so %{_libdir}/%{name}/cred_*.so @@ -452,7 +458,6 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_libdir}/%{name}/mcs_*.so %{_libdir}/%{name}/mpi_*.so %{_libdir}/%{name}/node_features_*.so -%{_libdir}/%{name}/openapi_*.so %{_libdir}/%{name}/power_none.so %{_libdir}/%{name}/preempt_*.so %{_libdir}/%{name}/prep_script.so @@ -495,6 +500,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service %{_mandir}/man5/helpers.conf.5* %{_mandir}/man5/job_container.conf.5* %{_mandir}/man5/knl.conf.5* +%{_mandir}/man5/mpi.conf.5* %{_mandir}/man5/nonstop.conf.5* %{_mandir}/man5/oci.conf.5* %{_mandir}/man5/slurm.conf.5* @@ -532,9 +538,7 @@ rm -f %{buildroot}%{_unitdir}/slurmrestd.service # --------- %files doc -%dir %{_docdir}/%{name} -%dir %{_docdir}/%{name}/html -%{_docdir}/%{name}/html/* +%{_docdir} # --------- # Slurm-gui @@ -620,11 +624,8 @@ fi %if (0%{?fedora} >= 34) || 0%{?el7} || 0%{?el8} %files slurmrestd -%{_libdir}/%{name}/openapi_dbv0_0_36.so -%{_libdir}/%{name}/openapi_v0_0_36.so -%{_libdir}/%{name}/openapi_v0_0_35.so -%{_libdir}/%{name}/rest_auth_jwt.so -%{_libdir}/%{name}/rest_auth_local.so +%{_libdir}/%{name}/openapi*.so +%{_libdir}/%{name}/rest*.so %{_sbindir}/slurmrestd %{_unitdir}/slurmrestd.service %endif @@ -748,6 +749,10 @@ fi %systemd_postun_with_restart slurmdbd.service %changelog +* Mon Sep 5 2022 Philip Kovacs - 22.05.3-1 +- Thanks Cristian Le (fedora@lecris.me) for his contributions +- Update to 22.05.3 + * Sat Jul 23 2022 Fedora Release Engineering - 21.08.8-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/slurm_detect_pmix_v4.patch b/slurm_detect_pmix_v4.patch deleted file mode 100644 index 032fb79..0000000 --- a/slurm_detect_pmix_v4.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/auxdir/x_ac_pmix.m4 b/auxdir/x_ac_pmix.m4 -index f40d39fa8e..f5221bf8cf 100755 ---- a/auxdir/x_ac_pmix.m4 -+++ b/auxdir/x_ac_pmix.m4 -@@ -188,7 +188,8 @@ AC_DEFUN([X_AC_PMIX], - - AM_CONDITIONAL(HAVE_PMIX, [test $_x_ac_pmix_v1_found = "1"] || - [test $_x_ac_pmix_v2_found = "1"] || -- [test $_x_ac_pmix_v3_found = "1"] ) -+ [test $_x_ac_pmix_v3_found = "1"] || -+ [test $_x_ac_pmix_v4_found = "1"]) - AM_CONDITIONAL(HAVE_PMIX_V1, [test $_x_ac_pmix_v1_found = "1"]) - AM_CONDITIONAL(HAVE_PMIX_V2, [test $_x_ac_pmix_v2_found = "1"]) - AM_CONDITIONAL(HAVE_PMIX_V3, [test $_x_ac_pmix_v3_found = "1"]) diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch deleted file mode 100644 index 633dd81..0000000 --- a/slurm_pmix_soname.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c -index 69c5191112..1d0080dd77 100644 ---- a/src/plugins/mpi/pmix/mpi_pmix.c -+++ b/src/plugins/mpi/pmix/mpi_pmix.c -@@ -87,6 +87,8 @@ const char plugin_type[] = "mpi/pmix_v1"; - const char plugin_type[] = "mpi/pmix_v2"; - #elif (HAVE_PMIX_VER == 3) - const char plugin_type[] = "mpi/pmix_v3"; -+#elif (HAVE_PMIX_VER == 4) -+const char plugin_type[] = "mpi/pmix_v4"; - #endif - - const uint32_t plugin_version = SLURM_VERSION_NUMBER; -@@ -112,8 +114,10 @@ static void *_libpmix_open(void) - xstrfmtcat(full_path, "%s/", PMIXP_V2_LIBPATH); - #elif defined PMIXP_V3_LIBPATH - xstrfmtcat(full_path, "%s/", PMIXP_V3_LIBPATH); -+#elif defined PMIXP_V4_LIBPATH -+ xstrfmtcat(full_path, "%s/", PMIXP_V4_LIBPATH); - #endif -- xstrfmtcat(full_path, "libpmix.so"); -+ xstrfmtcat(full_path, "libpmix.so.2"); - - lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); - xfree(full_path); -diff --git a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c -index 44013246e3..96c40b5c3a 100644 ---- a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c -+++ b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c -@@ -169,7 +169,7 @@ static int _load_ucx_lib() - * we have from autoconf - */ - char *full_path = NULL; -- xstrfmtcat(full_path, "%s/libucp.so", PMIXP_UCX_LIBPATH); -+ xstrfmtcat(full_path, "%s/libucp.so.0", PMIXP_UCX_LIBPATH); - _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); - xfree(full_path); - if (_ucx_lib_handler) { -@@ -180,7 +180,7 @@ static int _load_ucx_lib() - * known by dynamic linker. - */ - #endif -- _ucx_lib_handler = dlopen("libucp.so", RTLD_LAZY | RTLD_GLOBAL); -+ _ucx_lib_handler = dlopen("libucp.so.0", RTLD_LAZY | RTLD_GLOBAL); - if (!_ucx_lib_handler) { - char *err = dlerror(); - PMIXP_ERROR("Cannot open UCX lib: %s", (err) ? err : "unknown"); diff --git a/slurm_runtime_linking.patch b/slurm_runtime_linking.patch new file mode 100644 index 0000000..e4435e9 --- /dev/null +++ b/slurm_runtime_linking.patch @@ -0,0 +1,35 @@ +diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c +index 626065f269..d2623695be 100644 +--- a/src/plugins/mpi/pmix/mpi_pmix.c ++++ b/src/plugins/mpi/pmix/mpi_pmix.c +@@ -137,7 +137,7 @@ static void *_libpmix_open(void) + #elif defined PMIXP_V4_LIBPATH + xstrfmtcat(full_path, "%s/", PMIXP_V4_LIBPATH); + #endif +- xstrfmtcat(full_path, "libpmix.so"); ++ xstrfmtcat(full_path, "libpmix.so.2"); + + lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); +diff --git a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c +index 44013246e3..96c40b5c3a 100644 +--- a/src/plugins/mpi/pmix/pmixp_dconn_ucx.c ++++ b/src/plugins/mpi/pmix/pmixp_dconn_ucx.c +@@ -169,7 +169,7 @@ static int _load_ucx_lib() + * we have from autoconf + */ + char *full_path = NULL; +- xstrfmtcat(full_path, "%s/libucp.so", PMIXP_UCX_LIBPATH); ++ xstrfmtcat(full_path, "%s/libucp.so.0", PMIXP_UCX_LIBPATH); + _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); + if (_ucx_lib_handler) { +@@ -180,7 +180,7 @@ static int _load_ucx_lib() + * known by dynamic linker. + */ + #endif +- _ucx_lib_handler = dlopen("libucp.so", RTLD_LAZY | RTLD_GLOBAL); ++ _ucx_lib_handler = dlopen("libucp.so.0", RTLD_LAZY | RTLD_GLOBAL); + if (!_ucx_lib_handler) { + char *err = dlerror(); + PMIXP_ERROR("Cannot open UCX lib: %s", (err) ? err : "unknown"); diff --git a/slurm_without_cray.patch b/slurm_without_cray.patch deleted file mode 100644 index f917445..0000000 --- a/slurm_without_cray.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff --git a/contribs/Makefile.am b/contribs/Makefile.am -index f08b1b0440..110dd03757 100644 ---- a/contribs/Makefile.am -+++ b/contribs/Makefile.am -@@ -1 +1 @@ --SUBDIRS = cray lua nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque -+SUBDIRS = lua nss_slurm openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque -diff --git a/src/plugins/burst_buffer/Makefile.am b/src/plugins/burst_buffer/Makefile.am -index e55b18af47..3c4cf98f2c 100644 ---- a/src/plugins/burst_buffer/Makefile.am -+++ b/src/plugins/burst_buffer/Makefile.am -@@ -3,5 +3,5 @@ - SUBDIRS = common - - if WITH_JSON_PARSER --SUBDIRS += datawarp lua -+SUBDIRS += lua - endif -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_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/mpi/Makefile.am b/src/plugins/mpi/Makefile.am -index 4d055e2030..1a44dfb2ab 100644 ---- a/src/plugins/mpi/Makefile.am -+++ b/src/plugins/mpi/Makefile.am -@@ -1,6 +1,6 @@ - # Makefile for mpi plugins - --SUBDIRS = cray_shasta none pmi2 -+SUBDIRS = none pmi2 - if HAVE_PMIX - SUBDIRS += pmix - endif -diff --git a/src/plugins/node_features/Makefile.am b/src/plugins/node_features/Makefile.am -index b065610c2b..c3745f42b6 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 = helpers knl_cray knl_generic -+SUBDIRS = helpers 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 38bae0ff5c..ca7133f43f 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_common cons_res cons_tres cray_aries linear -+SUBDIRS = other cons_common cons_res cons_tres linear - - # Each plugin here needs a plugin_id. - # Here are the current plugin_ids for each plugin. -diff --git a/src/plugins/switch/Makefile.am b/src/plugins/switch/Makefile.am -index 365f5b8d93..dc56a01a55 100644 ---- a/src/plugins/switch/Makefile.am -+++ b/src/plugins/switch/Makefile.am -@@ -1,7 +1,3 @@ - # Makefile for switch plugins - - SUBDIRS = 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 f79282f3e6..356cdcd500 100644 ---- a/src/plugins/task/Makefile.am -+++ b/src/plugins/task/Makefile.am -@@ -1,6 +1,6 @@ - # Makefile for task plugins - --SUBDIRS = affinity cray_aries none -+SUBDIRS = affinity none - - if WITH_CGROUP - SUBDIRS += cgroup diff --git a/sources b/sources index b969990..9067673 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-21.08.8-2.tar.bz2) = 04f28ed007548367b065ced9da7dc633043974980f0a0593d9e0bb0a2058e81ab34c4a5da8161f04af9209f8968df5b859621008e72d20406f674be9c91cf06c +SHA512 (slurm-22.05.3.tar.bz2) = a500fb657f7d4d3d063307e176e26e537962434ff73ad8d13e16c34c70e94916fdab4e08e23d40aedec7edd86be996d2366e82fcb952c83f5498e59ca47c3f21