[arpwatch] replace SysV init script with systemd service
Miroslav Lichvar
mlichvar at fedoraproject.org
Thu Jul 7 12:13:09 UTC 2011
commit 88ad459a1ea4024c964849e3ee7732dcb8196fa0
Author: Miroslav Lichvar <mlichvar at redhat.com>
Date: Thu Jul 7 13:57:27 2011 +0200
replace SysV init script with systemd service
arpwatch.init | 84 ------------------------------------------------------
arpwatch.service | 12 ++++++++
arpwatch.spec | 24 ++++++++-------
3 files changed, 25 insertions(+), 95 deletions(-)
---
diff --git a/arpwatch.service b/arpwatch.service
new file mode 100644
index 0000000..825731c
--- /dev/null
+++ b/arpwatch.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Arpwatch daemon which keeps track of ethernet/ip address pairings
+After=syslog.target network.target
+
+[Service]
+Type=oneshot
+EnvironmentFile=-/etc/sysconfig/arpwatch
+ExecStart=/usr/sbin/arpwatch $OPTIONS
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/arpwatch.spec b/arpwatch.spec
index f722bc8..630e512 100644
--- a/arpwatch.spec
+++ b/arpwatch.spec
@@ -9,15 +9,15 @@ Group: Applications/System
License: BSD with advertising
URL: http://ee.lbl.gov/
Requires(pre): shadow-utils
-Requires(post): /sbin/chkconfig
-Requires(preun): /sbin/chkconfig /sbin/service
-Requires(postun): /sbin/service
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
Requires: /usr/sbin/sendmail
BuildRequires: /usr/sbin/sendmail libpcap-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: ftp://ftp.ee.lbl.gov/arpwatch-%{version}.tar.gz
-Source1: arpwatch.init
+Source1: arpwatch.service
Source2: arpwatch.sysconfig
# created by:
# wget -O- http://standards.ieee.org/regauth/oui/oui.txt | \
@@ -68,7 +68,7 @@ rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
mkdir -p $RPM_BUILD_ROOT%{_vararpwatch}
-mkdir -p $RPM_BUILD_ROOT%{_initrddir}
+mkdir -p $RPM_BUILD_ROOT/lib/systemd/system
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
make DESTDIR=$RPM_BUILD_ROOT install install-man
@@ -90,7 +90,7 @@ for i in arp2ethers massagevendor massagevendor-old; do
done
install -p -m644 *.dat $RPM_BUILD_ROOT%{_vararpwatch}
-install -p -m755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/arpwatch
+install -p -m644 %{SOURCE1} $RPM_BUILD_ROOT/lib/systemd/system/arpwatch.service
install -p -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/arpwatch
install -p -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_vararpwatch}/ethercodes.dat.bz2
bzip2 -df $RPM_BUILD_ROOT%{_vararpwatch}/ethercodes.dat.bz2
@@ -101,7 +101,8 @@ rm -f $RPM_BUILD_ROOT%{_sbindir}/massagevendor-old
rm -rf $RPM_BUILD_ROOT
%post
-/sbin/chkconfig --add arpwatch
+/bin/systemctl daemon-reload &> /dev/null
+:
%pre
if ! getent group arpwatch &> /dev/null; then
@@ -119,15 +120,16 @@ fi
:
%postun
+/bin/systemctl daemon-reload &> /dev/null
if [ "$1" -ge 1 ]; then
- /sbin/service arpwatch condrestart &> /dev/null
+ /bin/systemctl try-restart arpwatch.service &> /dev/null
fi
:
%preun
if [ "$1" -eq 0 ]; then
- /sbin/service arpwatch stop &> /dev/null
- /sbin/chkconfig --del arpwatch
+ /bin/systemctl --no-reload disable arpwatch.service &> /dev/null
+ /bin/systemctl stop arpwatch.service &> /dev/null
fi
:
@@ -139,7 +141,7 @@ fi
%{_sbindir}/arp2ethers
%{_sbindir}/massagevendor
%{_mandir}/man8/*.8*
-%{_initrddir}/arpwatch
+/lib/systemd/system/arpwatch.service
%config(noreplace) %{_sysconfdir}/sysconfig/arpwatch
%defattr(-,arpwatch,arpwatch)
%dir %{_vararpwatch}
More information about the scm-commits
mailing list