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=80183677d525....
Change:
-%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 \