bff578d
# Obsolete EVR
bff578d
%global obs_evr 17.02.9-4
9be8f28
bff578d
# Upstream tarballs use an additional release number
0015ada
%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
bff578d
# Allow linkage with undefined symbols (disable -z,defs)
bff578d
%undefine _strict_symbol_defs_build
bff578d
9be8f28
Name:           slurm
4543091
Version:        17.11.5
0d2eb36
Release:        2%{?dist}
9be8f28
Summary:        Simple Linux Utility for Resource Management
9be8f28
License:        GPLv2 and BSD
9be8f28
URL:            https://slurm.schedmd.com/
bff578d
Source0:        http://www.schedmd.com/download/latest/%{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
bff578d
# Upstream bug #4449: release-style versioning of libslurmfull
bff578d
Patch0:         slurm_libslurmfull_version.patch
1756229
bff578d
# Build-related patches
1756229
Patch10:        slurm_perlapi_rpaths.patch
1756229
Patch11:        slurm_html_doc_path.patch
1756229
Patch12:        slurm_doc_fix.patch
9be8f28
9be8f28
# Fedora-related patches
bff578d
Patch20:        slurm_pmix_soname.patch
bff578d
Patch21:        slurm_service_files.patch
0015ada
Patch22:        slurm_to_python3.patch
bff578d
bff578d
BuildRequires:  autoconf
bff578d
BuildRequires:  automake
bff578d
BuildRequires:  environment(modules)
bff578d
BuildRequires:  desktop-file-utils
bff578d
BuildRequires:  gcc
0015ada
BuildRequires:  perl-devel
bff578d
BuildRequires:  perl-ExtUtils-MakeMaker
cb4fce9
BuildRequires:  perl-interpreter
bff578d
BuildRequires:  perl-podlators
bff578d
BuildRequires:  pkgconf
bff578d
BuildRequires:  pkgconfig(check)
bff578d
%{?systemd_requires}
0015ada
BuildRequires:  python3
bff578d
BuildRequires:  systemd
9be8f28
9be8f28
BuildRequires:  hdf5-devel
bff578d
BuildRequires:  pam-devel
bff578d
BuildRequires:  pkgconfig(gtk+-2.0)
9be8f28
BuildRequires:  pkgconfig(hwloc)
9be8f28
BuildRequires:  pkgconfig(libfreeipmi)
9be8f28
BuildRequires:  pkgconfig(libcurl)
bff578d
BuildRequires:  pkgconfig(librrd)
bff578d
BuildRequires:  pkgconfig(libssh2)
9be8f28
BuildRequires:  pkgconfig(lua)
9be8f28
BuildRequires:  pkgconfig(mariadb)
9be8f28
BuildRequires:  pkgconfig(munge)
9be8f28
BuildRequires:  pkgconfig(ncurses)
9be8f28
BuildRequires:  pkgconfig(openssl)
bff578d
BuildRequires:  pkgconfig(pmix) >= 2.0.0
9be8f28
BuildRequires:  pkgconfig(zlib)
bff578d
BuildRequires:  readline-devel
9be8f28
9be8f28
# follow arch exclusions for these devel packages
9be8f28
%ifnarch s390 s390x %{arm}
9be8f28
BuildRequires:  libibmad-devel
9be8f28
BuildRequires:  libibumad-devel
9be8f28
BuildRequires:  numactl-devel
9be8f28
%endif
9be8f28
9be8f28
Requires:       munge
bff578d
Requires:       pmix >= 2.0.0
bff578d
bff578d
Obsoletes:      %{name} <= %{obs_evr}
bff578d
Obsoletes:      %{name}-plugins <= %{obs_evr}
bff578d
Obsoletes:      %{name}-plugins-auth_none <= %{obs_evr}
bff578d
Obsoletes:      %{name}-plugins-lua <= %{obs_evr}
bff578d
Obsoletes:      %{name}-plugins-munge <= %{obs_evr}
bff578d
Obsoletes:      %{name}-plugins-mysql <= %{obs_evr}
9be8f28
9be8f28
%description
9be8f28
Slurm is an open source, fault-tolerant, and highly scalable
9be8f28
cluster management and job scheduling system for large and
9be8f28
small Linux clusters.
9be8f28
9be8f28
# -------------
9be8f28
# Base Packages
9be8f28
# -------------
9be8f28
9be8f28
%package devel
9be8f28
Summary: Slurm development
9be8f28
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
9be8f28
%description devel
9be8f28
Development package for Slurm.  Includes headers, libraries
9be8f28
and man pages for using 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
9be8f28
This package contains the Slurm visual tools smap and sview
9be8f28
and their respective man pages.
9be8f28
9be8f28
%package libs
9be8f28
Summary: Slurm shared libraries
bff578d
Provides: pmi
bff578d
Requires: environment(modules)
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
Obsoletes: %{name}-plugins-rrdtool <= %{obs_evr}
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
Obsoletes: %{name} <= %{obs_evr}
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
Obsoletes: %{name} <= %{obs_evr}
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
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
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
9be8f28
%package perlapi
9be8f28
Summary: Perl API to Slurm
9be8f28
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
9be8f28
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
9be8f28
%description perlapi
9be8f28
Perl API package for Slurm.  This package includes the perl API to provide a
9be8f28
helpful interface to Slurm through Perl.
9be8f28
bff578d
%package pam_slurm
9be8f28
Summary: Slurm pam modules
9be8f28
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
bff578d
Obsoletes: %{name}-plugins-pam_slurm <= %{obs_evr}
bff578d
%description pam_slurm
9be8f28
The pam_slurm module restricts access to compute nodes in a cluster where Slurm
9be8f28
is in use.  Also includes the pam_slurm_adopt plugin for "adopting" connections
9be8f28
into slurm jobs.
9be8f28
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}
bff578d
Obsoletes: %{name}-plugins-pbs <= %{obs_evr}
9be8f28
%description torque
9be8f28
Torque wrapper scripts used for helping migrate from Torque/PBS to Slurm.
9be8f28
9be8f28
%prep
bff578d
%setup -q -n %{name_version}
1756229
%patch0 -p1
1756229
%patch10 -p1
1756229
%patch11 -p1
1756229
%patch12 -p1
1756229
%patch20 -p1
bff578d
%patch21 -p1
0015ada
%patch22 -p1
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
db5c178
%{__aclocal} -I auxdir
db5c178
%{__autoconf}
db5c178
%{__automake} --no-force
0015ada
# use -z lazy to allow dlopen with unresolved symbols
9be8f28
%configure \
0015ada
  LDFLAGS="$LDFLAGS -Wl,-z,lazy" \
