public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Philip Kovacs <pkdevel@yahoo.com>
To: git-commits@fedoraproject.org
Subject: [rpms/slurm] epel10: Release of 17.11 series
Date: Wed, 22 Jul 2026 07:54:52 GMT [thread overview]
Message-ID: <178470689261.1.11879820772857033202.rpms-slurm-bff578d171f3@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/slurm
Branch : epel10
Commit : bff578d171f38a5ee167edd6b6e9ef2e7d71d970
Author : Philip Kovacs <pkdevel@yahoo.com>
Date : 2018-02-10T19:12:58-05:00
Stats : +413/-499 in 10 file(s)
URL : https://src.fedoraproject.org/rpms/slurm/c/bff578d171f38a5ee167edd6b6e9ef2e7d71d970?branch=epel10
Log:
Release of 17.11 series
Re-aligned rpm packaging to be closer to upstream
Enabled new slurm native X11 support using ssh2
Enabled new shared libslurm for smaller code size
Enabled `check` unit testing via check-devel
Added environment module support for pmi/slurm
Add dependency to pmix
Removed gtk-update-icon-cache scriptlets
Use new ldconfig_scriptlets macro
---
diff --git a/slurm.conf b/slurm.conf
index 28bd7a8..577cc09 100644
--- a/slurm.conf
+++ b/slurm.conf
@@ -123,7 +123,7 @@ SelectType=select/linear
AccountingStorageType=accounting_storage/none
#AccountingStorageUser=
AccountingStoreJobComment=YES
-ClusterName=local
+ClusterName=cluster
#DebugFlags=
#JobCompHost=
#JobCompLoc=
diff --git a/slurm.spec b/slurm.spec
index ee757bf..5e8ad69 100644
--- a/slurm.spec
+++ b/slurm.spec
@@ -1,71 +1,74 @@
-# -------------
-# Base Packages
-# -------------
-# slurm
-# slurm-devel
-# slurm-doc
-# slurm-gui
-# slurm-libs
-# slurm-plugins
-# slurm-plugins-auth_none
-# slurm-plugins-lua
-# slurm-plugins-munge
-# slurm-plugins-mysql
-# slurm-plugins-pbs
-# slurm-plugins-rrdtool
-# slurm-slurmdbd
+# Obsolete EVR
+%global obs_evr 17.02.9-4
-# -----------------
-# Contribs Packages
-# -----------------
-# slurm-contribs
-# slurm-openlava
-# slurm-perlapi
-# slurm-plugins-pam_slurm
-# slurm-torque
+# Upstream tarballs use an additional release number
+%global ups_rel 2
+
+%if "%{ups_rel}" == "1"
+%global name_version %{name}-%{version}
+%else
+%global name_version %{name}-%{version}-%{ups_rel}
+%endif
+
+# Allow linkage with undefined symbols (disable -z,defs)
+%undefine _strict_symbol_defs_build
+
+# Allow dlopen with unresolved symbols (disable -z,now)
+%define _hardened_ldflags "-Wl,-z,lazy"
Name: slurm
-Version: 17.02.9
-Release: 4%{?dist}
+Version: 17.11.3
+Release: 1%{?dist}
Summary: Simple Linux Utility for Resource Management
License: GPLv2 and BSD
URL: https://slurm.schedmd.com/
-Source0: http://www.schedmd.com/download/latest/%{name}-%{version}.tar.bz2
+Source0: http://www.schedmd.com/download/latest/%{name_version}.tar.bz2
Source1: slurm.conf
Source2: slurmdbd.conf
Source3: slurm-sview.desktop
Source4: slurm-128x128.png
Source5: slurm-setuser.in
-# upstream bug #2443: enable full relro operation
-Patch0: slurm_weak_symbols.patch
+# Upstream bug #4449: release-style versioning of libslurmfull
+Patch0: slurm_libslurmfull_version.patch
-# upstream bug #4362: link knl_generic plugin to libnuma if available
-Patch1: slurm_knl_numa.patch
-
-# build-related patches
+# Build-related patches
Patch10: slurm_perlapi_rpaths.patch
Patch11: slurm_html_doc_path.patch
Patch12: slurm_doc_fix.patch
# Fedora-related patches
-Patch20: slurm_service_files.patch
+Patch20: slurm_pmix_soname.patch
+Patch21: slurm_service_files.patch
+
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: environment(modules)
+BuildRequires: desktop-file-utils
+BuildRequires: gcc
+BuildRequires: perl-ExtUtils-MakeMaker
+BuildRequires: perl-podlators
+BuildRequires: pkgconf
+BuildRequires: pkgconfig(check)
+%{?systemd_requires}
+BuildRequires: systemd
-BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: hdf5-devel
+BuildRequires: pam-devel
+BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(hwloc)
BuildRequires: pkgconfig(libfreeipmi)
BuildRequires: pkgconfig(libcurl)
+BuildRequires: pkgconfig(librrd)
+BuildRequires: pkgconfig(libssh2)
BuildRequires: pkgconfig(lua)
BuildRequires: pkgconfig(mariadb)
BuildRequires: pkgconfig(munge)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(openssl)
-BuildRequires: pam-devel
-BuildRequires: pmix-devel
-BuildRequires: readline-devel
-BuildRequires: pkgconfig(librrd)
+BuildRequires: pkgconfig(pmix) >= 2.0.0
BuildRequires: pkgconfig(zlib)
+BuildRequires: readline-devel
# follow arch exclusions for these devel packages
%ifnarch s390 s390x %{arm}
@@ -74,19 +77,15 @@ BuildRequires: libibumad-devel
BuildRequires: numactl-devel
%endif
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: desktop-file-utils
-BuildRequires: gcc
-BuildRequires: perl-ExtUtils-MakeMaker
-BuildRequires: perl-podlators
-BuildRequires: pkgconf
-%{?systemd_requires}
-BuildRequires: systemd
-
-Requires: %{name}-plugins%{?_isa} = %{version}-%{release}
-Requires: %{name}-plugins-munge%{?_isa} = %{version}-%{release}
Requires: munge
+Requires: pmix >= 2.0.0
+
+Obsoletes: %{name} <= %{obs_evr}
+Obsoletes: %{name}-plugins <= %{obs_evr}
+Obsoletes: %{name}-plugins-auth_none <= %{obs_evr}
+Obsoletes: %{name}-plugins-lua <= %{obs_evr}
+Obsoletes: %{name}-plugins-munge <= %{obs_evr}
+Obsoletes: %{name}-plugins-mysql <= %{obs_evr}
%description
Slurm is an open source, fault-tolerant, and highly scalable
@@ -119,57 +118,39 @@ and their respective man pages.
%package libs
Summary: Slurm shared libraries
+Provides: pmi
+Requires: environment(modules)
%description libs
Slurm shared libraries.
-%package plugins
-Summary: Slurm plugins (loadable shared objects)
-%description plugins
-Slurm plugins (loadable shared objects) supporting a wide variety of
-architectures and behaviors. These basically provide the building blocks
-with which Slurm can be configured. Note that some system specific plugins
-are in other packages.
-
-%package plugins-auth_none
-Summary: Slurm auth null implementation (no authentication)
-%description plugins-auth_none
-Slurm null authentication plugin.
-
-%package plugins-lua
-Summary: Slurm lua plugins
-%description plugins-lua
-Slurm proctrack/lua and job_submit/lua plugins.
-
-%package plugins-munge
-Summary: Slurm authentication and crypto plugins using Munge
-%description plugins-munge
-Slurm authentication and crypto implementation using Munge. Used to
-authenticate user originating an RPC, digitally sign and/or encrypt messages.
-
-%package plugins-mysql
-Summary: Slurm MySQL/MariaDb support
-%description plugins-mysql
-Slurm MySQL/MariaDb support plugins implementing interfaces to those
-databases for accounting storage and job completion.
-
-%package plugins-pbs
-Summary: Slurm torque (PBS) support
-%description plugins-pbs
-Slurm torque (PBS) support plugins.
-
-%package plugins-rrdtool
+%package rrdtool
Summary: Slurm rrdtool external sensor plugin
-%description plugins-rrdtool
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Obsoletes: %{name}-plugins-rrdtool <= %{obs_evr}
+%description rrdtool
Slurm external sensor plugin for rrdtool. This package is separated from
the base plugins package due to gui dependencies which are unneeded if not
using this plugin.
+%package slurmctld
+Summary: Slurm controller daemon
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Obsoletes: %{name} <= %{obs_evr}
+%description slurmctld
+Slurm controller daemon. Used to manage the job queue, schedule jobs,
+and dispatch RPC messages to the slurmd processon the compute nodes
+to launch jobs.
+
+%package slurmd
+Summary: Slurm compute node daemon
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Obsoletes: %{name} <= %{obs_evr}
+%description slurmd
+Slurm compute node daemon. Used to launch jobs on compute nodes
+
%package slurmdbd
Summary: Slurm database daemon
-# Use with auth_none or munge plugins for authentication
-Requires: %{name}-plugins-munge%{?_isa} = %{version}-%{release}
-Requires: %{name}-plugins-mysql%{?_isa} = %{version}-%{release}
-Requires: munge
+Requires: %{name}%{?_isa} = %{version}-%{release}
%description slurmdbd
Slurm database daemon. Used to accept and process database RPCs and upload
database changes to slurmctld daemons on each cluster.
@@ -200,29 +181,31 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Perl API package for Slurm. This package includes the perl API to provide a
helpful interface to Slurm through Perl.
-%package plugins-pam_slurm
+%package pam_slurm
Summary: Slurm pam modules
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
-%description plugins-pam_slurm
+Obsoletes: %{name}-plugins-pam_slurm <= %{obs_evr}
+%description pam_slurm
The pam_slurm module restricts access to compute nodes in a cluster where Slurm
is in use. Also includes the pam_slurm_adopt plugin for "adopting" connections
into slurm jobs.
%package torque
Summary: Torque/PBS wrappers for transition from Torque/PBS to Slurm
+Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-perlapi%{?_isa} = %{version}-%{release}
-Requires: %{name}-plugins-pbs%{?_isa} = %{version}-%{release}
+Obsoletes: %{name}-plugins-pbs <= %{obs_evr}
%description torque
Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm.
%prep
-%setup -q -n %{name}-%{version}
+%setup -q -n %{name_version}
%patch0 -p1
-%patch1 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch20 -p1
+%patch21 -p1
cp %SOURCE1 etc/slurm.conf
cp %SOURCE1 etc/slurm.conf.example
cp %SOURCE2 etc/slurmdbd.conf
@@ -232,7 +215,7 @@ mkdir -p share/icons/hicolor/128x128/apps
cp %SOURCE3 share/applications/%{name}-sview.desktop
cp %SOURCE4 share/icons/hicolor/128x128/apps/%{name}.png
mkdir -p extras
-cp %SOURCE5 extras/slurm-setuser.in
+cp %SOURCE5 extras/%{name}-setuser.in
%build
%{__aclocal} -I auxdir
@@ -242,28 +225,30 @@ cp %SOURCE5 extras/slurm-setuser.in
--prefix=%{_prefix} \
--sysconfdir=%{_sysconfdir}/%{name} \
--with-pam_dir=%{_libdir}/security \
+ --with-pmix \
--enable-shared \
+ --enable-x11 \
--disable-static \
--disable-debug \
--disable-developer \
- --disable-bluegene \
- --disable-native-cray \
- --disable-cray-network \
--disable-salloc-background \
--disable-multiple-slurmd \
--disable-partial_attach \
- --without-rpath \
+ --with-shared-libslurm \
+ --without-rpath
# patch libtool to remove rpaths
sed -i 's|^hardcode_into_libs=.*|hardcode_into_libs=no|g' libtool
+sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
-# configure the extras/slurm-setuser script
+# configure extras/slurm-setuser script
sed -r '
s|^dir_conf=.*|dir_conf="%{_sysconfdir}/%{name}"|g;
s|^dir_log=.*|dir_log="%{_var}/log/%{name}"|g;
s|^dir_run=.*|dir_run="%{_rundir}/%{name}"|g;
s|^dir_spool=.*|dir_spool="%{_var}/spool/%{name}"|g;
s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \
- extras/slurm-setuser.in > extras/slurm-setuser
+ extras/%{name}-setuser.in > extras/%{name}-setuser
# build base packages
%make_build V=1
@@ -273,7 +258,9 @@ s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \
PERL_MM_PARAMS="INSTALLDIRS=vendor" %make_build contrib V=1
%check
-%{__make} 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
%install
%make_install
@@ -305,11 +292,11 @@ install -m 0644 -p etc/slurmdbd.service %{buildroot}%{_unitdir}
# tmpfiles.d file for creating /run/slurm dir after reboot
install -d -m 0755 %{buildroot}%{_tmpfilesdir}
-cat >%{buildroot}%{_tmpfilesdir}/slurm.conf <<EOF
+cat >%{buildroot}%{_tmpfilesdir}/%{name}.conf <<EOF
D %{_rundir}/%{name} 0755 root root -
EOF
-# logrotate.d file for /var/log/slurm logging possibilities
+# logrotate.d file for /var/log/slurm logging
install -d -m 0755 %{buildroot}%{_var}/log/%{name}
install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d
cat >%{buildroot}%{_sysconfdir}/logrotate.d/%{name} <<EOF
@@ -329,32 +316,75 @@ touch %{buildroot}%{_rundir}/%{name}/slurmctld.pid
touch %{buildroot}%{_rundir}/%{name}/slurmd.pid
touch %{buildroot}%{_rundir}/%{name}/slurmdbd.pid
-# pkgconfig file
+# 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/slurm.pc <<EOF
-includedir=%{_prefix}/include
+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
-Description: Slurm API
-Name: %{name}
+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
-# desktop file for sview GTK+ program
+# 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 \
share/applications/%{name}-sview.desktop
-# desktop icon for sview GTK+ program
+# install desktop icon for sview GTK+ program
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
install -m 0644 share/icons/hicolor/128x128/apps/%{name}.png \
%{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
# install the extras/slurm-setuser script
-install -m 0755 extras/slurm-setuser \
- %{buildroot}%{_bindir}/slurm-setuser
+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
@@ -377,19 +407,17 @@ install -m 0644 contribs/lua/proctrack.lua %{buildroot}%{_docdir}/%{name}/contri
# remove libtool archives
find %{buildroot} -name \*.a -o -name \*.la | xargs rm -f
+# remove libslurmfull symlink (non-development, internal library)
+rm -rf %{buildroot}%{_libdir}/libslurmfull.so
+# remove auth_none plugin
+rm -f %{buildroot}%{_libdir}/%{name}/auth_none.so
# remove example plugins
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}/libsched_if.so
-rm -f %{buildroot}%{_libdir}/%{name}/libsched_if64.so
-rm -f %{buildroot}%{_libdir}/%{name}/runjob_plugin.so
rm -f %{buildroot}%{_libdir}/%{name}/select_bluegene.so
rm -f %{buildroot}%{_mandir}/man5/bluegene*
-rm -f %{buildroot}%{_sbindir}/sfree
-rm -f %{buildroot}%{_sbindir}/slurm_epilog
-rm -f %{buildroot}%{_sbindir}/slurm_prolog
# remove cray files
rm -f %{buildroot}%{_libdir}/%{name}/acct_gather_energy_cray.so
rm -f %{buildroot}%{_libdir}/%{name}/core_spec_cray.so
@@ -400,17 +428,13 @@ 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 percs files
-rm -f %{buildroot}%{_libdir}/%{name}/launch_poe.so
-rm -f %{buildroot}%{_libdir}/%{name}/libpermapi.so
-rm -f %{buildroot}%{_libdir}/%{name}/switch_nrt.so
# remove perl cruft
rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist
rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/Slurm*.bs
rm -f %{buildroot}%{perl_archlib}/perllocal.pod
-# filter unneeded dependencies
-%global __requires_exclude ^libpmix.so|libevent
+%ldconfig_scriptlets -n devel
+%ldconfig_scriptlets -n lib
# -----
# Slurm
@@ -419,28 +443,58 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%files
%doc CONTRIBUTING.md DISCLAIMER META NEWS README.rst RELEASE_NOTES
%license COPYING LICENSE.OpenSSL
+%dir %{_libdir}/%{name}
+%dir %{_rundir}/%{name}
%dir %{_sysconfdir}/%{name}
%dir %{_sysconfdir}/%{name}/layouts.d
-%{_sysconfdir}/logrotate.d/%{name}
+%dir %{_var}/log/%{name}
+%dir %{_var}/spool/%{name}
+%dir %{_var}/spool/%{name}/ctld
+%dir %{_var}/spool/%{name}/d
+%attr(0755,root,root) %{_sysconfdir}/%{name}/slurm.epilog.clean
%config(noreplace) %{_sysconfdir}/%{name}/cgroup*.conf
-%{_sysconfdir}/%{name}/cgroup*.conf.example
%config(noreplace) %{_sysconfdir}/%{name}/slurm.conf
-%{_sysconfdir}/%{name}/slurm.conf.example
-%{_sysconfdir}/%{name}/layouts.d/*.example
-%attr(0755,root,root) %{_sysconfdir}/%{name}/slurm.epilog.clean
-%dir %{_rundir}/%{name}
-%ghost %{_rundir}/%{name}/slurmctld.pid
-%ghost %{_rundir}/%{name}/slurmd.pid
%{_bindir}/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast}
%{_bindir}/{scancel,scontrol,sdiag,sh5util,sinfo,sprio}
%{_bindir}/{squeue,sreport,srun,sshare,sstat,strigger}
-%{_bindir}/slurm-setuser
-%{_unitdir}/slurmctld.service
-%{_unitdir}/slurmd.service
-%{_tmpfilesdir}/slurm.conf
-%{_sbindir}/slurmctld
-%{_sbindir}/slurmd
-%{_sbindir}/slurmstepd
+%{_bindir}/%{name}-setuser
+%{_libdir}/%{name}/accounting_storage_{filetxt,none,slurmdbd}.so
+%{_libdir}/%{name}/acct_gather_energy_{ibmaem,ipmi,none,rapl}.so
+%{_libdir}/%{name}/acct_gather_filesystem_{lustre,none}.so
+%{_libdir}/%{name}/acct_gather_interconnect_{none,ofed}.so
+%{_libdir}/%{name}/acct_gather_profile_{hdf5,none}.so
+%{_libdir}/%{name}/auth_munge.so
+%{_libdir}/%{name}/burst_buffer_generic.so
+%{_libdir}/%{name}/checkpoint_{none,ompi}.so
+%{_libdir}/%{name}/core_spec_none.so
+%{_libdir}/%{name}/crypto_munge.so
+%{_libdir}/%{name}/crypto_openssl.so
+%{_libdir}/%{name}/ext_sensors_none.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
+%{_libdir}/%{name}/job_submit_require_timelimit.so
+%{_libdir}/%{name}/job_submit_throttle.so
+%{_libdir}/%{name}/jobacct_gather_{cgroup,linux,none}.so
+%{_libdir}/%{name}/jobcomp_{elasticsearch,filetxt,mysql,none,script}.so
+%{_libdir}/%{name}/launch_slurm.so
+%{_libdir}/%{name}/layouts_power_{cpufreq,default}.so
+%{_libdir}/%{name}/layouts_unit_default.so
+%{_libdir}/%{name}/mcs_{account,group,none,user}.so
+%{_libdir}/%{name}/mpi_{none,openmpi,pmi2,pmix*}.so
+%{_libdir}/%{name}/node_features_knl_generic.so
+%{_libdir}/%{name}/power_none.so
+%{_libdir}/%{name}/preempt_{job_prio,none,partition_prio,qos}.so
+%{_libdir}/%{name}/priority_{basic,multifactor}.so
+%{_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}/slurmctld_nonstop.so
+%{_libdir}/%{name}/switch_{generic,none}.so
+%{_libdir}/%{name}/task_{affinity,cgroup,none}.so
+%{_libdir}/%{name}/topology_{3d_torus,hypercube,node_rank,none,tree}.so
%{_mandir}/man1/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast}.1*
%{_mandir}/man1/{scancel,scontrol,sdiag,sh5util,sinfo,sprio}.1*
%{_mandir}/man1/{squeue,sreport,srun,sshare,sstat,strigger}.1*
@@ -454,35 +508,34 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%{_mandir}/man5/nonstop.conf.5*
%{_mandir}/man5/slurm.conf.5*
%{_mandir}/man5/topology.conf.5*
-%{_mandir}/man8/slurmctld.8*
-%{_mandir}/man8/slurmd.8*
-%{_mandir}/man8/slurmstepd.8*
%{_mandir}/man8/spank.8*
-%dir %{_var}/log/%{name}
-%dir %{_var}/spool/%{name}
-%dir %{_var}/spool/%{name}/ctld
-%dir %{_var}/spool/%{name}/d
+%{_sysconfdir}/logrotate.d/%{name}
+%{_sysconfdir}/%{name}/cgroup*.conf.example
+%{_sysconfdir}/%{name}/layouts.d/*.example
+%{_sysconfdir}/%{name}/slurm.conf.example
+%{_tmpfilesdir}/slurm.conf
# -----------
# Slurm-devel
# -----------
%files devel
-%dir %{_prefix}/include/%{name}
-%{_prefix}/include/%{name}/pmi*.h
-%{_prefix}/include/%{name}/slurm.h
-%{_prefix}/include/%{name}/slurm_errno.h
-%{_prefix}/include/%{name}/slurmdb.h
-%{_prefix}/include/%{name}/smd_ns.h
-%{_prefix}/include/%{name}/spank.h
-%{_libdir}/libpmi*.so
-%{_libdir}/libslurm.so
-%{_libdir}/libslurmdb.so
-%{_libdir}/pkgconfig/%{name}.pc
+%dir %{_includedir}/%{name}
+%dir %{_libdir}/%{name}/lib/pkgconfig
%dir %{_libdir}/%{name}/src
%dir %{_libdir}/%{name}/src/sattach
-%{_libdir}/%{name}/src/sattach/sattach.wrapper.c
%dir %{_libdir}/%{name}/src/srun
+%{_includedir}/%{name}/pmi*.h
+%{_includedir}/%{name}/slurm.h
+%{_includedir}/%{name}/slurm_errno.h
+%{_includedir}/%{name}/slurmdb.h
+%{_includedir}/%{name}/smd_ns.h
+%{_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.*
@@ -512,126 +565,68 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
# ----------
%files libs
-%{_libdir}/libpmi*.so.*
+%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/lib
+%dir %{_modulesdir}/pmi
%{_libdir}/libslurm.so.*
%{_libdir}/libslurmdb.so.*
+%{_libdir}/libslurmfull-*.so
+%{_libdir}/%{name}/lib/libpmi*.so.*
+%{_modulesdir}/pmi/*
# -------------
-# Slurm-plugins
+# Slurm-rrdtool
# -------------
-%files plugins
-%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/accounting_storage_{filetxt,none,slurmdbd}.so
-%{_libdir}/%{name}/acct_gather_energy_{ibmaem,ipmi,none,rapl}.so
-%{_libdir}/%{name}/acct_gather_filesystem_{lustre,none}.so
-%{_libdir}/%{name}/acct_gather_infiniband_{none,ofed}.so
-%{_libdir}/%{name}/acct_gather_profile_{hdf5,none}.so
-%{_libdir}/%{name}/burst_buffer_generic.so
-%{_libdir}/%{name}/checkpoint_{none,ompi}.so
-%{_libdir}/%{name}/core_spec_none.so
-%{_libdir}/%{name}/crypto_openssl.so
-%{_libdir}/%{name}/ext_sensors_none.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_require_timelimit.so
-%{_libdir}/%{name}/job_submit_throttle.so
-%{_libdir}/%{name}/jobacct_gather_{cgroup,linux,none}.so
-%{_libdir}/%{name}/jobcomp_{elasticsearch,filetxt,none,script}.so
-%{_libdir}/%{name}/launch_slurm.so
-%{_libdir}/%{name}/layouts_power_{cpufreq,default}.so
-%{_libdir}/%{name}/layouts_unit_default.so
-%{_libdir}/%{name}/mcs_{account,group,none,user}.so
-%{_libdir}/%{name}/mpi_{lam,mpich1_p4,mpich1_shmem,mpichgm,mpichmx}.so
-%{_libdir}/%{name}/mpi_{mvapich,none,openmpi,pmi2,pmix,pmix_v1}.so
-%{_libdir}/%{name}/node_features_knl_generic.so
-%{_libdir}/%{name}/power_none.so
-%{_libdir}/%{name}/preempt_{job_prio,none,partition_prio,qos}.so
-%{_libdir}/%{name}/priority_{basic,multifactor}.so
-%{_libdir}/%{name}/proctrack_{cgroup,linuxproc,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}/slurmctld_nonstop.so
-%{_libdir}/%{name}/switch_{generic,none}.so
-%{_libdir}/%{name}/task_{affinity,cgroup,none}.so
-%{_libdir}/%{name}/topology_{3d_torus,hypercube,node_rank,none,tree}.so
-
-# -----------------------
-# Slurm-plugins-auth_none
-# -----------------------
-
-%files plugins-auth_none
-%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/auth_none.so
-
-# -----------------
-# Slurm-plugins-lua
-# -----------------
-
-%files plugins-lua
-%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/job_submit_lua.so
-%{_libdir}/%{name}/proctrack_lua.so
-
-# -------------------
-# Slurm-plugins-munge
-# -------------------
-
-%files plugins-munge
-%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/auth_munge.so
-%{_libdir}/%{name}/crypto_munge.so
-
-# -------------------
-# Slurm-plugins-mysql
-# -------------------
-
-%files plugins-mysql
-%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/accounting_storage_mysql.so
-%{_libdir}/%{name}/jobcomp_mysql.so
+%files rrdtool
+%{_libdir}/%{name}/ext_sensors_rrd.so
-# -----------------
-# Slurm-plugins-pbs
-# -----------------
+# ---------
+# Slurmctld
+# ---------
-%files plugins-pbs
-%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/job_submit_pbs.so
-%{_libdir}/%{name}/spank_pbs.so
+%files slurmctld
+%{_mandir}/man8/slurmctld.8*
+%{_sbindir}/slurmctld
+%{_unitdir}/slurmctld.service
+%ghost %{_rundir}/%{name}/slurmctld.pid
-# ---------------------
-# Slurm-plugins-rrdtool
-# ---------------------
+# ------
+# Slurmd
+# ------
-%files plugins-rrdtool
-%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/ext_sensors_rrd.so
+%files slurmd
+%{_mandir}/man8/slurmd.8*
+%{_mandir}/man8/slurmstepd.8*
+%{_sbindir}/slurmd
+%{_sbindir}/slurmstepd
+%{_unitdir}/slurmd.service
+%ghost %{_rundir}/%{name}/slurmd.pid
# --------
# Slurmdbd
# --------
%files slurmdbd
-%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/slurmdbd.conf
-%{_sysconfdir}/%{name}/slurmdbd.conf.example
-%dir %{_rundir}/%{name}
-%ghost %{_rundir}/%{name}/slurmdbd.pid
-%{_bindir}/slurm-setuser
-%{_unitdir}/slurmdbd.service
-%{_tmpfilesdir}/slurm.conf
-%{_sbindir}/slurmdbd
+%{_libdir}/%{name}/accounting_storage_mysql.so
%{_mandir}/man5/slurmdbd.conf.5*
%{_mandir}/man8/slurmdbd.8*
+%{_sbindir}/slurmdbd
+%{_sysconfdir}/%{name}/slurmdbd.conf.example
+%{_unitdir}/slurmdbd.service
+%ghost %{_rundir}/%{name}/slurmdbd.pid
# --------------
# Slurm-contribs
# --------------
%files contribs
+%dir %{_docdir}/%{name}
+%dir %{_docdir}/%{name}/contribs
+%dir %{_docdir}/%{name}/contribs/lua
+%{_docdir}/%{name}/contribs/README
+%{_docdir}/%{name}/contribs/lua/proctrack.lua
%{_bindir}/seff
%{_bindir}/sgather
%{_bindir}/sjobexitmod
@@ -640,11 +635,6 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%{_mandir}/man1/sgather.1*
%{_mandir}/man1/sjobexitmod.1*
%{_mandir}/man1/sjstat.1*
-%dir %{_docdir}/%{name}
-%dir %{_docdir}/%{name}/contribs
-%{_docdir}/%{name}/contribs/README
-%dir %{_docdir}/%{name}/contribs/lua
-%{_docdir}/%{name}/contribs/lua/proctrack.lua
# --------------
# Slurm-openlava
@@ -665,23 +655,22 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
# -------------
%files perlapi
-%{perl_vendorarch}/Slurm.pm
%dir %{perl_vendorarch}/Slurm
+%dir %{perl_vendorarch}/auto/Slurm
+%dir %{perl_vendorarch}/auto/Slurmdb
+%{_mandir}/man3/Slurm*.3pm*
+%{perl_vendorarch}/Slurm.pm
%{perl_vendorarch}/Slurm/*.pm
%{perl_vendorarch}/Slurmdb.pm
-%dir %{perl_vendorarch}/auto/Slurm
%{perl_vendorarch}/auto/Slurm/Slurm.so
-%dir %{perl_vendorarch}/auto/Slurmdb
%{perl_vendorarch}/auto/Slurmdb/Slurmdb.so
%{perl_vendorarch}/auto/Slurmdb/autosplit.ix
-%{_mandir}/man3/Slurm*.3pm*
# ---------------
# Slurm-pam_slurm
# ---------------
-%files plugins-pam_slurm
-%dir %{_libdir}/%{name}
+%files pam_slurm
%{_libdir}/security/pam_slurm.so
%{_libdir}/security/pam_slurm_adopt.so
@@ -700,6 +689,8 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%{_bindir}/qrls
%{_bindir}/qstat
%{_bindir}/qsub
+%{_libdir}/%{name}/job_submit_pbs.so
+%{_libdir}/%{name}/spank_pbs.so
%{_mandir}/man1/pbsnodes.1*
%{_mandir}/man1/qalter.1*
%{_mandir}/man1/qdel.1*
@@ -710,37 +701,23 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod
%{_mandir}/man1/qsub.1*
%{_mandir}/man1/mpiexec.1*
-%post
-%systemd_post slurmd.service
+%post slurmctld
%systemd_post slurmctld.service
-%preun
-%systemd_preun slurmd.service
+%preun slurmctld
%systemd_preun slurmctld.service
-%postun
-%systemd_postun_with_restart slurmd.service
-%systemd_postun_with_restart slurmctld.service
-
-%post devel -p /sbin/ldconfig
+%postun slurmctld
+%systemd_postun_with_restart slurmcltd.service
-%postun devel -p /sbin/ldconfig
-
-%post gui
-/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-
-%postun gui
-if [ $1 -eq 0 ] ; then
- /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
-fi
-
-%posttrans gui
-/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+%post slurmd
+%systemd_post slurmd.service
-%post libs -p /sbin/ldconfig
+%preun slurmd
+%systemd_preun slurmd.service
-%postun libs -p /sbin/ldconfig
+%postun slurmd
+%systemd_postun_with_restart slurmd.service
%post slurmdbd
%systemd_post slurmdbd.service
@@ -752,38 +729,49 @@ fi
%systemd_postun_with_restart slurmdbd.service
%changelog
+* Sat Feb 10 2018 Philip Kovacs <pkdevel@yahoo.com> - 17.11.3-1
+- Release of 17.11 series
+- Re-aligned rpm packaging to be closer to upstream
+- Enabled new slurm native X11 support using ssh2
+- Enabled new shared libslurm for smaller code size
+- Enabled `check` unit testing via check-devel
+- Added environment module support for pmi/slurm
+- Add dependency to pmix
+- Removed gtk-update-icon-cache scriptlets
+- Use new ldconfig_scriptlets macro
+
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 17.02.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Nov 16 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.9-3
-- Added patch to enable full relro builds and operation.
-- Added patch to link knl_generic plugin to libnuma if available.
-- Remove the following cray or bluegene-only plugins:
-- job_container/cncu, select/alps, select/bluegene.
-- Rename slurm_setuser to slurm-setuser.
-- Minor corrections to slurm.conf.
+- Added patch to enable full relro builds and operation
+- Added patch to link knl_generic plugin to libnuma if available
+- Remove the following cray or bluegene-only plugins
+- job_container/cncu, select/alps, select/bluegene
+- Rename slurm_setuser to slurm-setuser
+- Minor corrections to slurm.conf
* Wed Nov 1 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.9-2
-- Correct desktop categories for rpmgrill.desktop-lint.
+- Correct desktop categories for rpmgrill.desktop-lint
* Wed Nov 1 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.9-1
-- Version bump to close CVE-2017-15566.
-- Adjusted patches per closure of upstream bug #3942.
-- Added desktop categories per rpmgrill.desktop-lint.
+- Version bump to close CVE-2017-15566
+- Adjusted patches per closure of upstream bug #3942
+- Added desktop categories per rpmgrill.desktop-lint
* Wed Oct 25 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.8-1
-- Version bump, patches adjusted.
+- Version bump, patches adjusted
* Thu Oct 5 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.7-4
- Patch changes per resolution of upstream bug #4101:
-- salloc/sbatch/srun: must be root to use --uid/--gid options.
-- salloc: supplemental groups dropped after setuid.
+- salloc/sbatch/srun: must be root to use --uid/--gid options
+- salloc: supplemental groups dropped after setuid
* Thu Oct 5 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.7-3
-- Added BuildRequires gcc and minor packaging conformance items.
+- Added BuildRequires gcc and minor packaging conformance items
* Sat Sep 16 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.7-2
-- Removed unneeded Requires(pre).
+- Removed unneeded Requires(pre)
* Thu Sep 14 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.7-1
-- Packaging for Fedora.
+- Packaging for Fedora
diff --git a/slurm_doc_fix.patch b/slurm_doc_fix.patch
index ae4a4da..6a968b9 100644
--- a/slurm_doc_fix.patch
+++ b/slurm_doc_fix.patch
@@ -1,11 +1,13 @@
---- a/doc/man/man5/burst_buffer.conf.5 2017-08-15 23:22:24.333180212 -0400
-+++ b/doc/man/man5/burst_buffer.conf.5 2017-08-15 23:23:45.224298397 -0400
-@@ -31,18 +31,18 @@
+diff --git a/doc/man/man5/burst_buffer.conf.5 b/doc/man/man5/burst_buffer.conf.5
+index 34ee651513..01f47c1383 100644
+--- a/doc/man/man5/burst_buffer.conf.5
++++ b/doc/man/man5/burst_buffer.conf.5
+@@ -31,18 +31,18 @@ The configuration parameters available include:
\fBAllowUsers\fR
Comma separated list of user names and/or IDs permitted to use burst buffers.
The options \fBAllowUsers\fR and \fBDenyUsers\fR can not both be specified.
-By default all users are permitted to use burst buffers.
-+By default all users are permitted to use burst buffers. Possible future
++By default all users are permitted to use burst buffers. Possible future
+enhancement for generic plugin.
-.\ Possible future enhancement for generic plugin
@@ -30,7 +32,7 @@
.TP
\fBCreateBuffer\fR
-@@ -195,8 +195,8 @@
+@@ -193,8 +193,8 @@ By default there is a 5 second timeout for the validation operations.
AllowUsers=alan,brenda
.br
PrivateData=true
@@ -41,3 +43,29 @@
.br
#
.br
+diff --git a/doc/man/man5/slurm.conf.5 b/doc/man/man5/slurm.conf.5
+index 6a9c753f51..56da9b7573 100644
+--- a/doc/man/man5/slurm.conf.5
++++ b/doc/man/man5/slurm.conf.5
+@@ -3434,7 +3434,7 @@
+ \fB\-D\fR command line option) the \fBSlurmdSyslogDebug\fR configuration
+ parameter will be ignored.
+ The default value is \fBquiet\fR unless there is no configured
+-\fBSlurmdLogFile\fR, in which case the default value will be \fBfatal\fR so
++\fBSlurmdLogFile\fR, in which case the default value will be \fBfatal\fRso
+ that fatal errors are logged somewhere.
+
+ .RS
+diff --git a/doc/man/man5/slurmdbd.conf.5 b/doc/man/man5/slurmdbd.conf.5
+index d8e2ebe286..1dc4f789a7 100644
+--- a/doc/man/man5/slurmdbd.conf.5
++++ b/doc/man/man5/slurmdbd.conf.5
+@@ -276,7 +276,7 @@ If the slurmdbd daemon is run in the foreground (started with the \fB\-D\fR
+ command line option) the \fBDebugLevelSyslog\fR configuration parameter
+ will be ignored.
+ The default value is \fBquiet\fR unless there is no configured
+-\fBSlurmdLogFile\fR, in which case the default value will be \fBfatal\bR so
++\fBSlurmdLogFile\fR, in which case the default value will be \fBfatal\bRso
+ that fatal errors are logged somewhere.
+
+ .RS
diff --git a/slurm_knl_numa.patch b/slurm_knl_numa.patch
deleted file mode 100644
index d13a683..0000000
--- a/slurm_knl_numa.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/plugins/node_features/knl_generic/Makefile.am b/src/plugins/node_features/knl_generic/Makefile.am
-index 11da24c075..4633e2de46 100644
---- a/src/plugins/node_features/knl_generic/Makefile.am
-+++ b/src/plugins/node_features/knl_generic/Makefile.am
-@@ -8,7 +8,7 @@ AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/src/common
-
- pkglib_LTLIBRARIES = node_features_knl_generic.la
- node_features_knl_generic_la_SOURCES = node_features_knl_generic.c
--node_features_knl_generic_la_LDFLAGS = $(SO_LDFLAGS) $(PLUGIN_FLAGS)
-+node_features_knl_generic_la_LDFLAGS = $(SO_LDFLAGS) $(NUMA_LIBS) $(PLUGIN_FLAGS)
-
- force:
- $(node_features_knl_generic_la_LIBADD) : force
diff --git a/slurm_libslurmfull_version.patch b/slurm_libslurmfull_version.patch
new file mode 100644
index 0000000..9f65ebf
--- /dev/null
+++ b/slurm_libslurmfull_version.patch
@@ -0,0 +1,27 @@
+diff --git a/src/api/Makefile.am b/src/api/Makefile.am
+index 80c5c60f12..c7334fe9f8 100644
+--- a/src/api/Makefile.am
++++ b/src/api/Makefile.am
+@@ -61,12 +61,7 @@ libpmi_current = 0
+ libpmi_age = 0
+ libpmi_rev = 0
+
+-lib_LTLIBRARIES = libslurm.la libpmi.la
+-
+-# The ABI of libslurmfull can easily change from 1 micro version to another.
+-# To avoid issue we will install this lib alongside the plugins to protect
+-# from version issues.
+-pkglib_LTLIBRARIES = libslurmfull.la
++lib_LTLIBRARIES = libslurm.la libpmi.la libslurmfull.la
+
+ # BUILT_SOURCES tells automake that when "make" is called, these targets
+ # need to be built before anything else. For instance, this takes care
+@@ -156,7 +151,7 @@ libslurmfull_la_SOURCES =
+ libslurmfull_la_LIBADD = $(convenience_libs)
+ libslurmfull_la_LDFLAGS = \
+ $(LIB_LDFLAGS) \
+- -avoid-version \
++ -release $(SLURM_VERSION_STRING) \
+ $(FULL_OTHER_FLAGS)
+ #
+ # The libpmi_la_LIBADD specification below causes libpmi.la to relink
diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch
new file mode 100644
index 0000000..d598016
--- /dev/null
+++ b/slurm_pmix_soname.patch
@@ -0,0 +1,24 @@
+diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c
+index 2d4c5d9dc9..dedb983f92 100644
+--- a/src/plugins/mpi/pmix/mpi_pmix.c
++++ b/src/plugins/mpi/pmix/mpi_pmix.c
+@@ -79,8 +79,10 @@ 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";
+ #endif
+
+ const uint32_t plugin_version = SLURM_VERSION_NUMBER;
+@@ -103,7 +105,7 @@ 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);
+ lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL);
+ xfree(full_path);
+
diff --git a/slurm_service_files.patch b/slurm_service_files.patch
index a164ef4..1f3087b 100644
--- a/slurm_service_files.patch
+++ b/slurm_service_files.patch
@@ -1,17 +1,21 @@
---- a/etc/slurmctld.service.in 2017-08-14 13:48:43.000000000 -0400
-+++ b/etc/slurmctld.service.in 2017-08-21 13:35:26.472209176 -0400
-@@ -8,7 +8,7 @@
+diff --git a/etc/slurmctld.service.in b/etc/slurmctld.service.in
+index ebf92b0da4..d13a653339 100644
+--- a/etc/slurmctld.service.in
++++ b/etc/slurmctld.service.in
+@@ -8,7 +8,7 @@ Type=forking
EnvironmentFile=-/etc/sysconfig/slurmctld
ExecStart=@sbindir@/slurmctld $SLURMCTLD_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
-PIDFile=/var/run/slurmctld.pid
+PIDFile=/var/run/slurm/slurmctld.pid
+ @SYSTEMD_TASKSMAX_OPTION@
[Install]
- WantedBy=multi-user.target
---- a/etc/slurmd.service.in 2017-08-14 13:48:43.000000000 -0400
-+++ b/etc/slurmd.service.in 2017-08-21 14:45:23.485061312 -0400
-@@ -8,7 +8,7 @@
+diff --git a/etc/slurmd.service.in b/etc/slurmd.service.in
+index 2e20bb33a3..263bd8aa77 100644
+--- a/etc/slurmd.service.in
++++ b/etc/slurmd.service.in
+@@ -8,7 +8,7 @@ Type=forking
EnvironmentFile=-/etc/sysconfig/slurmd
ExecStart=@sbindir@/slurmd $SLURMD_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
@@ -20,14 +24,16 @@
KillMode=process
LimitNOFILE=51200
LimitMEMLOCK=infinity
---- a/etc/slurmdbd.service.in 2017-08-14 13:48:43.000000000 -0400
-+++ b/etc/slurmdbd.service.in 2017-08-21 14:47:56.134071820 -0400
-@@ -8,7 +8,7 @@
+diff --git a/etc/slurmdbd.service.in b/etc/slurmdbd.service.in
+index 5f8f73c7f1..a0aede6feb 100644
+--- a/etc/slurmdbd.service.in
++++ b/etc/slurmdbd.service.in
+@@ -8,7 +8,7 @@ Type=forking
EnvironmentFile=-/etc/sysconfig/slurmdbd
ExecStart=@sbindir@/slurmdbd $SLURMDBD_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
-PIDFile=/var/run/slurmdbd.pid
+PIDFile=/var/run/slurm/slurmdbd.pid
+ @SYSTEMD_TASKSMAX_OPTION@
[Install]
- WantedBy=multi-user.target
diff --git a/slurm_weak_symbols.patch b/slurm_weak_symbols.patch
deleted file mode 100644
index 02507e2..0000000
--- a/slurm_weak_symbols.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-diff --git a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c
-index ca0341c1eb..08d7baaa61 100644
---- a/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c
-+++ b/src/plugins/accounting_storage/slurmdbd/accounting_storage_slurmdbd.c
-@@ -60,6 +60,15 @@
-
- #define BUFFER_SIZE 4096
-
-+/* Declare these functions as weak in order to support full relro builds. */
-+#if defined(__GNUC__) && defined(__ELF__)
-+/* TEST_CASE: sacct vs slurmctld */
-+void build_array_str(struct job_record *job_ptr) __attribute__((weak));
-+struct job_record *find_job_record(uint32_t job_id) __attribute__((weak));
-+void lock_slurmctld (slurmctld_lock_t lock_levels) __attribute__((weak));
-+void unlock_slurmctld (slurmctld_lock_t lock_levels) __attribute__((weak));
-+#endif
-+
- /* These are defined here so when we link with something other than
- * the slurmctld we will have these symbols defined. They will get
- * overwritten when linking with the slurmctld.
-diff --git a/src/plugins/jobacct_gather/cgroup/jobacct_gather_cgroup.h b/src/plugins/jobacct_gather/cgroup/jobacct_gather_cgroup.h
-index 33f9bcb05e..7bbd99f93d 100644
---- a/src/plugins/jobacct_gather/cgroup/jobacct_gather_cgroup.h
-+++ b/src/plugins/jobacct_gather/cgroup/jobacct_gather_cgroup.h
-@@ -39,6 +39,9 @@
- * Copyright (C) 2002 The Regents of the University of California.
- \*****************************************************************************/
-
-+#ifndef __JOBACCT_GATHER_CGROUP_H__
-+#define __JOBACCT_GATHER_CGROUP_H__
-+
- #include "src/common/slurm_jobacct_gather.h"
- #include "src/common/xcgroup_read_config.h"
- #include "src/slurmd/common/xcgroup.h"
-@@ -76,3 +79,31 @@ extern int jobacct_gather_cgroup_memory_attach_task(
- /* pid_t pid, jobacct_id_t *jobacct_id); */
-
- extern char* jobacct_cgroup_create_slurm_cg (xcgroup_ns_t* ns);
-+
-+/* Declare these functions as weak in order to support full relro builds. */
-+#if defined(__GNUC__) && defined(__ELF__)
-+/* TEST_CASE: slurmctld vs slurmd */
-+int xcgroup_add_pids(xcgroup_t* cg, pid_t* pids, int npids)
-+ __attribute__((weak));
-+int xcgroup_create(xcgroup_ns_t* cgns, xcgroup_t* cg,
-+ char* uri, uid_t uid, gid_t gid) __attribute__((weak));
-+int xcgroup_delete(xcgroup_t* cg) __attribute__((weak));
-+void xcgroup_destroy(xcgroup_t* cg) __attribute__((weak));
-+int xcgroup_get_param(xcgroup_t* cg, char* param, char **content,
-+ size_t *csize) __attribute__((weak));
-+int xcgroup_ns_create(slurm_cgroup_conf_t *conf,
-+ xcgroup_ns_t* cgns, char* mnt_args, char* subsys)
-+ __attribute__((weak));
-+int xcgroup_instantiate(xcgroup_t* cg) __attribute__((weak));
-+int xcgroup_lock(xcgroup_t* cg) __attribute__((weak));
-+void xcgroup_ns_destroy(xcgroup_ns_t* cgns) __attribute__((weak));
-+int xcgroup_set_param(xcgroup_t* cg, char* parameter, char* content)
-+ __attribute__((weak));
-+int xcgroup_set_uint32_param(xcgroup_t* cg, char* parameter, uint32_t value)
-+ __attribute__((weak));
-+int xcgroup_unlock(xcgroup_t* cg) __attribute__((weak));
-+int xcpuinfo_fini(void) __attribute__((weak));
-+int xcpuinfo_init(void) __attribute__((weak));
-+#endif
-+
-+#endif /* __JOBACCT_GATHER_CGROUP_H__ */
-diff --git a/src/plugins/jobacct_gather/common/common_jag.h b/src/plugins/jobacct_gather/common/common_jag.h
-index eff761638e..6a28a40af2 100644
---- a/src/plugins/jobacct_gather/common/common_jag.h
-+++ b/src/plugins/jobacct_gather/common/common_jag.h
-@@ -74,4 +74,11 @@ extern void jag_common_poll_data(
- List task_list, bool pgid_plugin, uint64_t cont_id,
- jag_callbacks_t *callbacks, bool profile);
-
-+/* Declare these functions as weak in order to support full relro builds. */
-+#if defined(__GNUC__) && defined(__ELF__)
-+/* TEST_CASE: slurmctld vs slurmd */
-+int proctrack_g_get_pids(uint64_t cont_id, pid_t **pids, int *npids)
-+ __attribute__((weak));
-+#endif
-+
- #endif
-diff --git a/src/plugins/node_features/knl_generic/node_features_knl_generic.c b/src/plugins/node_features/knl_generic/node_features_knl_generic.c
-index f87a685bfc..fb6b879896 100644
---- a/src/plugins/node_features/knl_generic/node_features_knl_generic.c
-+++ b/src/plugins/node_features/knl_generic/node_features_knl_generic.c
-@@ -113,6 +113,12 @@
- #define DEFAULT_MCDRAM_SIZE ((uint64_t) 16 * 1024 * 1024 * 1024)
- #endif
-
-+/* Declare these functions as weak in order to support full relro builds. */
-+#if defined(__GNUC__) && defined(__ELF__)
-+/* TEST_CASE: slurmctld vs slurmd */
-+int ume_notify(void) __attribute__((weak));
-+#endif
-+
- /* These are defined here so when we link with something other than
- * the slurmctld we will have these symbols defined. They will get
- * overwritten when linking with the slurmctld.
-diff --git a/src/plugins/select/cons_res/select_cons_res.h b/src/plugins/select/cons_res/select_cons_res.h
-index 0038d1c075..356a17950c 100644
---- a/src/plugins/select/cons_res/select_cons_res.h
-+++ b/src/plugins/select/cons_res/select_cons_res.h
-@@ -122,4 +122,15 @@ extern void cr_sort_part_rows(struct part_res_record *p_ptr);
- extern uint32_t cr_get_coremap_offset(uint32_t node_index);
- extern int cr_cpus_per_core(struct job_details *details, int node_inx);
-
-+/* Declare these functions as weak in order to support full relro builds. */
-+#if defined(__GNUC__) && defined(__ELF__)
-+/* TEST_CASE: slurmd vs srun */
-+int drain_nodes(char *nodes, char *reason, uint32_t reason_uid)
-+ __attribute__((weak));
-+uint32_t powercap_get_cluster_current_cap(void) __attribute__((weak));
-+uint16_t slurm_job_preempt_mode(struct job_record *job_ptr)
-+ __attribute__((weak));
-+int which_power_layout(void) __attribute__((weak));
-+#endif
-+
- #endif /* !_CONS_RES_H */
-diff --git a/src/plugins/select/linear/select_linear.h b/src/plugins/select/linear/select_linear.h
-index a9b3bd2bf3..f06f580ccc 100644
---- a/src/plugins/select/linear/select_linear.h
-+++ b/src/plugins/select/linear/select_linear.h
-@@ -83,4 +83,11 @@ struct cr_record {
- uint16_t tot_job_len; /* length of tot_job_ids array */
- };
-
-+/* Declare these functions as weak in order to support full relro builds. */
-+#if defined(__GNUC__) && defined(__ELF__)
-+/* TEST_CASE: slurmd vs srun */
-+uint16_t slurm_job_preempt_mode(struct job_record *job_ptr)
-+ __attribute__((weak));
-+#endif
-+
- #endif /* !_SELECT_LINEAR_H */
-diff --git a/src/plugins/select/serial/select_serial.h b/src/plugins/select/serial/select_serial.h
-index e88c49850b..7bea876bd1 100644
---- a/src/plugins/select/serial/select_serial.h
-+++ b/src/plugins/select/serial/select_serial.h
-@@ -111,4 +111,13 @@ extern struct node_use_record *select_node_usage;
- extern void cr_sort_part_rows(struct part_res_record *p_ptr);
- extern uint32_t cr_get_coremap_offset(uint32_t node_index);
-
-+/* Declare these functions as weak in order to support full relro builds. */
-+#if defined(__GNUC__) && defined(__ELF__)
-+/* TEST_CASE: slurmd vs srun */
-+int drain_nodes(char *nodes, char *reason, uint32_t reason_uid)
-+ __attribute__((weak));
-+uint16_t slurm_job_preempt_mode(struct job_record *job_ptr)
-+ __attribute__((weak));
-+#endif
-+
- #endif /* !_SELECT_SERIAL_H */
diff --git a/slurmdbd.conf b/slurmdbd.conf
index 32eb78f..edcb4a8 100644
--- a/slurmdbd.conf
+++ b/slurmdbd.conf
@@ -13,18 +13,25 @@
AuthType=auth/munge
#AuthInfo=/var/run/munge/munge.socket.2
#
-# slurmDBD info
-DbdAddr=localhost
-DbdHost=localhost
-#DbdPort=7031
-SlurmUser=root
-#MessageTimeout=300
+# slurmdbd info
DebugLevel=4
#DefaultQOS=normal,standby
+DbdAddr=localhost
+DbdHost=localhost
+#DbdPort=6819
#LogFile=
+#MessageTimeout=300
PidFile=/var/run/slurm/slurmdbd.pid
#PluginDir=
#PrivateData=accounts,users,usage,jobs
+PurgeEventAfter=1month
+PurgeJobAfter=1month
+PurgeResvAfter=1month
+PurgeStepAfter=1month
+PurgeSuspendAfter=1month
+PurgeTXNAfter=1month
+PurgeUsageAfter=1month
+SlurmUser=root
#TrackWCKey=yes
#
# Database info
@@ -32,6 +39,6 @@ StorageType=accounting_storage/mysql
#StorageHost=localhost
#StoragePort=1234
StoragePass=password
-StorageUser=slurm
+StorageUser=root
#StorageLoc=slurm_acct_db
diff --git a/sources b/sources
index f90903c..66ed738 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (slurm-17.02.9.tar.bz2) = 9a0b502a16b1fe61fd42ef92cb9cdc0eaa5abb4e9a3b0b6d87337ca0597223c4e132632f22b13a4a5109c03a3f422dd49df6421b637c446973e6d521fb23075c
+SHA512 (slurm-17.11.3-2.tar.bz2) = 38a8edd09fe24f08e712a296a1ecb34e207daacdf0e8f57444e35d0329e6b26ecb7f34fecbcc8f46c40df37adf40a1c1d33f2bdb5c48d5882de5b8dfaf5a5b9c
reply other threads:[~2026-07-22 7:54 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178470689261.1.11879820772857033202.rpms-slurm-bff578d171f3@fedoraproject.org \
--to=pkdevel@yahoo.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox