Control: tag -1 + confirmed patch

On Sun, 20 Jan 2013 18:42:41 +0100, Andreas Beckmann wrote:

> >>From the attached log (scroll to the bottom...):
> 
>   Setting up isc-dhcp-client (4.2.2.dfsg.1-5+deb70u2) ...
>   Installing new version of config file 
> /etc/dhcp/dhclient-enter-hooks.d/debug ...
>   Installing new version of config file /etc/dhcp/dhclient-exit-hooks.d/debug 
> ...
>   Installing new version of config file 
> /etc/dhcp/dhclient-exit-hooks.d/rfc3442-classless-routes ...
>   
>   Configuration file `/etc/dhcp/dhclient.conf'
>    ==> Modified (by you or by a script) since installation.
>    ==> Package distributor has shipped an updated version.
>      What would you like to do about it ?  Your options are:
>       Y or I  : install the package maintainer's version
>       N or O  : keep your currently-installed version
>         D     : show the differences between the versions
>         Z     : start a shell to examine the situation
>    The default action is to keep your current version.
>   *** dhclient.conf (Y/I/N/O/D/Z) [default=N] ? dpkg: error processing 
> isc-dhcp-client (--configure):
>    EOF on stdin at conffile prompt
> 
> This was observed on an upgrade from lenny (where dhcp3-client was installed)
> to squeeze to wheezy.

I can confirm this problem for a lenny -> squeeze -> wheezy upgrade;
it does not happen for squeeze -> wheezy.

Some information:

---

lenny
# md5sum /etc/dhcp3/dhclient.conf
6e3910d75cd5cde0042ecb6d48492ae9  /etc/dhcp3/dhclient.conf

squeeze
# md5sum /etc/dhcp/dhclient.conf 
6e3910d75cd5cde0042ecb6d48492ae9  /etc/dhcp/dhclient.conf
# md5sum /etc/dhcp3/dhclient.conf 
6e3910d75cd5cde0042ecb6d48492ae9  /etc/dhcp3/dhclient.conf

wheezy (after N at the prompt)
# md5sum /etc/dhcp/dhclient.conf
6e3910d75cd5cde0042ecb6d48492ae9  /etc/dhcp/dhclient.conf
# md5sum /etc/dhcp/dhclient.conf.dpkg-new 
eafe9ecc362ada8ea5fba9dcafb4573d  /etc/dhcp/dhclient.conf.dpkg-new

---   

squeeze
# md5sum /etc/dhcp/dhclient.conf 
c0d3159e771edfcbd4f8a871bacdeac4  /etc/dhcp/dhclient.conf

wheezy
# md5sum /etc/dhcp/dhclient.conf 
eafe9ecc362ada8ea5fba9dcafb4573d  /etc/dhcp/dhclient.conf

---

Note that /etc/dhcp/dhclient.conf has the same md5sum as
/etc/dhcp3/dhclient.conf in the upgrade case, and a different one on
fresh squeeze installs. This is probably caused by

    if [ -z "$2" ]; then
        if [ -e /etc/dhcp3/dhclient.conf ]; then
            cp /etc/dhcp3/dhclient.conf /etc/dhcp/dhclient.conf
        fi
    fi    

in debian/isc-dhcp-client.postinst.


So I guess there needs to be some hack in
debian/isc-dhcp-client.preinst ...

Ok, first attempt (patch against the package in testing) attached;
improvements welcome.


Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Davy Graham: The Fakir
diff -Nru isc-dhcp-4.2.2.dfsg.1/debian/changelog isc-dhcp-4.2.2.dfsg.1/debian/changelog
--- isc-dhcp-4.2.2.dfsg.1/debian/changelog	2012-10-15 00:04:44.000000000 +0200
+++ isc-dhcp-4.2.2.dfsg.1/debian/changelog	2013-02-10 18:14:12.000000000 +0100
@@ -1,3 +1,16 @@
+isc-dhcp (4.2.2.dfsg.1-5+deb70u3) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Fix "prompting due to modified conffiles which were not modified by
+    the user: /etc/dhcp/dhclient.conf":
+    mangle /etc/dhcp/dhclient.conf in debian/isc-dhcp-client.preinst: if it's
+    the same as /etc/dhcp3/dhclient.conf from lenny's dhcp3-client, change it
+    to the same as a freshly installed /etc/dhcp/dhclient.conf from squeeze's
+    isc-dhcp-client.
+    (Closes: #698582)
+
+ -- gregor herrmann <gre...@debian.org>  Sun, 10 Feb 2013 17:06:05 +0100
+
 isc-dhcp (4.2.2.dfsg.1-5+deb70u2) testing-proposed-updates; urgency=high
 
   * Non-maintainer upload by the Security Team.
diff -Nru isc-dhcp-4.2.2.dfsg.1/debian/isc-dhcp-client.preinst isc-dhcp-4.2.2.dfsg.1/debian/isc-dhcp-client.preinst
--- isc-dhcp-4.2.2.dfsg.1/debian/isc-dhcp-client.preinst	2012-09-14 05:24:53.000000000 +0200
+++ isc-dhcp-4.2.2.dfsg.1/debian/isc-dhcp-client.preinst	2013-02-10 18:11:49.000000000 +0100
@@ -15,6 +15,16 @@
 		cp /etc/dhclient.conf /etc/dhcp3/dhclient.conf.oldconfig
         fi
 
+	# if the /etc/dhcp/dhclient.conf is the same as the
+	# /etc/dhcp3/dhclient.conf from lenny, mangle it to the one of a freshly
+	# installed squeeze /etc/dhcp/dhclient.conf, otherwise we get a dpkg
+	# prompt at updates to wheezy (#698582)
+	if [ -e /etc/dhcp3/dhclient.conf ] && [ -e /etc/dhcp/dhclient.conf ] && \
+		[ "`md5sum /etc/dhcp3/dhclient.conf | awk '{print $1;}'`" = 6e3910d75cd5cde0042ecb6d48492ae9 ] && \
+		[ "`md5sum /etc/dhcp/dhclient.conf  | awk '{print $1;}'`" = 6e3910d75cd5cde0042ecb6d48492ae9 ]; then
+		sed -i -e 's/rfc3442-classless-static-routes;/rfc3442-classless-static-routes, ntp-servers;/' /etc/dhcp/dhclient.conf
+	fi
+
 	# We renamed debug-enter to debug - handle the transition
 	if [ ! -e /etc/dhcp3/dhclient-enter-hooks.d/debug ] && \
 	      [ -e /etc/dhcp3/dhclient-enter-hooks.d/debug-enter ]; then

Attachment: signature.asc
Description: Digital signature

Reply via email to