Name:		slurm
Version:	25.05.0
%define rel	1
%if %{defined patch} && %{undefined extraver}
%define extraver .patched
%endif
Release:	%{rel}%{?extraver}%{?dist}
Summary:	Slurm Workload Manager

Group:		System Environment/Base
License:	GPLv2+
URL:		https://slurm.schedmd.com/

# when the rel number is one, the directory name does not include it
%if "%{rel}" == "1"
%global slurm_source_dir %{name}-%{version}
%else
%global slurm_source_dir %{name}-%{version}-%{rel}
%endif

Source:		%{slurm_source_dir}.tar.bz2
%{lua: local patchnum=0
  for pfile in string.gmatch(rpm.expand("%{?patch}"), "%S+") do
    print('Patch'..patchnum..':\t'..pfile..'\n')
    patchnum=patchnum+1
  end
}

# build options		.rpmmacros options	change to default action
# ====================  ====================	========================
# --prefix		%_prefix path		install path for commands, libraries, etc.
# --with cgroupv2	%_with_cgroupv2 1	require cgroup v2 support
# --with cray_shasta	%_with_cray_shasta 1	build for a Cray Shasta system
# --with slurmrestd	%_with_slurmrestd 1	build slurmrestd
# --with yaml		%_with_yaml 1		build with yaml serializer
# --without debug	%_without_debug 1	don't compile with debugging symbols
# --with hdf5		%_with_hdf5 path	require hdf5 support
# --with hwloc		%_with_hwloc 1		require hwloc support
# --with libcurl	%_with_libcurl 1	require libcurl support
# --with lua		%_with_lua path		build Slurm lua bindings
# --without munge	%_without_munge 1	disable support for munge
# --with numa		%_with_numa 1		require NUMA support
# --without pam		%_without_pam 1		don't require pam-devel RPM to be installed
# --without x11		%_without_x11 1		disable internal X11 support
# --with ucx		%_with_ucx path		require ucx support
# --with pmix		%_with_pmix path	build with pmix support
# --with nvml		%_with_nvml path	require nvml support
# --with jwt		%_with_jwt 1		require jwt support
# --with freeipmi	%_with_freeipmi 1	require freeipmi support
# --with selinux	%_with_selinux 1	build with selinux support
#

#  Options that are off by default (enable with --with <opt>)
%bcond_with cgroupv2
%bcond_with cray_shasta
%bcond_with slurmrestd
%bcond_with multiple_slurmd
%bcond_with pmix
%bcond_with ucx

# These options are only here to force there to be these on the build.
# If they are not set they will still be compiled if the packages exist.
%bcond_with hwloc
%bcond_with hdf5
%bcond_with libcurl
%bcond_with lua
%bcond_with numa
%bcond_with nvml
%bcond_with jwt
%bcond_with yaml
%bcond_with freeipmi

# Use debug by default on all systems
%bcond_without debug

# Options enabled by default
%bcond_without munge
%bcond_without pam
%bcond_without x11

# Disable hardened builds. -z,now or -z,relro breaks the plugin stack
%undefine _hardened_build
%global _hardened_cflags "-Wl,-z,lazy"
%global _hardened_ldflags "-Wl,-z,lazy"

# Disable Link Time Optimization (LTO)
%define _lto_cflags %{nil}

BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  gcc
BuildRequires:  make
%if %{defined suse_version}
BuildRequires: pkg-config
%else
%if (0%{?rhel} != 7)
BuildRequires:  pkgconf
%else
BuildRequires:  pkgconfig
%endif
%endif

%if %{with cgroupv2}
Requires: libbpf
BuildRequires: kernel-headers
%if %{defined suse_version}
Requires: dbus-1
BuildRequires: dbus-1-devel
%else
Requires: dbus
BuildRequires: dbus-devel
%endif
%endif

%if %{with munge}
Requires: munge
BuildRequires: munge-devel munge-libs
%endif

Requires: bash-completion

