Package: apt Version: 1.3~pre2 Severity: normal User: [email protected] Usertags: origin-kali
Hello dear APT maintainers, I have a package dependency "firefox-esr:any | firefox:any | www-browser" in a metapackage. Unfortunately firefox-esr is neither "Multi-Arch: foreign" nor "Multi-Arch: allowed" (I filed #832501 to request this) and when I try to install this meta-package it will not install firefox-esr at all, instead it will pick a random web browser (thus considering www-browser and not firefox-esr:any). Given the lack of "Multi-Arch: allowed", it is expected that a foreign firefox-esr cannot fulfill the dependency. But firefox-esr:native should fulfill the "firefox-esr:any" dependency and apt should install this package in response to the metapackage installation request. Discussing this on IRC lead to this: 09:56 <DonKult> again: a dependency "foo:any" can be satisfied by a package foo only in two ways: a) foo is M-A: allowed. b) foo explicitly "Provides: foo:any". 09:57 <buxy> DonKult: let's fix the spec? 10:01 <DonKult> you can find mails from me discussing different interpretations for some things, but the discussion ended at DC15 with an agreement on the interpretation as implemented by dpkg. I am not going to breach contracts. If the Multi-Arch specification says otherwise, then we should probably consider improving it to allow this case. Are you aware of cases where allowing this would break something? Given that the Multi-Arch annotation is not under the control of the package specifying the dependency it would seem better to have a sane and tolerant fallback when the target package has no Multi-Arch annotation instead of refusing to satisfy the dependency even when when we have a native package which is installable. Ccing Guillem for his input. If we agree on that, then we should clone that bug against dpkg as well. Cheers, -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.6.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=fr_FR.utf8, LC_CTYPE=fr_FR.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages apt depends on: ii adduser 3.115 ii debian-archive-keyring 2014.3 ii gpgv 1.4.20-6 ii init-system-helpers 1.38 ii libapt-pkg5.0 1.3~pre2 ii libc6 2.23-1 ii libgcc1 1:6.1.1-9 ii libstdc++6 6.1.1-9 Versions of packages apt recommends: ii gnupg 1.4.20-6 ii gnupg2 2.1.11-7 Versions of packages apt suggests: ii apt-doc 1.3~pre2 ii aptitude 0.8.1-1 ii dpkg-dev 1.18.9 ii powermgmt-base 1.31+nmu1 ii python-apt 1.1.0~beta3 ii synaptic 0.83+b1 -- no debconf information

