Bug#898053: libbabl-dev is marked Multi-Arch: same but is not coinstallable

Francois Gouget fgouget at free.fr
Sun May 6 10:18:46 BST 2018


Package: libbabl-dev
Version: 0.1.46-2
Severity: normal

Dear Maintainer,

Trying to install the amd64 and i386 versions of this package results in the 
following error:

# apt-get install libbabl-dev:amd64 libbabl-dev:i386
[...]
Unpacking libbabl-dev:i386 (0.1.46-2) ...
dpkg: dependency problems prevent configuration of libbabl-dev:i386:
 libbabl-dev:amd64 (0.1.46-2) breaks libbabl-0.0-0-dev and is installed.
  libbabl-dev:i386 (0.1.46-2) provides libbabl-0.0-0-dev.

dpkg: error processing package libbabl-dev:i386 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libbabl-dev:i386
E: Sub-process /usr/bin/dpkg returned an error code (1)


So the source of the issue seems to be that libbabl-dev:
* Provides the libbabl-0.0-0-dev virtual package
* Breaks + Replaces the libbabl-0.0-0-dev virtual package

Apt seems to consider that this means libbabl-dev:amd64 breaks libbabl-dev:i386 
through the libbabl-0.0-0-dev virtual package which prevents them from being 
coinstalled.

One strange thing is that, if I understand 7.6.1 of the Debian Policy Manual 
correctly, Breaks + Replaces is not supposed to be used on virtual packages:
http://www.chiark.greenend.org.uk/doc/debian-policy/policy.html/ch-relationships.html#s7.6.1

| For this usage of Replaces, virtual packages (see Virtual packages - Provides, 
| Section 7.5) are not considered when looking at a Replaces field. The packages 
| declared as being replaced must be mentioned by their real names.

Maybe that's why Apt is confused in this multi-arch configuration.


Note that, based on 7.6.2, the usual pattern for virtual packages would be 
Provides + Conflicts + Replaces:

|  In this situation, the package declared as being replaced can be a virtual 
|  package, so for example, all mail transport agents (MTAs) would have the 
|  following fields in their control files:
|
|     Provides: mail-transport-agent
|     Conflicts: mail-transport-agent
|     Replaces: mail-transport-agent
|
| ensuring that only one MTA can be unpacked at any one time

Seems like something to try to see if it fixes the issue.


-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.15.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libbabl-dev depends on:
pn  libbabl-0.1-0  <none>

libbabl-dev recommends no packages.

libbabl-dev suggests no packages.

-- no debconf information



More information about the pkg-gnome-maintainers mailing list