%{?systemd_requires}
BuildRequires: systemd
BuildRequires: python3
BuildRequires: readline-devel
Obsoletes: slurm-lua <= %{version}
Obsoletes: slurm-munge <= %{version}
Obsoletes: slurm-plugins <= %{version}

# fake systemd support when building rpms on other platforms
%{!?_unitdir: %global _unitdir /lib/systemd/systemd}

%define use_mysql_devel %(perl -e '`rpm -q mysql-devel`; print !$?;')
# Default for OpenSUSE/SLES builds
%define use_libmariadb_devel %(perl -e '`rpm -q libmariadb-devel`; print !$?;')
# Package name from the official MariaDB version
%define use_MariaDB_devel %(perl -e '`rpm -q MariaDB-devel`; print !$?;')
# Oracle mysql community
%define use_mysql_community %(perl -e '`rpm -q mysql-community-devel`; print !$?;')
# Oracle mysql commercial
%define use_mysql_commercial %(perl -e '`rpm -q mysql-commercial-devel`; print !$?;')

%if 0%{?use_mysql_devel}
BuildRequires: mysql-devel >= 5.0.0
%else
%if 0%{?use_mysql_community}
BuildRequires: mysql-community-devel >= 5.0.0
%else
%if 0%{?use_mysql_commercial}
BuildRequires: mysql-commercial-devel >= 5.0.0
%else
%if 0%{?use_libmariadb_devel}
# OpenSUSE/SLES has a different versioning scheme, so skip the version check
BuildRequires: libmariadb-devel
%else
%if 0%{?use_MariaDB_devel}
BuildRequires: MariaDB-devel >= 5.0.0
%else
BuildRequires: mariadb-devel >= 5.0.0
%endif
%endif
%endif
%endif
%endif

BuildRequires: perl(ExtUtils::MakeMaker)
%if %{defined suse_version}
BuildRequires: perl
%else
BuildRequires: perl-devel
%endif

%if %{with lua}
BuildRequires: pkgconfig(lua) >= 5.1.0
%endif

%if %{with hwloc} && "%{_with_hwloc}" == "--with-hwloc"
BuildRequires: hwloc-devel
%endif

%if %{with numa}
%if %{defined suse_version}
BuildRequires: libnuma-devel
%else
BuildRequires: numactl-devel
%endif
%endif

%if %{with pmix} && "%{_with_pmix}" == "--with-pmix"
BuildRequires: pmix
%global pmix_version %(rpm -q pmix --qf "%{RPMTAG_VERSION}")
%endif

%if %{with ucx} && "%{_with_ucx}" == "--with-ucx"
BuildRequires: ucx-devel
%global ucx_version %(rpm -q ucx-devel --qf "%{RPMTAG_VERSION}")
%endif

%if %{with libcurl}
%if %{defined suse_version}
Requires: libcurl
%else
Requires: libcurl4
%endif
BuildRequires: libcurl-devel
%endif

%if %{with jwt}
BuildRequires: libjwt-devel >= 1.10.0
Requires: libjwt >= 1.10.0
%endif

%if %{with yaml}
Requires: libyaml >= 0.1.7
BuildRequires: libyaml-devel >= 0.1.7
%endif

%if %{with freeipmi}
Requires: freeipmi
BuildRequires: freeipmi-devel
%endif

%if %{with selinux}
Requires: libselinux
BuildRequires: libselinux-devel
%endif

#  Allow override of sysconfdir via _slurm_sysconfdir.
#  Note 'global' instead of 'define' needed here to work around apparent
#   bug in rpm macro scoping (or something...)
%{!?_slurm_sysconfdir: %global _slurm_sysconfdir /etc/slurm}
%define _sysconfdir %_slurm_sysconfdir

#  Allow override of datadir via _slurm_datadir.
%{!?_slurm_datadir: %global _slurm_datadir %{_prefix}/share}
%define _datadir %{_slurm_datadir}

#  Allow override of mandir via _slurm_mandir.
%{!?_slurm_mandir: %global _slurm_mandir %{_datadir}/man}
%define _mandir %{_slurm_mandir}

