SHA256
1
0
forked from pool/slurm

Accepting request 499661 from network:cluster

- Move wrapper script mpiexec provided by slrum-torque to
  mpiexec.slurm to avoid conflicts. This file is normally
  provided by the MPI implementation (boo#1041706). 

- Replace remaining ${RPM_BUILD_ROOT}s.
- Improve description.
- Fix up changelog.

- Spec file: Replace "Requires : slurm-perlapi" by
  "Requires: perl-slurm = %{version}" (boo#1031872).

- Fix array initialzation and ensure strings are always NULL terminated in
-  pam_slurm.c (bsc#1007053).
- Create slurm user/group in preinstall script.

OBS-URL: https://build.opensuse.org/request/show/499661
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/slurm?expand=0&rev=2
This commit is contained in:
Dominique Leuenberger 2017-06-08 13:01:56 +00:00 committed by Git OBS Bridge
commit a8f243d156
2 changed files with 59 additions and 31 deletions

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Tue May 30 10:24:09 UTC 2017 - eich@suse.com
- Move wrapper script mpiexec provided by slrum-torque to
mpiexec.slurm to avoid conflicts. This file is normally
provided by the MPI implementation (boo#1041706).
-------------------------------------------------------------------
Mon May 8 10:10:04 UTC 2017 - eich@suse.com
- Replace remaining ${RPM_BUILD_ROOT}s.
- Improve description.
- Fix up changelog.
-------------------------------------------------------------------
Fri Mar 31 12:43:25 UTC 2017 - eich@suse.com
- Spec file: Replace "Requires : slurm-perlapi" by
"Requires: perl-slurm = %{version}" (boo#1031872).
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Feb 16 12:12:45 UTC 2017 - jengelh@inai.de Thu Feb 16 12:12:45 UTC 2017 - jengelh@inai.de
@ -52,6 +71,8 @@ Wed Feb 1 20:17:47 UTC 2017 - eich@suse.com
failure of a Prolog script. To exploit this a user needs to anticipate or failure of a Prolog script. To exploit this a user needs to anticipate or
cause the Prolog to fail for their job. CVE-2016-10030 (bsc#1018371). cause the Prolog to fail for their job. CVE-2016-10030 (bsc#1018371).
- Replace group/user add macros with function calls. - Replace group/user add macros with function calls.
- Fix array initialzation and ensure strings are always NULL terminated in
- pam_slurm.c (bsc#1007053).
- Disable building with netloc support: the netloc API is part of the devel - Disable building with netloc support: the netloc API is part of the devel
branch of hwloc. Since this devel branch was included accidentally and has branch of hwloc. Since this devel branch was included accidentally and has
been reversed since, we need to disable this for the time being. been reversed since, we need to disable this for the time being.
@ -75,6 +96,11 @@ Tue Jan 3 17:21:58 UTC 2017 - eich@suse.com
- Create /var/lib/slurm as StateSaveLocation directory. - Create /var/lib/slurm as StateSaveLocation directory.
/tmp is dangerous. /tmp is dangerous.
-------------------------------------------------------------------
Fri Dec 2 19:39:56 UTC 2016 - eich@suse.com
- Create slurm user/group in preinstall script.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Nov 30 15:16:05 UTC 2016 - eich@suse.com Wed Nov 30 15:16:05 UTC 2016 - eich@suse.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package slurm # spec file for package slurm
# #
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
# For anything newer than Leap 42.1 and SLE-12-SP1 build compatible to OpenHPC. # For anything newer than Leap 42.1 and SLE-12-SP1 build compatible to OpenHPC.
%if 0%{?sle_version} >= 120200 %if 0%{?sle_version} >= 120200
%define OHPC_BUILD 1 %define OHPC_BUILD 1
@ -66,8 +67,8 @@ Source1: slurm.service
Source2: slurmdbd.service Source2: slurmdbd.service
Patch0: slurm-2.4.4-rpath.patch Patch0: slurm-2.4.4-rpath.patch
Patch1: slurm-2.4.4-init.patch Patch1: slurm-2.4.4-init.patch
Patch2: slurmd-Fix-slurmd-for-new-API-in-hwloc-2.0.patch Patch2: slurmd-Fix-slurmd-for-new-API-in-hwloc-2.0.patch
Patch3: plugins-cgroup-Fix-slurmd-for-new-API-in-hwloc-2.0.patch Patch3: plugins-cgroup-Fix-slurmd-for-new-API-in-hwloc-2.0.patch
Patch4: pam_slurm-Initialize-arrays-and-pass-sizes.patch Patch4: pam_slurm-Initialize-arrays-and-pass-sizes.patch
Requires: slurm-plugins = %{version} Requires: slurm-plugins = %{version}
%if 0%{?suse_version} <= 1140 %if 0%{?suse_version} <= 1140
@ -106,20 +107,21 @@ BuildRequires: systemd
PreReq: %insserv_prereq %fillup_prereq PreReq: %insserv_prereq %fillup_prereq
%endif %endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Recommends: %{name}-munge Recommends: %{name}-munge
%description %description
SLURM is a cluster management and job scheduling system for Linux SLURM is an open source, fault-tolerant, and highly
scalable cluster management and job scheduling system for Linux
clusters containing up to 65,536 nodes. Components include machine clusters containing up to 65,536 nodes. Components include machine
status, partition management, job management, scheduling and status, partition management, job management, scheduling and
accounting modules. accounting modules.
%package doc %package doc
Summary: Documentation for SLURM Summary: Documentation for SLURM
Group: Documentation/HTML Group: Documentation/HTML
%description doc %description doc
Documentation for the SLURM cluster managment software. Documentation (html) for the SLURM cluster managment software.
%package -n perl-slurm %package -n perl-slurm
Summary: Perl API to SLURM Summary: Perl API to SLURM
@ -167,8 +169,8 @@ This package cobtains the SLURM NULL authentication module.
%package munge %package munge
Summary: SLURM authentication and crypto implementation using Munge Summary: SLURM authentication and crypto implementation using Munge
Group: Productivity/Clustering/Computing Group: Productivity/Clustering/Computing
Requires: slurm = %{version}
Requires: munge Requires: munge
Requires: slurm = %{version}
BuildRequires: munge-devel BuildRequires: munge-devel
Obsoletes: slurm-auth-munge < %{version} Obsoletes: slurm-auth-munge < %{version}
Provides: slurm-auth-munge = %{version} Provides: slurm-auth-munge = %{version}
@ -225,17 +227,17 @@ Provides: torque-client
Torque wrapper scripts used for helping migrate from Torque/PBS to SLURM. Torque wrapper scripts used for helping migrate from Torque/PBS to SLURM.
%package openlava %package openlava
Summary: Openlava/LSF wrappers for transitition from OpenLava/LSF to Slurm Summary: Openlava/LSF wrappers for transitition from OpenLava/LSF to Slurm
Group: Productivity/Clustering/Computing Group: Productivity/Clustering/Computing
Requires: slurm-perlapi Requires: perl-slurm = %{version}
%description openlava %description openlava
OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm
%package seff %package seff
Summary: Mail tool that includes job statistics in user notification email Summary: Mail tool that includes job statistics in user notification email
Group: Productivity/Clustering/Computing Group: Productivity/Clustering/Computing
Requires: slurm-perlapi Requires: perl-slurm = %{version}
%description seff %description seff
Mail program used directly by the Slurm daemons. On completion of a job, Mail program used directly by the Slurm daemons. On completion of a job,
@ -283,7 +285,7 @@ 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 or any user who has allocated resources on the node according to the SLURM
%package lua %package lua
Summary: Lua API for SLURM Summary: Lua API for SLURM
Group: Development/Languages/Other Group: Development/Languages/Other
Requires: slurm = %{version} Requires: slurm = %{version}
BuildRequires: lua-devel BuildRequires: lua-devel
@ -310,10 +312,9 @@ make %{?_smp_mflags}
%install %install
%make_install %make_install
make install-contrib DESTDIR=$RPM_BUILD_ROOT PERL_MM_PARAMS="INSTALLDIRS=vendor" make install-contrib DESTDIR=%{buildroot} PERL_MM_PARAMS="INSTALLDIRS=vendor"
rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/slurm.conf.template rm -f %{buildroot}/%{_sysconfdir}/slurm.conf.template
rm -f $RPM_BUILD_ROOT/%{_sbindir}/slurmconfgen.py rm -f %{buildroot}/%{_sbindir}/slurmconfgen.py
%if 0%{?with_systemd} %if 0%{?with_systemd}
mkdir -p %{buildroot}%{_unitdir} mkdir -p %{buildroot}%{_unitdir}
@ -322,8 +323,8 @@ ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcslurmd
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcslurmdbd ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcslurmdbd
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcslurmctld ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcslurmctld
%else %else
install -D -m755 etc/init.d.slurm $RPM_BUILD_ROOT%{_initrddir}/slurm install -D -m755 etc/init.d.slurm %{buildroot}%{_initrddir}/slurm
install -D -m755 etc/init.d.slurmdbd $RPM_BUILD_ROOT%{_initrddir}/slurmdbd install -D -m755 etc/init.d.slurmdbd %{buildroot}%{_initrddir}/slurmdbd
ln -sf %{_initrddir}/slurm %{buildroot}%{_sbindir}/rcslurm ln -sf %{_initrddir}/slurm %{buildroot}%{_sbindir}/rcslurm
ln -sf %{_initrddir}/slurmdbd %{buildroot}%{_sbindir}/rcslurmdbd ln -sf %{_initrddir}/slurmdbd %{buildroot}%{_sbindir}/rcslurmdbd
%endif %endif
@ -336,15 +337,15 @@ install -D -m755 etc/cgroup.release_common.example %{buildroot}/%{_sysconfdir}/%
install -D -m755 etc/cgroup.release_common.example %{buildroot}/%{_sysconfdir}/%{name}/cgroup/release_freezer install -D -m755 etc/cgroup.release_common.example %{buildroot}/%{_sysconfdir}/%{name}/cgroup/release_freezer
install -D -m755 etc/cgroup.release_common.example %{buildroot}/%{_sysconfdir}/%{name}/cgroup/release_cpuset install -D -m755 etc/cgroup.release_common.example %{buildroot}/%{_sysconfdir}/%{name}/cgroup/release_cpuset
install -D -m755 etc/cgroup.release_common.example %{buildroot}/%{_sysconfdir}/%{name}/cgroup/release_memory install -D -m755 etc/cgroup.release_common.example %{buildroot}/%{_sysconfdir}/%{name}/cgroup/release_memory
install -D -m644 etc/slurmdbd.conf.example ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/slurmdbd.conf.example install -D -m644 etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{name}/slurmdbd.conf.example
install -D -m755 etc/slurm.epilog.clean ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/slurm.epilog.clean install -D -m755 etc/slurm.epilog.clean %{buildroot}%{_sysconfdir}/%{name}/slurm.epilog.clean
install -D -m755 contribs/sgather/sgather ${RPM_BUILD_ROOT}%{_bindir}/sgather install -D -m755 contribs/sgather/sgather %{buildroot}%{_bindir}/sgather
install -D -m755 contribs/sjstat ${RPM_BUILD_ROOT}%{_bindir}/sjstat install -D -m755 contribs/sjstat %{buildroot}%{_bindir}/sjstat
%if 0%{?OHPC_BUILD} %if 0%{?OHPC_BUILD}
# 6/16/15 karl.w.schulz@intel.com - do not package Slurm's version of libpmi with OpenHPC. # 6/16/15 karl.w.schulz@intel.com - do not package Slurm's version of libpmi with OpenHPC.
## rm -f %{buildroot}/%%{_libdir}/libpmi* ## rm -f %%{buildroot}/%%{_libdir}/libpmi*
## rm -f %{buildroot}/%%{_libdir}/mpi_pmi2* ## rm -f %%{buildroot}/%%{_libdir}/mpi_pmi2*
# 9/8/14 karl.w.schulz@intel.com - provide starting config file # 9/8/14 karl.w.schulz@intel.com - provide starting config file
head -n -2 %{buildroot}/%{_sysconfdir}/%{name}/slurm.conf.example | grep -v ReturnToService > %{buildroot}/%{_sysconfdir}/%{name}/slurm.conf head -n -2 %{buildroot}/%{_sysconfdir}/%{name}/slurm.conf.example | grep -v ReturnToService > %{buildroot}/%{_sysconfdir}/%{name}/slurm.conf
sed -i 's#\(StateSaveLocation=\).*#\1%_localstatedir/lib/slurm#' %{buildroot}/%{_sysconfdir}/%{name}/slurm.conf sed -i 's#\(StateSaveLocation=\).*#\1%_localstatedir/lib/slurm#' %{buildroot}/%{_sysconfdir}/%{name}/slurm.conf
@ -388,14 +389,17 @@ mv %{buildroot}/%{perl_sitearch}/config.slurmdb.pl %{buildroot}/%{perl_vendorarc
# Build man pages that are generated directly by the tools # Build man pages that are generated directly by the tools
rm -f %{buildroot}/%{_mandir}/man1/sjobexitmod.1 rm -f %{buildroot}/%{_mandir}/man1/sjobexitmod.1
${RPM_BUILD_ROOT}%{_bindir}/sjobexitmod --roff > %{buildroot}/%{_mandir}/man1/sjobexitmod.1 %{buildroot}%{_bindir}/sjobexitmod --roff > %{buildroot}/%{_mandir}/man1/sjobexitmod.1
rm -f %{buildroot}/%{_mandir}/man1/sjstat.1 rm -f %{buildroot}/%{_mandir}/man1/sjstat.1
${RPM_BUILD_ROOT}%{_bindir}/sjstat --roff > %{buildroot}/%{_mandir}/man1/sjstat.1 %{buildroot}%{_bindir}/sjstat --roff > %{buildroot}/%{_mandir}/man1/sjstat.1
# rpmlint reports wrong end of line for those files # rpmlint reports wrong end of line for those files
sed -i 's/\r$//' %{buildroot}/%{_bindir}/qrerun sed -i 's/\r$//' %{buildroot}/%{_bindir}/qrerun
sed -i 's/\r$//' %{buildroot}/%{_bindir}/qalter sed -i 's/\r$//' %{buildroot}/%{_bindir}/qalter
# avoid conflicts with other packages, make wrapper unique
mv %{buildroot}/%{_bindir}/mpiexec %{buildroot}/%{_bindir}/mpiexec.slurm
mkdir -p %{buildroot}/etc/ld.so.conf.d mkdir -p %{buildroot}/etc/ld.so.conf.d
echo '%{_libdir} echo '%{_libdir}
%{_libdir}/slurm' > %{buildroot}/etc/ld.so.conf.d/slurm.conf %{_libdir}/slurm' > %{buildroot}/etc/ld.so.conf.d/slurm.conf
@ -414,7 +418,6 @@ Name: %{name}
Version: %{version} Version: %{version}
EOF EOF
%fdupes -s %{buildroot} %fdupes -s %{buildroot}
%pre %pre
@ -765,7 +768,7 @@ exit 0
%{_bindir}/qrerun %{_bindir}/qrerun
%{_bindir}/qstat %{_bindir}/qstat
%{_bindir}/qsub %{_bindir}/qsub
%{_bindir}/mpiexec %{_bindir}/mpiexec.slurm
%files slurmdb-direct %files slurmdb-direct
%defattr(-,root,root) %defattr(-,root,root)
@ -781,5 +784,4 @@ exit 0
/%_lib/security/pam_slurm.so /%_lib/security/pam_slurm.so
/%_lib/security/pam_slurm_adopt.so /%_lib/security/pam_slurm_adopt.so
%changelog %changelog