bff578d
# Upstream tarballs use an additional release number
9ce5ef6
%global ups_rel 1
bff578d
bff578d
%if "%{ups_rel}" == "1"
bff578d
%global name_version %{name}-%{version}
bff578d
%else
bff578d
%global name_version %{name}-%{version}-%{ups_rel}
bff578d
%endif
bff578d
7629b59
# follow arch-inclusions for ucx
7629b59
%ifarch aarch64 ppc64le x86_64
7629b59
%bcond_without ucx
7629b59
%else
7629b59
%bcond_with ucx
7629b59
%endif
7629b59
9be8f28
Name:           slurm
b927c61
Version:        22.05.6
f908bf9
Release:        4%{?dist}
9be8f28
Summary:        Simple Linux Utility for Resource Management
9be8f28
License:        GPLv2 and BSD
9be8f28
URL:            https://slurm.schedmd.com/
9ce5ef6
Source0:        https://download.schedmd.com/slurm/%{name_version}.tar.bz2
9be8f28
Source1:        slurm.conf
9be8f28
Source2:        slurmdbd.conf
9be8f28
Source3:        slurm-sview.desktop
9be8f28
Source4:        slurm-128x128.png
1756229
Source5:        slurm-setuser.in
1756229
b42ab10
# Release-style versioning of libslurmfull/libslurm_pmi
b42ab10
Patch0:         slurm_release_version.patch
1756229
bff578d
# Build-related patches
9ce5ef6
Patch10:        slurm_check_version.patch
1756229
Patch11:        slurm_html_doc_path.patch
9ce5ef6
Patch12:        slurm_perlapi_rpaths.patch
9be8f28
b42ab10
# Other patches
acac118
# https://bugs.schedmd.com/show_bug.cgi?id=14868
9ce5ef6
Patch20:        slurm_runtime_linking.patch
188ee2f
Patch21:        slurm_to_python3.patch
bff578d
bff578d
BuildRequires:  autoconf
bff578d
BuildRequires:  automake
9ce5ef6
BuildRequires:  dbus-devel
bff578d
BuildRequires:  desktop-file-utils
bff578d
BuildRequires:  gcc
44b9f7f
BuildRequires:  make
9ce5ef6
BuildRequires:  man2html
0015ada
BuildRequires:  perl-devel
bff578d
BuildRequires:  perl-ExtUtils-MakeMaker
cb4fce9
BuildRequires:  perl-interpreter
4cbbdc9
BuildRequires:  perl-generators
bff578d
BuildRequires:  perl-podlators
acac118
%if (0%{?epel} != 7)
bff578d
BuildRequires:  pkgconf
2b29bd3
%else
2b29bd3
BuildRequires:  pkgconfig
2b29bd3
%endif
bff578d
BuildRequires:  pkgconfig(check)
7629b59
BuildRequires:  pkgconfig(lua)
0015ada
BuildRequires:  python3
bff578d
BuildRequires:  systemd
9be8f28
7629b59
BuildRequires:  freeipmi-devel
7629b59
BuildRequires:  gtk2-devel
9be8f28
BuildRequires:  hdf5-devel
7629b59
BuildRequires:  hwloc-devel
7629b59
BuildRequires:  libcurl-devel
7629b59
BuildRequires:  libssh2-devel
7629b59
BuildRequires:  lz4-devel
7629b59
BuildRequires:  mariadb-devel
7629b59
BuildRequires:  munge-devel
b927c61
# numctl-devel not available in el9 for arch s390x (#2099483);
b927c61
# task/affinity plugin won't be available in el9 for arch s390x
b927c61
%if (0%{?epel} != 9) || ("%{_arch}" != "s390x")
8a8ef77
BuildRequires:  numactl-devel
b927c61
%endif
bff578d
BuildRequires:  pam-devel
7629b59
BuildRequires:  pmix-devel
8a8ef77
BuildRequires:  rdma-core-devel
7629b59
BuildRequires:  readline-devel
7629b59
BuildRequires:  rrdtool-devel
7629b59
BuildRequires:  zlib-devel
9be8f28
2b29bd3
%if 0%{?fedora} && %{with ucx}
7629b59
BuildRequires:  ucx-devel
9be8f28
%endif
9be8f28
acac118
# create slurm-slurmrestd package for Fedora >= 34 and EPEL7/8/9
9ce5ef6
%if (0%{?fedora} >= 34) || (0%{?epel} >= 7)
1f0342a
BuildRequires:  http-parser-devel
2b29bd3
BuildRequires:  json-c-devel
2b29bd3
BuildRequires:  libjwt-devel
2b29bd3
BuildRequires:  libyaml-devel
1f0342a
%endif
1f0342a
8cb979f
# exclude upstream-deprecated 32-bit architectures
8cb979f
ExcludeArch:    armv7hl
8cb979f
ExcludeArch:    i686
8cb979f
60dbeaf
Requires:       /bin/mailx
9be8f28
Requires:       munge
7629b59
Requires:       pmix
2b29bd3
%if 0%{?fedora} && %{with ucx}
8a8ef77
Requires:       ucx
8a8ef77
%endif
a3fb7f2
%{?systemd_requires}
bff578d
9be8f28
%description
9be8f28
Slurm is an open source, fault-tolerant, and highly scalable
a3fb7f2
cluster management and job scheduling system for Linux clusters.
a3fb7f2
Components include machine status, partition management,
a3fb7f2
job management, scheduling and accounting modules.
9be8f28
9be8f28
# -------------
9be8f28
# Base Packages
9be8f28
# -------------
9be8f28
9be8f28
%package devel
a3fb7f2
Summary: Development package for Slurm
9be8f28
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
9be8f28
%description devel
a3fb7f2
Development package for Slurm.  This package includes the header files
a3fb7f2
and libraries for the Slurm API.
9be8f28
9be8f28
%package doc
9be8f28
Summary: Slurm documentation
9be8f28
%description doc
9be8f28
Documentation package for Slurm.  Includes documentation and
9be8f28
html-based configuration tools for Slurm.
9be8f28
9be8f28
%package gui
9be8f28
Summary: Slurm gui and visual tools
9be8f28
Requires: %{name}%{?_isa} = %{version}-%{release}
9be8f28
%description gui
d315fda
This package contains the Slurm visual tool sview and
d315fda
its respective man pages.
9be8f28
9be8f28
%package libs
9be8f28
Summary: Slurm shared libraries
9be8f28
%description libs
9be8f28
Slurm shared libraries.
9be8f28
bff578d
%package rrdtool
9be8f28
Summary: Slurm rrdtool external sensor plugin
bff578d
Requires: %{name}%{?_isa} = %{version}-%{release}
bff578d
%description rrdtool
9be8f28
Slurm external sensor plugin for rrdtool. This package is separated from
9be8f28
the base plugins package due to gui dependencies which are unneeded if not
9be8f28
using this plugin.
9be8f28
bff578d
%package slurmctld
bff578d
Summary: Slurm controller daemon
bff578d
Requires: %{name}%{?_isa} = %{version}-%{release}
bff578d
%description slurmctld
bff578d
Slurm controller daemon. Used to manage the job queue, schedule jobs,
bff578d
and dispatch RPC messages to the slurmd processon the compute nodes
bff578d
to launch jobs.
bff578d
bff578d
%package slurmd
bff578d
Summary: Slurm compute node daemon
bff578d
Requires: %{name}%{?_isa} = %{version}-%{release}
bff578d
%description slurmd
bff578d
Slurm compute node daemon. Used to launch jobs on compute nodes
bff578d
9be8f28
%package slurmdbd
9be8f28
Summary: Slurm database daemon
bff578d
Requires: %{name}%{?_isa} = %{version}-%{release}
9be8f28
%description slurmdbd
9be8f28
Slurm database daemon. Used to accept and process database RPCs and upload
9be8f28
database changes to slurmctld daemons on each cluster.
9be8f28
9ce5ef6
%if (0%{?fedora} >= 34) || (0%{?epel} >= 7)
1f0342a
%package slurmrestd
1f0342a
Summary: Slurm REST API deamon
1f0342a
Requires: %{name}%{?_isa} = %{version}-%{release}
1f0342a
%description slurmrestd
1f0342a
Slurm REST API daemon.  The slurmrestd daemon is designed to allow clients
1f0342a
to communicate with Slurm via a REST API.
2b29bd3
%endif
1f0342a
9be8f28
# -----------------
9be8f28
# Contribs Packages
9be8f28
# -----------------
9be8f28
9be8f28
%package contribs
9be8f28
Summary: Perl tools to print Slurm job state information
9be8f28
Requires: %{name}-perlapi%{?_isa} = %{version}-%{release}
9be8f28
%description contribs
9be8f28
Slurm contribution package which includes the programs seff,
9be8f28
sjobexitmod, sjstat and smail.  See their respective man pages
9be8f28
for more information.
9be8f28
b8cc3a5
%package nss_slurm
b8cc3a5
Summary: NSS plugin for slurm
b8cc3a5
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
b8cc3a5
%description nss_slurm
b8cc3a5
nss_slurm is an optional NSS plugin that can permit passwd and group resolution
b8cc3a5
for a job on the compute node to be serviced through the local slurmstepd
b8cc3a5
process, rather than through some alternate network-based service such as LDAP,
b8cc3a5
SSSD, or NSLCD.
b8cc3a5
9be8f28
%package openlava
9be8f28
Summary: Openlava/LSF wrappers for transition from OpenLava/LSF to Slurm
9be8f28
Requires: %{name}-perlapi%{?_isa} = %{version}-%{release}
9be8f28
%description openlava
9be8f28
OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm.
9be8f28
bff578d
%package pam_slurm
a3fb7f2
Summary: PAM module for restricting access to compute nodes via Slurm
9be8f28
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
bff578d
%description pam_slurm
a3fb7f2
This module restricts access to compute nodes in a cluster where Slurm
a3fb7f2
is in use.  Access is granted to root, any user with a Slurm-launched job
a3fb7f2
currently running on the node, or any user who has allocated resources
a3fb7f2
on the node according to Slurm.
9be8f28
0ff89d1
%package perlapi
0ff89d1
Summary: Perl API to Slurm
0ff89d1
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
0ff89d1
%description perlapi
0ff89d1
Perl API package for Slurm.  This package includes the perl API to provide a
0ff89d1
helpful interface to Slurm through Perl.
0ff89d1
9be8f28
%package torque
9be8f28
Summary: Torque/PBS wrappers for transition from Torque/PBS to Slurm
bff578d
Requires: %{name}%{?_isa} = %{version}-%{release}
9be8f28
Requires: %{name}-perlapi%{?_isa} = %{version}-%{release}
9be8f28
%description torque
9be8f28
Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm.
9be8f28
9be8f28
%prep
9262a5d
%autosetup -p1 -n %{name_version}
9be8f28
cp %SOURCE1 etc/slurm.conf
9be8f28
cp %SOURCE1 etc/slurm.conf.example
9be8f28
cp %SOURCE2 etc/slurmdbd.conf
9be8f28
cp %SOURCE2 etc/slurmdbd.conf.example
9be8f28
mkdir -p share/applications
9be8f28
mkdir -p share/icons/hicolor/128x128/apps
9be8f28
cp %SOURCE3 share/applications/%{name}-sview.desktop
9be8f28
cp %SOURCE4 share/icons/hicolor/128x128/apps/%{name}.png
9be8f28
mkdir -p extras
bff578d
cp %SOURCE5 extras/%{name}-setuser.in
9be8f28
9be8f28
%build
a4e1fab
aclocal -I auxdir
a4e1fab
autoconf
a4e1fab
automake --no-force
4bfe5d8
# use -fcommon for gcc 10 to avoid multiple definition errors
4bfe5d8
export CFLAGS="%{build_cflags} -fcommon"
0015ada
# use -z lazy to allow dlopen with unresolved symbols
1ffcf5e
export LDFLAGS="%{build_ldflags} -Wl,-z,lazy"
9be8f28
%configure \
9be8f28
  --prefix=%{_prefix} \