9be8f28
  --prefix=%{_prefix} \
9be8f28
  --sysconfdir=%{_sysconfdir}/%{name} \
9be8f28
  --with-pam_dir=%{_libdir}/security \
bff578d
  --with-pmix \
9be8f28
  --enable-shared \
bff578d
  --enable-x11 \
9be8f28
  --disable-static \
9be8f28
  --disable-debug \
9be8f28
  --disable-developer \
9be8f28
  --disable-salloc-background \
9be8f28
  --disable-multiple-slurmd \
9be8f28
  --disable-partial_attach \
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
db5c178
%make_build V=1
9be8f28
9be8f28
# build contribs packages
9be8f28
# INSTALLDIRS=vendor so perlapi goes to vendor_perl directory
db5c178
PERL_MM_PARAMS="INSTALLDIRS=vendor" %make_build contrib V=1
9be8f28
9be8f28
%check
bff578d
# The test binaries need LD_LIBRARY_PATH to find the compiled slurm library
bff578d
# in the build tree.
bff578d
LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" %{__make} check
9be8f28
9be8f28
%install
9be8f28
%make_install
9be8f28
%{__make} install-contrib DESTDIR=%{buildroot}
9be8f28
9be8f28
install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/layouts.d
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/cgroup_allowed_devices_file.conf.example \
9be8f28
    %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -m 0644 -p etc/layouts.d.power.conf.example \
9be8f28
    %{buildroot}%{_sysconfdir}/%{name}/layouts.d/power.conf.example
9be8f28
install -m 0644 -p etc/layouts.d.power_cpufreq.conf.example \
9be8f28
    %{buildroot}%{_sysconfdir}/%{name}/layouts.d/power_cpufreq.conf.example
9be8f28
install -m 0644 -p etc/layouts.d.unit.conf.example \
9be8f28
    %{buildroot}%{_sysconfdir}/%{name}/layouts.d/unit.conf.example
