I just ran into this problem and this patch seems to work for me. I just tried to update Thomas's script from the old resolvconf release.
diff --git a/debian/bind9.dirs b/debian/bind9.dirs index 5ccd399..01abd6d 100644 --- a/debian/bind9.dirs +++ b/debian/bind9.dirs @@ -10,4 +10,3 @@ etc/ppp/ip-up.d etc/ppp/ip-down.d etc/network/if-up.d etc/network/if-down.d -etc/resolvconf/update.d diff --git a/debian/resolvconf-update-bind9 b/debian/resolvconf-update-bind9 deleted file mode 100644 index ad5ce4a..0000000 --- a/debian/resolvconf-update-bind9 +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/bash -# Need bash because we use ${foo//bar/baz} -# -# Example script illustrating how to write a dynamic BIND named -# options file containing an up-to-date fowarders list. -# -# To use the dynamically generated file, include it from -# named.conf.options like: -# -# options { -# directory "/var/cache/bind"; -# ... -# include "/var/run/named/named.options"; -# ... -# }; -# -# Assumption: On entry, PWD contains the resolv.conf-type files. -# -# Written by Thomas Hood <jdth...@gmail.com> -# Updated for bind9 by Matt Gleeson <m...@gleeson.org> -# -# Licensed under the GNU GPL. See /usr/share/doc/resolvconf/copyright. - -set -e -PATH=/sbin:/bin - -[ -x /usr/sbin/named ] || exit 0 -[ -x /lib/resolvconf/list-records ] || exit 0 -[ -f /etc/bind/named.conf.options ] || exit 0 - -# Defaults -NAMED_RUN_DIR=/var/run/named - -# Defaults overrides -[ -r /etc/default/resolvconf ] && . /etc/default/resolvconf - -[ "$NAMED_RUN_DIR" ] || exit 0 -[ -d "$NAMED_RUN_DIR" ] || mkdir --parents --mode=0755 "$NAMED_RUN_DIR" - -DYNAMIC_OPTS_FILE=named.options - -# Stores arguments (minus duplicates) in RSLT, separated by spaces -# Doesn't work properly if an argument itself contains whitespace -uniquify() -{ - RSLT="" - while [ "$1" ] ; do - for E in $RSLT ; do - [ "$1" = "$E" ] && { shift ; continue 2 ; } - done - RSLT="${RSLT:+$RSLT }$1" - shift - done -} - -# Get list of records, excluding all those for the loopback interface -echo "DEBUG: running list-records in $PWD: $(ls .)" -RSLVCNFFILES="$(/lib/resolvconf/list-records | sed -e '/^lo$/d' -e '/^lo[.]/d')" - -### Compile semicolon-separated list nameservers ### -NMSRVRS="" -if [ "$RSLVCNFFILES" ] ; then - uniquify $(sed -n -e 's/^[[:space:]]*nameserver[[:space:]]\+//p' $RSLVCNFFILES) - [ "$RSLT" ] && NMSRVRS="${RSLT// /; }; " -fi - -# N.B.: After changing directory we no longer have access to the resolv.conf-type files -cd "$NAMED_RUN_DIR" - -TMP_FILE="${DYNAMIC_OPTS_FILE}_new.$$" -clean_up() { rm -f "${NAMED_RUN_DIR}/$TMP_FILE" ; } -trap clean_up EXIT -rm -f "$TMP_FILE" - -echo "// named.conf fragment automatically generated by $0" > "$TMP_FILE" -echo "// DO NOT EDIT THIS FILE. Instead edit /etc/bind/named.conf.options ." >> "$TMP_FILE" -if [ ! -z "$NMSRVRS" ]; then - echo "forwarders {" >> "$TMP_FILE" - echo " ${NMSRVRS}" >> "$TMP_FILE" - echo "};" >> "$TMP_FILE" -fi - -chown root:bind "$TMP_FILE" - -# Reload named unless we know its options haven't changed -if [ -x /usr/bin/diff ] && [ -f "$DYNAMIC_OPTS_FILE" ] && /usr/bin/diff -q "$DYNAMIC_OPTS_FILE" "$TMP_FILE" > /dev/null ; then - # No change - rm -f "$TMP_FILE" -else - mv -f "$TMP_FILE" "$DYNAMIC_OPTS_FILE" - [ -x /etc/init.d/bind9 ] && /etc/init.d/bind9 reload > /dev/null 2>&1 || : -fi - diff --git a/debian/rules b/debian/rules index e6649f8..f1130d2 100755 --- a/debian/rules +++ b/debian/rules @@ -111,7 +111,6 @@ install: build install debian/ip-up.d debian/bind9/etc/network/if-up.d/bind9 install debian/ip-down.d debian/bind9/etc/network/if-down.d/bind9 install -m644 debian/bind9.ufw.profile debian/bind9/etc/ufw/applications.d/bind9 - install debian/resolvconf-update-bind9 debian/bind9/etc/resolvconf/update.d/bind9 # Build architecture-independent files here. binary-indep: build install