[packages/dnsmasq] - added systemd service - rel 2
baggins
baggins at pld-linux.org
Sun Dec 29 19:33:12 CET 2013
commit 8d09dc762ad1df0ec488610cca898a2e96398d44
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Sun Dec 29 19:33:02 2013 +0100
- added systemd service
- rel 2
dnsmasq.config | 21 ---------------------
dnsmasq.service | 9 +++++++++
dnsmasq.spec | 38 ++++++++++++++++++++++++++++++++++----
dnsmasq.sysconfig | 7 +++++++
4 files changed, 50 insertions(+), 25 deletions(-)
---
diff --git a/dnsmasq.spec b/dnsmasq.spec
index 4238a4e..2687388 100644
--- a/dnsmasq.spec
+++ b/dnsmasq.spec
@@ -5,20 +5,23 @@ Summary: A lightweight caching server (DNS, DHCP)
Summary(pl.UTF-8): Lekki buforujący serwer nazw (DNS) i DHCP
Name: dnsmasq
Version: 2.68
-Release: 1
+Release: 2
License: GPL v2
Group: Networking/Daemons
#Source0: http://thekelleys.org.uk/dnsmasq/test-releases/%{name}-%{version}%{_rc}.tar.gz
Source0: http://thekelleys.org.uk/dnsmasq/%{name}-%{version}.tar.gz
# Source0-md5: 6f8351ca0901f248efdb81532778d2ef
Source1: %{name}.init
-Source2: %{name}.config
+Source2: %{name}.sysconfig
+Source3: %{name}.service
URL: http://www.thekelleys.org.uk/dnsmasq/doc.html
BuildRequires: gettext-devel
BuildRequires: libidn-devel
BuildRequires: pkgconfig
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.671
Requires(post,preun): /sbin/chkconfig
+Requires(post,preun,postun): systemd-units >= 38
+Requires: systemd-units >= 38
Requires: rc-scripts
Provides: caching-nameserver
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -65,7 +68,8 @@ małe wykorzystanie zasobów i łatwa konfiguracja.
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sbindir},/etc/sysconfig,/etc/rc.d/init.d,%{_mandir}/man8}
+install -d $RPM_BUILD_ROOT{%{_sbindir},/etc/sysconfig,/etc/rc.d/init.d} \
+ $RPM_BUILD_ROOT{%{systemdunitdir},%{_mandir}/man8}
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/dnsmasq
install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/dnsmasq
@@ -74,6 +78,8 @@ install dnsmasq.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/dnsmasq.conf
install contrib/port-forward/dnsmasq-portforward $RPM_BUILD_ROOT%{_sbindir}
install contrib/port-forward/portforward $RPM_BUILD_ROOT%{_sysconfdir}
+install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/dnsmasq.service
+
%{__make} install-i18n \
DESTDIR=$RPM_BUILD_ROOT \
PREFIX=%{_prefix}
@@ -88,17 +94,41 @@ rm -rf $RPM_BUILD_ROOT
%post
/sbin/chkconfig --add dnsmasq
%service dnsmasq restart
+%systemd_post dnsmasq.service
%preun
if [ "$1" = "0" ]; then
%service dnsmasq stop
/sbin/chkconfig --del dnsmasq
fi
+%systemd_preun dnsmasq.service
+
+%postun
+%systemd_reload
+
+%triggerpostun -- dnsmasq < 2.68-1.1
+if [ -f /etc/sysconfig/dnsmasq ]; then
+ __OPT=
+ . /etc/sysconfig/dnsmasq
+ [ -n "$MAILHOSTNAME" ] && __OPT="-m $MAILHOSTNAME"
+ [ -n "$RESOLV_CONF" ] && __OPT="$__OPT -r $RESOLV_CONF"
+ [ -n "$DHCP_LEASE" ] && __OPT="$__OPT -l $DHCP_LEASE"
+ [ -n "$DOMAIN_SUFFIX" ] && __OPT="$__OPT -s $DOMAIN_SUFFIX"
+ [ -n "$INTERFACE" ] && __OPT="$__OPT -i $INTERFACE"
+ if [ -n "$__OPT" ]; then
+ %{__cp} -f /etc/sysconfig/dnsmasq{,.rpmsave}
+ echo >>/etc/sysconfig/dnsmasq
+ echo "# Added by rpm trigger" >>/etc/sysconfig/dnsmasq
+ echo "OPTIONS=\"$OPTIONS $__OPT\"" >>/etc/sysconfig/dnsmasq
+ fi
+fi
+%systemd_trigger dnsmasq.service
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc CHANGELOG FAQ *.html contrib/{dnslist,dynamic-dnsmasq}
%attr(754,root,root) /etc/rc.d/init.d/dnsmasq
+%{systemdunitdir}/dnsmasq.service
%attr(755,root,root) %{_sbindir}/dnsmasq*
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/dnsmasq
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dnsmasq.conf
diff --git a/dnsmasq.config b/dnsmasq.config
deleted file mode 100644
index e6d59bc..0000000
--- a/dnsmasq.config
+++ /dev/null
@@ -1,21 +0,0 @@
-# configuration for dnsmasq
-
-# you can specify options for dnsmasq here
-OPTIONS=""
-
-# listen on interface
-INTERFACE=""
-
-# change this line if you want dnsmasq to serve an MX record for
-# the host it is running on.
-MAILHOSTNAME=""
-
-# change this line if you want dns to get its upstream servers from
-# somewhere other that /etc/resolv.conf
-RESOLV_CONF=""
-
-# change this if you want dnsmasq to cache any "hostname" or "client-hostname" from
-# a dhcpd's lease file
-DHCP_LEASE="/var/lib/misc/dhcpd.leases"
-
-DOMAIN_SUFFIX=`dnsdomainname`
diff --git a/dnsmasq.service b/dnsmasq.service
new file mode 100644
index 0000000..555f273
--- /dev/null
+++ b/dnsmasq.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=DNS caching server.
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/dnsmasq -k $OPTIONS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dnsmasq.sysconfig b/dnsmasq.sysconfig
new file mode 100644
index 0000000..62b37b4
--- /dev/null
+++ b/dnsmasq.sysconfig
@@ -0,0 +1,7 @@
+# configuration for dnsmasq
+
+# you can specify options for dnsmasq here
+
+# change '-l /var/lib/misc/dhcpd.leases' option if you want dnsmasq to cache any
+# "hostname" or "client-hostname" from a dhcpd's lease file
+OPTIONS="-l /var/lib/misc/dhcpd.leases"
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/dnsmasq.git/commitdiff/8d09dc762ad1df0ec488610cca898a2e96398d44
More information about the pld-cvs-commit
mailing list