From 8b5c455f6f5cc088b56e4bbb7d7e84f64699d4714652e5e32482981e414582d7 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Sat, 27 May 2017 13:49:16 +0000 Subject: [PATCH 1/2] Accepting request 493422 from home:eeich:branches:network:cluster - Replace remaining ${RPM_BUILD_ROOT}s. - Improve description. - Fix up changelog. OBS-URL: https://build.opensuse.org/request/show/493422 OBS-URL: https://build.opensuse.org/package/show/network:cluster/slurm?expand=0&rev=18 --- slurm.changes | 19 +++++++++++++++++++ slurm.spec | 35 ++++++++++++++++++----------------- 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/slurm.changes b/slurm.changes index 10d7660..69f1238 100644 --- a/slurm.changes +++ b/slurm.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +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 @@ -52,6 +64,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 cause the Prolog to fail for their job. CVE-2016-10030 (bsc#1018371). - 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 branch of hwloc. Since this devel branch was included accidentally and has been reversed since, we need to disable this for the time being. @@ -75,6 +89,11 @@ Tue Jan 3 17:21:58 UTC 2017 - eich@suse.com - Create /var/lib/slurm as StateSaveLocation directory. /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 diff --git a/slurm.spec b/slurm.spec index c0800dd..00bfe9d 100644 --- a/slurm.spec +++ b/slurm.spec @@ -109,7 +109,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build Recommends: %{name}-munge %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 status, partition management, job management, scheduling and accounting modules. @@ -119,7 +120,7 @@ Summary: Documentation for SLURM Group: Documentation/HTML %description doc -Documentation for the SLURM cluster managment software. +Documentation (html) for the SLURM cluster managment software. %package -n perl-slurm Summary: Perl API to SLURM @@ -227,7 +228,7 @@ Torque wrapper scripts used for helping migrate from Torque/PBS to SLURM. %package openlava Summary: Openlava/LSF wrappers for transitition from OpenLava/LSF to Slurm Group: Productivity/Clustering/Computing -Requires: slurm-perlapi +Requires: perl-slurm = %{version} %description openlava OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm @@ -235,7 +236,7 @@ OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm %package seff Summary: Mail tool that includes job statistics in user notification email Group: Productivity/Clustering/Computing -Requires: slurm-perlapi +Requires: perl-slurm = %{version} %description seff Mail program used directly by the Slurm daemons. On completion of a job, @@ -310,9 +311,9 @@ make %{?_smp_mflags} %install %make_install -make install-contrib DESTDIR=$RPM_BUILD_ROOT PERL_MM_PARAMS="INSTALLDIRS=vendor" -rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/slurm.conf.template -rm -f $RPM_BUILD_ROOT/%{_sbindir}/slurmconfgen.py +make install-contrib DESTDIR=%{buildroot} PERL_MM_PARAMS="INSTALLDIRS=vendor" +rm -f %{buildroot}/%{_sysconfdir}/slurm.conf.template +rm -f %{buildroot}/%{_sbindir}/slurmconfgen.py %if 0%{?with_systemd} @@ -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}/rcslurmctld %else -install -D -m755 etc/init.d.slurm $RPM_BUILD_ROOT%{_initrddir}/slurm -install -D -m755 etc/init.d.slurmdbd $RPM_BUILD_ROOT%{_initrddir}/slurmdbd +install -D -m755 etc/init.d.slurm %{buildroot}%{_initrddir}/slurm +install -D -m755 etc/init.d.slurmdbd %{buildroot}%{_initrddir}/slurmdbd ln -sf %{_initrddir}/slurm %{buildroot}%{_sbindir}/rcslurm ln -sf %{_initrddir}/slurmdbd %{buildroot}%{_sbindir}/rcslurmdbd %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_cpuset 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 -m755 etc/slurm.epilog.clean ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/slurm.epilog.clean -install -D -m755 contribs/sgather/sgather ${RPM_BUILD_ROOT}%{_bindir}/sgather -install -D -m755 contribs/sjstat ${RPM_BUILD_ROOT}%{_bindir}/sjstat +install -D -m644 etc/slurmdbd.conf.example %{buildroot}%{_sysconfdir}/%{name}/slurmdbd.conf.example +install -D -m755 etc/slurm.epilog.clean %{buildroot}%{_sysconfdir}/%{name}/slurm.epilog.clean +install -D -m755 contribs/sgather/sgather %{buildroot}%{_bindir}/sgather +install -D -m755 contribs/sjstat %{buildroot}%{_bindir}/sjstat %if 0%{?OHPC_BUILD} # 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}/mpi_pmi2* +## rm -f %%{buildroot}/%%{_libdir}/libpmi* +## rm -f %%{buildroot}/%%{_libdir}/mpi_pmi2* # 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 sed -i 's#\(StateSaveLocation=\).*#\1%_localstatedir/lib/slurm#' %{buildroot}/%{_sysconfdir}/%{name}/slurm.conf @@ -388,9 +389,9 @@ mv %{buildroot}/%{perl_sitearch}/config.slurmdb.pl %{buildroot}/%{perl_vendorarc # Build man pages that are generated directly by the tools 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 -${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 sed -i 's/\r$//' %{buildroot}/%{_bindir}/qrerun From a09041a8b67b4848c01bb6df7c6a4ac4c7ef4a57a031a9ad42dcf5760a7e1d55 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Tue, 30 May 2017 10:41:04 +0000 Subject: [PATCH 2/2] - 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). OBS-URL: https://build.opensuse.org/package/show/network:cluster/slurm?expand=0&rev=19 --- slurm.changes | 7 +++++++ slurm.spec | 33 +++++++++++++++++---------------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/slurm.changes b/slurm.changes index 69f1238..1d1d208 100644 --- a/slurm.changes +++ b/slurm.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +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 diff --git a/slurm.spec b/slurm.spec index 00bfe9d..8983cd4 100644 --- a/slurm.spec +++ b/slurm.spec @@ -1,7 +1,7 @@ # # 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 # remain the property of their copyright owners, unless otherwise agreed @@ -15,6 +15,7 @@ # 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. %if 0%{?sle_version} >= 120200 %define OHPC_BUILD 1 @@ -66,8 +67,8 @@ Source1: slurm.service Source2: slurmdbd.service Patch0: slurm-2.4.4-rpath.patch Patch1: slurm-2.4.4-init.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 +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 Patch4: pam_slurm-Initialize-arrays-and-pass-sizes.patch Requires: slurm-plugins = %{version} %if 0%{?suse_version} <= 1140 @@ -106,7 +107,7 @@ BuildRequires: systemd PreReq: %insserv_prereq %fillup_prereq %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build -Recommends: %{name}-munge +Recommends: %{name}-munge %description SLURM is an open source, fault-tolerant, and highly @@ -116,8 +117,8 @@ status, partition management, job management, scheduling and accounting modules. %package doc -Summary: Documentation for SLURM -Group: Documentation/HTML +Summary: Documentation for SLURM +Group: Documentation/HTML %description doc Documentation (html) for the SLURM cluster managment software. @@ -168,8 +169,8 @@ This package cobtains the SLURM NULL authentication module. %package munge Summary: SLURM authentication and crypto implementation using Munge Group: Productivity/Clustering/Computing -Requires: slurm = %{version} Requires: munge +Requires: slurm = %{version} BuildRequires: munge-devel Obsoletes: slurm-auth-munge < %{version} Provides: slurm-auth-munge = %{version} @@ -226,17 +227,17 @@ Provides: torque-client Torque wrapper scripts used for helping migrate from Torque/PBS to SLURM. %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 -Requires: perl-slurm = %{version} +Requires: perl-slurm = %{version} %description openlava OpenLava wrapper scripts used for helping migrate from OpenLava/LSF to Slurm %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 -Requires: perl-slurm = %{version} +Requires: perl-slurm = %{version} %description seff Mail program used directly by the Slurm daemons. On completion of a job, @@ -284,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 %package lua -Summary: Lua API for SLURM +Summary: Lua API for SLURM Group: Development/Languages/Other Requires: slurm = %{version} BuildRequires: lua-devel @@ -315,7 +316,6 @@ make install-contrib DESTDIR=%{buildroot} PERL_MM_PARAMS="INSTALLDIRS=vendor" rm -f %{buildroot}/%{_sysconfdir}/slurm.conf.template rm -f %{buildroot}/%{_sbindir}/slurmconfgen.py - %if 0%{?with_systemd} mkdir -p %{buildroot}%{_unitdir} install -p -m644 etc/slurmd.service etc/slurmdbd.service etc/slurmctld.service %{buildroot}%{_unitdir} @@ -397,6 +397,9 @@ rm -f %{buildroot}/%{_mandir}/man1/sjstat.1 sed -i 's/\r$//' %{buildroot}/%{_bindir}/qrerun 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 echo '%{_libdir} %{_libdir}/slurm' > %{buildroot}/etc/ld.so.conf.d/slurm.conf @@ -415,7 +418,6 @@ Name: %{name} Version: %{version} EOF - %fdupes -s %{buildroot} %pre @@ -766,7 +768,7 @@ exit 0 %{_bindir}/qrerun %{_bindir}/qstat %{_bindir}/qsub -%{_bindir}/mpiexec +%{_bindir}/mpiexec.slurm %files slurmdb-direct %defattr(-,root,root) @@ -782,5 +784,4 @@ exit 0 /%_lib/security/pam_slurm.so /%_lib/security/pam_slurm_adopt.so - %changelog