#  Allow override of bashcompdir via _slurm_bashcompdir.
%{!?_slurm_bashcompdir: %global _slurm_bashcompdir %{_datadir}}
%define _bashcompdir %{_slurm_bashcompdir}

#
# Never allow rpm to strip binaries as this will break
#  parallel debugging capability
# Note that brp-compress does not compress man pages installed
#  into non-standard locations (e.g. /usr/local)
#
%define __os_install_post /usr/lib/rpm/brp-compress
%define debug_package %{nil}

#
# Should unpackaged files in a build root terminate a build?
# Uncomment if needed again.
#%define _unpackaged_files_terminate_build      0

# Slurm may intentionally include empty manifest files, which will
# cause errors with rpm 4.13 and on. Turn that check off.
%define _empty_manifest_terminate_build 0

# First we remove $prefix/local and then just prefix to make
# sure we get the correct installdir
%define _perlarch %(perl -e 'use Config; $T=$Config{installsitearch}; $P=$Config{installprefix}; $P1="$P/local"; $T =~ s/$P1//; $T =~ s/$P//; print $T;')

%define _perlman3 %(perl -e 'use Config; $T=$Config{installsiteman3dir}; $P=$Config{siteprefix}; $P1="$P/local"; $T =~ s/$P1//; $T =~ s/$P//; print $T;')

%define _perlarchlib %(perl -e 'use Config; $T=$Config{installarchlib}; $P=$Config{installprefix}; $P1="$P/local"; $T =~ s/$P1//; $T =~ s/$P//; print $T;')

%define _perldir %{_prefix}%{_perlarch}
%define _perlman3dir %{_prefix}%{_perlman3}
%define _perlarchlibdir %{_prefix}%{_perlarchlib}

%description
Slurm is an open source, fault-tolerant, and highly scalable
cluster management and job scheduling system for Linux clusters.
Components include machine status, partition management,
job management, scheduling and accounting modules

%package perlapi
Summary: Perl API to Slurm
Group: Development/System
Requires: %{name}%{?_isa} = %{version}-%{release}
%description perlapi
Perl API package for Slurm.  This package includes the perl API to provide a
helpful interface to Slurm through Perl

%package devel
Summary: Development package for Slurm
Group: Development/System
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development package for Slurm.  This package includes the header files
and static libraries for the Slurm API

%package example-configs
Summary: Example config files for Slurm
Group: Development/System
%description example-configs
Example configuration files for Slurm.

%package sackd
Summary: Slurm authentication daemon
Group: System Environment/Base
Requires: %{name}%{?_isa} = %{version}-%{release}
%description sackd
Slurm authentication daemon. Used on login nodes that are not running slurmd
daemons to allow authentication to the cluster.

%package slurmctld
Summary: Slurm controller daemon
Group: System Environment/Base
Requires: %{name}%{?_isa} = %{version}-%{release}
%if %{with pmix} && "%{_with_pmix}" == "--with-pmix"
Requires: pmix = %{pmix_version}
%endif
%if %{with ucx} && "%{_with_ucx}" == "--with-ucx"
Requires: ucx = %{ucx_version}
%endif
%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
Group: System Environment/Base
Requires: %{name}%{?_isa} = %{version}-%{release}
%if %{with pmix} && "%{_with_pmix}" == "--with-pmix"
Requires: pmix = %{pmix_version}
%endif
%if %{with ucx} && "%{_with_ucx}" == "--with-ucx"
Requires: ucx = %{ucx_version}
%endif
%description slurmd
Slurm compute node daemon. Used to launch jobs on compute nodes

%package slurmdbd
Summary: Slurm database daemon
Group: System Environment/Base
Requires: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: slurm-sql <= %{version}
%description slurmdbd
Slurm database daemon. Used to accept and process database RPCs and upload
database changes to slurmctld daemons on each cluster

%package libpmi
Summary: Slurm\'s implementation of the pmi libraries
Group: System Environment/Base
Requires: %{name}%{?_isa} = %{version}-%{release}
Conflicts: pmix-libpmi
%description libpmi
Slurm\'s version of libpmi. For systems using Slurm, this version
is preferred over the compatibility libraries shipped by the PMIx project.

