From 8f4e4663ab70a8382aa06201e518373c2ca44d46 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Fri, 5 Jul 2019 10:40:05 -0400 Subject: [PATCH 1/8] fix bad merge --- slurm.conf | 2 +- slurm.spec | 78 +++++++++------------------ slurm_do_not_build_cray.patch | 99 ++--------------------------------- slurm_to_python3.patch | 10 ++++ 4 files changed, 40 insertions(+), 149 deletions(-) diff --git a/slurm.conf b/slurm.conf index 06539c9..e84d7a7 100644 --- a/slurm.conf +++ b/slurm.conf @@ -31,7 +31,7 @@ CryptoType=crypto/munge #MaxJobCount=5000 #MaxStepCount=40000 #MaxTasksPerNode=128 -MpiDefault=pmix +MpiDefault=none #MpiParams=ports=#-# #PluginDir= #PlugStackConfig= diff --git a/slurm.spec b/slurm.spec index af321c4..52d6717 100644 --- a/slurm.spec +++ b/slurm.spec @@ -11,8 +11,8 @@ %undefine _strict_symbol_defs_build Name: slurm -Version: 19.05.0 -Release: 5%{?dist} +Version: 18.08.7 +Release: 3%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -25,8 +25,6 @@ Source5: slurm-setuser.in # Upstream bug #4449: release-style versioning of libslurmfull Patch0: slurm_libslurmfull_version.patch -# Upstream bug #7197: fix 19.05.0 testsuite -Patch1: slurm_fix_testsuite.patch # Build-related patches Patch10: slurm_perlapi_rpaths.patch @@ -46,7 +44,6 @@ BuildRequires: gcc BuildRequires: perl-devel BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-interpreter -BuildRequires: perl-macros BuildRequires: perl-podlators BuildRequires: pkgconf BuildRequires: pkgconfig(check) @@ -66,6 +63,7 @@ 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 @@ -76,10 +74,6 @@ BuildRequires: rdma-core-devel BuildRequires: numactl-devel %endif -# exclude upstream-deprecated 32-bit architectures -ExcludeArch: armv7hl -ExcludeArch: i686 - Requires: munge Requires: pmix >= 2.0.0 %{?systemd_requires} @@ -160,15 +154,6 @@ 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} @@ -202,7 +187,6 @@ Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm. %prep %setup -q -n %{name_version} %patch0 -p1 -%patch1 -p1 %patch10 -p1 %patch11 -p1 %patch12 -p1 @@ -362,7 +346,7 @@ done # contribs docs install -d -m 0755 %{buildroot}%{_docdir}/%{name}/contribs/lua install -m 0644 contribs/README %{buildroot}%{_docdir}/%{name}/contribs -install -m 0644 contribs/lua/*.lua %{buildroot}%{_docdir}/%{name}/contribs/lua +install -m 0644 contribs/lua/proctrack.lua %{buildroot}%{_docdir}/%{name}/contribs/lua # remove libtool archives find %{buildroot} -name \*.a -o -name \*.la | xargs rm -f @@ -378,7 +362,18 @@ rm -f %{buildroot}%{_libdir}/%{name}/auth_none.so 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 bluegene files +rm -f %{buildroot}%{_libdir}/%{name}/select_bluegene.so +rm -f %{buildroot}%{_mandir}/man5/bluegene* # remove cray files +rm -f %{buildroot}%{_libdir}/%{name}/acct_gather_energy_cray.so +rm -f %{buildroot}%{_libdir}/%{name}/core_spec_cray.so +rm -f %{buildroot}%{_libdir}/%{name}/job_container_cncu.so +rm -f %{buildroot}%{_libdir}/%{name}/job_submit_cray.so +rm -f %{buildroot}%{_libdir}/%{name}/select_alps.so +rm -f %{buildroot}%{_libdir}/%{name}/select_cray.so +rm -f %{buildroot}%{_libdir}/%{name}/switch_cray.so +rm -f %{buildroot}%{_libdir}/%{name}/task_cray.so rm -f %{buildroot}%{_mandir}/man5/cray* # remove perl cruft rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist @@ -417,12 +412,11 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_libdir}/%{name}/auth_munge.so %{_libdir}/%{name}/burst_buffer_generic.so %{_libdir}/%{name}/checkpoint_{none,ompi}.so -%{_libdir}/%{name}/cli_filter_none.so %{_libdir}/%{name}/core_spec_none.so -%{_libdir}/%{name}/cred_{munge,none}.so +%{_libdir}/%{name}/crypto_munge.so +%{_libdir}/%{name}/crypto_openssl.so %{_libdir}/%{name}/ext_sensors_none.so -%{_libdir}/%{name}/gres_{gpu,mic,mps,nic}.so -%{_libdir}/%{name}/gpu_generic.so +%{_libdir}/%{name}/gres_{gpu,mic,nic}.so %{_libdir}/%{name}/job_container_none.so %{_libdir}/%{name}/job_submit_all_partitions.so %{_libdir}/%{name}/job_submit_lua.so @@ -442,8 +436,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_libdir}/%{name}/proctrack_{cgroup,linuxproc,lua,pgid}.so %{_libdir}/%{name}/route_{default,topology}.so %{_libdir}/%{name}/sched_{backfill,builtin,hold}.so -%{_libdir}/%{name}/select_{cons_res,cons_tres,linear,serial}.so -%{_libdir}/%{name}/site_factor_none.so +%{_libdir}/%{name}/select_{cons_res,linear,serial}.so %{_libdir}/%{name}/slurmctld_nonstop.so %{_libdir}/%{name}/switch_{generic,none}.so %{_libdir}/%{name}/task_{affinity,cgroup,none}.so @@ -515,6 +508,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %files libs %{_libdir}/libslurm.so.* +%{_libdir}/libslurmdb.so.* %{_libdir}/libslurmfull-*.so # ------------- @@ -569,7 +563,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %dir %{_docdir}/%{name}/contribs %dir %{_docdir}/%{name}/contribs/lua %{_docdir}/%{name}/contribs/README -%{_docdir}/%{name}/contribs/lua/*.lua +%{_docdir}/%{name}/contribs/lua/proctrack.lua %{_bindir}/seff %{_bindir}/sgather %{_bindir}/sjobexitmod @@ -579,13 +573,6 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_mandir}/man1/sjobexitmod.1* %{_mandir}/man1/sjstat.1* -# --------------- -# Slurm-nss_slurm -# --------------- - -%files nss_slurm -%{_libdir}/libnss_slurm.so.2 - # -------------- # Slurm-openlava # -------------- @@ -679,32 +666,17 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %systemd_postun_with_restart slurmdbd.service %changelog -* Tue Jul 2 2019 Philip Kovacs - 19.05.0-5 +* Tue Jul 2 2019 Philip Kovacs - 18.08.7-3 - 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 +* Wed Jun 19 2019 Philip Kovacs - 18.08.7-2 - 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 +- Use make_build macro instead of make +- Use autotools commands instead of rpm macros * Fri Apr 12 2019 Philip Kovacs - 18.08.7-1 - Release of 18.08.7 diff --git a/slurm_do_not_build_cray.patch b/slurm_do_not_build_cray.patch index 8b994dc..7ec7ecc 100644 --- a/slurm_do_not_build_cray.patch +++ b/slurm_do_not_build_cray.patch @@ -1,101 +1,10 @@ diff --git a/contribs/Makefile.am b/contribs/Makefile.am -index da96aa070d..2a2d1f2c82 100644 +index 24ab9de7cc..087262c347 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 +-SUBDIRS = cray lua mic openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque ++SUBDIRS = lua mic 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 ddfe019a65..39a2b3eb7f 100644 ---- a/src/plugins/switch/Makefile.am -+++ b/src/plugins/switch/Makefile.am -@@ -1,3 +1,3 @@ - # Makefile for switch plugins - --SUBDIRS = cray_aries generic none -+SUBDIRS = generic none -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 + gcp \ diff --git a/slurm_to_python3.patch b/slurm_to_python3.patch index c60e941..fdfcbe8 100644 --- a/slurm_to_python3.patch +++ b/slurm_to_python3.patch @@ -38,6 +38,16 @@ index 54909096b9..93433d6fa3 100755 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 From cc99a557b878c45e54a18e96c4329d1e3ee8d255 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Fri, 5 Jul 2019 10:48:41 -0400 Subject: [PATCH 2/8] fix bad merge (cnt'd) --- slurm_fix_testsuite.patch | 579 -------------------------------------- 1 file changed, 579 deletions(-) delete mode 100644 slurm_fix_testsuite.patch diff --git a/slurm_fix_testsuite.patch b/slurm_fix_testsuite.patch deleted file mode 100644 index 4cf2c80..0000000 --- a/slurm_fix_testsuite.patch +++ /dev/null @@ -1,579 +0,0 @@ -commit 7fa8a69d8eda68ac1fa144de7686e47d18161037 -Author: Philip Kovacs -Date: Fri Jun 7 07:33:01 2019 -0600 - - patch for 19.05.0 testsuite `make check` errors - - bug 7197 - -diff --git a/testsuite/slurm_unit/common/slurm_protocol_pack/pack_job_alloc_info_msg-test.c b/testsuite/slurm_unit/common/slurm_protocol_pack/pack_job_alloc_info_msg-test.c -index 2f245622e7..ca95f636a8 100644 ---- a/testsuite/slurm_unit/common/slurm_protocol_pack/pack_job_alloc_info_msg-test.c -+++ b/testsuite/slurm_unit/common/slurm_protocol_pack/pack_job_alloc_info_msg-test.c -@@ -59,7 +59,7 @@ START_TEST(pack_1702_req_null_ptrs) - unpack_req = (job_alloc_info_msg_t *)msg.data; - ck_assert_int_eq(rc, SLURM_SUCCESS); - ck_assert(unpack_req); -- ck_assert(!unpack_req->req_cluster); /* >= 17.11 */ -+ //ck_assert(!unpack_req->req_cluster); /* >= 17.11 */ - ck_assert_uint_eq(unpack_req->job_id, pack_req.job_id); - - free_buf(buf); -@@ -94,7 +94,7 @@ START_TEST(pack_1702_req) - unpack_req = (job_alloc_info_msg_t *)msg.data; - ck_assert_int_eq(rc, SLURM_SUCCESS); - ck_assert(unpack_req); -- ck_assert(!unpack_req->req_cluster); /* >= 17.11 */ -+ //ck_assert(!unpack_req->req_cluster); /* >= 17.11 */ - ck_assert_uint_eq(unpack_req->job_id, pack_req.job_id); - - free_buf(buf); -diff --git a/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c b/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c -index dd10e1b857..d068fef66d 100644 ---- a/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c -+++ b/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c -@@ -236,9 +236,9 @@ Suite* suite(void) - TCase* tc_core = tcase_create("Pack slurmdb_federation_rec_t"); - tcase_add_test(tc_core, invalid_protocol); - tcase_add_test(tc_core, pack_1702_federation_rec); -- tcase_add_test(tc_core, pack_1702_null_federation_rec); -+ //tcase_add_test(tc_core, pack_1702_null_federation_rec); - tcase_add_test(tc_core, pack_1702_federation_rec_empty_list); -- tcase_add_test(tc_core, pack_1702_federation_rec_fail); -+ //tcase_add_test(tc_core, pack_1702_federation_rec_fail); - - tcase_add_test(tc_core, pack_1711_federation_rec); - tcase_add_test(tc_core, pack_1711_null_federation_rec); -diff --git a/testsuite/slurm_unit/common/xhash-test.c b/testsuite/slurm_unit/common/xhash-test.c -index 46616aef2b..2fc4d1d373 100644 ---- a/testsuite/slurm_unit/common/xhash-test.c -+++ b/testsuite/slurm_unit/common/xhash-test.c -@@ -49,12 +49,11 @@ typedef struct hashable_st { - uint32_t idn; - } hashable_t; - --const char* hashable_identify(void* voiditem) -+void hashable_identify(void* voiditem, const char** key, uint32_t* key_len) - { - hashable_t* item = (hashable_t*)voiditem; -- if (!item->id[0]) snprintf(item->id, 255, "%lu", -- (unsigned long)item->idn); -- return item->id; -+ *key = item->id; -+ *key_len = strlen(item->id); - } - - /***************************************************************************** -@@ -71,7 +70,7 @@ static void setup(void) - g_ht = xhash_init(hashable_identify, NULL); - if (!g_ht) return; /* fatal error, will be detected by test cases */ - for (i = 0; i < g_hashableslen; ++i) { -- g_hashables[i].id[0] = 0; -+ snprintf(g_hashables[i].id, sizeof(g_hashables[i].id), "%d", i); - g_hashables[i].idn = i; - /* it is an error if xhash_add returns null but it will be - * detected by test cases */ -@@ -120,7 +119,7 @@ START_TEST(test_add) - fail_unless(xhash_add(ht, a+3) != NULL, "xhash_add failed"); - for (i = 0; i < len; ++i) { - snprintf(buffer, sizeof(buffer), "%d", i); -- fail_unless(xhash_get(ht, buffer) == (a + i), -+ fail_unless(xhash_get_str(ht, buffer) == (a + i), - "bad hashable item returned"); - } - xhash_free(ht); -@@ -134,14 +133,14 @@ START_TEST(test_find) - int i; - - /* test bad match */ -- fail_unless(xhash_get(ht, "bad") == NULL , "invalid case not null"); -- fail_unless(xhash_get(ht, "-1") == NULL , "invalid case not null"); -- fail_unless(xhash_get(ht, "10000") == NULL, "invalid case not null"); -+ fail_unless(xhash_get_str(ht, "bad") == NULL , "invalid case not null"); -+ fail_unless(xhash_get_str(ht, "-1") == NULL , "invalid case not null"); -+ fail_unless(xhash_get_str(ht, "10000") == NULL, "invalid case not null"); - - /* test all good indexes */ - for (i = 0; i < g_hashableslen; ++i) { - snprintf(buffer, sizeof(buffer), "%d", i); -- fail_unless(xhash_get(ht, buffer) == (g_hashables + i), -+ fail_unless(xhash_get_str(ht, buffer) == (g_hashables + i), - "bad hashable item returned"); - } - } -@@ -156,7 +155,7 @@ static int test_delete_helper() - char buffer[255]; - for (i = 0; i < g_hashableslen; ++i) { - snprintf(buffer, sizeof(buffer), "%d", i); -- if (xhash_get(ht, buffer) != (g_hashables + i)) { -+ if (xhash_get_str(ht, buffer) != (g_hashables + i)) { - ++ret; - } - } -@@ -170,10 +169,10 @@ START_TEST(test_delete) - char buffer[255]; - - /* invalid cases */ -- xhash_delete(NULL, "1"); -- fail_unless(xhash_get(ht, "1") != NULL, "invalid case null"); -+ xhash_delete_str(NULL, "1"); -+ fail_unless(xhash_get_str(ht, "1") != NULL, "invalid case null"); - /* Deleting non-existent item should do nothing. */ -- xhash_delete(ht, NULL); -+ xhash_delete(ht, NULL, 0); - fail_unless(xhash_count(ht) == g_hashableslen, - "invalid delete has been done"); - result = test_delete_helper(); -@@ -182,17 +181,17 @@ START_TEST(test_delete) - result); - - /* test correct deletion */ -- xhash_delete(ht, "10"); -- fail_unless(xhash_get(ht, "10") == NULL, "item not deleted"); -+ xhash_delete_str(ht, "10"); -+ fail_unless(xhash_get_str(ht, "10") == NULL, "item not deleted"); - fail_unless(xhash_count(ht) == (g_hashableslen-1), "bad count"); - /* left edge */ -- xhash_delete(ht, "0"); -- fail_unless(xhash_get(ht, "0") == NULL, "item not deleted"); -+ xhash_delete_str(ht, "0"); -+ fail_unless(xhash_get_str(ht, "0") == NULL, "item not deleted"); - fail_unless(xhash_count(ht) == (g_hashableslen-2), "bad count"); - /* right edge */ - snprintf(buffer, sizeof(buffer), "%u", (g_hashableslen-2)); -- xhash_delete(ht, buffer); -- fail_unless(xhash_get(ht, "0") == NULL, "item not deleted"); -+ xhash_delete_str(ht, buffer); -+ fail_unless(xhash_get_str(ht, "0") == NULL, "item not deleted"); - fail_unless(xhash_count(ht) == (g_hashableslen-3), "bad count"); - - result = test_delete_helper(); -commit b0db3f0fbfdfc9a7820f24c4b30adee696dc863a -Author: Morris Jette -Date: Fri Jun 7 07:57:26 2019 -0600 - - Modify "make check" to validate v1808 un/pack logic - - bug 7197 - -diff --git a/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c b/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c -index d068fef66d..bbeeefc4a7 100644 ---- a/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c -+++ b/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c -@@ -32,29 +32,26 @@ START_TEST(invalid_protocol) - } - END_TEST - --START_TEST(pack_1702_null_federation_rec) -+START_TEST(pack_1711_null_federation_rec) - { - int rc; - Buf buf = init_buf(1024); -- slurmdb_federation_rec_t pack_fr = {0}; - - slurmdb_pack_federation_rec(NULL, SLURM_MIN_PROTOCOL_VERSION, buf); - - set_buf_offset(buf, 0); - -- slurmdb_federation_rec_t *unpack_fr; -+ slurmdb_federation_rec_t *unpack_fr = NULL; - rc = slurmdb_unpack_federation_rec((void **)&unpack_fr, SLURM_MIN_PROTOCOL_VERSION, buf); -- ck_assert(rc == SLURM_SUCCESS); -- ck_assert(pack_fr.name == unpack_fr->name); -- ck_assert(pack_fr.flags == unpack_fr->flags); -- ck_assert(pack_fr.cluster_list == unpack_fr->cluster_list); -+ ck_assert(rc == SLURM_SUCCESS); -+ ck_assert(unpack_fr == NULL); - - free_buf(buf); - slurmdb_destroy_federation_rec(unpack_fr); - } - END_TEST - --START_TEST(pack_1702_federation_rec) -+START_TEST(pack_1711_federation_rec) - { - int rc; - -@@ -90,7 +87,7 @@ START_TEST(pack_1702_federation_rec) - END_TEST - - --START_TEST(pack_1702_federation_rec_empty_list) -+START_TEST(pack_1711_federation_rec_empty_list) - { - int rc; - -@@ -118,31 +115,7 @@ START_TEST(pack_1702_federation_rec_empty_list) - END_TEST - - --/* This test sets up the buffer so that it fails when unpacking the cluster rec. -- */ --START_TEST(pack_1702_federation_rec_fail) --{ -- int rc; -- char *name = xstrdup("Saint Augustine"); -- Buf buf = init_buf(18*sizeof(uint32_t)); -- packstr(name, buf); -- pack32(7, buf); -- pack32(1, buf); -- -- set_buf_offset(buf, 0); -- -- slurmdb_federation_rec_t *unpack_fr; -- rc = slurmdb_unpack_federation_rec((void **)&unpack_fr, SLURM_MIN_PROTOCOL_VERSION, buf); -- ck_assert_int_eq(rc, SLURM_ERROR); -- -- free_buf(buf); -- xfree(name); --} --END_TEST -- -- --/* 17.11 */ --START_TEST(pack_1711_null_federation_rec) -+START_TEST(pack_1808_null_federation_rec) - { - int rc; - Buf buf = init_buf(1024); -@@ -161,7 +134,7 @@ START_TEST(pack_1711_null_federation_rec) - } - END_TEST - --START_TEST(pack_1711_federation_rec) -+START_TEST(pack_1808_federation_rec) - { - int rc; - -@@ -197,7 +170,7 @@ START_TEST(pack_1711_federation_rec) - END_TEST - - --START_TEST(pack_1711_federation_rec_empty_list) -+START_TEST(pack_1808_federation_rec_empty_list) - { - int rc; - -@@ -235,15 +208,14 @@ Suite* suite(void) - Suite* s = suite_create("Pack slurmdb_federation_rec_t"); - TCase* tc_core = tcase_create("Pack slurmdb_federation_rec_t"); - tcase_add_test(tc_core, invalid_protocol); -- tcase_add_test(tc_core, pack_1702_federation_rec); -- //tcase_add_test(tc_core, pack_1702_null_federation_rec); -- tcase_add_test(tc_core, pack_1702_federation_rec_empty_list); -- //tcase_add_test(tc_core, pack_1702_federation_rec_fail); -- - tcase_add_test(tc_core, pack_1711_federation_rec); - tcase_add_test(tc_core, pack_1711_null_federation_rec); - tcase_add_test(tc_core, pack_1711_federation_rec_empty_list); - -+ tcase_add_test(tc_core, pack_1808_federation_rec); -+ tcase_add_test(tc_core, pack_1808_null_federation_rec); -+ tcase_add_test(tc_core, pack_1808_federation_rec_empty_list); -+ - suite_add_tcase(s, tc_core); - return s; - } -commit 8aade6d1a3b25ee43b466f7c5624f5199b7bf0ec -Author: Morris Jette -Date: Fri Jun 7 08:14:50 2019 -0600 - - Rename some "make check" functions names to be generic - - bug 7197 - -diff --git a/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c b/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c -index bbeeefc4a7..6a48164027 100644 ---- a/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c -+++ b/testsuite/slurm_unit/common/slurmdb_pack/pack_federation_rec-test.c -@@ -32,7 +32,7 @@ START_TEST(invalid_protocol) - } - END_TEST - --START_TEST(pack_1711_null_federation_rec) -+START_TEST(pack_back2_null_federation_rec) - { - int rc; - Buf buf = init_buf(1024); -@@ -51,7 +51,7 @@ START_TEST(pack_1711_null_federation_rec) - } - END_TEST - --START_TEST(pack_1711_federation_rec) -+START_TEST(pack_back2_federation_rec) - { - int rc; - -@@ -87,7 +87,7 @@ START_TEST(pack_1711_federation_rec) - END_TEST - - --START_TEST(pack_1711_federation_rec_empty_list) -+START_TEST(pack_back2_federation_rec_empty_list) - { - int rc; - -@@ -115,7 +115,7 @@ START_TEST(pack_1711_federation_rec_empty_list) - END_TEST - - --START_TEST(pack_1808_null_federation_rec) -+START_TEST(pack_back1_null_federation_rec) - { - int rc; - Buf buf = init_buf(1024); -@@ -134,7 +134,7 @@ START_TEST(pack_1808_null_federation_rec) - } - END_TEST - --START_TEST(pack_1808_federation_rec) -+START_TEST(pack_back1_federation_rec) - { - int rc; - -@@ -170,7 +170,7 @@ START_TEST(pack_1808_federation_rec) - END_TEST - - --START_TEST(pack_1808_federation_rec_empty_list) -+START_TEST(pack_back1_federation_rec_empty_list) - { - int rc; - -@@ -208,13 +208,13 @@ Suite* suite(void) - Suite* s = suite_create("Pack slurmdb_federation_rec_t"); - TCase* tc_core = tcase_create("Pack slurmdb_federation_rec_t"); - tcase_add_test(tc_core, invalid_protocol); -- tcase_add_test(tc_core, pack_1711_federation_rec); -- tcase_add_test(tc_core, pack_1711_null_federation_rec); -- tcase_add_test(tc_core, pack_1711_federation_rec_empty_list); -+ tcase_add_test(tc_core, pack_back2_federation_rec); -+ tcase_add_test(tc_core, pack_back2_null_federation_rec); -+ tcase_add_test(tc_core, pack_back2_federation_rec_empty_list); - -- tcase_add_test(tc_core, pack_1808_federation_rec); -- tcase_add_test(tc_core, pack_1808_null_federation_rec); -- tcase_add_test(tc_core, pack_1808_federation_rec_empty_list); -+ tcase_add_test(tc_core, pack_back1_federation_rec); -+ tcase_add_test(tc_core, pack_back1_null_federation_rec); -+ tcase_add_test(tc_core, pack_back1_federation_rec_empty_list); - - suite_add_tcase(s, tc_core); - return s; -commit 549b1a3e6a8f6a677228209a2520595ffb42f98c -Author: Morris Jette -Date: Fri Jun 7 09:50:14 2019 -0600 - - Make check tests made more generic - -diff --git a/testsuite/slurm_unit/common/slurm_protocol_pack/pack_job_alloc_info_msg-test.c b/testsuite/slurm_unit/common/slurm_protocol_pack/pack_job_alloc_info_msg-test.c -index ca95f636a8..85adb59ed1 100644 ---- a/testsuite/slurm_unit/common/slurm_protocol_pack/pack_job_alloc_info_msg-test.c -+++ b/testsuite/slurm_unit/common/slurm_protocol_pack/pack_job_alloc_info_msg-test.c -@@ -33,7 +33,7 @@ START_TEST(pack_null_req) - END_TEST - #endif - --START_TEST(pack_1702_req_null_ptrs) -+START_TEST(pack_back2_req_null_ptrs) - { - int rc; - Buf buf = init_buf(1024); -@@ -59,7 +59,7 @@ START_TEST(pack_1702_req_null_ptrs) - unpack_req = (job_alloc_info_msg_t *)msg.data; - ck_assert_int_eq(rc, SLURM_SUCCESS); - ck_assert(unpack_req); -- //ck_assert(!unpack_req->req_cluster); /* >= 17.11 */ -+ ck_assert(!unpack_req->req_cluster); - ck_assert_uint_eq(unpack_req->job_id, pack_req.job_id); - - free_buf(buf); -@@ -67,7 +67,7 @@ START_TEST(pack_1702_req_null_ptrs) - } - END_TEST - --START_TEST(pack_1702_req) -+START_TEST(pack_back2_req) - { - int rc; - Buf buf = init_buf(1024); -@@ -103,7 +103,7 @@ START_TEST(pack_1702_req) - } - END_TEST - --START_TEST(pack_1711_req_null_ptrs) -+START_TEST(pack_back1_req_null_ptrs) - { - int rc; - Buf buf = init_buf(1024); -@@ -136,7 +136,7 @@ START_TEST(pack_1711_req_null_ptrs) - } - END_TEST - --START_TEST(pack_1711_req) -+START_TEST(pack_back1_req) - { - int rc; - Buf buf = init_buf(1024); -@@ -188,10 +188,10 @@ Suite* suite(SRunner *sr) - if (srunner_fork_status(sr) != CK_NOFORK) - tcase_add_test_raise_signal(tc_core, pack_null_req, SIGABRT); - #endif -- tcase_add_test(tc_core, pack_1702_req_null_ptrs); -- tcase_add_test(tc_core, pack_1702_req); -- tcase_add_test(tc_core, pack_1711_req_null_ptrs); -- tcase_add_test(tc_core, pack_1711_req); -+ tcase_add_test(tc_core, pack_back2_req_null_ptrs); -+ tcase_add_test(tc_core, pack_back2_req); -+ tcase_add_test(tc_core, pack_back1_req_null_ptrs); -+ tcase_add_test(tc_core, pack_back1_req); - suite_add_tcase(s, tc_core); - return s; - } -diff --git a/testsuite/slurm_unit/common/slurmdb_pack/pack_cluster_rec-test.c b/testsuite/slurm_unit/common/slurmdb_pack/pack_cluster_rec-test.c -index c58149b48f..b2c6042888 100644 ---- a/testsuite/slurm_unit/common/slurmdb_pack/pack_cluster_rec-test.c -+++ b/testsuite/slurm_unit/common/slurmdb_pack/pack_cluster_rec-test.c -@@ -20,7 +20,7 @@ START_TEST(invalid_protocol) - } - END_TEST - --START_TEST(pack_1702_null_rec) -+START_TEST(pack_back2_null_rec) - { - int rc; - slurmdb_cluster_rec_t pack_rec; -@@ -64,7 +64,7 @@ START_TEST(pack_1702_null_rec) - } - END_TEST - --START_TEST(pack_1702_rec) -+START_TEST(pack_back2_rec) - { - int rc; - Buf buf = init_buf(1024); -@@ -85,6 +85,9 @@ START_TEST(pack_1702_rec) - pack_rec.name = xstrdup("name"); - pack_rec.nodes = xstrdup("nodes"); - pack_rec.plugin_id_select = 8; -+ pack_rec.fed.feature_list = list_create(slurm_destroy_char); -+ slurm_addto_mode_char_list(pack_rec.fed.feature_list, "a,b,c", 0); -+ ck_assert_int_eq(list_count(pack_rec.fed.feature_list), 3); - - /* will be tested separately. */ - pack_rec.root_assoc = NULL; -@@ -126,9 +129,14 @@ START_TEST(pack_1702_rec) - ck_assert_str_eq(pack_rec.name, unpack_rec->name); - ck_assert_str_eq(pack_rec.nodes, unpack_rec->nodes); - -- /* 17.11 */ -- ck_assert(pack_rec.fed.feature_list == unpack_rec->fed.feature_list); -- -+ char *feature; -+ ck_assert_int_eq(list_count(pack_rec.fed.feature_list), list_count(unpack_rec->fed.feature_list)); -+ ListIterator itr = list_iterator_create(pack_rec.fed.feature_list); -+ while ((feature = list_next(itr))) { -+ if (!list_find_first(unpack_rec->fed.feature_list, slurm_find_char_in_list, feature)) -+ ck_abort_msg("Didn't find feature %s in unpacked list", -+ feature); -+ } - - FREE_NULL_LIST(pack_rec.accounting_list); - xfree(pack_rec.control_host); -@@ -140,7 +148,7 @@ START_TEST(pack_1702_rec) - } - END_TEST - --START_TEST(pack_1702_rec_null_ptrs) -+START_TEST(pack_back2_rec_null_ptrs) - { - Buf buf = init_buf(1024); - slurmdb_cluster_rec_t pack_rec = {0}; -@@ -185,7 +193,6 @@ START_TEST(pack_1702_rec_null_ptrs) - ck_assert(pack_rec.rpc_version == unpack_rec->rpc_version); - ck_assert(pack_rec.fed.recv == unpack_rec->fed.recv); - ck_assert(pack_rec.fed.send == unpack_rec->fed.send); -- /* 17.11 */ - ck_assert(pack_rec.fed.feature_list == unpack_rec->fed.feature_list); - - free_buf(buf); -@@ -193,7 +200,7 @@ START_TEST(pack_1702_rec_null_ptrs) - } - END_TEST - --START_TEST(pack_1711_null_rec) -+START_TEST(pack_back1_null_rec) - { - int rc; - slurmdb_cluster_rec_t pack_rec; -@@ -204,7 +211,6 @@ START_TEST(pack_1711_null_rec) - pack_rec.fed.state = 0; - pack_rec.dimensions = 1; - pack_rec.plugin_id_select = NO_VAL; -- - slurmdb_pack_cluster_rec(NULL, SLURM_ONE_BACK_PROTOCOL_VERSION, buf); - - set_buf_offset(buf, 0); -@@ -218,7 +224,6 @@ START_TEST(pack_1711_null_rec) - ck_assert(pack_rec.nodes == unpack_rec->nodes); - ck_assert(pack_rec.fed.recv == unpack_rec->fed.recv); - ck_assert(pack_rec.fed.send == unpack_rec->fed.send); -- /* 17.11 */ - ck_assert(pack_rec.fed.feature_list == unpack_rec->fed.feature_list); - - /* root_assoc gets unpacked into a empty structure */ -@@ -237,7 +242,7 @@ START_TEST(pack_1711_null_rec) - } - END_TEST - --START_TEST(pack_1711_rec) -+START_TEST(pack_back1_rec) - { - int rc; - Buf buf = init_buf(1024); -@@ -302,7 +307,6 @@ START_TEST(pack_1711_rec) - ck_assert_str_eq(pack_rec.name, unpack_rec->name); - ck_assert_str_eq(pack_rec.nodes, unpack_rec->nodes); - -- /* 17.11 */ - char *feature; - ck_assert_int_eq(list_count(pack_rec.fed.feature_list), list_count(unpack_rec->fed.feature_list)); - ListIterator itr = list_iterator_create(pack_rec.fed.feature_list); -@@ -322,7 +326,7 @@ START_TEST(pack_1711_rec) - } - END_TEST - --START_TEST(pack_1711_rec_null_ptrs) -+START_TEST(pack_back1_rec_null_ptrs) - { - Buf buf = init_buf(1024); - slurmdb_cluster_rec_t pack_rec = {0}; -@@ -367,7 +371,6 @@ START_TEST(pack_1711_rec_null_ptrs) - ck_assert(pack_rec.rpc_version == unpack_rec->rpc_version); - ck_assert(pack_rec.fed.recv == unpack_rec->fed.recv); - ck_assert(pack_rec.fed.send == unpack_rec->fed.send); -- /* 17.11 */ - ck_assert(pack_rec.fed.feature_list == unpack_rec->fed.feature_list); - - free_buf(buf); -@@ -385,13 +388,13 @@ Suite* suite(void) - TCase* tc_core = tcase_create("Pack slurmdb_cluster_rec_t"); - tcase_add_test(tc_core, invalid_protocol); - -- tcase_add_test(tc_core, pack_1711_null_rec); -- tcase_add_test(tc_core, pack_1711_rec); -- tcase_add_test(tc_core, pack_1711_rec_null_ptrs); -+ tcase_add_test(tc_core, pack_back1_null_rec); -+ tcase_add_test(tc_core, pack_back1_rec); -+ tcase_add_test(tc_core, pack_back1_rec_null_ptrs); - -- tcase_add_test(tc_core, pack_1702_null_rec); -- tcase_add_test(tc_core, pack_1702_rec); -- tcase_add_test(tc_core, pack_1702_rec_null_ptrs); -+ tcase_add_test(tc_core, pack_back2_null_rec); -+ tcase_add_test(tc_core, pack_back2_rec); -+ tcase_add_test(tc_core, pack_back2_rec_null_ptrs); - - suite_add_tcase(s, tc_core); - return s; From c63769b20f74a9515ebc87555ac900c01d31b409 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Fri, 5 Jul 2019 11:43:12 -0400 Subject: [PATCH 3/8] Revert "Merge branch 'f30'" This reverts commit 94164896cbf25c4e4f504301288c781474ca62a5, reversing changes made to a93547103f40c3cdc28c3af470d435ddac2ac60f. --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index bcddb1a..dff51b9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-19.05.0.tar.bz2) = f91efbd8c96c5c25dcf7c3f73f61ab9b5d591a554447e5a7db0346ace2e9a1053bebce5f16e9d15c23d78743319997aaac51f6d5bceda7cfaa4877a6f439cff1 +SHA512 (slurm-18.08.7.tar.bz2) = d0047086f1b716877cc5bb39539bf96a8fd08b1851c85fd85112c6432c1ce2a0f29fc9dd8803094c8fa44d063cec5f417e6bed231b6d338934ff4b48424a5a93 From 51c811baec8485bdc5d80df4eb3e4b37864104c3 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Fri, 5 Jul 2019 13:43:58 -0400 Subject: [PATCH 4/8] do not build/install pmi/pmi2 --- slurm.spec | 8 +++---- ...ild_cray.patch => slurm_without_cray.patch | 0 slurm_without_pmi.patch | 22 +++++++++++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) rename slurm_do_not_build_cray.patch => slurm_without_cray.patch (100%) create mode 100644 slurm_without_pmi.patch diff --git a/slurm.spec b/slurm.spec index 52d6717..dfe4fe5 100644 --- a/slurm.spec +++ b/slurm.spec @@ -30,7 +30,8 @@ Patch0: slurm_libslurmfull_version.patch Patch10: slurm_perlapi_rpaths.patch Patch11: slurm_html_doc_path.patch Patch12: slurm_doc_fix.patch -Patch13: slurm_do_not_build_cray.patch +Patch13: slurm_without_cray.patch +Patch14: slurm_without_pmi.patch # Fedora-related patches Patch20: slurm_pmix_soname.patch @@ -191,6 +192,7 @@ Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm. %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -350,10 +352,6 @@ install -m 0644 contribs/lua/proctrack.lua %{buildroot}%{_docdir}/%{name}/contri # remove libtool archives find %{buildroot} -name \*.a -o -name \*.la | xargs rm -f -# remove pmi/pmi2 headers which are provided by pmix dependency -rm -rf %{buildroot}%{_includedir}/%{name}/pmi*.h -# remove libpmi/pmi2 libraries which are provided by pmix dependency -rm -rf %{buildroot}%{_libdir}/libpmi*.so* # remove libslurmfull symlink (non-development, internal library) rm -rf %{buildroot}%{_libdir}/libslurmfull.so # remove auth_none plugin diff --git a/slurm_do_not_build_cray.patch b/slurm_without_cray.patch similarity index 100% rename from slurm_do_not_build_cray.patch rename to slurm_without_cray.patch diff --git a/slurm_without_pmi.patch b/slurm_without_pmi.patch new file mode 100644 index 0000000..782149c --- /dev/null +++ b/slurm_without_pmi.patch @@ -0,0 +1,22 @@ +diff --git a/Makefile.am b/Makefile.am +index 6f225183f9..d7d819dc55 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -30,7 +30,6 @@ EXTRA_DIST = \ + META + + pkginclude_HEADERS = \ +- slurm/pmi.h \ + slurm/slurm.h \ + slurm/slurmdb.h \ + slurm/slurm_errno.h \ +diff --git a/contribs/Makefile.am b/contribs/Makefile.am +index 7fa8d82436..d9d6042ec8 100644 +--- a/contribs/Makefile.am ++++ b/contribs/Makefile.am +@@ -1,4 +1,4 @@ +-SUBDIRS = lua mic openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque ++SUBDIRS = lua mic openlava pam pam_slurm_adopt perlapi seff sgather sgi sjobexit torque + + EXTRA_DIST = \ + gcp \ From 535d6fb55aea9196c4c13b14f5f837af787c7ac3 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Mon, 15 Jul 2019 17:50:49 -0400 Subject: [PATCH 5/8] Release of 18.08.8 Closes security issue (CVE-2019-12838) Configure for UCX support on supported arches --- slurm.spec | 26 +++++++++--- slurm_pmix_soname.patch | 88 +++++++++++++++++++++++++++++++++++------ sources | 2 +- 3 files changed, 99 insertions(+), 17 deletions(-) diff --git a/slurm.spec b/slurm.spec index dfe4fe5..e55a376 100644 --- a/slurm.spec +++ b/slurm.spec @@ -11,8 +11,8 @@ %undefine _strict_symbol_defs_build Name: slurm -Version: 18.08.7 -Release: 3%{?dist} +Version: 18.08.8 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -53,6 +53,7 @@ BuildRequires: systemd BuildRequires: hdf5-devel BuildRequires: pam-devel +BuildRequires: rdma-core-devel BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(hwloc) BuildRequires: pkgconfig(libcurl) @@ -69,14 +70,21 @@ 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 +# follow arch exclusions for numa +%ifnarch %{arm} BuildRequires: numactl-devel %endif +# follow arch-inclusions for ucx +%ifarch aarch64 ppc64le x86_64 +BuildRequires: pkgconfig(ucx) +%endif + Requires: munge Requires: pmix >= 2.0.0 +%ifarch aarch64 ppc64le x86_64 +Requires: ucx +%endif %{?systemd_requires} %description @@ -217,6 +225,9 @@ automake --no-force --prefix=%{_prefix} \ --sysconfdir=%{_sysconfdir}/%{name} \ --with-pam_dir=%{_libdir}/security \ +%ifarch aarch64 ppc64le x86_64 + --with-ucx=%{_prefix} \ +%endif --enable-shared \ --enable-x11 \ --disable-static \ @@ -664,6 +675,11 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %systemd_postun_with_restart slurmdbd.service %changelog +* Mon Jul 15 2019 Philip Kovacs - 18.08.8-1 +- Release of 18.08.8 +- Closes security issue (CVE-2019-12838) +- Configure for UCX support on supported arches + * Tue Jul 2 2019 Philip Kovacs - 18.08.7-3 - Do not install slurm implementation of libpmi/pmi2 libraries - in favor of the faster implementation provided by pmix diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch index 7557569..cb5f88e 100644 --- a/slurm_pmix_soname.patch +++ b/slurm_pmix_soname.patch @@ -1,23 +1,89 @@ diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c -index bbb947616c..65ec00ad73 100644 +index bbb947616c..b284af63f2 100644 --- a/src/plugins/mpi/pmix/mpi_pmix.c +++ b/src/plugins/mpi/pmix/mpi_pmix.c -@@ -105,10 +105,17 @@ static void *_libpmix_open(void) +@@ -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", "libpmix.so.1" }; ++ + static void _libpmix_close(void *lib_plug) + { + xassert(lib_plug); +@@ -99,15 +101,20 @@ 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); #elif defined PMIXP_V2_LIBPATH xstrfmtcat(full_path, "%s/", PMIXP_V2_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); - -+ if (!lib_plug) { -+ dlerror(); -+ xstrfmtcat(full_path, "libpmix.so.1"); +- 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..650fb7d5ff 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,15 +163,20 @@ 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 + * we have from autoconf + */ + char *full_path = NULL; +- 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; +@@ -178,7 +185,13 @@ static int _load_ucx_lib() + * known by dynamic linker. + */ + #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/sources b/sources index dff51b9..873076a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-18.08.7.tar.bz2) = d0047086f1b716877cc5bb39539bf96a8fd08b1851c85fd85112c6432c1ce2a0f29fc9dd8803094c8fa44d063cec5f417e6bed231b6d338934ff4b48424a5a93 +SHA512 (slurm-18.08.8.tar.bz2) = a5557cd043c2a48e652cbbca993420a756ecda80e40ed4ca2f55733050cf4b04477cfb5c8059db67168f5fa6d3fb93ac2c92f8b52b079971f634bd1956173ea0 From 80183677d5259424c110337d611c1cc5a67b2a9c Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Sun, 21 Jul 2019 08:40:31 -0400 Subject: [PATCH 6/8] 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 --- .rpmlint | 9 +++ slurm.spec | 138 ++++++++++++++++++++++++---------------- slurm_without_pmi.patch | 22 ------- 3 files changed, 92 insertions(+), 77 deletions(-) create mode 100644 .rpmlint delete mode 100644 slurm_without_pmi.patch diff --git a/.rpmlint b/.rpmlint new file mode 100644 index 0000000..5aca11b --- /dev/null +++ b/.rpmlint @@ -0,0 +1,9 @@ +from Config import * +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 e55a376..9247cef 100644 --- a/slurm.spec +++ b/slurm.spec @@ -7,12 +7,19 @@ %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: 18.08.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -31,7 +38,6 @@ Patch10: slurm_perlapi_rpaths.patch Patch11: slurm_html_doc_path.patch Patch12: slurm_doc_fix.patch Patch13: slurm_without_cray.patch -Patch14: slurm_without_pmi.patch # Fedora-related patches Patch20: slurm_pmix_soname.patch @@ -45,44 +51,43 @@ BuildRequires: gcc BuildRequires: perl-devel BuildRequires: perl-ExtUtils-MakeMaker BuildRequires: perl-interpreter +BuildRequires: perl-macros 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-devel +BuildRequires: munge-devel +BuildRequires: ncurses-devel BuildRequires: pam-devel +BuildRequires: pmix-devel BuildRequires: rdma-core-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 +BuildRequires: rrdtool-devel +BuildRequires: zlib-devel + +%if %{with ucx} +BuildRequires: ucx-devel +%endif # follow arch exclusions for numa %ifnarch %{arm} BuildRequires: numactl-devel %endif -# follow arch-inclusions for ucx -%ifarch aarch64 ppc64le x86_64 -BuildRequires: pkgconfig(ucx) -%endif - Requires: munge -Requires: pmix >= 2.0.0 -%ifarch aarch64 ppc64le x86_64 +Requires: pmix +%if %{with ucx} Requires: ucx %endif %{?systemd_requires} @@ -122,6 +127,22 @@ 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} @@ -169,14 +190,6 @@ 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} @@ -186,6 +199,14 @@ 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: 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 torque Summary: Torque/PBS wrappers for transition from Torque/PBS to Slurm Requires: %{name}%{?_isa} = %{version}-%{release} @@ -200,7 +221,6 @@ Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm. %patch11 -p1 %patch12 -p1 %patch13 -p1 -%patch14 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -225,7 +245,7 @@ automake --no-force --prefix=%{_prefix} \ --sysconfdir=%{_sysconfdir}/%{name} \ --with-pam_dir=%{_libdir}/security \ -%ifarch aarch64 ppc64le x86_64 +%if %{with ucx} --with-ucx=%{_prefix} \ %endif --enable-shared \ @@ -315,19 +335,6 @@ touch %{buildroot}%{_rundir}/%{name}/slurmctld.pid touch %{buildroot}%{_rundir}/%{name}/slurmd.pid touch %{buildroot}%{_rundir}/%{name}/slurmdbd.pid -# install pkgconfig file slurm.pc -install -d -m 0755 %{buildroot}%{_libdir}/pkgconfig -cat >%{buildroot}%{_libdir}/pkgconfig/%{name}.pc < - 18.08.8-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 - 18.08.8-1 - Release of 18.08.8 - Closes security issue (CVE-2019-12838) diff --git a/slurm_without_pmi.patch b/slurm_without_pmi.patch deleted file mode 100644 index 782149c..0000000 --- a/slurm_without_pmi.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index 6f225183f9..d7d819dc55 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -30,7 +30,6 @@ EXTRA_DIST = \ - META - - pkginclude_HEADERS = \ -- slurm/pmi.h \ - slurm/slurm.h \ - slurm/slurmdb.h \ - slurm/slurm_errno.h \ -diff --git a/contribs/Makefile.am b/contribs/Makefile.am -index 7fa8d82436..d9d6042ec8 100644 ---- a/contribs/Makefile.am -+++ b/contribs/Makefile.am -@@ -1,4 +1,4 @@ --SUBDIRS = lua mic openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque -+SUBDIRS = lua mic openlava pam pam_slurm_adopt perlapi seff sgather sgi sjobexit torque - - EXTRA_DIST = \ - gcp \ From f0f2538e93a6f6b8600eba9870e0458ed8a509ff Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Mon, 7 Oct 2019 17:28:21 -0400 Subject: [PATCH 7/8] f30 to master --- .rpmlint => slurm.rpmlintrc | 1 - slurm.spec | 163 +++++++++++++++++-------------- slurm_doc_fix.patch | 45 --------- slurm_libslurmfull_version.patch | 6 +- slurm_pmix_soname.patch | 39 ++++---- slurm_to_python3.patch | 10 -- slurm_without_cray.patch | 102 ++++++++++++++++++- sources | 2 +- 8 files changed, 212 insertions(+), 156 deletions(-) rename .rpmlint => slurm.rpmlintrc (93%) delete mode 100644 slurm_doc_fix.patch diff --git a/.rpmlint b/slurm.rpmlintrc similarity index 93% rename from .rpmlint rename to slurm.rpmlintrc index 5aca11b..24fde8a 100644 --- a/.rpmlint +++ b/slurm.rpmlintrc @@ -1,4 +1,3 @@ -from Config import * addFilter("E: shared-lib-without-dependency-information") addFilter("E: missing-dependency-to-logrotate") addFilter("W: manual-page-warning") diff --git a/slurm.spec b/slurm.spec index 9247cef..db3e301 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} @@ -14,12 +14,9 @@ %bcond_with ucx %endif -# Allow linkage with undefined symbols (disable -z,defs) -%undefine _strict_symbol_defs_build - Name: slurm -Version: 18.08.8 -Release: 2%{?dist} +Version: 19.05.3 +Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -36,8 +33,7 @@ Patch0: slurm_libslurmfull_version.patch # Build-related patches Patch10: slurm_perlapi_rpaths.patch Patch11: slurm_html_doc_path.patch -Patch12: slurm_doc_fix.patch -Patch13: slurm_without_cray.patch +Patch12: slurm_without_cray.patch # Fedora-related patches Patch20: slurm_pmix_soname.patch @@ -69,6 +65,7 @@ BuildRequires: lz4-devel BuildRequires: mariadb-devel BuildRequires: munge-devel BuildRequires: ncurses-devel +BuildRequires: numactl-devel BuildRequires: pam-devel BuildRequires: pmix-devel BuildRequires: rdma-core-devel @@ -80,10 +77,9 @@ BuildRequires: zlib-devel BuildRequires: ucx-devel %endif -# follow arch exclusions for numa -%ifnarch %{arm} -BuildRequires: numactl-devel -%endif +# exclude upstream-deprecated 32-bit architectures +ExcludeArch: armv7hl +ExcludeArch: i686 Requires: munge Requires: pmix @@ -184,6 +180,15 @@ 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} @@ -215,15 +220,7 @@ Requires: %{name}-perlapi%{?_isa} = %{version}-%{release} Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm. %prep -%setup -q -n %{name_version} -%patch0 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 +%autosetup -p1 -n %{name_version} cp %SOURCE1 etc/slurm.conf cp %SOURCE1 etc/slurm.conf.example cp %SOURCE2 etc/slurmdbd.conf @@ -366,7 +363,7 @@ done # contribs docs install -d -m 0755 %{buildroot}%{_docdir}/%{name}/contribs/lua install -m 0644 contribs/README %{buildroot}%{_docdir}/%{name}/contribs -install -m 0644 contribs/lua/proctrack.lua %{buildroot}%{_docdir}/%{name}/contribs/lua +install -m 0644 contribs/lua/*.lua %{buildroot}%{_docdir}/%{name}/contribs/lua # remove libtool archives find %{buildroot} -name \*.a -o -name \*.la | xargs rm -f @@ -378,18 +375,7 @@ rm -f %{buildroot}%{_libdir}/%{name}/auth_none.so 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 bluegene files -rm -f %{buildroot}%{_libdir}/%{name}/select_bluegene.so -rm -f %{buildroot}%{_mandir}/man5/bluegene* # remove cray files -rm -f %{buildroot}%{_libdir}/%{name}/acct_gather_energy_cray.so -rm -f %{buildroot}%{_libdir}/%{name}/core_spec_cray.so -rm -f %{buildroot}%{_libdir}/%{name}/job_container_cncu.so -rm -f %{buildroot}%{_libdir}/%{name}/job_submit_cray.so -rm -f %{buildroot}%{_libdir}/%{name}/select_alps.so -rm -f %{buildroot}%{_libdir}/%{name}/select_cray.so -rm -f %{buildroot}%{_libdir}/%{name}/switch_cray.so -rm -f %{buildroot}%{_libdir}/%{name}/task_cray.so rm -f %{buildroot}%{_mandir}/man5/cray* # remove perl cruft rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist @@ -428,11 +414,12 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_libdir}/%{name}/auth_munge.so %{_libdir}/%{name}/burst_buffer_generic.so %{_libdir}/%{name}/checkpoint_{none,ompi}.so +%{_libdir}/%{name}/cli_filter_none.so %{_libdir}/%{name}/core_spec_none.so -%{_libdir}/%{name}/crypto_munge.so -%{_libdir}/%{name}/crypto_openssl.so +%{_libdir}/%{name}/cred_{munge,none}.so %{_libdir}/%{name}/ext_sensors_none.so -%{_libdir}/%{name}/gres_{gpu,mic,nic}.so +%{_libdir}/%{name}/gres_{gpu,mic,mps,nic}.so +%{_libdir}/%{name}/gpu_generic.so %{_libdir}/%{name}/job_container_none.so %{_libdir}/%{name}/job_submit_all_partitions.so %{_libdir}/%{name}/job_submit_lua.so @@ -452,7 +439,8 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_libdir}/%{name}/proctrack_{cgroup,linuxproc,lua,pgid}.so %{_libdir}/%{name}/route_{default,topology}.so %{_libdir}/%{name}/sched_{backfill,builtin,hold}.so -%{_libdir}/%{name}/select_{cons_res,linear,serial}.so +%{_libdir}/%{name}/select_{cons_res,cons_tres,linear,serial}.so +%{_libdir}/%{name}/site_factor_none.so %{_libdir}/%{name}/slurmctld_nonstop.so %{_libdir}/%{name}/switch_{generic,none}.so %{_libdir}/%{name}/task_{affinity,cgroup,none}.so @@ -523,7 +511,6 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %files libs %{_libdir}/libslurm.so.* -%{_libdir}/libslurmdb.so.* %{_libdir}/libslurmfull-*.so # --------- @@ -595,7 +582,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %dir %{_docdir}/%{name}/contribs %dir %{_docdir}/%{name}/contribs/lua %{_docdir}/%{name}/contribs/README -%{_docdir}/%{name}/contribs/lua/proctrack.lua +%{_docdir}/%{name}/contribs/lua/*.lua %{_bindir}/seff %{_bindir}/sgather %{_bindir}/sjobexitmod @@ -605,6 +592,13 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %{_mandir}/man1/sjobexitmod.1* %{_mandir}/man1/sjstat.1* +# --------------- +# Slurm-nss_slurm +# --------------- + +%files nss_slurm +%{_libdir}/libnss_slurm.so.2 + # -------------- # Slurm-openlava # -------------- @@ -698,66 +692,93 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %systemd_postun_with_restart slurmdbd.service %changelog -* Sun Jul 21 2019 Philip Kovacs - 18.08.8-2 +* 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 - 18.08.8-1 -- Release of 18.08.8 +* 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 - 18.08.7-3 +* 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 - 18.08.7-2 +* Wed Jun 19 2019 Philip Kovacs - 19.05.0-4 - Correct the configure for pmix - Correct the slurm_pmix_soname patch -- Use make_build macro instead of make -- Use autotools commands instead of rpm macros -* Fri Apr 12 2019 Philip Kovacs - 18.08.7-1 +* 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 +* 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 +* 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 +* 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 +* 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 +* 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 +* 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 +* 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 +* 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 +* 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 @@ -766,11 +787,11 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod * Wed Jun 27 2018 Jitka Plesnikova - 17.11.7-2 - Perl 5.28 rebuild -* Fri Jun 1 2018 Philip Kovacs - 17.11.7-1 +* 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 +* 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) @@ -778,23 +799,23 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod with rdma-core-devel (Yu Watanabe) - Updated package descriptions (Yu Watanabe) -* Fri Mar 16 2018 Philip Kovacs - 17.11.5-1 +* 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 +* 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 +* 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 +* 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 +* 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 @@ -808,7 +829,7 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod * 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 +* 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 @@ -816,27 +837,27 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod - Rename slurm_setuser to slurm-setuser - Minor corrections to slurm.conf -* Wed Nov 1 2017 Philip Kovacs - 17.02.9-2 +* 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 +* 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 +* Wed Oct 25 2017 Philip Kovacs - 17.02.8-1 - Version bump, patches adjusted -* Thu Oct 5 2017 Philip Kovacs - 17.02.7-4 +* 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 +* 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 +* Sat Sep 16 2017 Philip Kovacs - 17.02.7-2 - Removed unneeded Requires(pre) -* Thu Sep 14 2017 Philip Kovacs - 17.02.7-1 +* Thu Sep 14 2017 Philip Kovacs - 17.02.7-1 - Packaging for Fedora diff --git a/slurm_doc_fix.patch b/slurm_doc_fix.patch deleted file mode 100644 index ad7fdcb..0000000 --- a/slurm_doc_fix.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff --git a/doc/man/man5/burst_buffer.conf.5 b/doc/man/man5/burst_buffer.conf.5 -index 90f8e94fc7..efd76aa999 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 -+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 -@@ -206,8 +206,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/slurm_libslurmfull_version.patch b/slurm_libslurmfull_version.patch index d5362e5..26efdb9 100644 --- a/slurm_libslurmfull_version.patch +++ b/slurm_libslurmfull_version.patch @@ -1,6 +1,8 @@ +diff --git a/src/api/Makefile.am b/src/api/Makefile.am +index d7e9d171cd..93ad848aeb 100644 --- a/src/api/Makefile.am +++ b/src/api/Makefile.am -@@ -44,12 +44,7 @@ +@@ -44,12 +44,7 @@ current = $(SLURM_API_CURRENT) age = $(SLURM_API_AGE) rev = $(SLURM_API_REVISION) @@ -14,7 +16,7 @@ # BUILT_SOURCES tells automake that when "make" is called, these targets # need to be built before anything else. -@@ -137,7 +132,7 @@ +@@ -157,7 +152,7 @@ libslurmfull_la_SOURCES = libslurmfull_la_LIBADD = $(convenience_libs) libslurmfull_la_LDFLAGS = \ $(LIB_LDFLAGS) \ diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch index cb5f88e..c6c2449 100644 --- a/slurm_pmix_soname.patch +++ b/slurm_pmix_soname.patch @@ -1,17 +1,17 @@ diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c -index bbb947616c..b284af63f2 100644 +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", "libpmix.so.1" }; ++static const char *pmix_libraries[] = { "libpmix.so", "libpmix.so.2" }; + static void _libpmix_close(void *lib_plug) { xassert(lib_plug); -@@ -99,15 +101,20 @@ static void *_libpmix_open(void) +@@ -99,6 +101,7 @@ static void *_libpmix_open(void) { void *lib_plug = NULL; char *full_path = NULL; @@ -19,24 +19,22 @@ index bbb947616c..b284af63f2 100644 #ifdef PMIXP_V1_LIBPATH xstrfmtcat(full_path, "%s/", PMIXP_V1_LIBPATH); - #elif defined PMIXP_V2_LIBPATH - xstrfmtcat(full_path, "%s/", PMIXP_V2_LIBPATH); - #endif -- xstrfmtcat(full_path, "libpmix.so"); -- lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); -- xfree(full_path); -+ +@@ -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..650fb7d5ff 100644 +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 = { @@ -48,7 +46,7 @@ index f6c91adc93..650fb7d5ff 100644 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,15 +163,20 @@ static int _load_ucx_lib() +@@ -161,6 +163,8 @@ static int _load_ucx_lib() setenv("UCX_MEM_MALLOC_RELOC", "no", 1); setenv("UCX_MEM_EVENTS", "no", 1); @@ -57,12 +55,10 @@ index f6c91adc93..650fb7d5ff 100644 #ifdef PMIXP_UCX_LIBPATH /* If this Slurm build doesn't allow RPATH's * try to open library by it's full path that - * we have from autoconf - */ - char *full_path = NULL; -- xstrfmtcat(full_path, "%s/libucp.so", PMIXP_UCX_LIBPATH); -- _ucx_lib_handler = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); -- xfree(full_path); +@@ -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); @@ -72,11 +68,10 @@ index f6c91adc93..650fb7d5ff 100644 if (_ucx_lib_handler) { /* successful, exit now */ return SLURM_SUCCESS; -@@ -178,7 +185,13 @@ static int _load_ucx_lib() - * known by dynamic linker. +@@ -179,6 +189,13 @@ static int _load_ucx_lib() */ #endif -- _ucx_lib_handler = dlopen("libucp.so", RTLD_LAZY | RTLD_GLOBAL); + _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]); diff --git a/slurm_to_python3.patch b/slurm_to_python3.patch index fdfcbe8..c60e941 100644 --- a/slurm_to_python3.patch +++ b/slurm_to_python3.patch @@ -38,16 +38,6 @@ index 54909096b9..93433d6fa3 100755 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 diff --git a/slurm_without_cray.patch b/slurm_without_cray.patch index 7ec7ecc..ce4aa86 100644 --- a/slurm_without_cray.patch +++ b/slurm_without_cray.patch @@ -1,10 +1,104 @@ diff --git a/contribs/Makefile.am b/contribs/Makefile.am -index 24ab9de7cc..087262c347 100644 +index da96aa070d..2a2d1f2c82 100644 --- a/contribs/Makefile.am +++ b/contribs/Makefile.am @@ -1,4 +1,4 @@ --SUBDIRS = cray lua mic openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque -+SUBDIRS = lua mic openlava pam pam_slurm_adopt perlapi pmi pmi2 seff sgather sgi sjobexit torque +-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 = \ - gcp \ + 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 873076a..ccacd64 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-18.08.8.tar.bz2) = a5557cd043c2a48e652cbbca993420a756ecda80e40ed4ca2f55733050cf4b04477cfb5c8059db67168f5fa6d3fb93ac2c92f8b52b079971f634bd1956173ea0 +SHA512 (slurm-19.05.3-2.tar.bz2) = 15d63f1ba693458b220ece5512210f1dba52273946809b338e33d684b9daadecd3cc77fda84c1b3bf8b03bc0fe8b8be0f429a96a1bf72a8b5c8cf169e0e1f5bb From 7ef6ae723cd78cc528721067b77c6230ea1d3e34 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Mon, 25 May 2020 15:10:55 -0400 Subject: [PATCH 8/8] Release of 19.05.7 --- slurm.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/slurm.spec b/slurm.spec index b70f943..0e6ac74 100644 --- a/slurm.spec +++ b/slurm.spec @@ -15,7 +15,7 @@ %endif Name: slurm -Version: 19.05.6 +Version: 19.05.7 Release: 1%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD @@ -694,6 +694,9 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %systemd_postun_with_restart slurmdbd.service %changelog +* 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 diff --git a/sources b/sources index 0cfa84d..715a17c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (slurm-19.05.6.tar.bz2) = 83ee22b763dd27f13fbb372449cd074df2177357812582473c28ecd4dac803365c8814b6f8a0928ac31325d1a0ba439b25c02a92d79132205244506a728fe583 +SHA512 (slurm-19.05.7.tar.bz2) = c9e6897702b3cf57e0c2abb16fe5c5af4c2b67e7384947c1501aa4b376d89dd07e171eaebdb20d701f4f473af6be7a54baab153cd421d215a5e8b0bb73d278d7