9be8f28
  --sysconfdir=%{_sysconfdir}/%{name} \
9be8f28
  --with-pam_dir=%{_libdir}/security \
2b29bd3
%if 0%{?fedora} && %{with ucx}
8a8ef77
  --with-ucx=%{_prefix} \
8a8ef77
%endif
9ce5ef6
  --enable-pam \
9ce5ef6
  --enable-really-no-cray \
9be8f28
  --enable-shared \
bff578d
  --enable-x11 \
9be8f28
  --disable-static \
9be8f28
  --disable-debug \
9be8f28
  --disable-salloc-background \
9be8f28
  --disable-partial_attach \
9ce5ef6
  --with-oneapi=no \
bff578d
  --with-shared-libslurm \
bff578d
  --without-rpath
9be8f28
# patch libtool to remove rpaths
9be8f28
sed -i 's|^hardcode_into_libs=.*|hardcode_into_libs=no|g' libtool
bff578d
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
bff578d
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
9be8f28
bff578d
# configure extras/slurm-setuser script
9be8f28
sed -r '
9be8f28
s|^dir_conf=.*|dir_conf="%{_sysconfdir}/%{name}"|g;
9be8f28
s|^dir_log=.*|dir_log="%{_var}/log/%{name}"|g;
9be8f28
s|^dir_run=.*|dir_run="%{_rundir}/%{name}"|g;
9be8f28
s|^dir_spool=.*|dir_spool="%{_var}/spool/%{name}"|g;
9be8f28
s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \
bff578d
    extras/%{name}-setuser.in > extras/%{name}-setuser
