Accepting request 1083466 from network:cluster

- Web-configurator: changed presets to SUSE defaults.
- If %_restart_on_update is no longer defined replace by own
  macro.
- Marked slurm-openlava, slurm-seff and slurm-sjstat noarch.
- rpmlint:
  * dropped some rpmlint filters which are no longer relevant.
  * added/refreshed filters. For Details, see rpmlintrc.
- Remove workaround to fix the restart issue in an Slurm package
  described in bsc#1088693.
  The Slurm version in this package as 16.05. Any attempt to
  directly migrate to the current version is bound to fail
  anyway.
- Now require slurm-munge if munge authentication is installed.

OBS-URL: https://build.opensuse.org/request/show/1083466
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/slurm?expand=0&rev=89
This commit is contained in:
Dominique Leuenberger 2023-04-28 14:23:13 +00:00 committed by Git OBS Bridge
commit 0d5e08df4b
3 changed files with 55 additions and 53 deletions

View File

@ -14,12 +14,15 @@ addFilter(".*obsolete-not-provided slurmdb-direct.*")
# channel. # channel.
addFilter("libnss_slurm\d_\d{2}_\d{2}.*: E: shlib-policy-name-error.*") addFilter("libnss_slurm\d_\d{2}_\d{2}.*: E: shlib-policy-name-error.*")
# slurms uses shared libraries for its plugins, so these plugins can have
# no dependency information
addFilter(".*shared-library-without-dependency-information /usr/lib64/slurm/.*so")
# Our logrotate file names are derived from the service name. # Our logrotate file names are derived from the service name.
addFilter(".* E: incoherent-logrotate-file /etc/logrotate.d/slurm.*\.conf") addFilter(".* (W|E): incoherent-logrotate-file /etc/logrotate.d/slurm.*\.conf")
# libpmix2 is opened using dlopen() - no automatic dependency resolution possible
addFilter("slurm(|_.*)-plugins.x86_64: (W|E): explicit-lib-dependency libpmix2")
# We need to build for more than one product. rpmlint tests differ between products
# Some may not trigger on all products.
addFilter("slurm.src: (W|E): unused-rpmlintrc-filter .*")
# ? Why should we package the log dir? # ? Why should we package the log dir?
addFilter(".*: E: logrotate-log-dir-not-packaged /var/log") addFilter(".*: E: logrotate-log-dir-not-packaged /var/log")
@ -32,19 +35,20 @@ addFilter("slurm(|-node|-slurmdbd)\..*: systemd-service-without-service_del_post
# The idea is to place the test suite into a package mostly unaltered # The idea is to place the test suite into a package mostly unaltered
# to place it to a test rig without requiring to install the full Slurm # to place it to a test rig without requiring to install the full Slurm
# sources. # sources.
# ... and in the same vein
addFilter("slurm(|_.*)-testsuite.*: E: filelist-forbidden-opt /opt/slurmtest")
# This is by intention - the test suite requires a test suite specific # This is by intention - the test suite requires a test suite specific
# systemd unit file. # systemd unit file.
addFilter("slurm(|_.*)-testsuite.*: E: filelist-forbidden-systemd-userdirs") addFilter("slurm(|_.*)-testsuite.*: E: filelist-forbidden-systemd-userdirs")
# It is not a devel package but a test suite. The test suite is designed to
# build test binaries when it is executed.
addFilter("slurm(|_.*)-testsuite.*: E: devel-file-in-non-devel-package")
# We want to give root a script to set up the test system # We want to give root a script to set up the test system
addFilter("slurm(|_.*)-testsuite.*: E: filelist-forbidden-fhs23 /root") addFilter("slurm(|_.*)-testsuite.*: E: (suse-|)filelist-forbidden-fhs23 /root")
# Testsuite needs this as it builds test binaries. # Testsuite needs this as it builds test binaries.
addFilter("slurm(|_.*)-testsuite.*: devel-dependency libnuma-devel") addFilter("slurm(|_.*)-testsuite.*: devel-dependency libnuma-devel")
addFilter("slurm(|_.*)-testsuite.*: E: explicit-lib-dependency libnuma-devel") addFilter("slurm(|_.*)-testsuite.*: E: explicit-lib-dependency libnuma-devel")
# To reduce the amount of preparation, the test suite supplies all required # To reduce the amount of preparation, the test suite supplies all required
# settings. # settings.
addFilter("slurm(|_.*)-testsuite.*: sudoers-file-unauthorized .*") addFilter("slurm(|_.*)-testsuite.*: sudoers-file-unauthorized .*")
# Testsuite needs to override default slurmd.service
addFilter("slurm(|_.*)-testsuite.x86_64: W: suse-filelist-forbidden-systemd-userdirs /etc/systemd/system/slurmd.service")
# dito
addFilter("slurm(|_.*)-testsuite.x86_64: W: systemd-unit-in-etc /etc/systemd/system/slurmd.service")
# No lib dependency - test suite needs devel package to compile tests
addFilter("slurm-testsuite.x86_64: W: explicit-lib-dependency .*")

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Mon Apr 17 19:16:40 UTC 2023 - Egbert Eich <eich@suse.com>
- Web-configurator: changed presets to SUSE defaults.
- If %_restart_on_update is no longer defined replace by own
macro.
- Marked slurm-openlava, slurm-seff and slurm-sjstat noarch.
- rpmlint:
* dropped some rpmlint filters which are no longer relevant.
* added/refreshed filters. For Details, see rpmlintrc.
- Remove workaround to fix the restart issue in an Slurm package
described in bsc#1088693.
The Slurm version in this package as 16.05. Any attempt to
directly migrate to the current version is bound to fail
anyway.
- Now require slurm-munge if munge authentication is installed.
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Mar 31 07:37:01 UTC 2023 - Christian Goll <cgoll@suse.com> Fri Mar 31 07:37:01 UTC 2023 - Christian Goll <cgoll@suse.com>

View File

@ -154,7 +154,7 @@ Patch15: Fix-test7.2-to-find-libpmix-under-lib64-as-well.patch
Requires: %{name}-config = %{version} Requires: %{name}-config = %{version}
%if 0%{?have_boolean_deps} %if 0%{?have_boolean_deps}
Recommends: (%{name}-munge = %version if munge) Requires: (%{name}-munge = %version if munge)
%else %else
Recommends: %{name}-munge = %version Recommends: %{name}-munge = %version
%endif %endif
@ -436,6 +436,7 @@ Wrapper scripts for aiding migration from Torque/PBS to SLURM.
Summary: Wrappers for transitition from OpenLava/LSF to Slurm Summary: Wrappers for transitition from OpenLava/LSF to Slurm
Group: Productivity/Clustering/Computing Group: Productivity/Clustering/Computing
Requires: perl-%{name} = %{version} Requires: perl-%{name} = %{version}
BuildArch: noarch
%{?upgrade:Provides: %{pname}-openlava = %{version}} %{?upgrade:Provides: %{pname}-openlava = %{version}}
%{?upgrade:Obsoletes: %{pname}-openlava < %{version}} %{?upgrade:Obsoletes: %{pname}-openlava < %{version}}
%{?upgrade:Conflicts: %{pname}-openlava} %{?upgrade:Conflicts: %{pname}-openlava}
@ -447,6 +448,7 @@ Wrapper scripts for aiding migration from OpenLava/LSF to Slurm
Summary: Mail tool that includes job statistics in user notification email Summary: Mail tool that includes job statistics in user notification email
Group: Productivity/Clustering/Computing Group: Productivity/Clustering/Computing
Requires: perl-%{name} = %{version} Requires: perl-%{name} = %{version}
BuildArch: noarch
%{?upgrade:Provides: %{pname}-seff = %{version}} %{?upgrade:Provides: %{pname}-seff = %{version}}
%{?upgrade:Obsoletes: %{pname}-seff < %{version}} %{?upgrade:Obsoletes: %{pname}-seff < %{version}}
%{?upgrade:Conflicts: %{pname}-seff} %{?upgrade:Conflicts: %{pname}-seff}
@ -460,6 +462,7 @@ information in the email body.
Summary: Perl tool to print SLURM job state information Summary: Perl tool to print SLURM job state information
Group: Productivity/Clustering/Computing Group: Productivity/Clustering/Computing
Requires: %{name} = %{version} Requires: %{name} = %{version}
BuildArch: noarch
%{?upgrade:Provides: %{pname}-sjstat = %{version}} %{?upgrade:Provides: %{pname}-sjstat = %{version}}
%{?upgrade:Obsoletes: %{pname}-sjstat < %{version}} %{?upgrade:Obsoletes: %{pname}-sjstat < %{version}}
%{?upgrade:Conflicts: %{pname}-sjstat} %{?upgrade:Conflicts: %{pname}-sjstat}
@ -624,11 +627,11 @@ Requires: expect
Requires: gcc-c++ Requires: gcc-c++
Requires: libnuma-devel Requires: libnuma-devel
%ts_depends: openmpi4-gnu-hpc-devel %ts_depends: openmpi4-gnu-hpc-devel
Requires: pam
Requires: pdsh Requires: pdsh
Requires: perl-%{name} = %version Requires: perl-%{name} = %version
Requires: sudo Requires: sudo
Requires: tar Requires: tar
Requires: config(pam)
BuildRequires: sudo BuildRequires: sudo
%description testsuite %description testsuite
@ -764,7 +767,13 @@ sed -i -e "s@PIDFile=.*@PIDFile=%{_localstatedir}/run/slurm/slurmd.pid@" \
%{buildroot}/%{_unitdir}/slurmd.service %{buildroot}/%{_unitdir}/slurmd.service
sed -i -e "s@PIDFile=.*@PIDFile=%{_localstatedir}/run/slurm/slurmdbd.pid@" \ sed -i -e "s@PIDFile=.*@PIDFile=%{_localstatedir}/run/slurm/slurmdbd.pid@" \
-e 's@After=\(.*\)@After=\1 mariadb.service@' \ -e 's@After=\(.*\)@After=\1 mariadb.service@' \
%{buildroot}/%{_unitdir}/slurmdbd.service %{buildroot}/%{_unitdir}/slurmdbd.service
htmldir=%{buildroot}/%{_datadir}/doc/slurm-%{ver}/html
sed -e '/name=\"state_save_location\"/s@value=\".*\"@value=\"%{_localstatedir}/lib/slurm\"@' \
-e '/name=\"slurmd_pid_file\"/s@value=\".*\"@value=\"%{_localstatedir}/run/slurm/slurmd.pid\"@' \
-e '/name=\"slurmctld_pid_file\"/s@value=\".*\"@value=\"%{_localstatedir}/run/slurm/slurmctld.pid\"@' \
-e '/name=\"slurmd_spool_dir\"/s@value=\".*\"@value=\"%{_localstatedir}/spool/slurm\"@' \
-i ${htmldir}/configurator.html -i ${htmldir}/configurator.easy.html
%if 0%{?have_sysuser} %if 0%{?have_sysuser}
[ -e /usr/bin/bash ] && BASH_BIN=/usr/bin/bash || BASH_BIN=/bin/bash [ -e /usr/bin/bash ] && BASH_BIN=/usr/bin/bash || BASH_BIN=/bin/bash
echo "u %slurm_u %{slurm_uid} \"%slurmdescr\" %{slurmdir} ${BASH_BIN}" > system-user-%{pname}.conf echo "u %slurm_u %{slurm_uid} \"%slurmdescr\" %{slurmdir} ${BASH_BIN}" > system-user-%{pname}.conf
@ -831,8 +840,8 @@ EOF
done done
mkdir -p %{buildroot}/%{apache_sysconfdir}/conf.d mkdir -p %{buildroot}/%{apache_sysconfdir}/conf.d
cat > %{buildroot}/%{apache_sysconfdir}/conf.d/slurm.conf <<EOF cat > %{buildroot}/%{apache_sysconfdir}/conf.d/slurm.conf <<EOF
Alias /slurm/ "/usr/share/doc/slurm-%{ver}/html/" Alias /slurm/ "%{_datadir}/doc/slurm-%{ver}/html/"
<Directory "/usr/share/doc/slurm-%{ver}/html/"> <Directory "%{_datadir}/doc/slurm-%{ver}/html/">
AllowOverride None AllowOverride None
DirectoryIndex slurm.html DirectoryIndex slurm.html
# Controls who can get stuff from this server. # Controls who can get stuff from this server.
@ -1036,52 +1045,24 @@ rm -rf /srv/slurm-testsuite/src /srv/slurm-testsuite/testsuite \
/srv/slurm-testsuite/slurm /srv/slurm-testsuite/shared \ /srv/slurm-testsuite/slurm /srv/slurm-testsuite/shared \
/srv/slurm-testsuite/config.h /srv/slurm-testsuite/config.h
%{!?nil: %if 0%{!?_restart_on_update:1}
# On update the %%postun code of the old package restarts the %define _restart_on_update() %{?nil: [ $1 -ge 1 ] && { DISABLE_RESTART_ON_UPDATE=no; \
# service. This breaks in case the ABI between slurm and its [ -e /etc/sysconfig/services ] && . /etc/sysconfig/services || : \
# plugins has changed as updates are not atomic. Since we cannot case "$DISABLE_RESTART_ON_UPDATE" in \
# fix the old scripts we need these macros as a workaround. yes|1) ;; \
# They should be removed at some point. *) /usr/bin/systemctl try-restart %{*} || : ;; \
# Do pretrans in lua: https://fedoraproject.org/wiki/Packaging:Scriptlets esac; } \
} }
%define _test_rest() %{?nil:os.remove("/run/%{1}.rst") %endif
if os.execute() and os.getenv("YAST_IS_RUNNING") ~= "instsys" then
local handle = io.popen("systemctl is-active %{1} 2>&1")
local str = handle:read("*a"); handle:close()
str = string.gsub(str, '^%%s+', '')
str = string.gsub(str, '%%s+$', '')
str = string.gsub(str, '[\\n\\r]+', ' ')
if str == "active" then
local file = io.open("/run/%{1}.rst","w"); file:close()
end
end
}
%define _rest() [ -e /run/%{1}.rst ] && { systemctl status %{1} &>/dev/null || systemctl restart %{1}; }; rm -f /run/%{1}.rst;
%pretrans -p <lua>
%_test_rest slurmctld
%pretrans node -p <lua>
%_test_rest slurmd
%pretrans slurmdbd -p <lua>
%_test_rest slurmdbd
%posttrans %posttrans
%_restart_on_update slurmctld %_restart_on_update slurmctld
%{!?nil: 4 bogus %_restart_on_update on SUSE:SLE-12-SP2:GA:Update}
%_rest slurmctld
%posttrans node %posttrans node
%_restart_on_update slurmd %_restart_on_update slurmd
%{!?nil: 4 bogus %_restart_on_update on SUSE:SLE-12-SP2:GA:Update}
%_rest slurmd
%posttrans slurmdbd %posttrans slurmdbd
%_restart_on_update slurmdbd %_restart_on_update slurmdbd
%{!?nil: 4 bogus %_restart_on_update on SUSE:SLE-12-SP2:GA:Update}
%_rest slurmdbd
%if 0%{?sle_version} > 120200 || 0%{?suse_version} > 1320 %if 0%{?sle_version} > 120200 || 0%{?suse_version} > 1320
%define my_license %license %define my_license %license