[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