[rarpd] added systemd native unit file, removed patches for a former initscript

Jan Horak hhorak at fedoraproject.org
Fri Aug 5 10:10:58 UTC 2011


commit 4ef608c8caf90653295f29468d34bbdc61359010
Author: Honza Horák <hhorak at redhat.com>
Date:   Fri Aug 5 12:10:38 2011 +0200

    added systemd native unit file, removed patches for a former initscript

 rarpd-configurableInit.patch |   23 -----------
 rarpd-initLSB.patch          |   85 ------------------------------------------
 rarpd-initscript.patch       |   77 --------------------------------------
 rarpd-norun.patch            |   13 ------
 rarpd-ss981107.patch         |   56 ---------------------------
 rarpd.service                |   13 ++++++
 rarpd.spec                   |   60 +++++++++++++++++-------------
 7 files changed, 47 insertions(+), 280 deletions(-)
---
diff --git a/rarpd-ss981107.patch b/rarpd-ss981107.patch
index fc92d56..a3d9db0 100644
--- a/rarpd-ss981107.patch
+++ b/rarpd-ss981107.patch
@@ -307,59 +307,3 @@
  		if (ioctl(pset[0].fd, SIOCGIFINDEX, &ifr)) {
  			perror("ioctl(SIOCGIFINDEX)");
  			usage();
---- rarpd/rarpd.init.jj	Thu Jan  1 01:00:00 1970
-+++ rarpd/rarpd.init	Fri Apr  7 15:42:38 2000
-@@ -0,0 +1,53 @@
-+#!/bin/bash
-+#
-+#	/etc/rc.d/init.d/rarpd
-+#
-+# Starts the rarpd daemon
-+#
-+# chkconfig: 345 82 16
-+# description: Servers Reverse Address Resolution Protocol requests.
-+# processname: rarpd
-+
-+# Source function library.
-+. /etc/rc.d/init.d/functions
-+
-+test -x /usr/sbin/rarpd -a -f /etc/ethers || exit 0
-+
-+RETVAL=0
-+
-+#
-+#	See how we were called.
-+#
-+case "$1" in
-+  start)
-+	# Check if rarpd is already running
-+	if [ ! -f /var/lock/subsys/rarpd ]; then
-+	    echo -n 'Starting at daemon: '
-+	    daemon /usr/sbin/rarpd
-+	    RETVAL=$?
-+	    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/rarpd
-+	    echo
-+	fi
-+	;;
-+  stop)
-+	echo -n 'Stopping at daemon: '
-+	killproc /usr/sbin/rarpd
-+	RETVAL=$?
-+	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/rarpd
-+	echo
-+	;;
-+  reload|restart)
-+	$0 stop
-+	$0 start
-+	RETVAL=$?
-+	;;
-+  status)
-+	status /usr/sbin/rarpd
-+	RETVAL=$?
-+	;;
-+  *)
-+	echo "Usage: /etc/rc.d/init.d/rarpd {start|stop|restart|reload|status}"
-+	exit 1
-+esac
-+
-+exit $RETVAL
diff --git a/rarpd.service b/rarpd.service
new file mode 100644
index 0000000..db6f9a1
--- /dev/null
+++ b/rarpd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Reverse Address Resolution Protocol Requests Server
+Requires=syslog.target network.target
+
+[Service]
+Type=forking
+EnvironmentFile=-/etc/sysconfig/rarpd
+ExecStart=/usr/sbin/rarpd $OPTIONS $INTERFACE
+StandardError=syslog
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/rarpd.spec b/rarpd.spec
index 652cd81..21041b0 100644
--- a/rarpd.spec
+++ b/rarpd.spec
@@ -1,21 +1,19 @@
 Summary: The RARP daemon
 Name: rarpd
 Version: ss981107
-Release: 32%{?dist}
+Release: 33%{?dist}
 License: GPLv2+
 Group: System Environment/Daemons
 Source: ftp://ftp.inr.ac.ru/ip-routing/dhcp.bootp.rarp/rarpd-%{version}.tar.gz
