[aiccu] Implementing native systemd support

Jochen Schmitt s4504kr at fedoraproject.org
Sun Jul 10 17:51:49 UTC 2011


commit 2c5f12ec19cce84f482e602eac8e4d8826889b4b
Author: Jochen Schmitt <Jochen at herr-schmitt.de>
Date:   Wed Jul 6 22:29:29 2011 +0200

    Implementing native systemd support

 aiccu-lsb-initscript.patch |   33 ---------------------------------
 aiccu-run.patch            |   12 ++++++++++++
 aiccu.service              |   11 +++++++++++
 aiccu.spec                 |   43 ++++++++++++++++++++++++++++++-------------
 4 files changed, 53 insertions(+), 46 deletions(-)
---
diff --git a/aiccu-run.patch b/aiccu-run.patch
new file mode 100644
index 0000000..21d0100
--- /dev/null
+++ b/aiccu-run.patch
@@ -0,0 +1,12 @@
+diff -up aiccu/common/aiccu.h.run aiccu/common/aiccu.h
+--- aiccu/common/aiccu.h.run	2011-07-06 22:22:40.944419473 +0200
++++ aiccu/common/aiccu.h	2011-07-06 22:23:57.240419462 +0200
+@@ -68,7 +68,7 @@
+ #define AICCU_CACHE	"/var/cache/aiccu.cache"
+ 
+ /* The PID we are running as when daemonized */
+-#define AICCU_PID	"/var/run/aiccu.pid"
++#define AICCU_PID	"/run/aiccu.pid"
+ 
+ /* AICCU Configuration file */
+ #ifdef _WIN32
diff --git a/aiccu.service b/aiccu.service
new file mode 100644
index 0000000..5a76c44
--- /dev/null
+++ b/aiccu.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=AICCU (AAutomatic IPv6 Connectivity Configuration Utility)
+After=syslog.target network.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/sysconfig/aiccu
+ExecStart=/usr/sbin/aiccu start $OPTIONS
+
+[Install]
+WantedBy=multi-user.target
\ No newline at end of file
diff --git a/aiccu.spec b/aiccu.spec
index c4530ba..d04ad44 100644
--- a/aiccu.spec
+++ b/aiccu.spec
@@ -9,19 +9,21 @@
 Summary:   SixXS Automatic IPv6 Connectivity Client Utility
 Name:      aiccu
 Version:   2007.01.15
-Release:   8%{?dist}
+Release:   9%{?dist}
 License:   BSD
 Group:     System Environment/Daemons
 URL:       http://www.sixxs.net/tools/aiccu/
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Source:    http://www.sixxs.net/archive/sixxs/aiccu/unix/aiccu_20070115.tar.gz
-Patch0: aiccu-lsb-initscript.patch
-Patch1: aiccu-cloexec.patch
+Source0:    http://www.sixxs.net/archive/sixxs/aiccu/unix/aiccu_20070115.tar.gz
+Source1:   aiccu.service
+Patch0: aiccu-cloexec.patch
+Patch1: aiccu-run.patch
 BuildRequires: gnutls-devel
+BuildRequires: systemd-units
 Requires:  iproute
-Requires(post): chkconfig
-Requires(preun): chkconfig, initscripts
-Requires(postun): initscripts
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
 
 %description
 This client automatically gives one IPv6 connectivity
@@ -33,7 +35,7 @@ For more information about SixXS check http://www.sixxs.net
 %prep
 %setup -q -n %{name}
 %patch0 -p1
-%patch1 -p1
+%patch1 -p1 -b .run
 
 # fix executable permissions on non-executable content
 # so debuginfo can pick them up properly
@@ -47,19 +49,30 @@ rm -rf $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT
 make install DESTDIR=$RPM_BUILD_ROOT
 
+# remove old-style init script
+rm $RPM_BUILD_ROOT%{_sysconfdir}/init.d/*
+
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}
+install -p %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/
+
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
+touch $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/aiccu
+
 %post
 if [ "$1" = "1" ]; then
-	/sbin/chkconfig --add aiccu
+	/bin/systemctl --daemon-reload >/dev/null 2>&1 || :
 fi
 
 %preun
 if [ "$1" = "0" ]; then
-	/sbin/service aiccu stop >/dev/null 2>&1
-	/sbin/chkconfig --del aiccu
+	/bin/systemctl disable aiccu.service >/dev/null 2>&1 || :
+	/bin/systemctl stop aiccu.service >/dev/null 2>&1 || :
 fi
 
 %postun
-/sbin/service aiccu condrestart > /dev/null 2>&1 || :
+if [ "$1" -ge 1 ]; then
+   /bin/systemctl try-restart aiccu.service >/dev/null 2>&1 || :   
+fi
 
 %clean
 make clean
@@ -72,9 +85,13 @@ make clean
 # aiccu.conf contains the users's SixXS password, so don't
 # make it readable by non-root
 %attr(600, root,root) %config(noreplace) %{_sysconfdir}/aiccu.conf
-%{_sysconfdir}/init.d/aiccu
+%{_unitdir}/aiccu.service
+%{_sysconfdir}/sysconfig/aiccu
 
 %changelog
+* Wed Jul  6 2011 Jochen Schmitt <Jochen herr-schmitt de> - 2007.01.15-9
+- Implementing native systemd support
+
 * Mon Feb 07 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2007.01.15-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 


More information about the scm-commits mailing list