%package torque
Summary: Torque/PBS wrappers for transition from Torque/PBS to Slurm
Group: Development/System
Requires: slurm-perlapi
%description torque
Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm

%package openlava
Summary: openlava/LSF wrappers for transition from OpenLava/LSF to Slurm
Group: Development/System
Requires: slurm-perlapi
%description openlava
OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm

%package contribs
Summary: Perl tool to print Slurm job state information
Group: Development/System
Requires: %{name}%{?_isa} = %{version}-%{release}
Obsoletes: slurm-sjobexit <= %{version}
Obsoletes: slurm-sjstat <= %{version}
Obsoletes: slurm-seff <= %{version}
%description contribs
seff is a mail program used directly by the Slurm daemons. On completion of a
job, wait for it's accounting information to be available and include that
information in the email body.
sjobexit is a slurm job exit code management tool. It enables users to alter
job exit code information for completed jobs
sjstat is a Perl tool to print Slurm job state information. The output is designed
to give information on the resource usage and availablilty, as well as information
about jobs that are currently active on the machine. This output is built
using the Slurm utilities, sinfo, squeue and scontrol, the man pages for these
utilities will provide more information and greater depth of understanding.

%if %{with pam}
%package pam_slurm
Summary: PAM module for restricting access to compute nodes via Slurm
Group: System Environment/Base
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: pam-devel
Obsoletes: pam_slurm <= %{version}
%description pam_slurm
This module restricts access to compute nodes in a cluster where Slurm is in
use.  Access is granted to root, any user with an Slurm-launched job currently
running on the node, or any user who has allocated resources on the node
according to the Slurm
%endif

%if %{with slurmrestd}
%package slurmrestd
Summary: Slurm REST API translator
Group: System Environment/Base
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildRequires: http-parser-devel
%if %{defined suse_version}
BuildRequires: libjson-c-devel
%else
BuildRequires: json-c-devel
%endif
%description slurmrestd
Provides a REST interface to Slurm.
%endif

#############################################################################

%prep
# when the rel number is one, the tarball filename does not include it
%setup -n %{slurm_source_dir}
%global _default_patch_fuzz 2
%autopatch -p1

%build
%configure \
	--with-systemdsystemunitdir=%{_unitdir} \
	--enable-pkgconfig \
	%{?_without_debug:--disable-debug} \
	%{?_with_cgroupv2:--enable-cgroupv2} \
	%{?_with_pam_dir} \
	%{?_with_mysql_config} \
	%{?_with_multiple_slurmd:--enable-multiple-slurmd} \
	%{?_with_selinux:--enable-selinux} \
	%{?_with_pmix} \
	%{?_with_freeipmi} \
	%{?_with_hdf5} \
	%{?_with_hwloc} \
	%{?_with_shared_libslurm} \
	%{!?_with_slurmrestd:--disable-slurmrestd} \
	%{?_without_x11:--disable-x11} \
	%{?_with_libcurl} \
	%{?_with_ucx} \
	%{?_with_jwt} \
	%{?_with_yaml} \
	%{?_with_nvml} \
	%{!?with_munge:--without-munge} \
	%{?_with_cflags}

make %{?_smp_mflags}

%install

# Ignore redundant standard rpaths and insecure relative rpaths,
# for RHEL based distros which use "check-rpaths" tool.
export QA_RPATHS=0x5

# Strip out some dependencies

cat > find-requires.sh <<'EOF'
exec %{__find_requires} "$@" | grep -E -v '^libpmix.so|libevent|libnvidia-ml'
EOF
chmod +x find-requires.sh
%global _use_internal_dependency_generator 0
%global __find_requires %{_builddir}/%{buildsubdir}/find-requires.sh

rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
make install-contrib DESTDIR=%{buildroot}

