Package: dpkg Version: 1.17.6 Severity: normal User: helm...@debian.org Usertags: rebootstrap
Dear maintainer, Please imagine the following obscure scenario. (Yes, I actually managed to reproduce it in a real world example.) Package b:amd64 depends on a:amd64 M-A:same. Both are installed, all is fine. Now for some reason we obtain a:i386 of the same version as a but being M-A:none. This is a bug in package a of course. However, dpkg does not fail loudly enough in my opinion. It just replaces a:amd64 with a:i386 and pretends that everything is fine. Worse, dpkg --audit will not complain. Please find a script for reproducing the issue (in e.g. pbuilder) and a log attached. Helmut
dpkg_bug.sh
Description: Bourne shell script
W: /root/.pbuilderrc does not exist I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/base.tgz] I: creating local configuration I: copying local configuration I: mounting /proc filesystem I: mounting /run/shm filesystem I: mounting /dev/pts filesystem I: Mounting /var/cache/pbuilder/bindmount I: policy-rc.d already exists W: no hooks of type F found -- ignoring arch1=`dpkg --print-architecture` arch2=i386 dpkg --add-architecture $arch2 mkdir -p /tmp/buildd cd /tmp/buildd mkdir -p a1/DEBIAN cat >a1/DEBIAN/control <<EOF Package: a Version: 1 Architecture: $arch1 Multi-Arch: same Maintainer: <root@localhost> Description: a for $arch1 M-A:same EOF dpkg-deb -b a1 dpkg-deb: building package `a' in `a1.deb'. mkdir -p a2/DEBIAN cat >a2/DEBIAN/control <<EOF Package: a Version: 1 Architecture: $arch2 Maintainer: <root@localhost> Description: a for $arch2 M-A:none EOF dpkg-deb -b a2 dpkg-deb: building package `a' in `a2.deb'. mkdir -p b/DEBIAN cat >b/DEBIAN/control <<EOF Package: b Version: 1 Depends: a Architecture: $arch1 Maintainer: <root@localhost> Description: b for $arch1 depending on a EOF dpkg-deb -b b dpkg-deb: building package `b' in `b.deb'. dpkg -i a1.deb b.deb Selecting previously unselected package a:amd64. (Reading database ... 11340 files and directories currently installed.) Preparing to unpack a1.deb ... Unpacking a:amd64 (1) ... Selecting previously unselected package b. Preparing to unpack b.deb ... Unpacking b (1) ... Setting up a:amd64 (1) ... Setting up b (1) ... dpkg -i a2.deb (Reading database ... 11340 files and directories currently installed.) Preparing to unpack a2.deb ... Unpacking a (1) over (1) ... Setting up a (1) ... dpkg --audit # install the very same b again dpkg -i b.deb (Reading database ... 11340 files and directories currently installed.) Preparing to unpack b.deb ... Unpacking b (1) over (1) ... dpkg: dependency problems prevent configuration of b: b depends on a. dpkg: error processing package b (--install): dependency problems - leaving unconfigured Errors were encountered while processing: b I: unmounting /var/cache/pbuilder/bindmount filesystem I: unmounting dev/pts filesystem I: unmounting run/shm filesystem I: unmounting proc filesystem I: cleaning the build env I: removing directory /var/cache/pbuilder/build//32477 and its subdirectories