From 7629b59fcca26b9e561949bdedaa54fff12243d2 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Jul 21 2019 06:04:47 +0000 Subject: 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 61db11d..c1b8af3 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: 19.05.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -29,8 +36,7 @@ Patch0: slurm_libslurmfull_version.patch # Build-related patches Patch10: slurm_perlapi_rpaths.patch Patch11: slurm_html_doc_path.patch -Patch13: slurm_without_cray.patch -Patch14: slurm_without_pmi.patch +Patch12: slurm_without_cray.patch # Fedora-related patches Patch20: slurm_pmix_soname.patch @@ -48,31 +54,30 @@ 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: numactl-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(pmix) >= 2.0.0 -BuildRequires: pkgconfig(zlib) -BuildRequires: pkgconfig(readline) +BuildRequires: readline-devel +BuildRequires: rrdtool-devel +BuildRequires: zlib-devel -# follow arch-inclusions for ucx -%ifarch aarch64 ppc64le x86_64 -BuildRequires: pkgconfig(ucx) +%if %{with ucx} +BuildRequires: ucx-devel %endif # exclude upstream-deprecated 32-bit architectures @@ -80,8 +85,8 @@ ExcludeArch: armv7hl ExcludeArch: i686 Requires: munge -Requires: pmix >= 2.0.0 -%ifarch aarch64 ppc64le x86_64 +Requires: pmix +%if %{with ucx} Requires: ucx %endif %{?systemd_requires} @@ -121,6 +126,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} @@ -206,8 +227,7 @@ Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm. %patch0 -p1 %patch10 -p1 %patch11 -p1 -%patch13 -p1 -%patch14 -p1 +%patch12 -p1 %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -232,7 +252,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 \ @@ -322,19 +342,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 < - 19.05.1-2 +- Create slurm-pmi and slurm-pmi-devel subpackages for pmi/pmi2 libs +- Remove rpm-generated pkgconfig files until upstream provides them +- Do not pull dependencies with pkgconfig unless package uses it + * Mon Jul 15 2019 Philip Kovacs - 19.05.1-1 - Release of 19.05.1 - Closes security issue (CVE-2019-12838) diff --git a/slurm_without_pmi.patch b/slurm_without_pmi.patch deleted file mode 100644 index a51659f..0000000 --- a/slurm_without_pmi.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index 064e992d53..10859a78a5 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -29,7 +29,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 2a2d1f2c82..d8d268c0e7 100644 ---- a/contribs/Makefile.am -+++ b/contribs/Makefile.am -@@ -1,4 +1,4 @@ --SUBDIRS = 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 seff sgather sgi sjobexit torque - - EXTRA_DIST = \ - make-3.81.slurm.patch \