[rpcbind] Migrated SysV initscripts to systemd (bz 713574)

Steve Dickson steved at fedoraproject.org
Thu Jul 7 15:32:26 UTC 2011


commit 4d358c968fca190899978bbd43323ef6b50c2b43
Author: Steve Dickson <steved at redhat.com>
Date:   Thu Jul 7 11:29:01 2011 -0400

    Migrated SysV initscripts to systemd (bz 713574)
    
    Signed-off-by: Steve Dickson <steved at redhat.com>

 rpcbind.service |   12 ++++++++++++
 rpcbind.socket  |    8 ++++++++
 rpcbind.spec    |   31 ++++++++++++++++++++++++-------
 3 files changed, 44 insertions(+), 7 deletions(-)
---
diff --git a/rpcbind.service b/rpcbind.service
new file mode 100644
index 0000000..84184a9
--- /dev/null
+++ b/rpcbind.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=RPC bind service
+Requires=rpcbind.socket
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/sbin/rpcbind -w
+
+[Install]
+WantedBy=multi-user.target
+Also=rpcbind.socket
diff --git a/rpcbind.socket b/rpcbind.socket
new file mode 100644
index 0000000..d63c1d9
--- /dev/null
+++ b/rpcbind.socket
@@ -0,0 +1,8 @@
+[Unit]
+Description=RPCbind Server Activation Socket
+
+[Socket]
+ListenStream=/var/run/rpcbind.sock
+
+[Install]
+WantedBy=sockets.target
diff --git a/rpcbind.spec b/rpcbind.spec
index 435e2c3..c299d75 100644
--- a/rpcbind.spec
+++ b/rpcbind.spec
@@ -2,7 +2,7 @@
 
 Name:           rpcbind
 Version:        0.2.0
-Release:	11%{?dist}
+Release:	12%{?dist}
 Summary:        Universal Addresses to RPC Program Number Mapper
 Group:          System Environment/Daemons
 License:        BSD
@@ -11,6 +11,9 @@ URL:            http://nfsv4.bullopensource.org
 BuildRoot:      %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n)
 Source0:        http://downloads.sourceforge.net/rpcbind/%{name}-%{version}.tar.bz2
 Source1: rpcbind.init
+Source2: rpcbind.service
+Source3: rpcbind.socket
+%define rpcbind_services %{SOURCE2} %{SOURCE3}
 
 Patch001: rpcbind-0_2_1-rc3.patch
 
@@ -60,8 +63,7 @@ make all
 
 %install
 rm -rf %{buildroot}
-mkdir -p %{buildroot}/sbin
-mkdir -p %{buildroot}/usr/sbin
+mkdir -p %{buildroot}{/sbin,/usr/sbin,/lib/systemd/system}
 mkdir -p %{buildroot}%{_sysconfdir}/rc.d/init.d
 mkdir -p %{buildroot}%{_mandir}/man8
 mkdir -p %{buildroot}/var/lib/rpcbind
@@ -70,6 +72,10 @@ make DESTDIR=$RPM_BUILD_ROOT install
 mv -f ${RPM_BUILD_ROOT}%{_bindir}/rpcbind ${RPM_BUILD_ROOT}/sbin
 mv -f ${RPM_BUILD_ROOT}%{_bindir}/rpcinfo ${RPM_BUILD_ROOT}%{_sbindir}
 install -m 755 ${RPM_SOURCE_DIR}/rpcbind.init ${RPM_BUILD_ROOT}%{_initddir}/rpcbind
+for service in %{rpcbind_services} ; do
+    install -m 644 $service $RPM_BUILD_ROOT/lib/systemd/system
+done
+
 
 %clean
 rm -rf %{buildroot}
@@ -92,19 +98,25 @@ if [ -z "$rpcid" -o "$rpcid" != "32" ]; then
     	-M -s /sbin/nologin -u 32 rpc > /dev/null 2>&1
 fi
 %post 
-/sbin/chkconfig --add %{name}
+if [ $1 -eq 1 ]; then
+	# Package install, not upgrade
+	/bin/systemctl enable rpcbind.service >/dev/null 2>&1 || :
+fi
 
 %preun
 if [ $1 -eq 0 ]; then
-    service rpcbind stop > /dev/null 2>&1
-    /sbin/chkconfig --del %{name}
+	# Package removal, not upgrade
+	/bin/systemctl disable rpcbind.service >/dev/null 2>&1 || :
+	/bin/systemctl stop rpcbind.service >/dev/null 2>&1 || :
 	/usr/sbin/userdel  rpc 2>/dev/null || :
 	/usr/sbin/groupdel rpc 2>/dev/null || :
 	rm -rf /var/lib/rpcbind
 fi
 %postun
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
 if [ "$1" -ge "1" ]; then
-    service rpcbind condrestart > /dev/null 2>&1
+    # Package upgrade, not uninstall
+	/bin/systemctl try-restart rpcbind.service >/dev/null 2>&1 || :
 fi
 
 %files
@@ -114,10 +126,15 @@ fi
 %{_sbindir}/rpcinfo
 %{_mandir}/man8/*
 %config %{_initddir}/rpcbind
+/lib/systemd/system/*.service
+/lib/systemd/system/*.socket
 
 %dir %attr(700,rpc,rpc) /var/lib/rpcbind
 
 %changelog
+* Thu Jul  7 2011 Steve Dickson <steved at redhat.com> - 0.2.0-12
+- Migrated SysV initscripts to systemd (bz 713574)
+
 * Thu Mar 17 2011 Steve Dickson <steved at redhat.com> - 0.2.0-11
 - Updated to the latest upstream release: rpcbind-0_2_1-rc3
 


More information about the scm-commits mailing list