[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: