Bug#897359: libmarco-private1 is marked Multi-Arch: same but is not coinstallable
Package: libmarco-private1
Version: 1.20.1-1
Severity: normal
Dear Maintainer,
Trying to install the amd64 and i386 versions of this package results in the
following error:
# apt-get install libmarco-private1:amd64 libmarco-private1:i386
[...]
Unpacking libmarco-private1:i386 (1.20.1-1) ...
dpkg: dependency problems prevent configuration of libmarco-private1:i386:
libmarco-private1:amd64 (1.20.1-1) breaks libmarco and is installed.
libmarco-private1:i386 (1.20.1-1) provides libmarco.
dpkg: error processing package libmarco-private1:i386 (--configure):
dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.27-3) ...
Errors were encountered while processing:
libmarco-private1:i386
E: Sub-process /usr/bin/dpkg returned an error code (1)
So the source of the issue seems to be that libmarco-private1:
* Provides the libmarco virtual package
* Breaks + Replaces the libmarco virtual package
Apt seems to consider that this means libmarco-private1:amd64 breaks
libmarco-private1:i386 through the libmarco 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 would be to Provides + Conflicts +
Replaces on a virtual package:
| 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)
LSM: AppArmor: enabled
Versions of packages libmarco-private1 depends on:
ii libatk1.0-0 2.28.1-1
ii libc6 2.27-3
ii libcairo-gobject2 1.15.10-3
ii libcairo2 1.15.10-3
ii libcanberra-gtk3-0 0.30-6
ii libcanberra0 0.30-6
ii libgdk-pixbuf2.0-0 2.36.11-2
ii libglib2.0-0 2.56.1-2
ii libgtk-3-0 3.22.29-3
ii libgtop-2.0-11 2.38.0-2
ii libice6 2:1.0.9-2
ii libpango-1.0-0 1.42.0-1
ii libpangocairo-1.0-0 1.42.0-1
ii libsm6 2:1.2.2-1+b3
ii libstartup-notification0 0.12-5
ii libx11-6 2:1.6.5-1
ii libxcomposite1 1:0.4.4-2
ii libxcursor1 1:1.1.15-1
ii libxdamage1 1:1.1.4-3
ii libxext6 2:1.3.3-1+b2
ii libxfixes3 1:5.0.3-1
ii libxinerama1 2:1.1.3-1+b3
ii libxpresent1 1.0.0-2+b10
ii libxrandr2 2:1.5.1-1
ii libxrender1 1:0.9.10-1
libmarco-private1 recommends no packages.
libmarco-private1 suggests no packages.
-- no debconf information
Reply to: