Your message dated Wed, 29 May 2013 10:06:00 +0100
with message-id <[email protected]>
and subject line Re: Bug#404436: Please merge diff from 0.8-6.1 NMU
has caused the Debian Bug report #404436,
regarding Please merge diff from 0.8-6.1 NMU
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
404436: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=404436
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: nss-mdns
Version: 0.8-6
Severity: wishlist
Tags: patch

        Hi,

 Please merge the diff from the 0.8-6.1 NMU I just uploaded.  I'll
 comment in the RC bug I'm closing in an hour or so to explain a
 limitation in the NMU I did which I believe should be addressed in
 avahi-daemon.

   Bye,

-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-3-686
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)

-- 
Loïc Minier <[email protected]>
 "Forget your stupid theme park! I'm gonna make my own! With hookers!
  And blackjack! In fact, forget the theme park!"          -- Bender
--- nss-mdns-0.8/debian/control
+++ nss-mdns-0.8/debian/control
@@ -7,8 +7,8 @@
 
 Package: libnss-mdns
 Section: admin
-Recommends: zeroconf
-Suggests: avahi-daemon
+Depends: perl, avahi-daemon
+Suggests: avahi-autoipd | zeroconf
 Architecture: any
 Depends: ${shlibs:Depends}, base-files (>= 3.1.10)
 Description: NSS module for Multicast DNS name resolution
--- nss-mdns-0.8/debian/rules
+++ nss-mdns-0.8/debian/rules
@@ -27,7 +27,7 @@
 config.status: configure
 	dh_testdir
 	# Add here commands to configure the package.
-	./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libexecdir=\${prefix}/lib/nss-mdns CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
+	./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libexecdir=\${prefix}/lib/nss-mdns CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs" --disable-legacy
 
 
 build: build-stamp
--- nss-mdns-0.8/debian/changelog
+++ nss-mdns-0.8/debian/changelog
@@ -1,3 +1,41 @@
+nss-mdns (0.8-6.1) unstable; urgency=low
+
+  * Non-maintainer upload to fix a long-standing RC bug and to beat the
+    package into shape before etch with suggestions from upstream; thanks
+    Lennart Poettering.
+  * Configure with --disable-legacy, as recommended by upstream for security
+    reasons; the legacy mode might be offered in a separate binary package for
+    the corner cases where it can be useful; see full discussion in #393711;
+    depend on avahi-daemon as nss-mdns will not work without avahi when
+    compiled like this; closes: #399297.
+  * Only suggest zeroconf instead of Recommending it: even if it can act as a
+    nice complement to nss-mdns, it is intrusive and orthogonal to nss-mdns
+    and conflicts with avahi-autoipd; closes: #353131, #392590.
+  * Suggest avahi-autoipd as an alternative to zeroconf.
+  * Remove offensive comments in postinst and README.Debian.
+  * Document the history of postinst snippets in debian/NOTES.Debian to permit
+    handling all upgrade paths.
+  * Depend on Perl for the postinst snippets using the perl interpreter.
+  * Rewrite postinst to handle all upgrade paths.
+    - Does not wipe NSS configuration which matches the upstream recommended
+      configuration during upgrades from versions 0.8-4.2 or 0.8-5;
+      closes: #393608.
+    - Install the upstream recommended configuration for first installs and
+      upgrades from versions which did not automatically insert mdns in the
+      NSS setup (unless mdns is already setup); closes: #393711.
+    - Keep configuration intact when upgrading from versions which installed
+      the upstream recommended configuration.
+    - Remove whitespaces added in upgrades from version 0.8-4.2 or 0.8-5 to
+      0.8-6.
+    - For upgrades from 0.8-6, attempt to revert the problematic "mdns_minimal
+      dns mdns" configuration and to install the upstream recommended
+      configuration.
+  * Update README.Debian to match the above changes and a planned changes in
+    avahi-daemon which should disable itself if a .local SOA is found after a
+    change in the DNS settings.
+
+ -- Loic Minier <[email protected]>  Sun, 24 Dec 2006 20:27:30 +0100
+
 nss-mdns (0.8-6) unstable; urgency=medium
 
   * Revert hostile package takeover.
