[maradns] convert to systemd

Tom Callaway spot at fedoraproject.org
Thu Sep 8 15:39:07 UTC 2011


commit f217e3da9aba00d98317c58183ef07e9246d6d3c
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date:   Thu Sep 8 11:38:55 2011 -0400

    convert to systemd

 maradns-zoneserver.service |   11 ++++++++
 maradns.service            |   11 ++++++++
 maradns.spec               |   58 +++++++++++++++++++------------------------
 3 files changed, 48 insertions(+), 32 deletions(-)
---
diff --git a/maradns-zoneserver.service b/maradns-zoneserver.service
new file mode 100644
index 0000000..8dc355f
--- /dev/null
+++ b/maradns-zoneserver.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=MaraDNS Zoneserver handles DNS zone transfers and any TCP DNS queries
+Requires=network.target
+
+[Service]
+ExecStart=/usr/sbin/zoneserver -f /etc/mararc
+StandardOutput=syslog
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/maradns.service b/maradns.service
new file mode 100644
index 0000000..8221546
--- /dev/null
+++ b/maradns.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=MaraDNS secure Domain Name Server (DNS) 
+Requires=network.target
+
+[Service]
+ExecStart=/usr/sbin/maradns -f /etc/mararc
+StandardOutput=syslog
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/maradns.spec b/maradns.spec
index 37c9a3f..e914e7d 100644
--- a/maradns.spec
+++ b/maradns.spec
@@ -1,24 +1,20 @@
 Name:		maradns
 Version:	1.3.07.09
-Release:	5%{?dist}
+Release:	6%{?dist}
 Summary:	Authoritative and recursive DNS server made with security in mind
 
 Source0:	http://www.maradns.org/download/1.3/%{version}/%{name}-%{version}.tar.lzma
-Source1:	maradns.init
-Source2:	zoneserver.init
+Source1:	maradns.service
+Source2:	maradns-zoneserver.service
 Group:		System Environment/Daemons
 License:	BSD
 URL:		http://www.maradns.org/
 
-BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
 # lzma for decompressing in EL-5
 BuildRequires:		lzma
+BuildRequires:		systemd-units
 Requires(pre):		shadow-utils
-Requires(post):		/sbin/chkconfig
-Requires(preun):	/sbin/chkconfig
-Requires(preun):	/sbin/service
-Requires:		initscripts
+Requires(post):		systemd-sysv
 
 %description
 MaraDNS is a package that implements the Domain Name Service (DNS), an
@@ -63,8 +59,6 @@ popd
 
 
 %install
-%{__rm} -rf %{buildroot}
-
 # create /etc/maradns and /etc/mararc first
 %{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/maradns/logger/
 %{__install} -D -m 0644 build/rpm.mararc %{buildroot}%{_sysconfdir}/mararc
@@ -96,8 +90,9 @@ popd
 	doc/en/man/duende.8
 
 # init files
-%{__install} -D -m 0755 %{SOURCE1} %{buildroot}%{_sysconfdir}/init.d/maradns
-%{__install} -D -m 0755 %{SOURCE2} %{buildroot}%{_sysconfdir}/init.d/maradns-zoneserver
+mkdir -p %{buildroot}%{_unitdir}
+%{__install} -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/
+%{__install} -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/
 
 %{__rm} CHANGELOG CREDITS FAQ
 ln -fs en/changelog.txt CHANGELOG
@@ -105,18 +100,16 @@ ln -fs en/credits.txt CREDITS
 ln -fs en/faq.txt FAQ
 
 
-%clean
-%{__rm} -rf %{buildroot}
+
 
 %files
-%defattr(-,root,root,-)
 %doc CHANGELOG COPYING CREDITS FAQ doc/*
 %doc maradns.gpg.key
 
 %config(noreplace) %{_sysconfdir}/mararc
 %attr(-,maradns,maradns) %{_sysconfdir}/maradns/
-%{_sysconfdir}/init.d/maradns
-%{_sysconfdir}/init.d/maradns-zoneserver
+%{_unitdir}/%{name}.service
+%{_unitdir}/%{name}-zoneserver.service
 
 %{_bindir}/askmara
 %{_bindir}/duende
@@ -151,27 +144,28 @@ fi
 if [ $1 -eq 1 ]; then
 	echo maradns_uid=$(id -u maradns) >> %{_sysconfdir}/mararc
 	echo maradns_gid=$(id -g maradns) >> %{_sysconfdir}/mararc
-	/sbin/chkconfig --add maradns
-	/sbin/chkconfig --add maradns-zoneserver
 fi
 
 
-%preun
-if [ $1 -eq 0 ]; then
-	/sbin/service maradns stop &>/dev/null || :
-	/sbin/chkconfig --del maradns
-	/sbin/service maradns-zoneserver stop &>/dev/null || :
-	/sbin/chkconfig --del maradns-zoneserver
-fi
+%triggerun -- maradns < 1.3.07.09-6
+# Save the current service runlevel info
+# User must manually run systemd-sysv-convert --apply maradns
+#                        systemd-sysv-convert --apply maradns-zoneserver
+# to migrate them to systemd targets
+/usr/bin/systemd-sysv-convert --save maradns >/dev/null 2>&1 ||:
+/usr/bin/systemd-sysv-convert --save maradns-zoneserver >/dev/null 2>&1 ||:
 
-%postun
-if [ $1 -eq 1 ]; then
-	/sbin/service maradns condrestart &>/dev/null || :
-	/sbin/service maradns-zoneserver condrestart &>/dev/null || :
-fi
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del maradns >/dev/null 2>&1 || :
+/bin/systemctl try-restart maradns.service >/dev/null 2>&1 || :
+/sbin/chkconfig --del maradns-zoneserver >/dev/null 2>&1 || :
+/bin/systemctl try-restart maradns-zoneserver.service >/dev/null 2>&1 || :
 
 
 %changelog
+* Thu Sep 08 2011 Tom Callaway <spot at fedoraproject.org> - 1.3.07.09-6
+- convert to systemd
+
 * Tue Feb 08 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.3.07.09-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 


More information about the scm-commits mailing list