[gridengine] Migrate to systemd unit files

Orion Poplawski orion at fedoraproject.org
Tue Sep 6 21:07:02 UTC 2011


commit 094622aecbe66d6539824ae73a081872070af5c1
Author: Orion Poplawski <orion at cora.nwra.com>
Date:   Tue Sep 6 15:06:43 2011 -0600

    Migrate to systemd unit files

 gridengine.spec   |   69 +++++++++++++++++++++++++++++++---------------------
 sge_execd.service |   11 ++++++++
 sgemaster.service |   11 ++++++++
 3 files changed, 63 insertions(+), 28 deletions(-)
---
diff --git a/gridengine.spec b/gridengine.spec
index 20c89e9..ec25c01 100644
--- a/gridengine.spec
+++ b/gridengine.spec
@@ -6,7 +6,7 @@
 
 Name:    gridengine
 Version: 6.2u5p2
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: Grid Engine - Distributed Computing Management software
 
 Group:   Applications/System
@@ -25,8 +25,8 @@ Source1: gridengine-ppc.tar.gz
 Source2: conf_defaults
 Source3: sge.csh
 Source4: sge.sh
-Source5: sge_execd
-Source6: sgemaster
+Source5: sge_execd.service
+Source6: sgemaster.service
 Source7: bootstrap
 Source8: Licenses
 Source9: gridengine.sysconfig
@@ -88,6 +88,7 @@ BuildRequires: java-devel >= 1.6.0, javacc, ant-junit, ant-nodeps
 BuildRequires: elfutils-libelf-devel, net-tools
 BuildRequires: fedora-usermgmt-devel
 BuildRequires: jemalloc-devel
+BuildRequires: systemd-units
 Requires: binutils
 Requires: ncurses
 Requires(posttrans): /usr/sbin/alternatives
@@ -140,11 +141,10 @@ Summary: Gridengine execd program
 Group: Development/Libraries
 License: BSD and LGPLv2+ and MIT and SISSL
 Requires: %{name} = %{version}-%{release}
-Requires(post): /sbin/chkconfig
-Requires(postun): /sbin/service
+Requires(post): systemd-units
+Requires(postun): systemd-units
 Requires(postun): %{name} = %{version}-%{release}
-Requires(preun): /sbin/chkconfig
-Requires(preun): /sbin/service
+Requires(preun): systemd-units
 Requires(preun): %{name} = %{version}-%{release}
 
 %description execd
@@ -157,11 +157,10 @@ Group: Development/Libraries
 License: BSD and LGPLv2+ and MIT and SISSL
 Requires: %{name} = %{version}-%{release}
 Requires: db4-utils
-Requires(post): /sbin/chkconfig
-Requires(postun): /sbin/service
+Requires(post): systemd-units
+Requires(postun): systemd-units
 Requires(postun): %{name} = %{version}-%{release}
-Requires(preun): /sbin/chkconfig
-Requires(preun): /sbin/service
+Requires(preun): systemd-units
 Requires(preun): %{name} = %{version}-%{release}
 
 %description qmaster
@@ -371,8 +370,8 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
 install -p -m644 %SOURCE3 %SOURCE4 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/
 
 # Startup scripts
-mkdir -p $RPM_BUILD_ROOT%{_initrddir}
-install -p -m755 %SOURCE5 %SOURCE6 $RPM_BUILD_ROOT%{_initrddir}
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}
+install -p -m755 %SOURCE5 %SOURCE6 $RPM_BUILD_ROOT%{_unitdir}
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
 install -p -m644 %SOURCE9 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/gridengine
 
@@ -449,32 +448,43 @@ alternatives --remove qsub %{_bindir}/qsub-ge
 
 
 %post execd
-/sbin/chkconfig --add sge_execd
+if [ $1 -eq 1 ] ; then 
+    # Initial installation 
+    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+fi
 
 %postun execd
-if [ "$1" -ge "1" ]; then
-        /sbin/service sge_execd condrestart >/dev/null 2>&1 || :
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+    # Package upgrade, not uninstall
+    /bin/systemctl try-restart sge_execd.service >/dev/null 2>&1 || :
 fi
 
 %preun execd
-if [ $1 -eq 0 ]; then
-    /sbin/service sge_execd stop
-    /sbin/chkconfig --del sge_execd
+if [ $1 -eq 0 ] ; then
+    # Package removal, not upgrade
+    /bin/systemctl --no-reload disable sge_execd.service > /dev/null 2>&1 || :
+    /bin/systemctl stop sge_execd.service > /dev/null 2>&1 || :
 fi
 
-
 %post qmaster
-/sbin/chkconfig --add sgemaster
+if [ $1 -eq 1 ] ; then 
+    # Initial installation 
+    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+fi
 
 %postun qmaster
-if [ "$1" -ge "1" ]; then
-        /sbin/service sgemaster condrestart >/dev/null 2>&1 || :
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+    # Package upgrade, not uninstall
+    /bin/systemctl try-restart sgemaster.service >/dev/null 2>&1 || :
 fi
 
 %preun qmaster
-if [ $1 -eq 0 ]; then
-    /sbin/service sgemaster stop
-    /sbin/chkconfig --del sgemaster
+if [ $1 -eq 0 ] ; then
+    # Package removal, not upgrade
+    /bin/systemctl --no-reload disable sgemaster.service > /dev/null 2>&1 || :
+    /bin/systemctl stop sgemaster.service > /dev/null 2>&1 || :
 fi
 
 
@@ -552,7 +562,7 @@ fi
 
 %files execd
 %defattr(-,root,root,-)
-%{_initrddir}/sge_execd
+%{_unitdir}/sge_execd.service
 %{_bindir}/sge_execd
 %{_bindir}/sge_*shepherd
 %{_datadir}/gridengine/install_execd
@@ -563,7 +573,7 @@ fi
 
 %files qmaster
 %defattr(-,root,root,-)
-%{_initrddir}/sgemaster
+%{_unitdir}/sgemaster.service
 %{_bindir}/qacct
 %{_bindir}/sge_qmaster
 %{_datadir}/gridengine/bin/*/qacct
@@ -578,6 +588,9 @@ fi
 
 
 %changelog
+* Tue Sep 6 2011 Orion Poplawski <orion at cora.nwra.com> 6.2u5p2-2
+- Migrate to systemd unit files
+
 * Tue Sep 6 2011 Orion Poplawski <orion at cora.nwra.com> 6.2u5p2-1
 - Update to opengridscheduler release 6.2u5p2
 - Drop patches applied upstream
diff --git a/sge_execd.service b/sge_execd.service
new file mode 100644
index 0000000..6570222
--- /dev/null
+++ b/sge_execd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Gridengine execution daemon
+After=network.target
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/sysconfig/gridengine
+ExecStart=/usr/bin/sge_execd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sgemaster.service b/sgemaster.service
new file mode 100644
index 0000000..ca6c009
--- /dev/null
+++ b/sgemaster.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Gridengine master daemon and scheduler
+After=network.target
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/sysconfig/gridengine
+ExecStart=/usr/bin/sge_qmaster
+
+[Install]
+WantedBy=multi-user.target


More information about the scm-commits mailing list