From fd9e32c9b0ec5b775778870dfe5375a1b5f53e288a6f9fa6e62f88543ddba3b9 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Fri, 28 Feb 2020 17:43:45 +0000 Subject: [PATCH] Accepting request 780353 from home:eeich:branches:network:cluster - Removed autopatch as it doesn't work for the SLE-11-SP4 build. - pmix searches now also for libpmix.so.2 so that there is no dependency for devel package (bsc#1164386) * added patch file check-for-lipmix.so.MAJOR.patch * reworded patch file Remove-rpath-from-build.patch to use %autopatch OBS-URL: https://build.opensuse.org/request/show/780353 OBS-URL: https://build.opensuse.org/package/show/network:cluster/slurm?expand=0&rev=139 --- Remove-rpath-from-build.patch | 12 ++++----- check-for-lipmix.so.MAJOR.patch | 46 +++++++++++++++++++++++++++++++++ slurm.changes | 13 ++++++++++ slurm.spec | 11 ++++++-- 4 files changed, 74 insertions(+), 8 deletions(-) create mode 100644 check-for-lipmix.so.MAJOR.patch diff --git a/Remove-rpath-from-build.patch b/Remove-rpath-from-build.patch index e08add5..fd85c24 100644 --- a/Remove-rpath-from-build.patch +++ b/Remove-rpath-from-build.patch @@ -10,10 +10,10 @@ Signed-off-by: Egbert Eich slurm-19.05.5/contribs/perlapi/libslurm/perl/Makefile.PL.in | 4 ++-- slurm-19.05.5/contribs/perlapi/libslurmdb/perl/Makefile.PL.in | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) -diff --git a/slurm-19.05.5/contribs/perlapi/libslurm/perl/Makefile.PL.in b/slurm-19.05.5/contribs/perlapi/libslurm/perl/Makefile.PL.in +diff --git a/contribs/perlapi/libslurm/perl/Makefile.PL.in b/contribs/perlapi/libslurm/perl/Makefile.PL.in index fcae437..797c943 100644 ---- a/slurm-19.05.5/contribs/perlapi/libslurm/perl/Makefile.PL.in -+++ b/slurm-19.05.5/contribs/perlapi/libslurm/perl/Makefile.PL.in +--- a/contribs/perlapi/libslurm/perl/Makefile.PL.in ++++ b/contribs/perlapi/libslurm/perl/Makefile.PL.in @@ -77,7 +77,7 @@ DESTDIR_BUG # AIX has problems with not always having the correct # flags so we have to add some :) @@ -32,10 +32,10 @@ index fcae437..797c943 100644 DEFINE => '', # e.g., '-DHAVE_SOMETHING' INC => "-I. -I@top_srcdir@ -I@top_srcdir@/contribs/perlapi/common -I@top_builddir@", # Un-comment this if you add C files to link with later: -diff --git a/slurm-19.05.5/contribs/perlapi/libslurmdb/perl/Makefile.PL.in b/slurm-19.05.5/contribs/perlapi/libslurmdb/perl/Makefile.PL.in +diff --git a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in index 2db028c..83eb4e2 100644 ---- a/slurm-19.05.5/contribs/perlapi/libslurmdb/perl/Makefile.PL.in -+++ b/slurm-19.05.5/contribs/perlapi/libslurmdb/perl/Makefile.PL.in +--- a/contribs/perlapi/libslurmdb/perl/Makefile.PL.in ++++ b/contribs/perlapi/libslurmdb/perl/Makefile.PL.in @@ -76,7 +76,7 @@ DESTDIR_BUG # AIX has problems with not always having the correct # flags so we have to add some :) diff --git a/check-for-lipmix.so.MAJOR.patch b/check-for-lipmix.so.MAJOR.patch new file mode 100644 index 0000000..9995376 --- /dev/null +++ b/check-for-lipmix.so.MAJOR.patch @@ -0,0 +1,46 @@ +From: Christian Goll +Date: Thu Feb 27 17:09:11 2020 +0100 +Subject: check for lipmix.so.MAJOR +Patch-mainline: Not yet +Git-commit: 6a280d70ba914a4c9734986b353fbb0e76eb664b +References: + +This is a hack with a safety net included: make sure +PMIX version is 3 for PMX .so version 2. + +Edited-by: Egbert Eich +--- + slurm-20.02.0/src/plugins/mpi/pmix/mpi_pmix.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) +diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c +index 7a65895..e18b01d 100644 +--- a/src/plugins/mpi/pmix/mpi_pmix.c ++++ b/src/plugins/mpi/pmix/mpi_pmix.c +@@ -109,6 +109,18 @@ static void *_libpmix_open(void) + #endif + xstrfmtcat(full_path, "libpmix.so"); + ++/* ++ * pmix.so library age is 2 for pmi version 3 ++ */ ++#if defined (PMIX_SO) ++# if HAVE_PMIX_VER != 3 || PMIX_SO != 2 ++# error PMIX .so != 2 or PMIX version != 3 ++# else ++# define PMIX_SO_STRING "2" ++# endif ++ lib_plug = dlopen("libpmix.so."PMIX_SO_STRING, RTLD_LAZY | RTLD_GLOBAL); ++ if(!lib_plug) ++#endif + lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); + xfree(full_path); + +@@ -130,7 +145,7 @@ extern int init(void) + { + libpmix_plug = _libpmix_open(); + if (!libpmix_plug) { +- PMIXP_ERROR("pmi/pmix: can not load PMIx library"); ++ PMIXP_ERROR("pmi/pmix: can not load PMIx library: %d",(int) HAVE_PMIX_VER); + return SLURM_ERROR; + } + return SLURM_SUCCESS; diff --git a/slurm.changes b/slurm.changes index 0c71b4f..2eea5eb 100644 --- a/slurm.changes +++ b/slurm.changes @@ -1,8 +1,21 @@ +------------------------------------------------------------------- +Fri Feb 28 17:27:43 UTC 2020 - Egbert Eich + +- Removed autopatch as it doesn't work for the SLE-11-SP4 build. + ------------------------------------------------------------------- Thu Feb 27 20:07:19 UTC 2020 - Kasimir _ - Disable %arm builds as this is no longer supported. +------------------------------------------------------------------- +Thu Feb 27 10:19:05 UTC 2020 - Christian Goll + +- pmix searches now also for libpmix.so.2 so that there is no dependency + for devel package (bsc#1164386) + * added patch file check-for-lipmix.so.MAJOR.patch + * reworded patch file Remove-rpath-from-build.patch to use %autopatch + ------------------------------------------------------------------- Wed Feb 26 06:13:13 UTC 2020 - Egbert Eich diff --git a/slurm.spec b/slurm.spec index 7e42595..012f141 100644 --- a/slurm.spec +++ b/slurm.spec @@ -24,6 +24,7 @@ # so-version is 0 and seems to be stable %define pmi_so 0 %define nss_so 2 +%define pmix_so 2 %define pname slurm @@ -123,6 +124,7 @@ Source1: slurm-rpmlintrc Patch0: Remove-rpath-from-build.patch Patch1: slurm-2.4.4-init.patch Patch2: pam_slurm-Initialize-arrays-and-pass-sizes.patch +Patch3: check-for-lipmix.so.MAJOR.patch %{?upgrade:Provides: %{pname} = %{version}} %{?upgrade:Conflicts: %{pname}} @@ -262,7 +264,7 @@ Summary: NSS Plugin for SLURM Group: System/Libraries %description -n libnss_%{pname}%{nss_so} -libnss_slurm is an optional NSS plugin that permits password and group +ibnss_slurm is an optional NSS plugin that permits password and group resolution for a job on a compute node to be serviced through the local slurmstepd process. @@ -369,6 +371,9 @@ Requires: perl-Switch Provides: torque-client %{?upgrade:Provides: %{pname}-torque = %{version}} %{?upgrade:Conflicts: %{pname}-torque} +%if %{with pmix} +Requires: libpmix%{pmix_so} +%endif %description torque Wrapper scripts for aiding migration from Torque/PBS to SLURM. @@ -524,9 +529,10 @@ Contains also cray specific documentation. %prep %setup -q -n %{pname}-%{dl_ver} -%patch0 -p2 +%patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %if 0%{?python_ver} < 3 # Workaround for wrongly flagged python3 to keep SLE-11-SP4 building mkdir -p mybin; ln -s /usr/bin/python2 mybin/python3 @@ -535,6 +541,7 @@ mkdir -p mybin; ln -s /usr/bin/python2 mybin/python3 %build %define _lto_cflags %{nil} [ -e $(pwd)/mybin ] && PATH=$(pwd)/mybin:$PATH +export CPPFLAGS=-DPMIX_SO=%{pmix_so} %configure --enable-shared \ --disable-static \ --without-rpath \