#770301 dpkg: fails to install second arch of Multi-Arch:same packages with Provides/Conflicts/Replaces:virtualpackage

Package:
dpkg
Source:
dpkg
Description:
Debian package management system
Submitter:
Andreas Beckmann
Date:
2023-07-17 13:39:06 UTC
Severity:
important
#770301#5
Date:
2014-11-20 10:43:15 UTC
From:
To:
Hi,

dpkg fails to configure a second architecture of this package if a
first architecture is already installed:

Package: libbabl-dev
Multi-Arch: same
Source: babl
Version: 0.1.10-2
Replaces: libbabl-0.0-0-dev
Provides: libbabl-0.0-0-dev
Breaks: libbabl-0.0-0-dev

Both apt and aptitude consider the package to be installable, but dpkg
fails to configure it:

# dpkg --configure --pending
dpkg: dependency problems prevent configuration of libbabl-dev:amd64:
 libbabl-dev:i386 (0.1.10-2) breaks libbabl-0.0-0-dev and is installed.
  libbabl-dev:amd64 (0.1.10-2) provides libbabl-0.0-0-dev.

dpkg: error processing package libbabl-dev:amd64 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libbabl-dev:amd64


Andreas

#770301#10
Date:
2014-11-20 15:51:07 UTC
From:
To:
Hi!

This is expected behavior in dpkg. Conflics/Breaks/Replaces get an
implicit "any" arch qualifier, so those make the dependency
unsatisfiable due to the Provides.

So if there's no other issue besides this, I'm just going to be
closing this report.

Thanks,
Guillem

#770301#15
Date:
2014-11-20 16:00:06 UTC
From:
To:
If it's intentional, this is fine.

Should this rather be reassigned to apt/aptitude to not resolve these
packages as co-installable at the first place?


Andreas

#770301#20
Date:
2014-11-20 16:19:50 UTC
From:
To:
Hi,

thanks for making me aware of this. It turns out that dose3 does this wrong as
well.

Sorry, I already filed this bug with apt without considering to reassign this
one. The new bug is #770345

Thanks!

cheers, josch

#770301#25
Date:
2014-11-20 17:35:51 UTC
From:
To:
Are you sure about that?  How come I have libncurses5-dev:amd64 and
libncurses5-dev:armhf coinstalled then, when they both
Provides/Conflicts/Replaces libncurses-dev?  It seems to me that dpkg
actually treats Breaks different from Conflicts here.

Cheers,
       Sven

#770301#30
Date:
2014-11-21 03:56:02 UTC
From:
To:
Hi!

Oh, so it does. :( I've started looking into fixing this, but I'll
have to ponder about it to maybe change the behavior the other way
around :/, because as it stands, and as pointed out by Johannes
off-BTS there are at least 114 M-A:same possibly affected packages,
so this is really way off to even consider breaking during the freeze.

So this is something for 1.18.x. Apt probably should also hold off
fixing anything until dpkg behaves in a consisten way, in either
direction.

Thanks,
Guillem

#770301#37
Date:
2023-07-17 13:36:20 UTC
From:
To:
Hi,

Note that dpkg 1.21.22 (current version in stable and unstable) is
still affected:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1041229

about libltdl-dev 2.4.7-6.