# Do not package Slurm's version of libpmi on Cray systems in the usual location.
# Cray's version of libpmi should be used. Move it elsewhere if the site still
# wants to use it with other MPI stacks.
%if %{with cray_shasta}
   mkdir %{buildroot}/%{_libdir}/slurmpmi
   mv %{buildroot}/%{_libdir}/libpmi* %{buildroot}/%{_libdir}/slurmpmi
%endif

install -D -m644 etc/cgroup.conf.example %{buildroot}/%{_sysconfdir}/cgroup.conf.example
install -D -m644 etc/prolog.example %{buildroot}/%{_sysconfdir}/prolog.example
install -D -m644 etc/job_submit.lua.example %{buildroot}/%{_sysconfdir}/job_submit.lua.example
install -D -m644 etc/slurm.conf.example %{buildroot}/%{_sysconfdir}/slurm.conf.example
install -D -m600 etc/slurmdbd.conf.example %{buildroot}/%{_sysconfdir}/slurmdbd.conf.example
install -D -m644 etc/cli_filter.lua.example %{buildroot}/%{_sysconfdir}/cli_filter.lua.example
install -D -m755 contribs/sjstat %{buildroot}/%{_bindir}/sjstat

# Delete unpackaged files:
find %{buildroot} -name '*.a' -exec rm {} \;
find %{buildroot} -name '*.la' -exec rm {} \;
rm -f %{buildroot}/%{_libdir}/slurm/job_submit_defaults.so
rm -f %{buildroot}/%{_libdir}/slurm/job_submit_logging.so
rm -f %{buildroot}/%{_libdir}/slurm/job_submit_partition.so
rm -f %{buildroot}/%{_libdir}/slurm/auth_none.so
rm -f %{buildroot}/%{_libdir}/slurm/cred_none.so
rm -f %{buildroot}/%{_sbindir}/sfree
rm -f %{buildroot}/%{_sbindir}/slurm_epilog
rm -f %{buildroot}/%{_sbindir}/slurm_prolog
rm -f %{buildroot}/%{_sysconfdir}/init.d/slurm
rm -f %{buildroot}/%{_sysconfdir}/init.d/slurmdbd
rm -f %{buildroot}/%{_perldir}/auto/Slurm/.packlist
rm -f %{buildroot}/%{_perldir}/auto/Slurm/Slurm.bs
rm -f %{buildroot}/%{_perlarchlibdir}/perllocal.pod
rm -f %{buildroot}/%{_perldir}/perllocal.pod
rm -f %{buildroot}/%{_perldir}/auto/Slurmdb/.packlist
rm -f %{buildroot}/%{_perldir}/auto/Slurmdb/Slurmdb.bs
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sacct
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sacctmgr
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/salloc
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sattach
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sbatch
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sbcast
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/scancel
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/scontrol
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/scrontab
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sdiag
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sinfo
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/slurmrestd
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sprio
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/squeue
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sreport
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/srun
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sshare
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/sstat
rm -f %{buildroot}/%{_datadir}/bash-completion/completions/strigger

# Build man pages that are generated directly by the tools
rm -f %{buildroot}/%{_mandir}/man1/sjobexitmod.1
%{buildroot}/%{_bindir}/sjobexitmod --roff > %{buildroot}/%{_mandir}/man1/sjobexitmod.1
rm -f %{buildroot}/%{_mandir}/man1/sjstat.1
%{buildroot}/%{_bindir}/sjstat --roff > %{buildroot}/%{_mandir}/man1/sjstat.1

LIST=./pam.files
touch $LIST
%if %{?with_pam_dir}0
    test -f %{buildroot}/%{with_pam_dir}/pam_slurm.so	&&
	echo %{with_pam_dir}/pam_slurm.so	>>$LIST
    test -f %{buildroot}/%{with_pam_dir}/pam_slurm_adopt.so	&&
	echo %{with_pam_dir}/pam_slurm_adopt.so	>>$LIST
