diff options
Diffstat (limited to 'debian/bind9.preinst')
-rw-r--r-- | debian/bind9.preinst | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/debian/bind9.preinst b/debian/bind9.preinst new file mode 100644 index 0000000..66b06ab --- /dev/null +++ b/debian/bind9.preinst @@ -0,0 +1,57 @@ +#!/bin/sh +# preinst script for bind9 +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <new-preinst> `install' +# * <new-preinst> `install' <old-version> +# * <new-preinst> `upgrade' <old-version> +# * <old-preinst> `abort-upgrade' <new-version> +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install|upgrade) + if [ -n "$2" ] && dpkg --compare-versions "$2" lt "1:9.11.2+dfsg-6"; then + theirs=$(md5sum /etc/bind/named.conf.options | sed 's/ .*$//') + mine=56919cbc0d819c9a303a8bdeb306b5f1 + if [ "$mine" = "$theirs" ]; then + if [ -n "$(dpkg-query -f '${Conffiles}' -W bind9 | grep /etc/bind/named.conf.options)" ]; then + # dpkg knows /etc/bind/named.conf.options as a conffile (from squeeze or older) + # cannot move the outdated file aside to avoid dpkg noticing deleted-by-local-admin + # therefore edit it in place to make it match the to-be-installed version + cp -p /etc/bind/named.conf.options /etc/bind/named.conf.options.dpkg-old + sed -i '26{/^$/d}; 23{/auth-nxdomain no;/d}' /etc/bind/named.conf.options + else + mv /etc/bind/named.conf.options /etc/bind/named.conf.options.dpkg-old + fi + fi + fi + ;; + + abort-upgrade) + if [ ! -f "/etc/bind/named.conf.options" ] && [ -f "/etc/bind/named.conf.options.dpkg-old" ]; then + theirs=$(md5sum /etc/bind/named.conf.options.dpkg-old | sed 's/ .*$//') + mine=56919cbc0d819c9a303a8bdeb306b5f1 + if [ "$mine" = "$theirs" ]; then + mv /etc/bind/named.conf.options.dpkg-old /etc/bind/named.conf.options + fi + fi + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 |