Debian fix: Enable dnsmasq systemd unit on install.

This commit is contained in:
Andreas Metzler
2014-05-11 17:53:54 +01:00
committed by Simon Kelley
parent a23949d44d
commit 62f992f06c
4 changed files with 44 additions and 5 deletions

9
debian/changelog vendored
View 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 * Write a pid-file, even when being started using systemd, since
other components may wish to signal dnsmasq. other components may wish to signal dnsmasq.
* 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> Fri, 09 May 2014 20:45:11 +0000 -- Simon Kelley <simon@thekelleys.org.uk> Sun, 11 May 2014 17:45:21 +0000
dnsmasq (2.70-2) unstable; urgency=low dnsmasq (2.70-2) unstable; urgency=low

6
debian/control vendored
View File

@@ -2,13 +2,15 @@ Source: dnsmasq
Section: net Section: net
Priority: optional Priority: optional
Build-depends: gettext, libnetfilter-conntrack-dev [linux-any], 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> Maintainer: Simon Kelley <simon@thekelleys.org.uk>
Standards-Version: 3.9.3 Standards-Version: 3.9.3
Package: dnsmasq Package: dnsmasq
Architecture: all Architecture: all
Depends: netbase, dnsmasq-base(>= ${binary:Version}) Depends: netbase, dnsmasq-base(>= ${binary:Version}),
init-system-helpers (>= 1.18~)
Suggests: resolvconf Suggests: resolvconf
Conflicts: resolvconf (<<1.15) Conflicts: resolvconf (<<1.15)
Description: Small caching DNS proxy and DHCP/TFTP server Description: Small caching DNS proxy and DHCP/TFTP server

16
debian/postinst vendored
View File

@@ -1,6 +1,22 @@
#!/bin/sh #!/bin/sh
set -e 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 if [ -x /etc/init.d/dnsmasq ]; then
update-rc.d dnsmasq defaults 15 85 >/dev/null update-rc.d dnsmasq defaults 15 85 >/dev/null

16
debian/postrm vendored
View File

@@ -4,3 +4,19 @@ set -e
if [ purge = "$1" ]; then if [ purge = "$1" ]; then
update-rc.d dnsmasq remove >/dev/null update-rc.d dnsmasq remove >/dev/null
fi 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 ------------------