%else
    test -f %{buildroot}/lib/security/pam_slurm.so	&&
	echo /lib/security/pam_slurm.so		>>$LIST
    test -f %{buildroot}/lib32/security/pam_slurm.so	&&
	echo /lib32/security/pam_slurm.so	>>$LIST
    test -f %{buildroot}/lib64/security/pam_slurm.so	&&
	echo /lib64/security/pam_slurm.so	>>$LIST
    test -f %{buildroot}/lib/security/pam_slurm_adopt.so		&&
	echo /lib/security/pam_slurm_adopt.so		>>$LIST
    test -f %{buildroot}/lib32/security/pam_slurm_adopt.so		&&
	echo /lib32/security/pam_slurm_adopt.so		>>$LIST
    test -f %{buildroot}/lib64/security/pam_slurm_adopt.so		&&
	echo /lib64/security/pam_slurm_adopt.so		>>$LIST
%endif
#############################################################################

%clean
rm -rf %{buildroot}
#############################################################################

%files
%defattr(-,root,root,0755)
%{_datadir}/doc
%{_bindir}/s*
%exclude %{_bindir}/seff
%exclude %{_bindir}/sjobexitmod
%exclude %{_bindir}/sjstat
%exclude %{_bindir}/smail
%exclude %{_libdir}/libpmi*
%{_libdir}/*.so*
%{_libdir}/slurm/src/*
%{_libdir}/slurm/*.so
%exclude %{_libdir}/slurm/accounting_storage_mysql.so
%exclude %{_libdir}/slurm/job_submit_pbs.so
%exclude %{_libdir}/slurm/spank_pbs.so
%{_mandir}
%exclude %{_mandir}/man1/sjobexit*
%exclude %{_mandir}/man1/sjstat*
%dir %{_libdir}/slurm/src
%{_bashcompdir}/bash-completion/completions/slurm_completion.sh
#############################################################################

%files example-configs
%defattr(-,root,root,0755)
%dir %{_sysconfdir}
%config %{_sysconfdir}/cgroup.conf.example
%config %{_sysconfdir}/job_submit.lua.example
%config %{_sysconfdir}/prolog.example
%config %{_sysconfdir}/slurm.conf.example
%config %{_sysconfdir}/slurmdbd.conf.example
%config %{_sysconfdir}/cli_filter.lua.example
#############################################################################

%files devel
%defattr(-,root,root)
%dir %attr(0755,root,root)
%dir %{_prefix}/include/slurm
%{_prefix}/include/slurm/*
%{_libdir}/pkgconfig/slurm.pc
#############################################################################

%files perlapi
%defattr(-,root,root)
%{_perldir}/Slurm.pm
%{_perldir}/Slurm/Bitstr.pm
%{_perldir}/Slurm/Constant.pm
%{_perldir}/Slurm/Hostlist.pm
%{_perldir}/auto/Slurm/Slurm.so
%{_perldir}/Slurmdb.pm
%{_perldir}/auto/Slurmdb/Slurmdb.so
%{_perldir}/auto/Slurmdb/autosplit.ix
%{_perlman3dir}/Slurm*

#############################################################################

%files sackd
%defattr(-,root,root)
%{_sbindir}/sackd
%{_unitdir}/sackd.service
#############################################################################

%files slurmctld
%defattr(-,root,root)
%{_sbindir}/slurmctld
%{_unitdir}/slurmctld.service
#############################################################################

%files slurmd
%defattr(-,root,root)
%{_sbindir}/slurmd
%{_sbindir}/slurmstepd
%{_unitdir}/slurmd.service
#############################################################################

%files slurmdbd
%defattr(-,root,root)
%{_sbindir}/slurmdbd
%{_libdir}/slurm/accounting_storage_mysql.so
%{_unitdir}/slurmdbd.service
#############################################################################

%files libpmi
%defattr(-,root,root)
%if %{with cray_shasta}
%{_libdir}/slurmpmi/*
%else
%{_libdir}/libpmi*
%endif
#############################################################################

%files torque
%defattr(-,root,root)
%{_bindir}/pbsnodes
%{_bindir}/qalter
%{_bindir}/qdel
%{_bindir}/qhold
%{_bindir}/qrerun
%{_bindir}/qrls
%{_bindir}/qstat
%{_bindir}/qsub
%{_bindir}/mpiexec
%{_bindir}/generate_pbs_nodefile
%{_libdir}/slurm/job_submit_pbs.so
%{_libdir}/slurm/spank_pbs.so
#############################################################################

%files openlava
%defattr(-,root,root)
%{_bindir}/bjobs
%{_bindir}/bkill
%{_bindir}/bsub
%{_bindir}/lsid

#############################################################################

%files contribs
%defattr(-,root,root)
%{_bindir}/seff
%{_bindir}/sjobexitmod
%{_bindir}/sjstat
%{_bindir}/smail
%{_mandir}/man1/sjstat*
#############################################################################

%if %{with pam}
%files -f pam.files pam_slurm
%defattr(-,root,root)
%endif
#############################################################################

%if %{with slurmrestd}
%files slurmrestd
%{_sbindir}/slurmrestd
%{_unitdir}/slurmrestd.service
%endif
#############################################################################

%pre

%post
/sbin/ldconfig
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sacct}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sacctmgr}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,salloc}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sattach}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sbatch}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sbcast}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,scancel}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,scontrol}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,scrontab}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sdiag}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sinfo}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,slurmrestd}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sprio}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,squeue}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sreport}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,srun}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sshare}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,sstat}
ln -sf %{_bashcompdir}/bash-completion/completions/{slurm_completion.sh,strigger}

%preun

%postun
/sbin/ldconfig
if [ $1 -eq 0 ]; then
	rm -f %{_bashcompdir}/bash-completion/completions/sacct
	rm -f %{_bashcompdir}/bash-completion/completions/sacctmgr
	rm -f %{_bashcompdir}/bash-completion/completions/salloc
	rm -f %{_bashcompdir}/bash-completion/completions/sattach
	rm -f %{_bashcompdir}/bash-completion/completions/sbatch
	rm -f %{_bashcompdir}/bash-completion/completions/sbcast
	rm -f %{_bashcompdir}/bash-completion/completions/scancel
	rm -f %{_bashcompdir}/bash-completion/completions/scontrol
	rm -f %{_bashcompdir}/bash-completion/completions/scrontab
	rm -f %{_bashcompdir}/bash-completion/completions/sdiag
	rm -f %{_bashcompdir}/bash-completion/completions/sinfo
	rm -f %{_bashcompdir}/bash-completion/completions/slurmrestd
	rm -f %{_bashcompdir}/bash-completion/completions/sprio
	rm -f %{_bashcompdir}/bash-completion/completions/squeue
	rm -f %{_bashcompdir}/bash-completion/completions/sreport
	rm -f %{_bashcompdir}/bash-completion/completions/srun
	rm -f %{_bashcompdir}/bash-completion/completions/sshare
	rm -f %{_bashcompdir}/bash-completion/completions/sstat
	rm -f %{_bashcompdir}/bash-completion/completions/strigger
fi

%post sackd
%systemd_post sackd.service
%preun sackd
%systemd_preun sackd.service
%postun sackd
%systemd_postun_with_restart sackd.service

%post slurmctld
%systemd_post slurmctld.service
%preun slurmctld
%systemd_preun slurmctld.service
%postun slurmctld
%systemd_postun_with_restart slurmctld.service

%post slurmd
%systemd_post slurmd.service
%preun slurmd
%systemd_preun slurmd.service
%postun slurmd
%systemd_postun_with_restart slurmd.service

%post slurmdbd
%systemd_post slurmdbd.service
%preun slurmdbd
%systemd_preun slurmdbd.service
%postun slurmdbd
%systemd_postun_with_restart slurmdbd.service

%if %{with slurmrestd}
%post slurmrestd
%systemd_post slurmrestd.service
%preun slurmrestd
%systemd_preun slurmrestd.service
%postun slurmrestd
%systemd_postun_with_restart slurmrestd.service
%endif

%if %{defined patch}
%changelog
* %(date "+%a %b %d %Y") %{?packager} - %{version}-%{release}
- Includes patch: %{patch}
%endif