9be8f28
install -m 0644 -p etc/slurm.conf %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -m 0644 -p etc/slurm.conf.example %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -m 0644 -p etc/slurmdbd.conf %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -m 0644 -p etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{name}
9be8f28
install -m 0644 -p etc/slurm.epilog.clean %{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}
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} <
9be8f28
%{_var}/log/%{name}/* {
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 pmi/slurm environment module file
bff578d
install -d -m 0755 %{buildroot}%{_modulesdir}/pmi
bff578d
cat >%{buildroot}%{_modulesdir}/pmi/%{name}-%{_arch} <
bff578d
#%%Module 1.0
bff578d
#
bff578d
#  pmi/slurm module for use with 'environment-modules' package:
bff578d
#
bff578d
conflict         pmi
bff578d
prepend-path     LD_LIBRARY_PATH    %{_libdir}/%{name}/lib
bff578d
prepend-path     PKG_CONFIG_PATH    %{_libdir}/%{name}/lib/pkgconfig
bff578d
EOF
bff578d
bff578d
# install pkgconfig file slurm.pc
9be8f28
install -d -m 0755 %{buildroot}%{_libdir}/pkgconfig
bff578d
cat >%{buildroot}%{_libdir}/pkgconfig/%{name}.pc <
bff578d
includedir=%{_includedir}/%{name}
9be8f28
libdir=%{_libdir}
9be8f28
bff578d
Name: %{name}
bff578d
Version: %{version}
bff578d
Description: Slurm development library
9be8f28
Cflags: -I\${includedir}
9be8f28
Libs: -L\${libdir} -lslurm
bff578d
EOF
bff578d
bff578d
# install pkgconfig file pmi.pc for environment module usage
bff578d
install -d -m 0755 %{buildroot}%{_libdir}/%{name}/lib/pkgconfig
bff578d
cat >%{buildroot}%{_libdir}/%{name}/lib/pkgconfig/pmi.pc <
bff578d
includedir=%{_includedir}/%{name}
bff578d
libdir=%{_libdir}/%{name}/lib
bff578d
bff578d
Name: pmi
9be8f28
Version: %{version}
bff578d
Description: Slurm PMI development library
bff578d
Cflags: -I\${includedir}
bff578d
Libs: -L\${libdir} -lpmi
9be8f28
EOF
9be8f28
bff578d
# install pkgconfig file pmi2.pc for environment module usage
bff578d
install -d -m 0755 %{buildroot}%{_libdir}/%{name}/lib/pkgconfig
bff578d
cat >%{buildroot}%{_libdir}/%{name}/lib/pkgconfig/pmi2.pc <
bff578d
includedir=%{_includedir}/%{name}
bff578d
libdir=%{_libdir}/%{name}/lib
bff578d
bff578d
Name: pmi2
bff578d
Version: %{version}
bff578d
Description: Slurm PMI2 development library
bff578d
Cflags: -I\${includedir}
bff578d
Libs: -L\${libdir} -lpmi2
bff578d
EOF
bff578d
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
bff578d
# move libpmi/libpmi2 to pmi/slurm environment module location
bff578d
install -d -m 0755 %{buildroot}%{_libdir}/%{name}/lib
bff578d
mv %{buildroot}%{_libdir}/libpmi.so* %{buildroot}%{_libdir}/%{name}/lib
bff578d
mv %{buildroot}%{_libdir}/libpmi2.so* %{buildroot}%{_libdir}/%{name}/lib
9be8f28
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
9be8f28
install -m 0644 contribs/lua/proctrack.lua %{buildroot}%{_docdir}/%{name}/contribs/lua
9be8f28
9be8f28
# remove libtool archives
9be8f28
find %{buildroot} -name \*.a -o -name \*.la | xargs rm -f
bff578d
# remove libslurmfull symlink (non-development, internal library)
bff578d
rm -rf %{buildroot}%{_libdir}/libslurmfull.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 bluegene files
1756229
rm -f %{buildroot}%{_libdir}/%{name}/select_bluegene.so
9be8f28
rm -f %{buildroot}%{_mandir}/man5/bluegene*
9be8f28
# remove cray files
9be8f28
rm -f %{buildroot}%{_libdir}/%{name}/acct_gather_energy_cray.so
9be8f28
rm -f %{buildroot}%{_libdir}/%{name}/core_spec_cray.so
1756229
rm -f %{buildroot}%{_libdir}/%{name}/job_container_cncu.so
9be8f28
rm -f %{buildroot}%{_libdir}/%{name}/job_submit_cray.so
1756229
rm -f %{buildroot}%{_libdir}/%{name}/select_alps.so
9be8f28
rm -f %{buildroot}%{_libdir}/%{name}/select_cray.so
9be8f28
rm -f %{buildroot}%{_libdir}/%{name}/switch_cray.so
9be8f28
rm -f %{buildroot}%{_libdir}/%{name}/task_cray.so
9be8f28
rm -f %{buildroot}%{_mandir}/man5/cray*
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
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}
9be8f28
%dir %{_sysconfdir}/%{name}/layouts.d
bff578d
%dir %{_var}/log/%{name}
bff578d
%dir %{_var}/spool/%{name}
bff578d
%dir %{_var}/spool/%{name}/ctld
bff578d
%dir %{_var}/spool/%{name}/d
bff578d
%attr(0755,root,root) %{_sysconfdir}/%{name}/slurm.epilog.clean
9be8f28
%config(noreplace) %{_sysconfdir}/%{name}/cgroup*.conf
9be8f28
%config(noreplace) %{_sysconfdir}/%{name}/slurm.conf
9be8f28
%{_bindir}/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast}
9be8f28
%{_bindir}/{scancel,scontrol,sdiag,sh5util,sinfo,sprio}
9be8f28
%{_bindir}/{squeue,sreport,srun,sshare,sstat,strigger}
bff578d
%{_bindir}/%{name}-setuser
bff578d
%{_libdir}/%{name}/accounting_storage_{filetxt,none,slurmdbd}.so
bff578d
%{_libdir}/%{name}/acct_gather_energy_{ibmaem,ipmi,none,rapl}.so
bff578d
%{_libdir}/%{name}/acct_gather_filesystem_{lustre,none}.so
bff578d
%{_libdir}/%{name}/acct_gather_interconnect_{none,ofed}.so
bff578d
%{_libdir}/%{name}/acct_gather_profile_{hdf5,none}.so
bff578d
%{_libdir}/%{name}/auth_munge.so
bff578d
%{_libdir}/%{name}/burst_buffer_generic.so
bff578d
%{_libdir}/%{name}/checkpoint_{none,ompi}.so
bff578d
%{_libdir}/%{name}/core_spec_none.so
bff578d
%{_libdir}/%{name}/crypto_munge.so
bff578d
%{_libdir}/%{name}/crypto_openssl.so
bff578d
%{_libdir}/%{name}/ext_sensors_none.so
bff578d
%{_libdir}/%{name}/gres_{gpu,mic,nic}.so
bff578d
%{_libdir}/%{name}/job_container_none.so
bff578d
%{_libdir}/%{name}/job_submit_all_partitions.so
bff578d
%{_libdir}/%{name}/job_submit_lua.so
bff578d
%{_libdir}/%{name}/job_submit_require_timelimit.so
bff578d
%{_libdir}/%{name}/job_submit_throttle.so
bff578d
%{_libdir}/%{name}/jobacct_gather_{cgroup,linux,none}.so
bff578d
%{_libdir}/%{name}/jobcomp_{elasticsearch,filetxt,mysql,none,script}.so
bff578d
%{_libdir}/%{name}/launch_slurm.so
bff578d
%{_libdir}/%{name}/layouts_power_{cpufreq,default}.so
bff578d
%{_libdir}/%{name}/layouts_unit_default.so
bff578d
%{_libdir}/%{name}/mcs_{account,group,none,user}.so
bff578d
%{_libdir}/%{name}/mpi_{none,openmpi,pmi2,pmix*}.so
bff578d
%{_libdir}/%{name}/node_features_knl_generic.so
bff578d
%{_libdir}/%{name}/power_none.so
bff578d
%{_libdir}/%{name}/preempt_{job_prio,none,partition_prio,qos}.so
bff578d
%{_libdir}/%{name}/priority_{basic,multifactor}.so
bff578d
%{_libdir}/%{name}/proctrack_{cgroup,linuxproc,lua,pgid}.so
bff578d
%{_libdir}/%{name}/route_{default,topology}.so
bff578d
%{_libdir}/%{name}/sched_{backfill,builtin,hold}.so
bff578d
%{_libdir}/%{name}/select_{cons_res,linear,serial}.so
bff578d
%{_libdir}/%{name}/slurmctld_nonstop.so
bff578d
%{_libdir}/%{name}/switch_{generic,none}.so
bff578d
%{_libdir}/%{name}/task_{affinity,cgroup,none}.so
bff578d
%{_libdir}/%{name}/topology_{3d_torus,hypercube,node_rank,none,tree}.so
9be8f28
%{_mandir}/man1/{sacct,sacctmgr,salloc,sattach,sbatch,sbcast}.1*
9be8f28
%{_mandir}/man1/{scancel,scontrol,sdiag,sh5util,sinfo,sprio}.1*
9be8f28
%{_mandir}/man1/{squeue,sreport,srun,sshare,sstat,strigger}.1*
9be8f28
%{_mandir}/man1/slurm.1*
9be8f28
%{_mandir}/man5/acct_gather.conf.5*
9be8f28
%{_mandir}/man5/burst_buffer.conf.5*
9be8f28
%{_mandir}/man5/cgroup.conf.5*
9be8f28
%{_mandir}/man5/ext_sensors.conf.5*
9be8f28
%{_mandir}/man5/gres.conf.5*
9be8f28
%{_mandir}/man5/knl.conf.5*
9be8f28
%{_mandir}/man5/nonstop.conf.5*
9be8f28
%{_mandir}/man5/slurm.conf.5*
9be8f28
%{_mandir}/man5/topology.conf.5*
9be8f28
%{_mandir}/man8/spank.8*
bff578d
%{_sysconfdir}/logrotate.d/%{name}
bff578d
%{_sysconfdir}/%{name}/cgroup*.conf.example
bff578d
%{_sysconfdir}/%{name}/layouts.d/*.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}
bff578d
%dir %{_libdir}/%{name}/lib/pkgconfig
9be8f28
%dir %{_libdir}/%{name}/src
9be8f28
%dir %{_libdir}/%{name}/src/sattach
9be8f28
%dir %{_libdir}/%{name}/src/srun
bff578d
%{_includedir}/%{name}/pmi*.h
bff578d
%{_includedir}/%{name}/slurm.h
bff578d
%{_includedir}/%{name}/slurm_errno.h
bff578d
%{_includedir}/%{name}/slurmdb.h
bff578d
%{_includedir}/%{name}/smd_ns.h
bff578d
%{_includedir}/%{name}/spank.h
bff578d
%{_libdir}/lib{slurm,slurmdb}.so
bff578d
%{_libdir}/pkgconfig/%{name}.pc
bff578d
%{_libdir}/%{name}/lib/libpmi*.so
bff578d
%{_libdir}/%{name}/lib/pkgconfig/*.pc
bff578d
%{_libdir}/%{name}/src/sattach/sattach.wrapper.c
9be8f28
%{_libdir}/%{name}/src/srun/srun.wrapper.c
9be8f28
%{_mandir}/man3/*.3.*
9be8f28
9be8f28
# ---------
9be8f28
# Slurm-doc
9be8f28
# ---------
9be8f28
9be8f28
%files doc
9be8f28
%dir %{_docdir}/%{name}
9be8f28
%dir %{_docdir}/%{name}/html
9be8f28
%{_docdir}/%{name}/html/*
9be8f28
9be8f28
# ---------
9be8f28
# Slurm-gui
9be8f28
# ---------
9be8f28
9be8f28
%files gui
9be8f28
%{_bindir}/smap
9be8f28
%{_bindir}/sview
9be8f28
%{_datadir}/applications/*.desktop
9be8f28
%{_datadir}/icons/hicolor/*/apps/%{name}.png
9be8f28
%{_mandir}/man1/smap.1*
9be8f28
%{_mandir}/man1/sview.1*
9be8f28
9be8f28
# ----------
9be8f28
# Slurm-libs
9be8f28
# ----------
9be8f28
9be8f28
%files libs
bff578d
%dir %{_libdir}/%{name}
bff578d
%dir %{_libdir}/%{name}/lib
bff578d
%dir %{_modulesdir}/pmi
9be8f28
%{_libdir}/libslurm.so.*
9be8f28
%{_libdir}/libslurmdb.so.*
bff578d
%{_libdir}/libslurmfull-*.so
bff578d
%{_libdir}/%{name}/lib/libpmi*.so.*
bff578d
%{_modulesdir}/pmi/*
9be8f28
9be8f28
# -------------
bff578d
# Slurm-rrdtool
9be8f28
# -------------
9be8f28
bff578d
%files rrdtool
bff578d
%{_libdir}/%{name}/ext_sensors_rrd.so
9be8f28
bff578d
# ---------
bff578d
# Slurmctld
bff578d
# ---------
9be8f28
bff578d
%files slurmctld
bff578d
%{_mandir}/man8/slurmctld.8*
bff578d
%{_sbindir}/slurmctld
bff578d
%{_unitdir}/slurmctld.service
bff578d
%ghost %{_rundir}/%{name}/slurmctld.pid
9be8f28
bff578d
# ------
bff578d
# Slurmd
bff578d
# ------
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
9be8f28
# --------
9be8f28
# Slurmdbd
9be8f28
# --------
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
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
bff578d
%{_docdir}/%{name}/contribs/lua/proctrack.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
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
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-pam_slurm
9be8f28
# ---------------
9be8f28
bff578d
%files pam_slurm
9be8f28
%{_libdir}/security/pam_slurm.so
9be8f28
%{_libdir}/security/pam_slurm_adopt.so
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
0d2eb36
* Tue Mar 20 2018 Philip Kovacs <pkdevel@yahoo.com> - 17.11.5-2
0d2eb36
- Fix typo in systemd macro
0d2eb36
4543091
* Fri Mar 16 2018 Philip Kovacs <pkdevel@yahoo.com> - 17.11.5-1
4543091
- Release of 17.11.5
4543091
- Closes security issue CVE-2018-7033
4543091
0015ada
* Sat Mar 3 2018 Philip Kovacs <pkdevel@yahoo.com> - 17.11.4-1
0015ada
- Release of 17.11.4
0015ada
- Add perl-devel, python3 to build requirements
0015ada
- Add patch to convert python references to python3
0015ada
- Use LDFLAGS to disable -z now instaed of _hardened_ldflags
0015ada
cb4fce9
* Thu Feb 15 2018 Philip Kovacs <pkdevel@yahoo.com> - 17.11.3-3
cb4fce9
- Add perl-interpreter to BuildRequires
cb4fce9
8a8d2d4
* Thu Feb 15 2018 Philip Kovacs <pkdevel@yahoo.com> - 17.11.3-2
8a8d2d4
- Rebuild for libevent soname bump
8a8d2d4
bff578d
* Sat Feb 10 2018 Philip Kovacs <pkdevel@yahoo.com> - 17.11.3-1
bff578d
- Release of 17.11 series
bff578d
- Re-aligned rpm packaging to be closer to upstream
bff578d
- Enabled new slurm native X11 support using ssh2
bff578d
- Enabled new shared libslurm for smaller code size
bff578d
- Enabled `check` unit testing via check-devel
bff578d
- Added environment module support for pmi/slurm
bff578d
- Add dependency to pmix
bff578d
- Removed gtk-update-icon-cache scriptlets
bff578d
- Use new ldconfig_scriptlets macro
bff578d
37e6b0f
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 17.02.9-4
37e6b0f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
37e6b0f
1756229
* Thu Nov 16 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.9-3
bff578d
- Added patch to enable full relro builds and operation
bff578d
- Added patch to link knl_generic plugin to libnuma if available
bff578d
- Remove the following cray or bluegene-only plugins
bff578d
- job_container/cncu, select/alps, select/bluegene
bff578d
- Rename slurm_setuser to slurm-setuser
bff578d
- Minor corrections to slurm.conf
1756229
0032597
* Wed Nov 1 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.9-2
bff578d
- Correct desktop categories for rpmgrill.desktop-lint
0032597
0a53fa8
* Wed Nov 1 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.9-1
bff578d
- Version bump to close CVE-2017-15566
bff578d
- Adjusted patches per closure of upstream bug #3942
bff578d
- Added desktop categories per rpmgrill.desktop-lint
0a53fa8
db5c178
* Wed Oct 25 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.8-1
bff578d
- Version bump, patches adjusted
db5c178
f7f253a
* Thu Oct 5 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.7-4
f7f253a
- Patch changes per resolution of upstream bug #4101:
bff578d
- salloc/sbatch/srun: must be root to use --uid/--gid options
bff578d
- salloc: supplemental groups dropped after setuid
f7f253a
7245d5e
* Thu Oct 5 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.7-3
bff578d
- Added BuildRequires gcc and minor packaging conformance items
7245d5e
bafc131
* Sat Sep 16 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.7-2
bff578d
- Removed unneeded Requires(pre)
bafc131
9be8f28
* Thu Sep 14 2017 Philip Kovacs <pkdevel@yahoo.com> - 17.02.7-1
bff578d
- Packaging for Fedora