Control: reassign -1 python3-distro Control: retitle -1 python3-distro: Please mark as Multi-Arch: foreign
On Thu, 2020-06-11 at 15:14:20 +0100, Mike wrote: > Package: dpkg > Version: 1.19.7 > Severity: important > I am trying to cross-grade at least some of my system from i386 to amd64. > In particular I'm trying to swtich dpkg so that the default arch for > anything new is amd64. > > I followed the instructions here: > https://wiki.debian.org/CrossGrading > but after installing tar, dpkg and apt amd64 versions there are a lot > of broken packages, and apt isn't able to resolve it, so > I switched them back and did some more investigation. > > There are several packages that cannot be installed, but they all seem > to be the same root cause. The simplest example is yelp:am64 > > apt install yelp:amd64 > Reading package lists... Done > Building dependency tree > Reading state information... Done > Some packages could not be installed. This may mean that you have > requested an impossible situation or if you are using the unstable > distribution that some required packages have not yet been created > or been moved out of Incoming. > The following information may help to resolve the situation: > > The following packages have unmet dependencies: > yelp:amd64 : Depends: python3-distro:amd64 but it is not installable > E: Unable to correct problems, you have held broken packages. > > dpkg -l python3-distro > Desired=Unknown/Install/Remove/Purge/Hold > | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend > |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) > ||/ Name Version Architecture Description > +++-==============-============-============-================================= > ii python3-distro 1.3.0-1 all Linux OS platform information API > > > There is no way to install yelp:amd64. > > Installing via dpkg -i gives the same dependency error. > > It depends on python3-distro:amd64, but python3-distro is architecture > independent, and already installed. An arch:all package by default is considered to be of the same architecture as the native one. So yelp:amd64 depending on python3-distro implies it wants python3-distro:amd64 which is not satisfied as it is only evaluated as python3-distro:i386. To tell the packaging system that this dependency is safe and truly architecture independent, it needs to be marked as Multi-Arch: foreign. Thanks, Guillem