apt-get dselect-upgrade prefers multiarch over native
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
Triaged
|
Medium
|
Unassigned |
Bug Description
'apt-get dselect-upgrade' prefers multiarch over native (i386 over amd64 in my case) for *some* packages for "precise".
How to reproduce:
I've set up an amd64 precise chroot on an amd64 host from a mirror lagging behind with it's sync some time, then added some repos to the sources.list, updated, set some package to be installed via 'dpkg --set-selections' and start an installation process via 'apt-get dselect-upgrade'. Note that this behaviour does not show when using 'apt-get install' straight.
Details for reproducing:
-------
me@host:~$ sudo /usr/sbin/
me@host:~$ dpkg -l '*:i386'
No packages found matching *:i386.
me@host:~$ sudo chroot precise_
# cat /etc/apt/
deb http://
[now editing the sources.list]
# cat /etc/apt/
deb http://
# apt-get update
[...]
# echo "joe install" | dpkg --set-selections
# apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
# apt-get dselect-upgrade
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
gcc-4.6-base:i386 joe:i386 libc6:i386 libgcc1:i386 libtinfo5:i386
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 4402 kB of archives.
After this operation, 12.1 MB of additional disk space will be used.
Do you want to continue [Y/n]? n
Abort.
# apt-cache policy joe
joe:
Installed: (none)
Candidate: 3.7-2.3
Version table:
3.7-2.3 0
500 http://
[now changing 'foreign-
# apt-get dselect-upgrade
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
joe
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 481 kB of archives.
After this operation, 1340 kB of additional disk space will be used.
Do you want to continue [Y/n]? n
Abort.
# apt-cache policy joe
joe:
Installed: (none)
Candidate: 3.7-2.3
Version table:
3.7-2.3 0
500 http://
-------
Note how 'apt-cache policy' does show 'amd64' as installation candidate in both cases. When actually confirming the installation via 'apt-get dselect-upgrade', it *does* install the i386 packages, as it threatened it would. Removing i386 from the multiarch entries solves the issue for me, in that case only the amd64 package is installed.
Kind regards,
Christian
One more bit of information:
mounting /proc and /sys from the host into the chroot (as one should do for using the chroot) actually does not make a difference for me.