+Source1: rarpd.service
 Patch0: rarpd-%{version}.patch
-Patch1: rarpd-norun.patch
-Patch2: rarpd-initscript.patch
-Patch3: rarpd-fd-leak.patch
-Patch4: rarpd-sprintf.patch
-Patch5: rarpd-initLSB.patch
-Patch6: rarpd-configurableInit.patch
-Requires(post): /sbin/chkconfig
-Requires(preun): /sbin/chkconfig
-Requires(preun): /sbin/service
-Requires(postun): /sbin/service
+Patch1: rarpd-fd-leak.patch
+Patch2: rarpd-sprintf.patch
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+Requires(post): systemd-sysv
+BuildRequires: systemd-units
 Buildroot: %{_tmppath}/%{name}-%{version}-root
 
 %description
@@ -32,12 +30,8 @@ network.
 %prep
 %setup -q -n rarpd
 %patch0 -p1 -b .ss981107
-%patch1 -p1 -b .norun
-%patch2 -p1 -b .initscript
-%patch3 -p1 -b .fd-leak
-%patch4 -p1 -b .sprintf
-%patch5 -p1 -b .initLSB
-%patch6 -p1 -b .configurableInit
+%patch1 -p1 -b .fd-leak
+%patch2 -p1 -b .sprintf
 
 %build
 %ifarch s390 s390x
@@ -50,11 +44,11 @@ make CFLAGS="$CFLAGS"
 
 %install
 rm -rf ${RPM_BUILD_ROOT}
-mkdir -p ${RPM_BUILD_ROOT}%{_initrddir}
+mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
 mkdir -p ${RPM_BUILD_ROOT}%{_sbindir}
 mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8
 
-install -m 755 rarpd.init ${RPM_BUILD_ROOT}%{_initrddir}/rarpd
+install -m 644 %{SOURCE1} ${RPM_BUILD_ROOT}%{_unitdir}/rarpd.service
 install -m 755 rarpd ${RPM_BUILD_ROOT}%{_sbindir}/rarpd
 install -m 644 rarpd.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/rarpd.8
 
@@ -62,27 +56,41 @@ install -m 644 rarpd.8 ${RPM_BUILD_ROOT}%{_mandir}/man8/rarpd.8
 rm -rf ${RPM_BUILD_ROOT}
 
 %post
-/sbin/chkconfig --add rarpd
+if [ $1 = 1 ]; then
+    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+fi
+
+# Package with native systemd unit file is installed for the first time
+%triggerun -- rarpd < ss981107-33
+%{_bindir}/systemd-sysv-convert --save rarpd >/dev/null 2>&1 ||:
+
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del rarpd >/dev/null 2>&1 || :
+/bin/systemctl try-restart rarpd.service >/dev/null 2>&1 || :
 
 %preun
-if [ "$1" = 0 ] ; then
-  service rarpd stop >/dev/null 2>&1
-  /sbin/chkconfig --del rarpd
+if [ $1 = 0 ]; then
+    /bin/systemctl --no-reload disable rarpd.service >/dev/null 2>&1 || :
+    /bin/systemctl stop rarpd.service >/dev/null 2>&1 || :
 fi
 
 %postun
-if [ "$1" -ge "1" ]; then
-  service rarpd condrestart >/dev/null 2>&1
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ]; then
+    /bin/systemctl try-restart rarpd.service >/dev/null 2>&1 || :
 fi
 
 %files
 %defattr(-,root,root)
 %doc README
-%{_initrddir}/rarpd
 %{_sbindir}/rarpd
 %{_mandir}/man8/*
+%{_unitdir}/*
 
 %changelog
+* Fri Aug 05 2011 Honza Horak <hhorak at redhat.com> - ss981107-33
+- added systemd native unit file, removed patches for a former initscript
+
 * Fri Aug 05 2011 Honza Horak <hhorak at redhat.com> - ss981107-32
 - fixed rarpd-ss981107.patch to be apply-able
 - fixed some rpmlint errors


More information about the scm-commits mailing list