[rarpd/el6] Port back to SysV init script

Honza Horak hhorak at fedoraproject.org
Wed Jun 12 08:10:47 UTC 2013


commit 6c39076cdaf9d7e669af21e93c8f4ad2c0089350
Author: Honza HorĂ¡k <hhorak at redhat.com>
Date:   Wed Jun 12 10:10:28 2013 +0200

    Port back to SysV init script

 rarpd.init    |   96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 rarpd.service |   14 --------
 rarpd.spec    |   32 ++++++++++++-------
 3 files changed, 116 insertions(+), 26 deletions(-)
---
diff --git a/rarpd.init b/rarpd.init
new file mode 100644
index 0000000..070bb4d
--- /dev/null
+++ b/rarpd.init
@@ -0,0 +1,96 @@
+#!/bin/bash
+#
+#	/etc/rc.d/init.d/rarpd
+#
+# Starts the rarpd daemon
+#
+# chkconfig: - 82 16
+# description: Server Reverse Address Resolution Protocol requests.
+# processname: rarpd
+
+### BEGIN INIT INFO
+# Provides: rarpd
+# Required-Start: $syslog $network
+# Required-Stop:  $syslog $network
+# Default-Start:
+# Default-Stop: 0 1 2 3 4 5 6
+# Short-Description: start and stop rarpd
+# Description: RARP (Reverse Address Resolution Protocol) is a protocol \
+#              which allows individual devices on an IP network to get \
+#              their own IP addresses from the RARP server. \
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+# Read the config file if exists
+if [ -f /etc/sysconfig/rarpd ]; then
+ . /etc/sysconfig/rarpd
+fi
+
+RETVAL=0
+prog="rarpd"
+
+
+start() {
+    #if these files don't exist rarpd can't work
+    test -x /usr/sbin/rarpd -a -f /etc/ethers || exit 6
+	# Check if rarpd is already running
+	#if [ ! -f /var/lock/subsys/rarpd ]; then
+    status rarpd;
+    if [ $? -ne 0 ]; then
+	    echo -n $"Starting $prog: "
+	    daemon /usr/sbin/rarpd $OPTIONS $INTERFACE
+	    RETVAL=$?
+	    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/rarpd
+	    echo
+	fi
+	return $RETVAL
+}
+
+stop() {
+	echo -n $"Stopping $prog: "
+	killproc /usr/sbin/rarpd
+	RETVAL=$?
+	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/rarpd
+	echo
+	return $RETVAL
+}
+reload() {
+    RETVAL=3
+}
+
+#
+#	See how we were called.
+#
+case "$1" in
+  start)
+	start
+	;;
+  stop)
+	stop
+	;;
+  reload)
+    reload
+    ;;
+  force-reload|restart)
+    stop
+	start
+	;;
+  condrestart)
+	if [ -f /var/lock/subsys/rarpd ]; then
+	    stop
+	    start
+	fi
+	;;
+  status)
+	status rarpd
+	RETVAL=$?
+	;;
+  *)
+	echo $"Usage: $0 {start|stop|restart|condrestart|reload|status|force-reload}"
+	RETVAL=2
+    
+esac
+
+exit $RETVAL
diff --git a/rarpd.spec b/rarpd.spec
index ac40c57..78d3655 100644
--- a/rarpd.spec
+++ b/rarpd.spec
@@ -1,19 +1,19 @@
 Summary: The RARP daemon
 Name: rarpd
 Version: ss981107
-Release: 41%{?dist}
+Release: 42%{?dist}
 License: GPLv2+
 Group: System Environment/Daemons
 Source: ftp://ftp.fi.netbsd.org/.m/mirrors1/ftp.inr.ac.ru/ip-routing/dhcp.bootp.rarp/rarpd-%{version}.tar.gz
-Source1: rarpd.service
+Source1: rarpd.init
 Source2: LICENSE
 Patch0: rarpd-%{version}.patch
 Patch1: rarpd-fd-leak.patch
 Patch2: rarpd-sprintf.patch
-Requires(post): systemd-units
-Requires(preun): systemd-units
-Requires(postun): systemd-units
-BuildRequires: systemd-units
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/chkconfig
+Requires(preun): /sbin/service
+Requires(postun): /sbin/service
 
 %description
 RARP (Reverse Address Resolution Protocol) is a protocol which allows
@@ -44,30 +44,38 @@ make CFLAGS="$CFLAGS"
 cp %{SOURCE2} .
 
 %install
-mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
+mkdir -p ${RPM_BUILD_ROOT}%{_initrddir}
 mkdir -p ${RPM_BUILD_ROOT}%{_sbindir}
 mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8
 
-install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_unitdir}/rarpd.service
+install -m 755 %{SOURCE1} ${RPM_BUILD_ROOT}%{_initrddir}/rarpd
 install -m 755 rarpd ${RPM_BUILD_ROOT}%{_sbindir}/rarpd
 install -m 644 rarpd.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/rarpd.8
 
 %post
-%systemd_post rarpd.service
+/sbin/chkconfig --add rarpd
 
 %preun
-%systemd_preun rarpd.service
+if [ "$1" = 0 ] ; then
+  service rarpd stop >/dev/null 2>&1
+  /sbin/chkconfig --del rarpd
+fi
 
 %postun
-%systemd_postun_with_restart rarpd.service
+if [ "$1" -ge "1" ]; then
+  service rarpd condrestart >/dev/null 2>&1
+fi
 
 %files
 %doc README LICENSE
 %{_sbindir}/rarpd
 %{_mandir}/man8/*
-%{_unitdir}/*
+%{_initrddir}/rarpd
 
 %changelog
+* Wed Jun 12 2013 Honza Horak <hhorak at redhat.com> - ss981107-42
+- Port back to SysV init script
+
 * Tue Jun 11 2013 Honza Horak <hhorak at redhat.com> - ss981107-41
 - Fix some packaging issues
 - Adding license text since upstream is dead


More information about the scm-commits mailing list