Package: ucf
Version: 3.0025+nmu1
Severity: important
Tags: patch
User: vor...@debian.org
Usertags: multiarch

Hi Manoj,

ucf's use of a hard-coded path for its debconf templates file in
/var/lib/dpkg is incompatible with multiarch, which will create
/var/lib/dpkg/$arch subdirectories and store its state there.  As a result,
debootstrapping a system using a multiarch-enabled dpkg now fails, since
rsyslog uses ucf, so this is fairly important to get fixed before multiarch
support lands in unstable.

I've applied the attached simple fix to ucf in Ubuntu for this issue, with
the following changelog:

  * Use dpkg-query --control-path instead of hard-coding a path to our
    debconf templates file, for compatibility with multiarch.

Please apply to the Debian ucf package as well.

Note that the 'dpkg-query --control-path' interface was introduced in dpkg
1.15.4, and stable has 1.15.8.10, so I don't think a versioned dependency on
dpkg is needed here.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
=== modified file 'ucf'
--- ucf 2009-10-15 13:40:46 +0000
+++ ucf 2011-03-01 05:47:23 +0000
@@ -634,7 +634,7 @@
        # not been loaded or the Debconf DB lost or corrupted
        # since then, but only if it is OK to use debconf.
         if [ "$DEBCONF_OK" = 'YES' ]; then
-            db_x_loadtemplatefile /var/lib/dpkg/info/ucf.templates ucf
+            db_x_loadtemplatefile "$(dpkg-query --control-path ucf templates)" 
ucf
         fi
     else
         echo >&2 "$progname: Not loading confmodule, since we are not running 
as root."

Reply via email to