9be8f28
9be8f28
# build base packages
1173b39
%make_build
9be8f28
9be8f28
# build contribs packages
9be8f28
# INSTALLDIRS=vendor so perlapi goes to vendor_perl directory
1173b39
%make_build PERL_MM_PARAMS="INSTALLDIRS=vendor" contrib
9be8f28
9be8f28
%check
bff578d
# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library
bff578d
# in the build tree.
d2a9192
%make_build LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" check
9be8f28
9be8f28
%install
9be8f28
%make_install
d2a9192
%make_build DESTDIR=%{buildroot} install-contrib
9be8f28
9be8f28
install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -d -m 0755 %{buildroot}%{_unitdir}
9be8f28
install -m 0644 -p etc/cgroup.conf.example \
9be8f28
    %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -m 0644 -p etc/cgroup.conf.example \
9be8f28
    %{buildroot}%{_sysconfdir}/%{name}/cgroup.conf
9be8f28
install -m 0644 -p etc/slurm.conf %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -m 0644 -p etc/slurm.conf.example %{buildroot}%{_sysconfdir}/%{name}
56a8b89
install -m 0600 -p etc/slurmdbd.conf %{buildroot}%{_sysconfdir}/%{name}
56a8b89
install -m 0600 -p etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -m 0644 -p etc/slurmctld.service %{buildroot}%{_unitdir}
9be8f28
install -m 0644 -p etc/slurmd.service %{buildroot}%{_unitdir}
9be8f28
install -m 0644 -p etc/slurmdbd.service %{buildroot}%{_unitdir}
1f0342a
install -m 0644 -p etc/slurmrestd.service %{buildroot}%{_unitdir}
9be8f28
9be8f28
# tmpfiles.d file for creating /run/slurm dir after reboot
9be8f28
install -d -m 0755 %{buildroot}%{_tmpfilesdir}
bff578d
cat  >%{buildroot}%{_tmpfilesdir}/%{name}.conf <
9be8f28
D %{_rundir}/%{name} 0755 root root -
9be8f28
EOF
9be8f28
bff578d
# logrotate.d file for /var/log/slurm logging
9be8f28
install -d -m 0755 %{buildroot}%{_var}/log/%{name}
9be8f28
install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d
9be8f28
cat >%{buildroot}%{_sysconfdir}/logrotate.d/%{name} <
08b8e5e
%{_var}/log/%{name}/*.log {
9be8f28
    missingok
9be8f28
    notifempty
9be8f28
    copytruncate
9be8f28
    rotate 5
9be8f28
}
9be8f28
EOF
9be8f28
9be8f28
# /var/run/slurm, /var/spool/slurm dirs, (ghost) pid files
9be8f28
install -d -m 0755 %{buildroot}%{_rundir}/%{name}
9be8f28
install -d -m 0755 %{buildroot}%{_var}/spool/%{name}/ctld
9be8f28
install -d -m 0755 %{buildroot}%{_var}/spool/%{name}/d
9be8f28
touch %{buildroot}%{_rundir}/%{name}/slurmctld.pid
9be8f28
touch %{buildroot}%{_rundir}/%{name}/slurmd.pid
9be8f28
touch %{buildroot}%{_rundir}/%{name}/slurmdbd.pid
9be8f28
bff578d
# install desktop file for sview GTK+ program
9be8f28
desktop-file-install \
9be8f28
    --dir=%{buildroot}%{_datadir}/applications \
9be8f28
    share/applications/%{name}-sview.desktop
9be8f28
bff578d
# install desktop icon for sview GTK+ program
9be8f28
install -d -m 0755 %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
9be8f28
install -m 0644 share/icons/hicolor/128x128/apps/%{name}.png \
9be8f28
    %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
9be8f28
1756229
# install the extras/slurm-setuser script
bff578d
install -m 0755 extras/%{name}-setuser \
bff578d
    %{buildroot}%{_bindir}/%{name}-setuser
bff578d
9be8f28
install -m 0755 contribs/sjstat %{buildroot}%{_bindir}/sjstat
9be8f28
9be8f28
# fix perms on these files so debug info is extracted without error
9be8f28
chmod 0755 %{buildroot}%{perl_vendorarch}/auto/Slurm/Slurm.so
9be8f28
chmod 0755 %{buildroot}%{perl_vendorarch}/auto/Slurmdb/Slurmdb.so
9be8f28
9be8f28
# build man pages for contribs perl scripts
9be8f28
for prog in sjobexitmod sjstat mpiexec pbsnodes qalter qdel qhold qrerun qrls \
9be8f28
    qstat qsub bjobs bkill bsub lsid
9be8f28
do
9be8f28
    rm -f %{buildroot}%{_mandir}/man1/${prog}.1
9be8f28
    pod2man %{buildroot}%{_bindir}/${prog} > %{buildroot}%{_mandir}/man1/${prog}.1
9be8f28
done
9be8f28
9be8f28
# contribs docs
9be8f28
install -d -m 0755 %{buildroot}%{_docdir}/%{name}/contribs/lua
9be8f28
install -m 0644 contribs/README %{buildroot}%{_docdir}/%{name}/contribs
b8cc3a5
install -m 0644 contribs/lua/*.lua %{buildroot}%{_docdir}/%{name}/contribs/lua
9be8f28
9be8f28
# remove libtool archives
9be8f28
find %{buildroot} -name \*.a -o -name \*.la | xargs rm -f
188ee2f
# remove libslurmfull, libslurm_pmi symlinks (non-development, internal libraries)
bff578d
rm -rf %{buildroot}%{_libdir}/libslurmfull.so
188ee2f
rm -rf %{buildroot}%{_libdir}/libslurm_pmi.so
bff578d
# remove auth_none plugin
bff578d
rm -f %{buildroot}%{_libdir}/%{name}/auth_none.so
9be8f28
# remove example plugins
9be8f28
rm -f %{buildroot}%{_libdir}/%{name}/job_submit_defaults.so
9be8f28
rm -f %{buildroot}%{_libdir}/%{name}/job_submit_logging.so
9be8f28
rm -f %{buildroot}%{_libdir}/%{name}/job_submit_partition.so
9be8f28
# remove cray files
9ce5ef6
rm -f %{buildroot}%{_libdir}/%{name}/*datawarp*.so
9ce5ef6
rm -f %{buildroot}%{_libdir}/%{name}/*cray*.so
9be8f28
rm -f %{buildroot}%{_mandir}/man5/cray*
9ce5ef6
rm -f %{buildroot}%{_sbindir}/capmc*
9ce5ef6
rm -f %{buildroot}%{_sbindir}/slurmsmwd*
9be8f28
# remove perl cruft
9be8f28
rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/.packlist
9be8f28
rm -f %{buildroot}%{perl_vendorarch}/auto/Slurm*/Slurm*.bs
9be8f28
rm -f %{buildroot}%{perl_archlib}/perllocal.pod
2b29bd3
%if 0%{?fedora} && (0%{?fedora} < 34)
2b29bd3
# remove unused slurmrestd service file
2b29bd3
rm -f %{buildroot}%{_unitdir}/slurmrestd.service
2b29bd3
%endif
9be8f28
0015ada
%ldconfig_scriptlets devel
0015ada
%ldconfig_scriptlets libs
9be8f28
9be8f28
# -----
9be8f28
# Slurm
9be8f28
# -----
9be8f28
9be8f28
%files
9be8f28
%doc CONTRIBUTING.md DISCLAIMER META NEWS README.rst RELEASE_NOTES
9be8f28
%license COPYING LICENSE.OpenSSL
bff578d
%dir %{_libdir}/%{name}
bff578d
%dir %{_rundir}/%{name}
9be8f28
%dir %{_sysconfdir}/%{name}
bff578d
%dir %{_var}/log/%{name}
bff578d
%dir %{_var}/spool/%{name}
bff578d
%dir %{_var}/spool/%{name}/ctld
bff578d
%dir %{_var}/spool/%{name}/d
0865bd9
%config(noreplace) %{_sysconfdir}/%{name}/cgroup.conf
9be8f28
%config(noreplace) %{_sysconfdir}/%{name}/slurm.conf
08b8e5e
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
2baafbc
%{_bindir}/sacct
2baafbc
%{_bindir}/sacctmgr
2baafbc
%{_bindir}/salloc
2baafbc
%{_bindir}/sattach
2baafbc
%{_bindir}/sbatch
2baafbc
%{_bindir}/sbcast
2baafbc
%{_bindir}/scancel
2baafbc
%{_bindir}/scontrol
2baafbc
%{_bindir}/scrontab
2baafbc
%{_bindir}/sdiag
2baafbc
%{_bindir}/sh5util
2baafbc
%{_bindir}/sinfo
2baafbc
%{_bindir}/sprio
2baafbc
%{_bindir}/squeue
2baafbc
%{_bindir}/sreport
2baafbc
%{_bindir}/srun
2baafbc
%{_bindir}/sshare
2baafbc
%{_bindir}/sstat
2baafbc
%{_bindir}/strigger
bff578d
%{_bindir}/%{name}-setuser
2baafbc
%{_libdir}/%{name}/accounting_storage_*.so
2baafbc
%{_libdir}/%{name}/acct_gather_*.so
9ce5ef6
%if (0%{?fedora} >= 34) || (0%{?epel} >= 7)
90d6383
%{_libdir}/%{name}/auth_jwt.so
90d6383
%endif
2baafbc
%{_libdir}/%{name}/auth_munge.so
1c41f4b
%{_libdir}/%{name}/burst_buffer_lua.so
1c41f4b
%{_libdir}/%{name}/cgroup_v1.so
9ce5ef6
%{_libdir}/%{name}/cgroup_v2.so
2baafbc
%{_libdir}/%{name}/cli_filter_*.so
2baafbc
%{_libdir}/%{name}/core_spec_none.so
2baafbc
%{_libdir}/%{name}/cred_*.so
2baafbc
%{_libdir}/%{name}/ext_sensors_none.so
2baafbc
%{_libdir}/%{name}/gres_*.so
2baafbc
%{_libdir}/%{name}/gpu_generic.so
85fdf97
%{_libdir}/%{name}/hash_k12.so
2baafbc
%{_libdir}/%{name}/job_container_*.so
2baafbc
%{_libdir}/%{name}/job_submit_*.so
2baafbc
%{_libdir}/%{name}/jobacct_gather_*.so
2baafbc
%{_libdir}/%{name}/jobcomp_*.so
2baafbc
%{_libdir}/%{name}/launch_slurm.so
2baafbc
%{_libdir}/%{name}/mcs_*.so
2baafbc
%{_libdir}/%{name}/mpi_*.so
1c41f4b
%{_libdir}/%{name}/node_features_*.so
2baafbc
%{_libdir}/%{name}/power_none.so
2baafbc
%{_libdir}/%{name}/preempt_*.so
2baafbc
%{_libdir}/%{name}/prep_script.so
2baafbc
%{_libdir}/%{name}/priority_*.so
2baafbc
%{_libdir}/%{name}/proctrack_*.so
2baafbc
%{_libdir}/%{name}/route_*.so
2baafbc
%{_libdir}/%{name}/sched_*.so
2baafbc
%{_libdir}/%{name}/select_*.so
1c41f4b
%{_libdir}/%{name}/serializer_*.so
2baafbc
%{_libdir}/%{name}/site_factor_none.so
2baafbc
%{_libdir}/%{name}/slurmctld_nonstop.so
2baafbc
%{_libdir}/%{name}/switch_*.so
2baafbc
%{_libdir}/%{name}/task_*.so
2baafbc
%{_libdir}/%{name}/topology_*.so
2baafbc
%{_mandir}/man1/sacct.1*
2baafbc
%{_mandir}/man1/sacctmgr.1*
2baafbc
%{_mandir}/man1/salloc.1*
2baafbc
%{_mandir}/man1/sattach.1*
2baafbc
%{_mandir}/man1/sbatch.1*
2baafbc
%{_mandir}/man1/sbcast.1*
2baafbc
%{_mandir}/man1/scancel.1*
2baafbc
%{_mandir}/man1/scontrol.1*
2baafbc
%{_mandir}/man1/scrontab.1*
2baafbc
%{_mandir}/man1/sdiag.1*
2baafbc
%{_mandir}/man1/sh5util.1*
2baafbc
%{_mandir}/man1/sinfo.1*
2baafbc
%{_mandir}/man1/slurm.1*
2baafbc
%{_mandir}/man1/sprio.1*
2baafbc
%{_mandir}/man1/squeue.1*
2baafbc
%{_mandir}/man1/sreport.1*
2baafbc
%{_mandir}/man1/srun.1*
2baafbc
%{_mandir}/man1/sshare.1*
2baafbc
%{_mandir}/man1/sstat.1*
2baafbc
%{_mandir}/man1/strigger.1*
2baafbc
%{_mandir}/man5/acct_gather.conf.5*
2baafbc
%{_mandir}/man5/burst_buffer.conf.5*
2baafbc
%{_mandir}/man5/cgroup.conf.5*
2baafbc
%{_mandir}/man5/ext_sensors.conf.5*
2baafbc
%{_mandir}/man5/gres.conf.5*
7519167
%{_mandir}/man5/helpers.conf.5*
948cbb1
%{_mandir}/man5/job_container.conf.5*
2baafbc
%{_mandir}/man5/knl.conf.5*
9ce5ef6
%{_mandir}/man5/mpi.conf.5*
2baafbc
%{_mandir}/man5/nonstop.conf.5*
1c41f4b
%{_mandir}/man5/oci.conf.5*
2baafbc
%{_mandir}/man5/slurm.conf.5*
2baafbc
%{_mandir}/man5/topology.conf.5*
2baafbc
%{_mandir}/man8/slurmrestd.8*
2baafbc
%{_mandir}/man8/spank.8*
bff578d
%{_sysconfdir}/%{name}/cgroup*.conf.example
bff578d
%{_sysconfdir}/%{name}/slurm.conf.example
bff578d
%{_tmpfilesdir}/slurm.conf
9be8f28
9be8f28
# -----------
9be8f28
# Slurm-devel
9be8f28
# -----------
9be8f28
9be8f28
%files devel
bff578d
%dir %{_includedir}/%{name}
9be8f28
%dir %{_libdir}/%{name}/src
9be8f28
%dir %{_libdir}/%{name}/src/sattach
9be8f28
%dir %{_libdir}/%{name}/src/srun
1c41f4b
%{_includedir}/%{name}/pmi*.h
bff578d
%{_includedir}/%{name}/slurm.h
bff578d
%{_includedir}/%{name}/slurm_errno.h
1c41f4b
%{_includedir}/%{name}/slurm_version.h
bff578d
%{_includedir}/%{name}/slurmdb.h
bff578d
%{_includedir}/%{name}/smd_ns.h
bff578d
%{_includedir}/%{name}/spank.h
1c41f4b
%{_libdir}/libpmi.so
1c41f4b
%{_libdir}/libpmi2.so
2baafbc
%{_libdir}/libslurm.so
bff578d
%{_libdir}/%{name}/src/sattach/sattach.wrapper.c
9be8f28
%{_libdir}/%{name}/src/srun/srun.wrapper.c
9be8f28
9be8f28
# ---------
9be8f28
# Slurm-doc
9be8f28
# ---------
9be8f28
9be8f28
%files doc
9ce5ef6
%{_docdir}
9be8f28
9be8f28
# ---------
9be8f28
# Slurm-gui
9be8f28
# ---------
9be8f28
9be8f28
%files gui
9be8f28
%{_bindir}/sview
9be8f28
%{_datadir}/applications/*.desktop
9be8f28
%{_datadir}/icons/hicolor/*/apps/%{name}.png
9be8f28
%{_mandir}/man1/sview.1*
9be8f28
acac118
%if (0%{?epel} == 7)
2b29bd3
%post gui
2b29bd3
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
2b29bd3
2b29bd3
%postun gui
2b29bd3
if [ $1 -eq 0 ] ; then
2b29bd3
    /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
