Package: dpkg
Version: 1.16.1.2

Note that this is not actually in Debian yet, it's for
git://git.debian.org/users/hertzog/dpkg.git pu/multiarch/full.
But I'm filing it here because
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632555#20 referred to
it and to have an early warning before that dpkg branch lands in
Debian. If you consider that inappropriate, then please just close the
bug and sorry for the unnecessary noise then.

If you install the i386 and amd64 variant of a Multi-Arch: same
package which just has identical files on both architectures, dpkg
considers one architecture as completely replacing the other, marking
the package as uninstalled:

$ LANG= sudo apt-get install --reinstall libpthread-stubs0{,:i386} 
libpthread-stubs0-dev
[...]
Preparing to replace libpthread-stubs0 0.3-2.1ubuntu1 (using 
.../libpthread-stubs0_0.3-2.1ubuntu1_amd64.deb) ...
Unpacking replacement libpthread-stubs0 ...
(Noting disappearance of libpthread-stubs0:i386, which has been completely 
replaced.)
Selecting previously unselected package libpthread-stubs0:i386.
Unpacking libpthread-stubs0:i386 (from 
.../libpthread-stubs0_0.3-2.1ubuntu1_i386.deb) ...
Preparing to replace libpthread-stubs0-dev 0.3-2.1ubuntu1 (using 
.../libpthread-stubs0-dev_0.3-2.1ubuntu1_amd64.deb) ...
Unpacking replacement libpthread-stubs0-dev ...
dpkg: dependency problems prevent configuration of libpthread-stubs0-dev:
 libpthread-stubs0-dev depends on libpthread-stubs0 (= 0.3-2.1ubuntu1); however:
  Package libpthread-stubs0 is not configured yet.
dpkg: error processing libpthread-stubs0-dev (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup 
error from a previous failure.
                          Errors were encountered while processing:
 libpthread-stubs0-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)

Note that I sometimes have to run the command twice for it to appear.

The multi-arch patch was applied in Debian's libpthread-stubs in
0.3-3, so that reproducer should work in sid just as well.

This happens for packages which are metapackages for others (like
libtag1c2a), or just empty on most architectures (like
libpthread-stubs0), so they can't be M-A: foreign as they have M-A:
same dependencies.

I think the "completely disappeared" logic should not apply in this
case.

Thanks,

Martin

-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)

Attachment: signature.asc
Description: Digital signature

Reply via email to