--- nss-mdns-0.8/debian/postinst
+++ nss-mdns-0.8/debian/postinst
@@ -4,47 +4,82 @@
 
-if [ "$1" = configure ] && [ -e /etc/nsswitch.conf ]; then
-	if [ -z "$2" ] || dpkg --compare-versions "$2" ge 0.8-6; then
-		perl -i -pe '
-			sub insert {
-				my @bits=split(" ", shift);
-				if (grep { $_ eq "mdns4_minimal" || $_ eq "mdns4"
-					|| $_ eq "mdns" || $_ eq "mdns_minimal"
-					|| $_ eq "mdns6" || $_ eq "mdns6_minimal"} @bits) {
-					return join " ", @bits;
-				}
-				return join " ", map {
-					$_ eq "dns" ? ("mdns_minimal",$_,"mdns") : $_
-				} @bits;
-			}
-			s/^(hosts:\s+)(.*)/$1.insert($2)/e;
-		' /etc/nsswitch.conf
-	fi
-	if [ -z "$2" ] || dpkg --compare-versions "$2" eq 0.8-5; then
-	# Undo the SjoerdHess damage
-		perl -i -pe '
-			s/^(hosts:\s+)(.*)mdns4_minimal \[NOTFOUND=return\](.*dns.*)mdns4(.*)/$1$2$3$4/;
-		' /etc/nsswitch.conf
-	fi
-	if [ -z "$2" ] || dpkg --compare-versions "$2" eq 0.8-4.2; then
-	# Undo the SjoerdHess damage
-		perl -i -pe '
-			s/^(hosts:\s+)(.*)mdns4_minimal \[NOTFOUND=return\](.*dns.*)mdns4(.*)/$1$2$3$4/;
-		' /etc/nsswitch.conf
-	fi
-	if [ -z "$2" ] || dpkg --compare-versions "$2" le 0.8-4.1; then
-		perl -i -pe '
-			sub insert {
-				my @bits=split(" ", shift);
-				if (grep { $_ eq "mdns4_minimal" || $_ eq "mdns4"
-					|| $_ eq "mdns" || $_ eq "mdns_minimal"
-					|| $_ eq "mdns6" || $_ eq "mdns6_minimal"} @bits) {
-					return join " ", @bits;
-				}
-				return join " ", map {
-					$_ eq "dns" ? ("mdns_minimal",$_,"mdns") : $_
-				} @bits;
-			}
-			s/^(hosts:\s+)(.*)/$1.insert($2)/e;
-		' /etc/nsswitch.conf
-	fi
+log() {
+    echo "$*"
+}
+
+# try to insert mdns entries to the "hosts" line in /etc/nsswitch.conf to
+# automatically enable nss-mdns support; do not change the configuration if the
+# "hosts" line already references some mdns lookups
+insert_mdns() {
+    log "Checking NSS setup..."
+    # abort if /etc/nsswitch.conf does not exist
+    if ! [ -e /etc/nsswitch.conf ]; then
+        log "Could not find /etc/nsswitch.conf."
+        return
+    fi
+    perl -i -pe '
+        sub insert {
+            # this also splits on tab
+            my @bits=split(" ", shift);
+            # do not break configuration if the "hosts" line already references
+            # mdns
+            if (grep { $_ eq "mdns4_minimal" || $_ eq "mdns4"
+                || $_ eq "mdns" || $_ eq "mdns_minimal" 
+                || $_ eq "mdns6" || $_ eq "mdns6_minimal"} @bits) {
+                return join " ", @bits;
+            }
+            # change "dns" into "mdns4_minimal [NOTFOUND=return] dns mdns4"
+            return join " ", map {
+                $_ eq "dns" ? ("mdns4_minimal","[NOTFOUND=return]",$_,"mdns4") : $_
+            } @bits;
+        }
+        s/^(hosts:\s+)(.*)/$1.insert($2)/e;
+    ' /etc/nsswitch.conf
+}
+
+action="$1"
+
+if [ configure = "$action" ]; then
+    if [ -z "$2" ]; then
+        log "First installation detected..."
+        # first install: setup the recommended configuration (unless
+        # nsswitch.conf already contains mdns entries)
+        insert_mdns
+    else
+        # upgrade
+        version="$2"
+
+        if dpkg --compare-versions "$version" lt 0.8-4.2; then
+            log "Upgrade from unconfigured version detected."
+            # versions prior to 0.8-4.2 did not setup nss-mdns automatically,
+            # do it now
+            insert_mdns
+        elif dpkg --compare-versions "$version" lt 0.8-6; then
+            log "Already configured version detected, skipping NSS setup."
+            # versions 0.8-4.2 and 0.8-5 installed the same configuration as
+            # this postinst, so nothing needs to be done
+            :
+        elif dpkg --compare-versions "$version" lt 0.8-6.1; then
+            log "Upgrade from possibly broken version detected."
+            if [ -e /etc/nsswitch.conf ]; then
+                # version 0.8-6 broke the configuration in multiple ways: 1)
+                # for systems which were upgraded from 0.8-4.2 or 0.8-5 to
+                # 0.8-6, the hosts line will look like:
+                #    hosts:          files  dns 
+                # cleanup from this specially formatted line into the default
+                # one:
+                sed -i \
+                    's/^hosts:          files  dns $/hosts:          files dns/' \
+                    /etc/nsswitch.conf
+                # 2) for systems which re-installed 0.8-6 or installed 0.8-6 as the
+                # first version, the hosts line will look like:
+                #    hosts:          files mdns_minimal dns mdns
+                # cleanup from this specially formatted line into the default one:
+                sed -i -r \
+                    '/^hosts:/s/\<mdns_minimal dns mdns\>/dns/' \
+                    /etc/nsswitch.conf
+            fi
+
+            insert_mdns
+        fi
+    fi
 fi
