Source: slurm-llnl
Version: 15.08.3-1
Severity: wishlist

Dear maintainers,

Please consider adding a -emulator package to allow run slurm
in emulation mode as described at [1].
Your git repo [2] doesn't seem to be up to date, so I made a patch
against the current package in unstable.

Ana


[1] http://slurm.schedmd.com/faq.html#multi_slurmd
[2] http://anonscm.debian.org/cgit/collab-maint/slurm-llnl.git
>From 1d9a2db9e2f855a8b11a912dbe35fb6815540a22 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ana=20Guerrero=20L=C3=B3pez?= <[email protected]>
Date: Mon, 9 Nov 2015 19:44:57 +0100
Subject: [PATCH] Add package slurm-wlm-emulator. This package provides
 binaries that are already in the slurmd and slurmctld package. These packages
 binaries have now the suffix -wlm and the binaries in slurm-wln-emulator got
 the suffix -wlm-emulator. The binaries are handled with alternatives, having
 the emulator package a higher priority value.

---
 debian/changelog                   | 11 +++++++++++
 debian/control                     | 11 +++++++++++
 debian/rules                       | 21 +++++++++++++++++++++
 debian/slurm-wlm-emulator.install  |  3 +++
 debian/slurm-wlm-emulator.postinst | 15 +++++++++++++++
 debian/slurm-wlm-emulator.prerm    | 14 ++++++++++++++
 debian/slurmctld.install           |  2 +-
 debian/slurmctld.postinst          |  1 +
 debian/slurmctld.prerm             |  1 +
 debian/slurmd.install              |  4 ++--
 debian/slurmd.postinst             |  2 ++
 debian/slurmd.prerm                | 13 +++++++++++++
 12 files changed, 95 insertions(+), 3 deletions(-)
 create mode 100644 debian/slurm-wlm-emulator.install
 create mode 100644 debian/slurm-wlm-emulator.postinst
 create mode 100644 debian/slurm-wlm-emulator.prerm
 create mode 100644 debian/slurmd.prerm

diff --git a/debian/changelog b/debian/changelog
index d6acbfe..18612e4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+slurm-llnl (15.08.3-2) unstable; urgency=medium
+
+  * Add package slurm-wlm-emulator. This package provides binaries that are
+    already in the slurmd and slurmctld package. These packages binaries
+    have now the suffix -wlm and the binaries in slurm-wln-emulator got
+    the suffix -wlm-emulator.
+    The binaries are handled with alternatives, having the emulator package
+    a higher priority value.
+
+ -- Ana Guerrero Lopez <[email protected]>  Mon, 09 Nov 2015 19:29:05 +0100
+
 slurm-llnl (15.08.3-1) unstable; urgency=medium
 
   * New upstream release 
diff --git a/debian/control b/debian/control
index 527f995..da76366 100644
--- a/debian/control
+++ b/debian/control
@@ -435,3 +435,14 @@ Description: transitional dummy package for slurmdbd
  This is a transitional dummy package for slurmdbd
  It can safely be removed.
 
+Package: slurm-wlm-emulator
+Architecture: any
+Depends: ${misc:Depends},
+ slurmctld (= ${binary:Version}),
+ slurmd (= ${binary:Version})
+Description: SLURM emulator
+ SLURM, the Simple Linux Utility for Resource Management,
+ is an open-source cluster resource management and job scheduling.
+ .
+ This package installs the emulator binaries: slurmd, slurmctld
+ and slurmstepd.
diff --git a/debian/rules b/debian/rules
index c66b6a9..8ce8cc1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,12 +11,22 @@ include /usr/share/dpkg/architecture.mk
 %:
 	dh $@ --builddirectory --parallel --with systemd
 
+override_dh_auto_clean:
+	dh_auto_clean
+	dh_auto_clean --builddirectory build-emulator
+	rm -rf $(CURDIR)/debian/tmp-emulator
+
 # We run configure with --disable-debug to avoid the default use of -O0 and
 # consequent unprotected source functions, causing lintian report
 # hardening-no-fortify-functions
 # Notice that -g in CFLAGS is still provided by dpkg-buildflags
 override_dh_auto_configure:
 	dh_auto_configure -- --sysconfdir=/etc/slurm-llnl --localstatedir=/var/run/slurm-llnl --with-munge --without-blcr --enable-pam --without-rpath --disable-debug
+	dh_auto_configure --builddirectory build-emulator -- --sysconfdir=/etc/slurm-llnl --localstatedir=/var/run/slurm-llnl --with-munge --without-blcr --enable-pam --without-rpath --disable-debug --enable-front-end --enable-multiple-slurmd
+
+override_dh_auto_build:
+	dh_auto_build
+	dh_auto_build --builddirectory build-emulator
 
 override_dh_auto_install:
 	dh_auto_install
@@ -42,6 +52,17 @@ override_dh_auto_install:
 		pod2man $$i > debian/tmp/usr/share/man/man1/$$(basename $$i).1; \
 	done
 