2b29bd3
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
2b29bd3
fi
2b29bd3
2b29bd3
%posttrans gui
2b29bd3
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
2b29bd3
%endif
2b29bd3
9be8f28
# ----------
9be8f28
# Slurm-libs
9be8f28
# ----------
9be8f28
9be8f28
%files libs
1c41f4b
%{_libdir}/libpmi.so.0*
1c41f4b
%{_libdir}/libpmi2.so.0*
9be8f28
%{_libdir}/libslurm.so.*
bff578d
%{_libdir}/libslurmfull-*.so
188ee2f
%{_libdir}/libslurm_pmi-*.so
9be8f28
9be8f28
# -------------
bff578d
# Slurm-rrdtool
9be8f28
# -------------
9be8f28
bff578d
%files rrdtool
bff578d
%{_libdir}/%{name}/ext_sensors_rrd.so
9be8f28
1f0342a
# ---------------
1f0342a
# Slurm-slurmctld
1f0342a
# ---------------
9be8f28
bff578d
%files slurmctld
bff578d
%{_mandir}/man8/slurmctld.8*
bff578d
%{_sbindir}/slurmctld
bff578d
%{_unitdir}/slurmctld.service
bff578d
%ghost %{_rundir}/%{name}/slurmctld.pid
9be8f28
1f0342a
# ------------
1f0342a
# Slurm-slurmd
1f0342a
# ------------
9be8f28
bff578d
%files slurmd
bff578d
%{_mandir}/man8/slurmd.8*
bff578d
%{_mandir}/man8/slurmstepd.8*
bff578d
%{_sbindir}/slurmd
bff578d
%{_sbindir}/slurmstepd
bff578d
%{_unitdir}/slurmd.service
bff578d
%ghost %{_rundir}/%{name}/slurmd.pid
9be8f28
1f0342a
# --------------
1f0342a
# Slurm-slurmdbd
1f0342a
# --------------
9be8f28
9be8f28
%files slurmdbd
9be8f28
%config(noreplace) %{_sysconfdir}/%{name}/slurmdbd.conf
bff578d
%{_libdir}/%{name}/accounting_storage_mysql.so
9be8f28
%{_mandir}/man5/slurmdbd.conf.5*
9be8f28
%{_mandir}/man8/slurmdbd.8*
bff578d
%{_sbindir}/slurmdbd
bff578d
%{_sysconfdir}/%{name}/slurmdbd.conf.example
bff578d
%{_unitdir}/slurmdbd.service
bff578d
%ghost %{_rundir}/%{name}/slurmdbd.pid
9be8f28
1f0342a
# ----------------
1f0342a
# Slurm-slurmrestd
1f0342a
# ----------------
1f0342a
acac118
%if (0%{?fedora} >= 34) || (0%{?epel} >= 7)
1f0342a
%files slurmrestd
9ce5ef6
%{_libdir}/%{name}/openapi*.so
9ce5ef6
%{_libdir}/%{name}/rest*.so
1f0342a
%{_sbindir}/slurmrestd
1f0342a
%{_unitdir}/slurmrestd.service
2b29bd3
%endif
1f0342a
9be8f28
# --------------
9be8f28
# Slurm-contribs
9be8f28
# --------------
9be8f28
9be8f28
%files contribs
bff578d
%dir %{_docdir}/%{name}
bff578d
%dir %{_docdir}/%{name}/contribs
bff578d
%dir %{_docdir}/%{name}/contribs/lua
bff578d
%{_docdir}/%{name}/contribs/README
b8cc3a5
%{_docdir}/%{name}/contribs/lua/*.lua
9be8f28
%{_bindir}/seff
9be8f28
%{_bindir}/sgather
9be8f28
%{_bindir}/sjobexitmod
9be8f28
%{_bindir}/sjstat
9be8f28
%{_bindir}/smail
9be8f28
%{_mandir}/man1/sgather.1*
9be8f28
%{_mandir}/man1/sjobexitmod.1*
9be8f28
%{_mandir}/man1/sjstat.1*
9be8f28
b8cc3a5
# ---------------
b8cc3a5
# Slurm-nss_slurm
b8cc3a5
# ---------------
b8cc3a5
b8cc3a5
%files nss_slurm
b8cc3a5
%{_libdir}/libnss_slurm.so.2
b8cc3a5
9be8f28
# --------------
9be8f28
# Slurm-openlava
9be8f28
# --------------
9be8f28
9be8f28
%files openlava
9be8f28
%{_bindir}/bjobs
9be8f28
%{_bindir}/bkill
9be8f28
%{_bindir}/bsub
9be8f28
%{_bindir}/lsid
9be8f28
%{_mandir}/man1/bjobs.1*
9be8f28
%{_mandir}/man1/bkill.1*
9be8f28
%{_mandir}/man1/bsub.1*
9be8f28
%{_mandir}/man1/lsid.1*
9be8f28
0ff89d1
# ---------------
0ff89d1
# Slurm-pam_slurm
0ff89d1
# ---------------
0ff89d1
0ff89d1
%files pam_slurm
0ff89d1
%{_libdir}/security/pam_slurm.so
0ff89d1
%{_libdir}/security/pam_slurm_adopt.so
0ff89d1
9be8f28
# -------------
9be8f28
# Slurm-perlapi
9be8f28
# -------------
9be8f28
9be8f28
%files perlapi
9be8f28
%dir %{perl_vendorarch}/Slurm
bff578d
%dir %{perl_vendorarch}/auto/Slurm
bff578d
%dir %{perl_vendorarch}/auto/Slurmdb
bff578d
%{_mandir}/man3/Slurm*.3pm*
bff578d
%{perl_vendorarch}/Slurm.pm
9be8f28
%{perl_vendorarch}/Slurm/*.pm
9be8f28
%{perl_vendorarch}/Slurmdb.pm
9be8f28
%{perl_vendorarch}/auto/Slurm/Slurm.so
9be8f28
%{perl_vendorarch}/auto/Slurmdb/Slurmdb.so
9be8f28
%{perl_vendorarch}/auto/Slurmdb/autosplit.ix
9be8f28
9be8f28
# ------------
9be8f28
# Slurm-torque
9be8f28
# ------------
9be8f28
9be8f28
%files torque
9be8f28
%{_bindir}/generate_pbs_nodefile
9be8f28
%{_bindir}/mpiexec
9be8f28
%{_bindir}/pbsnodes
9be8f28
%{_bindir}/qalter
9be8f28
%{_bindir}/qdel
9be8f28
%{_bindir}/qhold
9be8f28
%{_bindir}/qrerun
9be8f28
%{_bindir}/qrls
9be8f28
%{_bindir}/qstat
9be8f28
%{_bindir}/qsub
bff578d
%{_libdir}/%{name}/job_submit_pbs.so
bff578d
%{_libdir}/%{name}/spank_pbs.so
9be8f28
%{_mandir}/man1/pbsnodes.1*
9be8f28
%{_mandir}/man1/qalter.1*
9be8f28
%{_mandir}/man1/qdel.1*
9be8f28
%{_mandir}/man1/qhold.1*
9be8f28
%{_mandir}/man1/qrerun.1*
9be8f28
%{_mandir}/man1/qrls.1*
9be8f28
%{_mandir}/man1/qstat.1*
9be8f28
%{_mandir}/man1/qsub.1*
9be8f28
%{_mandir}/man1/mpiexec.1*
9be8f28
bff578d
%post slurmctld
9be8f28
%systemd_post slurmctld.service
9be8f28
bff578d
%preun slurmctld
9be8f28
%systemd_preun slurmctld.service
9be8f28
bff578d
%postun slurmctld
0d2eb36
%systemd_postun_with_restart slurmctld.service
9be8f28
bff578d
%post slurmd
bff578d
%systemd_post slurmd.service
9be8f28
bff578d
%preun slurmd
bff578d
%systemd_preun slurmd.service
9be8f28
bff578d
%postun slurmd
bff578d
%systemd_postun_with_restart slurmd.service
9be8f28
9be8f28
%post slurmdbd
9be8f28
%systemd_post slurmdbd.service
9be8f28
9be8f28
%preun slurmdbd
9be8f28
%systemd_preun slurmdbd.service
9be8f28
9be8f28
%postun slurmdbd
9be8f28
%systemd_postun_with_restart slurmdbd.service
9be8f28
9be8f28
%changelog
f908bf9
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 22.05.6-4
f908bf9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
f908bf9
acac118
%autochangelog