The package rpms/slurm.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/slurm.git/commit/?id=8cb979feb927...
https://src.fedoraproject.org/cgit/rpms/slurm.git/commit/?id=8f4e4663ab70...
https://src.fedoraproject.org/cgit/rpms/slurm.git/commit/?id=80183677d525....
Change:
+ExcludeArch: i686
-ExcludeArch: i686
-%ifarch aarch64 ppc64le x86_64
Thanks.
Full change:
============
commit 80183677d5259424c110337d611c1cc5a67b2a9c
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Sun Jul 21 08:40:31 2019 -0400
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
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 <<EOF
-includedir=%{_includedir}/%{name}
-libdir=%{_libdir}
-
-Name: %{name}
-Version: %{version}
-Description: Slurm development library
-Cflags: -I\${includedir}
-Libs: -L\${libdir} -lslurm
-EOF
-
# install desktop file for sview GTK+ program
desktop-file-install \
--dir=%{buildroot}%{_datadir}/applications \
@@ -485,7 +492,6 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%{_includedir}/%{name}/smd_ns.h
%{_includedir}/%{name}/spank.h
%{_libdir}/lib{slurm,slurmdb}.so
-%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/%{name}/src/sattach/sattach.wrapper.c
%{_libdir}/%{name}/src/srun/srun.wrapper.c
%{_mandir}/man3/*.3.*
@@ -520,6 +526,23 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%{_libdir}/libslurmdb.so.*
%{_libdir}/libslurmfull-*.so
+# ---------
+# Slurm-pmi
+# ---------
+
+%files pmi
+%{_libdir}/libpmi.so.0*
+%{_libdir}/libpmi2.so.0*
+
+# ---------------
+# Slurm-pmi-devel
+# ---------------
+
+%files pmi-devel
+%{_includedir}/%{name}/pmi*.h
+%{_libdir}/libpmi.so
+%{_libdir}/libpmi2.so
+
# -------------
# Slurm-rrdtool
# -------------
@@ -596,6 +619,14 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%{_mandir}/man1/bsub.1*
%{_mandir}/man1/lsid.1*
+# ---------------
+# Slurm-pam_slurm
+# ---------------
+
+%files pam_slurm
+%{_libdir}/security/pam_slurm.so
+%{_libdir}/security/pam_slurm_adopt.so
+
# -------------
# Slurm-perlapi
# -------------
@@ -612,14 +643,6 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%{perl_vendorarch}/auto/Slurmdb/Slurmdb.so
%{perl_vendorarch}/auto/Slurmdb/autosplit.ix
-# ---------------
-# Slurm-pam_slurm
-# ---------------
-
-%files pam_slurm
-%{_libdir}/security/pam_slurm.so
-%{_libdir}/security/pam_slurm_adopt.so
-
# ------------
# Slurm-torque
# ------------
@@ -675,6 +698,11 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%systemd_postun_with_restart slurmdbd.service
%changelog
+* Sun Jul 21 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 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 <pkdevel(a)yahoo.com> - 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 \
commit 3571158c5e69f21b873742d0af8082fc05a941dc
Merge: 5299d7c 535d6fb
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Mon Jul 15 17:51:35 2019 -0400
Merge branch 'f29' into f30
commit 5299d7c0045ee8e5a4647f31de6e02b59697b761
Merge: f15abda 51c811b
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Fri Jul 5 13:45:46 2019 -0400
Merge branch 'f29' into f30
commit f15abda984cc1132ed073014e147dc6615ac19b3
Merge: c63769b 1a24687
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Fri Jul 5 12:11:30 2019 -0400
Merge branch 'f29' into f30
commit c63769b20f74a9515ebc87555ac900c01d31b409
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Fri Jul 5 11:43:12 2019 -0400
Revert "Merge branch 'f30'"
This reverts commit 94164896cbf25c4e4f504301288c781474ca62a5, reversing
changes made to a93547103f40c3cdc28c3af470d435ddac2ac60f.
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
commit cc99a557b878c45e54a18e96c4329d1e3ee8d255
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Fri Jul 5 10:48:41 2019 -0400
fix bad merge (cnt'd)
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 <pkdevel(a)yahoo.com>
-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 <jette(a)schedmd.com>
-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 <jette(a)schedmd.com>
-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 <jette(a)schedmd.com>
-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;
commit 8f4e4663ab70a8382aa06201e518373c2ca44d46
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Fri Jul 5 10:40:05 2019 -0400
fix bad merge
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 <pkdevel(a)yahoo.com> - 19.05.0-5
+* Tue Jul 2 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 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 <pkdevel(a)yahoo.com> - 19.05.0-4
+* Wed Jun 19 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 18.08.7-2
- Correct the configure for pmix
- Correct the slurm_pmix_soname patch
-
-* Wed Jun 19 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 19.05.0-3
-- Stop using autotools macros that were removed from rpm
-
-* Sun Jun 9 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 19.05.0-2
-- Exclude upstream-deprecated 32-bit architectures
-
-* Sun Jun 9 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 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 <jplesnik(a)redhat.com> - 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 <pkdevel(a)yahoo.com> - 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
commit 77f0f529c536b0be6a0f066ff00d7bedbff21a03
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Fri Jul 5 09:53:19 2019 -0400
use pmix as default mpi
diff --git a/slurm.conf b/slurm.conf
index e84d7a7..06539c9 100644
--- a/slurm.conf
+++ b/slurm.conf
@@ -31,7 +31,7 @@ CryptoType=crypto/munge
#MaxJobCount=5000
#MaxStepCount=40000
#MaxTasksPerNode=128
-MpiDefault=none
+MpiDefault=pmix
#MpiParams=ports=#-#
#PluginDir=
#PlugStackConfig=
commit 94164896cbf25c4e4f504301288c781474ca62a5
Merge: 1173b39 a935471
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Tue Jul 2 03:22:23 2019 -0400
Merge branch 'f30'
commit 1173b391dcadc987bd7349a2fffe4b1f5d4925ed
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Tue Jul 2 02:18:07 2019 -0400
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
diff --git a/slurm.spec b/slurm.spec
index 50cb3d7..af321c4 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -12,7 +12,7 @@
Name: slurm
Version: 19.05.0
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Simple Linux Utility for Resource Management
License: GPLv2 and BSD
URL:
https://slurm.schedmd.com/
@@ -41,7 +41,6 @@ Patch22: slurm_to_python3.patch
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: environment(modules)
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: perl-devel
@@ -117,8 +116,6 @@ and their respective man pages.
%package libs
Summary: Slurm shared libraries
-Provides: pmi
-Requires: environment(modules)
%description libs
Slurm shared libraries.
@@ -259,11 +256,11 @@
s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \
extras/%{name}-setuser.in > extras/%{name}-setuser
# build base packages
-%make_build V=1
+%make_build
# build contribs packages
# INSTALLDIRS=vendor so perlapi goes to vendor_perl directory
-%make_build PERL_MM_PARAMS="INSTALLDIRS=vendor" contrib V=1
+%make_build PERL_MM_PARAMS="INSTALLDIRS=vendor" contrib
%check
# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library
@@ -321,18 +318,6 @@ touch %{buildroot}%{_rundir}/%{name}/slurmctld.pid
touch %{buildroot}%{_rundir}/%{name}/slurmd.pid
touch %{buildroot}%{_rundir}/%{name}/slurmdbd.pid
-# install pmi/slurm environment module file
-install -d -m 0755 %{buildroot}%{_modulesdir}/pmi
-cat >%{buildroot}%{_modulesdir}/pmi/%{name}-%{_arch} <<EOF
-#%%Module 1.0
-#
-# pmi/slurm module for use with 'environment-modules' package:
-#
-conflict pmi
-prepend-path LD_LIBRARY_PATH %{_libdir}/%{name}/lib
-prepend-path PKG_CONFIG_PATH %{_libdir}/%{name}/lib/pkgconfig
-EOF
-
# install pkgconfig file slurm.pc
install -d -m 0755 %{buildroot}%{_libdir}/pkgconfig
cat >%{buildroot}%{_libdir}/pkgconfig/%{name}.pc <<EOF
@@ -346,32 +331,6 @@ Cflags: -I\${includedir}
Libs: -L\${libdir} -lslurm
EOF
-# install pkgconfig file pmi.pc for environment module usage
-install -d -m 0755 %{buildroot}%{_libdir}/%{name}/lib/pkgconfig
-cat >%{buildroot}%{_libdir}/%{name}/lib/pkgconfig/pmi.pc <<EOF
-includedir=%{_includedir}/%{name}
-libdir=%{_libdir}/%{name}/lib
-
-Name: pmi
-Version: %{version}
-Description: Slurm PMI development library
-Cflags: -I\${includedir}
-Libs: -L\${libdir} -lpmi
-EOF
-
-# install pkgconfig file pmi2.pc for environment module usage
-install -d -m 0755 %{buildroot}%{_libdir}/%{name}/lib/pkgconfig
-cat >%{buildroot}%{_libdir}/%{name}/lib/pkgconfig/pmi2.pc <<EOF
-includedir=%{_includedir}/%{name}
-libdir=%{_libdir}/%{name}/lib
-
-Name: pmi2
-Version: %{version}
-Description: Slurm PMI2 development library
-Cflags: -I\${includedir}
-Libs: -L\${libdir} -lpmi2
-EOF
-
# install desktop file for sview GTK+ program
desktop-file-install \
--dir=%{buildroot}%{_datadir}/applications \
@@ -386,11 +345,6 @@ install -m 0644 share/icons/hicolor/128x128/apps/%{name}.png \
install -m 0755 extras/%{name}-setuser \
%{buildroot}%{_bindir}/%{name}-setuser
-# move libpmi/libpmi2 to pmi/slurm environment module location
-install -d -m 0755 %{buildroot}%{_libdir}/%{name}/lib
-mv %{buildroot}%{_libdir}/libpmi.so* %{buildroot}%{_libdir}/%{name}/lib
-mv %{buildroot}%{_libdir}/libpmi2.so* %{buildroot}%{_libdir}/%{name}/lib
-
install -m 0755 contribs/sjstat %{buildroot}%{_bindir}/sjstat
# fix perms on these files so debug info is extracted without error
@@ -412,6 +366,10 @@ install -m 0644 contribs/lua/*.lua
%{buildroot}%{_docdir}/%{name}/contribs/lua
# 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
@@ -516,11 +474,9 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%files devel
%dir %{_includedir}/%{name}
-%dir %{_libdir}/%{name}/lib/pkgconfig
%dir %{_libdir}/%{name}/src
%dir %{_libdir}/%{name}/src/sattach
%dir %{_libdir}/%{name}/src/srun
-%{_includedir}/%{name}/pmi*.h
%{_includedir}/%{name}/slurm.h
%{_includedir}/%{name}/slurm_errno.h
%{_includedir}/%{name}/slurmdb.h
@@ -528,8 +484,6 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%{_includedir}/%{name}/spank.h
%{_libdir}/lib{slurm,slurmdb}.so
%{_libdir}/pkgconfig/%{name}.pc
-%{_libdir}/%{name}/lib/libpmi*.so
-%{_libdir}/%{name}/lib/pkgconfig/*.pc
%{_libdir}/%{name}/src/sattach/sattach.wrapper.c
%{_libdir}/%{name}/src/srun/srun.wrapper.c
%{_mandir}/man3/*.3.*
@@ -560,13 +514,8 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
# ----------
%files libs
-%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/lib
-%dir %{_modulesdir}/pmi
%{_libdir}/libslurm.so.*
%{_libdir}/libslurmfull-*.so
-%{_libdir}/%{name}/lib/libpmi*.so.*
-%{_modulesdir}/pmi/*
# -------------
# Slurm-rrdtool
@@ -730,6 +679,12 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%systemd_postun_with_restart slurmdbd.service
%changelog
+* Tue Jul 2 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 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 <pkdevel(a)yahoo.com> - 19.05.0-4
- Correct the configure for pmix
- Correct the slurm_pmix_soname patch
commit 24291ca62cd466571a379e15a20d108c83353361
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Wed Jun 19 20:41:50 2019 -0400
Correct the configure for pmix
Correct the slurm_pmix_soname patch
diff --git a/slurm.spec b/slurm.spec
index 03fd950..50cb3d7 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -12,7 +12,7 @@
Name: slurm
Version: 19.05.0
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Simple Linux Utility for Resource Management
License: GPLv2 and BSD
URL:
https://slurm.schedmd.com/
@@ -234,7 +234,6 @@ automake --no-force
--prefix=%{_prefix} \
--sysconfdir=%{_sysconfdir}/%{name} \
--with-pam_dir=%{_libdir}/security \
- --with-pmix \
--enable-shared \
--enable-x11 \
--disable-static \
@@ -731,6 +730,10 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%systemd_postun_with_restart slurmdbd.service
%changelog
+* Wed Jun 19 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 19.05.0-4
+- Correct the configure for pmix
+- Correct the slurm_pmix_soname patch
+
* Wed Jun 19 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 19.05.0-3
- Stop using autotools macros that were removed from rpm
diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch
index 1ab15db..7557569 100644
--- a/slurm_pmix_soname.patch
+++ b/slurm_pmix_soname.patch
@@ -1,27 +1,23 @@
diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c
-index 1a0998d213..c8241056bc 100644
+index bbb947616c..65ec00ad73 100644
--- a/src/plugins/mpi/pmix/mpi_pmix.c
+++ b/src/plugins/mpi/pmix/mpi_pmix.c
-@@ -79,10 +79,13 @@ const char plugin_name[] = "PMIx plugin";
-
- #if (HAVE_PMIX_VER == 1)
- const char plugin_type[] = "mpi/pmix_v1";
-+const char libpmix_soname[] = "libpmix.so.1";
- #elif (HAVE_PMIX_VER == 2)
- const char plugin_type[] = "mpi/pmix_v2";
-+const char libpmix_soname[] = "libpmix.so.2";
- #elif (HAVE_PMIX_VER == 3)
- const char plugin_type[] = "mpi/pmix_v3";
-+const char libpmix_soname[] = "libpmix.so.3";
- #endif
-
- const uint32_t plugin_version = SLURM_VERSION_NUMBER;
-@@ -105,7 +108,7 @@ static void *_libpmix_open(void)
+@@ -105,10 +105,17 @@ static void *_libpmix_open(void)
#elif defined PMIXP_V2_LIBPATH
xstrfmtcat(full_path, "%s/", PMIXP_V2_LIBPATH);
#endif
- xstrfmtcat(full_path, "libpmix.so");
-+ xstrfmtcat(full_path, libpmix_soname);
++ 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);
++ }
++
+ 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);
commit d2a9192464fbacdfa0cc6e21e5166d921bf70b2f
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Wed Jun 19 16:48:42 2019 -0400
Use make_build macro instead of make
Signed-off-by: Philip Kovacs <pkdevel(a)yahoo.com>
diff --git a/slurm.spec b/slurm.spec
index 79528fb..03fd950 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -264,16 +264,16 @@
s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \
# build contribs packages
# INSTALLDIRS=vendor so perlapi goes to vendor_perl directory
-PERL_MM_PARAMS="INSTALLDIRS=vendor" %make_build contrib V=1
+%make_build PERL_MM_PARAMS="INSTALLDIRS=vendor" contrib V=1
%check
# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library
# in the build tree.
-LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" %{__make} check
+%make_build LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" check
%install
%make_install
-%{__make} install-contrib DESTDIR=%{buildroot}
+%make_build DESTDIR=%{buildroot} install-contrib
install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}
install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/layouts.d
commit a4e1fabcab4841158253b95f30c4713c0ecfc105
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Wed Jun 19 00:31:49 2019 -0400
Stop using autotools macros that were removed from rpm
diff --git a/slurm.spec b/slurm.spec
index 490db74..79528fb 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -12,7 +12,7 @@
Name: slurm
Version: 19.05.0
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Simple Linux Utility for Resource Management
License: GPLv2 and BSD
URL:
https://slurm.schedmd.com/
@@ -225,9 +225,9 @@ mkdir -p extras
cp %SOURCE5 extras/%{name}-setuser.in
%build
-%{__aclocal} -I auxdir
-%{__autoconf}
-%{__automake} --no-force
+aclocal -I auxdir
+autoconf
+automake --no-force
# use -z lazy to allow dlopen with unresolved symbols
%configure \
LDFLAGS="$LDFLAGS -Wl,-z,lazy" \
@@ -731,6 +731,9 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%systemd_postun_with_restart slurmdbd.service
%changelog
+* Wed Jun 19 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 19.05.0-3
+- Stop using autotools macros that were removed from rpm
+
* Sun Jun 9 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 19.05.0-2
- Exclude upstream-deprecated 32-bit architectures
commit f36519459da1d06c61e0e4a54e4def14f5936f49
Author: Jitka Plesnikova <jplesnik(a)redhat.com>
Date: Wed Jun 12 17:23:22 2019 +0200
Use perl-macros, because in rpm 4.15 perl macros are no longer defined
diff --git a/slurm.spec b/slurm.spec
index 80a2840..490db74 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -47,6 +47,7 @@ BuildRequires: gcc
BuildRequires: perl-devel
BuildRequires: perl-ExtUtils-MakeMaker
BuildRequires: perl-interpreter
+BuildRequires: perl-macros
BuildRequires: perl-podlators
BuildRequires: pkgconf
BuildRequires: pkgconfig(check)
commit 8cb979feb927d2083597acd50c9027930d1298ce
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Sun Jun 9 18:43:43 2019 -0400
Exclude upstream-deprecated 32-bit architectures
diff --git a/slurm.spec b/slurm.spec
index debed12..80a2840 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -12,7 +12,7 @@
Name: slurm
Version: 19.05.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Simple Linux Utility for Resource Management
License: GPLv2 and BSD
URL:
https://slurm.schedmd.com/
@@ -76,6 +76,10 @@ 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}
@@ -726,6 +730,9 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%systemd_postun_with_restart slurmdbd.service
%changelog
+* Sun Jun 9 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 19.05.0-2
+- Exclude upstream-deprecated 32-bit architectures
+
* Sun Jun 9 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 19.05.0-1
- Release of 19.05.0
- Added nss_plugin subpackage for optional nss plugin
commit b8cc3a51721d0d5bb6c5dd32af74b00fef74f10a
Author: Philip Kovacs <pkdevel(a)yahoo.com>
Date: Sun Jun 9 18:11:56 2019 -0400
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
diff --git a/slurm.spec b/slurm.spec
index 6ac71c8..debed12 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -11,8 +11,8 @@
%undefine _strict_symbol_defs_build
Name: slurm
-Version: 18.08.7
-Release: 2%{?dist}
+Version: 19.05.0
+Release: 1%{?dist}
Summary: Simple Linux Utility for Resource Management
License: GPLv2 and BSD
URL:
https://slurm.schedmd.com/
@@ -25,6 +25,8 @@ 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
@@ -64,7 +66,6 @@ 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
@@ -157,6 +158,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}
@@ -190,6 +200,7 @@ 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
@@ -393,7 +404,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
@@ -405,18 +416,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
@@ -455,11 +455,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
@@ -479,7 +480,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
@@ -558,7 +560,6 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%dir %{_libdir}/%{name}/lib
%dir %{_modulesdir}/pmi
%{_libdir}/libslurm.so.*
-%{_libdir}/libslurmdb.so.*
%{_libdir}/libslurmfull-*.so
%{_libdir}/%{name}/lib/libpmi*.so.*
%{_modulesdir}/pmi/*
@@ -615,7 +616,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
@@ -625,6 +626,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
# --------------
@@ -718,6 +726,14 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%systemd_postun_with_restart slurmdbd.service
%changelog
+* Sun Jun 9 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 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 <jplesnik(a)redhat.com> - 18.08.7-2
- Perl 5.30 rebuild
diff --git a/slurm_do_not_build_cray.patch b/slurm_do_not_build_cray.patch
index 7ec7ecc..8b994dc 100644
--- a/slurm_do_not_build_cray.patch
+++ b/slurm_do_not_build_cray.patch
@@ -1,10 +1,101 @@
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 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
diff --git a/slurm_fix_testsuite.patch b/slurm_fix_testsuite.patch
new file mode 100644
index 0000000..4cf2c80
--- /dev/null
+++ b/slurm_fix_testsuite.patch
@@ -0,0 +1,579 @@
+commit 7fa8a69d8eda68ac1fa144de7686e47d18161037
+Author: Philip Kovacs <pkdevel(a)yahoo.com>
+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 <jette(a)schedmd.com>
+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 <jette(a)schedmd.com>
+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 <jette(a)schedmd.com>
+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;
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/sources b/sources
index dff51b9..bcddb1a 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (slurm-18.08.7.tar.bz2) =
d0047086f1b716877cc5bb39539bf96a8fd08b1851c85fd85112c6432c1ce2a0f29fc9dd8803094c8fa44d063cec5f417e6bed231b6d338934ff4b48424a5a93
+SHA512 (slurm-19.05.0.tar.bz2) =
f91efbd8c96c5c25dcf7c3f73f61ab9b5d591a554447e5a7db0346ace2e9a1053bebce5f16e9d15c23d78743319997aaac51f6d5bceda7cfaa4877a6f439cff1
commit 81b8fc4a0945abf7700d1152e9c79832a3e3a513
Author: Jitka Plesnikova <jplesnik(a)redhat.com>
Date: Thu May 30 13:52:44 2019 +0200
Perl 5.30 rebuild
diff --git a/slurm.spec b/slurm.spec
index 00afaee..6ac71c8 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -12,7 +12,7 @@
Name: slurm
Version: 18.08.7
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: Simple Linux Utility for Resource Management
License: GPLv2 and BSD
URL:
https://slurm.schedmd.com/
@@ -718,6 +718,9 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%systemd_postun_with_restart slurmdbd.service
%changelog
+* Thu May 30 2019 Jitka Plesnikova <jplesnik(a)redhat.com> - 18.08.7-2
+- Perl 5.30 rebuild
+
* Fri Apr 12 2019 Philip Kovacs <pkdevel(a)yahoo.com> - 18.08.7-1
- Release of 18.08.7