+	# Rename binaries that are also in the slurm-wlm-emulator
+	mv debian/tmp/usr/sbin/slurmctld debian/tmp/usr/sbin/slurmctld-wlm
+	mv debian/tmp/usr/sbin/slurmd debian/tmp/usr/sbin/slurmd-wlm
+	mv debian/tmp/usr/sbin/slurmstepd debian/tmp/usr/sbin/slurmstepd-wlm
+
+	dh_auto_install --builddirectory build-emulator  --destdir=$(CURDIR)/debian/tmp-emulator
+	# Rename binaries in the emulator package
+	mv debian/tmp-emulator/usr/sbin/slurmctld debian/tmp-emulator/usr/sbin/slurmctld-wlm-emulator
+	mv debian/tmp-emulator/usr/sbin/slurmd debian/tmp-emulator/usr/sbin/slurmd-wlm-emulator
+	mv debian/tmp-emulator/usr/sbin/slurmstepd debian/tmp-emulator/usr/sbin/slurmstepd-wlm-emulator
+
 override_dh_strip:
 	dh_strip -plibslurm29 --dbg-package=libslurm29-dbg
 	dh_strip -plibslurmdb29 --dbg-package=libslurmdb29-dbg
diff --git a/debian/slurm-wlm-emulator.install b/debian/slurm-wlm-emulator.install
new file mode 100644
index 0000000..ecc511c
--- /dev/null
+++ b/debian/slurm-wlm-emulator.install
@@ -0,0 +1,3 @@
+debian/tmp-emulator/usr/sbin/slurmctld-wlm-emulator	/usr/sbin/
+debian/tmp-emulator/usr/sbin/slurmd-wlm-emulator	/usr/sbin/
+debian/tmp-emulator/usr/sbin/slurmstepd-wlm-emulator	/usr/sbin/
diff --git a/debian/slurm-wlm-emulator.postinst b/debian/slurm-wlm-emulator.postinst
new file mode 100644
index 0000000..dded80f
--- /dev/null
+++ b/debian/slurm-wlm-emulator.postinst
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ] ; then
+
+  update-alternatives --install /usr/sbin/slurmctld slurmctld /usr/sbin/slurmctld-wlm-emulator 60
+  update-alternatives --install /usr/sbin/slurmd slurmd /usr/sbin/slurmd-wlm-emulator 60 \
+    --slave /usr/sbin/slurmstepd slurmstepd /usr/sbin/slurmstepd-wlm-emulator
+
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/slurm-wlm-emulator.prerm b/debian/slurm-wlm-emulator.prerm
new file mode 100644
index 0000000..a37d95c
--- /dev/null
+++ b/debian/slurm-wlm-emulator.prerm
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+	remove|deconfigure)
+		update-alternatives --remove slurmctld /usr/sbin/slurmctld-wlm-emulator
+		update-alternatives --remove slurmd /usr/sbin/slurmd-wlm-emulator
+		;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/slurmctld.install b/debian/slurmctld.install
index 22db354..4f42c2a 100644
--- a/debian/slurmctld.install
+++ b/debian/slurmctld.install
@@ -1 +1 @@
-usr/sbin/slurmctld
+usr/sbin/slurmctld-wlm
diff --git a/debian/slurmctld.postinst b/debian/slurmctld.postinst
index cb04cfa..5721a88 100644
--- a/debian/slurmctld.postinst
+++ b/debian/slurmctld.postinst
@@ -22,6 +22,7 @@ case "$1" in
       chown slurm:slurm /var/lib/slurm-llnl
       chown slurm:slurm /var/lib/slurm-llnl/slurmctld
       chown slurm:slurm /var/log/slurm-llnl
+      update-alternatives --install /usr/sbin/slurmctld slurmctld /usr/sbin/slurmctld-wlm 50
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/debian/slurmctld.prerm b/debian/slurmctld.prerm
index 8c65149..52b61b9 100644
--- a/debian/slurmctld.prerm
+++ b/debian/slurmctld.prerm
@@ -22,6 +22,7 @@ case "$1" in
         scancel --state=pending
         scancel --state=running
       fi
+      update-alternatives --remove slurmctld /usr/sbin/slurmctld-wlm
     ;;
 
     upgrade)
diff --git a/debian/slurmd.install b/debian/slurmd.install
index 6d15e33..2926fc1 100644
--- a/debian/slurmd.install
+++ b/debian/slurmd.install
@@ -1,2 +1,2 @@
-usr/sbin/slurmd
-usr/sbin/slurmstepd
+usr/sbin/slurmd-wlm
+usr/sbin/slurmstepd-wlm
diff --git a/debian/slurmd.postinst b/debian/slurmd.postinst
index 629911e..6dc5c33 100644
--- a/debian/slurmd.postinst
+++ b/debian/slurmd.postinst
@@ -30,6 +30,8 @@ case "$1" in
         STARTOPTION="startclean"
       fi
 
+      update-alternatives --install /usr/sbin/slurmd slurmd /usr/sbin/slurmd-wlm 50 \
+	--slave /usr/sbin/slurmstepd slurmstepd /usr/sbin/slurmstepd-wlm
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/debian/slurmd.prerm b/debian/slurmd.prerm
new file mode 100644
index 0000000..7dffaa6
--- /dev/null
+++ b/debian/slurmd.prerm
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+case "$1" in
+	remove|deconfigure)
+		update-alternatives --remove slurmd /usr/sbin/slurmd-wlm
+		;;
+esac
+
+#DEBHELPER#
+
+exit 0
-- 
2.6.2

Reply via email to