[bip] Adding systemd unit file and removing sysvinit file

Brian C. Lane bcl at fedoraproject.org
Fri Nov 18 00:55:39 UTC 2011


commit db565e3a201b60db50b71089025c4bd6dab288c1
Author: Brian C. Lane <bcl at redhat.com>
Date:   Thu Nov 17 16:17:54 2011 -0800

    Adding systemd unit file and removing sysvinit file

 bip.init    |   63 -----------------------------------------------------------
 bip.service |   13 ++++++++++++
 bip.spec    |   44 ++++++++++++++++++++++++++++++-----------
 3 files changed, 45 insertions(+), 75 deletions(-)
---
diff --git a/bip.service b/bip.service
new file mode 100644
index 0000000..164d810
--- /dev/null
+++ b/bip.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Bip IRC Proxy Server
+After=network.target
+
+[Service]
+User=bip
+Type=forking
+PIDFile=/run/bip/bip.pid
+ExecStart=/usr/bin/bip -f /etc/bip.conf
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/bip.spec b/bip.spec
index dc8e5b1..d4692c4 100644
--- a/bip.spec
+++ b/bip.spec
@@ -1,16 +1,16 @@
 Name:    bip
 Version: 0.8.8
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: IRC Bouncer
 Group:   Applications/Internet
 License: GPLv2+
 URL: http://bip.t1r.net
 
 Source0: https://projects.duckcorp.org/attachments/download/20/bip-%{version}.tar.gz
-Source1: bip.init
 # Fedora 15+ - ensure that /var/run/bip is created on system start
 # http://bugzilla.redhat.com/show_bug.cgi?id=707294
 Source2: bip-tmpfs.conf
+Source3: bip.service
 Patch0: bip-conf.patch
 Patch1: bip-fn-ircd7.patch
 
@@ -21,6 +21,11 @@ BuildRequires: byacc
 BuildRequires: flex
 BuildRequires: m4
 BuildRequires: openssl-devel
+BuildRequires: systemd-units
+Requires(post): systemd-sysv
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
 
 %description
 Bip is an IRC proxy, which means it keeps connected to your preferred IRC
@@ -54,15 +59,16 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
 install -m 0644 samples/bip.conf $RPM_BUILD_ROOT%{_sysconfdir}/bip.conf
 # Install bipgenconfig
 install -m 0755 scripts/bipgenconfig $RPM_BUILD_ROOT%{_bindir}/bipgenconfig
-# Install initscript
-mkdir -p $RPM_BUILD_ROOT%{_initrddir}
-install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/bip
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/bip
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/bip
 
 install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
 install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/bip.conf
 
+# Install systemd service file
+install -d -m 755 $RPM_BUILD_ROOT%{_unitdir}
+install -p -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -72,19 +78,30 @@ rm -rf $RPM_BUILD_ROOT
   -s /bin/sh -r -d / bip 2> /dev/null || :
 
 %post
-/sbin/chkconfig --add bip
+if [ $1 -eq 1 ] ; then 
+    # Initial installation 
+    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+fi
+/bin/systemd-tmpfiles --create %{_sysconfdir}/tmpfiles.d/bip.conf
 
 %preun
-if [ "$1" = 0 ]; then
-  /sbin/service bip stop >/dev/null 2>&1 || :
-  /sbin/chkconfig --del bip
+if [ $1 -eq 0 ] ; then
+    # Package removal, not upgrade
+    /bin/systemctl --no-reload disable bip.service > /dev/null 2>&1 || :
+    /bin/systemctl stop bip.service > /dev/null 2>&1 || :
 fi
 
 %postun
-if [ "$1" -ge 1 ]; then
-  /sbin/service bip condrestart >/dev/null 2>&1 || :
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+    # Package upgrade, not uninstall
+    /bin/systemctl try-restart bip.service >/dev/null 2>&1 || :
 fi
 
+%triggerun -- bip < 0.8.8-2
+/usr/bin/systemd-sysv-convert --save bip >/dev/null 2>&1 ||:
+/sbin/chkconfig --del bip >/dev/null 2>&1 || :
+/bin/systemctl try-restart bip.service >/dev/null 2>&1 || :
 
 %files
 %defattr(-,root,root,-)
@@ -96,12 +113,15 @@ fi
 %{_mandir}/man1/bip.1.gz
 %{_mandir}/man5/bip.conf.5.gz
 %config(noreplace) %{_sysconfdir}/bip.conf
-%{_initrddir}/bip
 %config %{_sysconfdir}/tmpfiles.d/bip.conf
 %attr(-,bip,bip) %ghost %{_localstatedir}/run/bip
 %attr(-,bip,bip) %dir %{_localstatedir}/log/bip
+%{_unitdir}/bip.service
 
 %changelog
+* Thu Nov 17 2011 Brian C. Lane <bcl at redhat.com> - 0.8.8-2
+- Adding systemd unit file and removing sysvinit file
+
 * Fri Jul 29 2011 Brian C. Lane <bcl at redhat.com> - 0.8.8-1
 - Upstream v0.8.8
 


More information about the scm-commits mailing list