--- nss-mdns-0.8/debian/README.Debian
+++ nss-mdns-0.8/debian/README.Debian
@@ -1,53 +1,29 @@
-
 MODIFYING /etc/nsswitch.conf
 ----------------------------
 
 Previously the base-files package shipped /etc/nsswitch.conf and specified:
 
-hosts:          files dns mdns
+    hosts:          files dns mdns
 
 However, due to bug#351990, this is no longer the case. /etc/nsswitch.conf
-is now generated post-installation. Upon installation, if the strings 'mdns',
-'mdns_minimal', 'mdns4', 'mdns4_minimal', 'mdns6' and 'mdns6_minimal' do NOT
-appear on the hosts line, your /etc/nsswitch.conf file will be updated
-
-This means that, /etc/nsswitch.conf will be set to:
-
-hosts:	files mdns_minimal dns mdns
-
-Note: this is never removed once installed, the side-effect of not removing
-the entry is that there is a slight delay (similiar to how the Standard C
-libraries searches for optimised versions) during program startup and execution
-
-WHAT ABOUT UPSTREAM?
---------------------
-
-Upstream recommends a slightly different line, which make mDNS authoriative
-for both the .local, 169.254.0.0/16 and fe80::/16 zones. This means that
-local administrators do not have the opportunity to insert entries into
-any of those zones (unlikely but possible).
-
-Additionally, using the recommended upstream line can cause interaction
-issues with incorrectly configured installations (not surprisingly
-many "enterprises" use .local for their internal servers).
-
-Debian takes the most conservative approach to ensure that your installation
-continues to function correctly. However that may mean slightly longer delays
-(sometimes as long as 10 seconds) when things do not work properly.
-
-WHAT ABOUT IPv6?
-----------------
-
-mDNS (multicast DNS) has been widely deployed within the Apple
-community (since Mac OS X 10.1) and by many printer manufacturers.
-
-Initially the mDNS entries only contained IPv4 addresses (A records),
-however, since Mac OS X 10.3 onwards, mDNS entries have also been
-populated with IPv6 addresses (AAAA records).
-
-Therefore Debian, once again, differs from upstream by recommending
-an entry which looks up addresses via both IPv4 and IPv6.
-
--- Anand Kumria <[email protected]>, Sun, 2 Jul 2006 21:36:18 +1000
+is now generated post-installation. Upon installation of nss-mdns, if the
+strings 'mdns', 'mdns_minimal', 'mdns4', 'mdns4_minimal', 'mdns6' or
+'mdns6_minimal' appear on the hosts line, your /etc/nsswitch.conf file
+will not be updated, otherwise it will updated to match the upstream
+recommended configuration which usually looks like:
+
+    hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
+
+This is currently not removed on removal or purge of nss-mdns.
+
+
+.local domains
+--------------
+
+Making nss-mdns authoritative for .local breaks resolution on networks
+where .local is a real domain name.  To workaround this, avahi-daemon
+should be restarted when the DNS settings change (for example via
+resolvconf and dhclient hooks) and disable itself when a SOA for the
+.local zone is found.  This is not currently implemented at the time of
+writing, but should soon be.
 
