]> git.ipfire.org Git - people/ms/dnsmasq.git/commitdiff
Debian fix: Enable dnsmasq systemd unit on install.
authorAndreas Metzler <ametzler@debian.org>
Sun, 11 May 2014 16:53:54 +0000 (17:53 +0100)
committerSimon Kelley <simon@thekelleys.org.uk>
Sun, 11 May 2014 16:53:54 +0000 (17:53 +0100)
debian/changelog
debian/control
debian/postinst
debian/postrm

index 605a3f5a03ea2f93c5932e963cb4aa024497aaa9..4bf739a6115c20f40a1984cd2fe01a785b2502bc 100644 (file)
@@ -1,9 +1,14 @@
-dnsmasq (2.70-3) unstable; urgency=low
+dnsmasq (2.70-3) unstable; urgency=medium
 
    * Write a pid-file, even when being started using systemd, since
      other components may wish to signal dnsmasq.
-       
- -- Simon Kelley <simon@thekelleys.org.uk>  Fri, 09 May 2014 20:45:11 +0000
+   * Enable dnsmasq systemd unit on install. Otherwise dnsmasq does not run on
+     fresh installations (without administrator handholding) and even worse it
+     is disabled on systems switching from sysv to systemd. Modify
+     postinst/postrm exactly as dh_systemd would, add dependency on
+     init-system-helpers. Closes: #724602
+
+ -- Simon Kelley <simon@thekelleys.org.uk> Sun, 11 May 2014 17:45:21 +0000
 
 dnsmasq (2.70-2) unstable; urgency=low
 
index 80ede1082d0c8602daf14696af48a1da8e44e221..e7f2080dcc76aa3b310b52aaac7ad66e93bbb431 100644 (file)
@@ -2,13 +2,15 @@ Source: dnsmasq
 Section: net
 Priority: optional
 Build-depends: gettext, libnetfilter-conntrack-dev [linux-any],
-               libidn11-dev, libdbus-1-dev (>=0.61), libgmp-dev, nettle-dev (>=2.4-3)
+               libidn11-dev, libdbus-1-dev (>=0.61), libgmp-dev, 
+               nettle-dev (>=2.4-3)
 Maintainer: Simon Kelley <simon@thekelleys.org.uk>
 Standards-Version: 3.9.3
 
 Package: dnsmasq
 Architecture: all
-Depends: netbase, dnsmasq-base(>= ${binary:Version})
+Depends: netbase, dnsmasq-base(>= ${binary:Version}),
+         init-system-helpers (>= 1.18~)
 Suggests: resolvconf
 Conflicts: resolvconf (<<1.15)
 Description: Small caching DNS proxy and DHCP/TFTP server
index 98cd5e2998eb211e6a71b56fdc75be9dba11819d..1d18c5996a159418a07a02612fd14459c1db6ed2 100644 (file)
@@ -1,6 +1,22 @@
 #!/bin/sh
 set -e
 
+# Code copied from dh_systemd_enable ----------------------
+# This will only remove masks created by d-s-h on package removal.
+deb-systemd-helper unmask dnsmasq.service >/dev/null || true
+
+# was-enabled defaults to true, so new installations run enable.
+if deb-systemd-helper --quiet was-enabled dnsmasq.service; then
+       # Enables the unit on first installation, creates new
+       # symlinks on upgrades if the unit file has changed.
+       deb-systemd-helper enable dnsmasq.service >/dev/null || true
+else
+       # Update the statefile to add new symlinks (if any), which need to be
+       # cleaned up on purge. Also remove old symlinks.
+       deb-systemd-helper update-state dnsmasq.service >/dev/null || true
+fi
+# End code copied from dh_systemd_enable ------------------
+
 if [ -x /etc/init.d/dnsmasq ]; then
    update-rc.d dnsmasq defaults 15 85 >/dev/null
 
index 5e48921c5f67e0bbe34821b52d1fa6f2bd8632d9..8a45fd1322030bfd0070943c43ca37436669a28c 100644 (file)
@@ -4,3 +4,19 @@ set -e
 if [ purge = "$1" ]; then
    update-rc.d dnsmasq remove >/dev/null
 fi
+
+# Code copied from dh_systemd_enable ----------------------
+if [ "$1" = "remove" ]; then
+       if [ -x "/usr/bin/deb-systemd-helper" ]; then
+               deb-systemd-helper mask dnsmasq.service >/dev/null
+       fi
+fi
+
+if [ "$1" = "purge" ]; then
+       if [ -x "/usr/bin/deb-systemd-helper" ]; then
+               deb-systemd-helper purge dnsmasq.service >/dev/null
+               deb-systemd-helper unmask dnsmasq.service >/dev/null
+       fi
+fi
+# End code copied from dh_systemd_enable ------------------
+