Package: release.debian.org Severity: normal User: [email protected] Usertags: unblock
Please unblock package avahi It fixed two RC bugs and one important bug. Apologies for the last minute upload. | [ Andreas Henriksson ] | * Recommend iproute2 instead of transitional package iproute. http://anonscm.debian.org/cgit/pkg-utopia/avahi.git/commit/?id=02868de81213966f429c5e4f688d0e0b9225710a This change was done quite a while ago in alioth's Git repo. I didn't see a good reason to revert it for the upload | * Update avahi-daemon support scripts to use iproute2 tools if available | with a fallback to net-tools and graceful degradation if neither is | installed. (Closes: #762326) http://anonscm.debian.org/cgit/pkg-utopia/avahi.git/commit/?id=9449a8cb797f64ae0aa96f7aea8088774084f38c We were previously using legacy net-tools withoug explicitly depending on it. This wasn't a problem since ifupdown depended on net-tools. It prefers iproute2 nowadays, so change the hooks accordingly. http://anonscm.debian.org/cgit/pkg-utopia/avahi.git/commit/?id=93c6fb830b075d55d177e21c55a561db7174c8d8 While looking at this particular file, I found a few inconsistencies, which are fixed by this commit | * Don't run the avahi-autoipd ifupdown hook scripts if the package has | been removed but not purged. (Closes: #780872) http://anonscm.debian.org/cgit/pkg-utopia/avahi.git/commit/?id=7951a19ec1f0c4a413d2ec86a14a381a4079dfd1 Rather self-explanatory two-line fix. | * Use --restart-after-upgrade for avahi-daemon and avahi-dnsconfd to | minimise downtime and avoid avahi-daemon being triggered via socket or | D-Bus activation during upgrades. (Closes: #768620) | * Mask avahi-daemon.service on remove to avoid the stop request being | cancelled via socket or D-Bus activation. http://anonscm.debian.org/cgit/pkg-utopia/avahi.git/commit/?id=4a67d2cb50cab9d10c8fba0391c08db717fdcfb0 http://anonscm.debian.org/cgit/pkg-utopia/avahi.git/commit/?id=156908b9acccf8cc77a70b254e8200a70dd3ca40 Those two commits improve the systemd support by dealing with the fact that avahi-daemon uses socket and D-Bus activation. So we need to apply special care on upgrades and remove. Full debdiff is attached. Thanks for considering. Michael unblock avahi/0.6.31-5 -- System Information: Debian Release: 8.0 APT prefers unstable APT policy: (500, 'unstable'), (200, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff --git a/debian/avahi-autoipd.if-down b/debian/avahi-autoipd.if-down index 4ce959f..d60097b 100755 --- a/debian/avahi-autoipd.if-down +++ b/debian/avahi-autoipd.if-down @@ -10,6 +10,7 @@ set -e # See http://developer.apple.com/qa/qa2004/qa1357.html for # more information. +[ -x /usr/sbin/avahi-autoipd ] || exit 0 [ "$IFACE" != "lo" ] || exit 0 case "$ADDRFAM" in diff --git a/debian/avahi-autoipd.if-up b/debian/avahi-autoipd.if-up index 4a57051..9e3a5e7 100755 --- a/debian/avahi-autoipd.if-up +++ b/debian/avahi-autoipd.if-up @@ -9,6 +9,8 @@ set -e # See http://developer.apple.com/qa/qa2004/qa1357.html for # more information. +[ -x /usr/sbin/avahi-autoipd ] || exit 0 + [ "$IFACE" != "lo" ] || exit 0 case "$ADDRFAM" in inet) ;; diff --git a/debian/avahi-daemon-check-dns.sh b/debian/avahi-daemon-check-dns.sh index a163563..8f7893b 100755 --- a/debian/avahi-daemon-check-dns.sh +++ b/debian/avahi-daemon-check-dns.sh @@ -31,12 +31,17 @@ dns_reachable() { # If there is no local nameserver and no we have no global ip addresses # then we can't reach any nameservers if ! $(egrep -q "nameserver 127.0.0.1|::1" /etc/resolv.conf); then - # Get addresses of all running interfaces - ADDRS=$(LC_ALL=C ifconfig | grep ' addr:') - # Filter out all local addresses - ADDRS=$(echo "${ADDRS}" | egrep -v ':127|Scope:Host|Scope:Link') - # Check we have a default route - ROUTES=$(route -n | grep '^0.0.0.0 ') + if [ -x "$(which ip)" ]; then + ADDRS=$(ip addr show scope global | grep inet) + ROUTES=$(ip route show 0.0.0.0/0) + elif [ -x "$(which ifconfig)" -a -x "$(which route)" ]; then + # Get addresses of all running interfaces + ADDRS=$(LC_ALL=C ifconfig | grep ' addr:') + # Filter out all local addresses + ADDRS=$(echo "${ADDRS}" | egrep -v ':127|Scope:Host|Scope:Link') + # Check we have a default route + ROUTES=$(route -n | grep '^0.0.0.0 ') + fi if [ -z "${ADDRS}" -o -z "${ROUTES}" ] ; then return 1; fi @@ -96,10 +101,10 @@ enable_avahi () { # no unicast .local conflict, so remove the tag and start avahi again if [ -e ${DISABLE_TAG} ]; then rm -f ${DISABLE_TAG} - if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then - invoke-rc.d avahi-daemon start || true - else - if [ -x "/etc/init.d/avahi-daemon" ]; then + if [ -x "/etc/init.d/avahi-daemon" ]; then + if [ -x "$(which invoke-rc.d 2>/dev/null)" ]; then + invoke-rc.d avahi-daemon start || true + else /etc/init.d/avahi-daemon start || true fi fi @@ -110,12 +115,10 @@ disable_avahi () { [ -e ${DISABLE_TAG} ] && return if [ -x /etc/init.d/avahi-daemon ]; then - if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then + if [ -x "$(which invoke-rc.d 2>/dev/null)" ]; then invoke-rc.d --force avahi-daemon stop || true else - if [ -x "/etc/init.d/avahi-daemon" ]; then - /etc/init.d/avahi-daemon stop || true - fi + /etc/init.d/avahi-daemon stop || true fi if [ -x /usr/bin/logger ]; then logger -p daemon.warning -t avahi <<EOF diff --git a/debian/avahi-daemon.postrm b/debian/avahi-daemon.postrm index f79073a..4e7c220 100644 --- a/debian/avahi-daemon.postrm +++ b/debian/avahi-daemon.postrm @@ -2,6 +2,11 @@ set -e +# drop the temporary mask from prerm +if [ -d /run/systemd/system ] && [ "$1" = remove ]; then + systemctl unmask --runtime avahi-daemon.service +fi + #DEBHELPER# if [ "$1" = "purge" ] ; then diff --git a/debian/avahi-daemon.prerm b/debian/avahi-daemon.prerm new file mode 100644 index 0000000..de0602e --- /dev/null +++ b/debian/avahi-daemon.prerm @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +# avoid cancelling of "stop" via socket or D-Bus activation +if [ -d /run/systemd/system ] && [ "$1" = remove ]; then + systemctl mask --runtime avahi-daemon.service + # stop avahi-daemon manually since invoke-rc.d currently doesn't + # deal with masked services (see Bug #717109) + systemctl stop avahi-daemon.service || true +fi + +#DEBHELPER# diff --git a/debian/changelog b/debian/changelog index 2d0b623..0ca3d47 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,22 @@ +avahi (0.6.31-5) unstable; urgency=medium + + [ Andreas Henriksson ] + * Recommend iproute2 instead of transitional package iproute. + * Update avahi-daemon support scripts to use iproute2 tools if available + with a fallback to net-tools and graceful degradation if neither is + installed. (Closes: #762326) + + [ Michael Biebl ] + * Don't run the avahi-autoipd ifupdown hook scripts if the package has been + removed but not purged. (Closes: #780872) + * Use --restart-after-upgrade for avahi-daemon and avahi-dnsconfd to + minimise downtime and avoid avahi-daemon being triggered via socket or + D-Bus activation during upgrades. (Closes: #768620) + * Mask avahi-daemon.service on remove to avoid the stop request being + cancelled via socket or D-Bus activation. + + -- Michael Biebl <[email protected]> Mon, 13 Apr 2015 21:51:24 +0200 + avahi (0.6.31-4) unstable; urgency=medium * Team upload. diff --git a/debian/control b/debian/control index 4638b99..85ce4c0 100644 --- a/debian/control +++ b/debian/control @@ -80,7 +80,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, adduser Recommends: isc-dhcp-client, - iproute + iproute2 Conflicts: zeroconf Description: Avahi IPv4LL network address configuration daemon Avahi is a fully LGPL framework for Multicast DNS Service Discovery. diff --git a/debian/rules b/debian/rules index d41bf1d..3c23f40 100755 --- a/debian/rules +++ b/debian/rules @@ -47,8 +47,8 @@ override_dh_install: dh_install --list-missing override_dh_installinit: - dh_installinit -pavahi-daemon -- start 14 2 3 4 5 . stop 86 0 1 6 . - dh_installinit -pavahi-dnsconfd -- start 16 2 3 4 5 . stop 84 0 1 6 . + dh_installinit -pavahi-daemon --restart-after-upgrade + dh_installinit -pavahi-dnsconfd --restart-after-upgrade override_dh_installdocs: dh_installdocs --all docs/NEWS docs/README