-and further clarified in light of the SjoerdHess debacle on 20061016T1230
--- nss-mdns-0.8.orig/debian/NOTES.Debian
+++ nss-mdns-0.8/debian/NOTES.Debian
@@ -0,0 +1,62 @@
+Upgrade implementation notes
+============================
+
+The first version in Debian was 0.3-2.
+
+Starting with version 0.8-4.2 inclusive, the package started touching
+/etc/nsswitch.conf in debian/postinst.
+
+In versions 0.8-4.2, for first installs and upgrades from versions lower or
+equal to 0.8-4.1, the postinst would:
+- avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+  "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+  is, manually configured /etc/nsswitch.conf were kept intact
+- otherwise change the "dns" entry in /etc/hosts into:
+  "mdns4_minimal [NOTFOUND=return] dns mdns4"
+
+Problems with this version:
+1) does not preserve spacing ("foo   bar" becomes "foo bar")
+2) breaks local reaction overrides ("[STATUS=ACTION]")
+
+In version 0.8-5, the postinst is identical to the postinst of version 0.8-4.2.
+
+In version 0.8-6, the postinst was really messed up:
+* for first installs:
+  - avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+    "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+    is, manually configured /etc/nsswitch.conf were kept intact
+  - otherwise change the "dns" entry in /etc/hosts into:
+    "mdns_minimal dns mdns"
+  - if the hosts line contained "... mdns4_minimal [NOTFOUND=return] ... dns
+    ... mdns4 ...", remove these "mdns4_minimal [NOTFOUND=return]" and "mdns4"
+    entries
+* for upgrades from versions lower or equal to 0.8-4.1:
+  - avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+    "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+    is, manually configured /etc/nsswitch.conf were kept intact
+  - otherwise change the "dns" entry in /etc/hosts into:
+    "mdns_minimal dns mdns"
+* for upgrades from versions 0.8-4.2 and 0.8-5:
+  - if the hosts line contained "... mdns4_minimal [NOTFOUND=return] ... dns
+    ... mdns4 ...", remove these "mdns4_minimal [NOTFOUND=return]" and "mdns4"
+    entries
+* for upgrades from versions higher or equal to 0.8-6 (i.e. reinstalls of
+  0.8-6!):
+  - avoid doing anything if any of "mdns4_minimal", "mdns4", "mdns",
+    "mdns_minimal", "mdns6", "mdns6_minimal" was found in the hosts line; that
+    is, manually configured /etc/nsswitch.conf were kept intact
+  - otherwise change the "dns" entry in /etc/hosts into:
+    "mdns_minimal dns mdns"
+
+Problems with this version:
+1) does not preserve spacing ("foo   bar" becomes "foo bar") in many cases
+2) breaks local reaction overrides ("[STATUS=ACTION]") in many cases
+3) does not handle all versions (e.g. local versions, versions from Ubuntu)
+4) installs a configuration which does not match the upstream recommendations
+   for new installs or upgrades from >= 0.8-4.1
+5) removes any local or automatic configuration and breaks the mdns setup when
+   upgrading from versions 0.8-4.2 and 0.8-5
+6) results in ugly spacing when upgrading from versions 0.8-4.2 and 0.8-5 (note
+   the trailing space and the double space between files and dns):
+    hosts:          files  dns 
+

--- End Message ---
--- Begin Message ---
Version: 0.10-1

On Sun, 24 Dec 2006 at 20:35:02 +0100, Loïc Minier wrote:
> Package: nss-mdns
> 
>  Please merge the diff from the 0.8-6.1 NMU I just uploaded.

Looks like you did that yourself when you took over maintenance;
closing this.

    S

--- End Message ---

Reply via email to