Bug#670322: apt: hiding foreign arch from APT::Architectures, using with [arch=] only, only partly works
Package: apt
Version: 0.8.15.10
Severity: normal
(found no changelog entry for 0.9.x looking like this problem)
I have many sources.list entries, and only want selected ones to take
armel packages into account. The new [arch=] tag seems tailored for
this, but then, APT::Architectures defaults to all foreign archs
(Sidenote: this situation is probably OK when foreign archs are
directly executable (eg. i386 on amd64), but for cross-compiling
purposes it it less OK)
... and apt ignores my tag and just downloads any armel Packages file
it can find - at least, I am able to install foreign packages, it just
does not installs by default the versions I want, and complains for
sources which do not provide an armel version.
(Sidenote: apt/preferences does not seem to allow scoring based on
arch, so I cannot pin armel packages to squeeze on this box where the
native packages are usually pinned to testing - maybe worth its own bugreport)
Now if I tell apt to only consider amd64 by default, with:
APT::Architectures { "amd64"; };
... then apt-get update *does* fetch only the correct files, with a
single armel Packages file, but then, neither of apt-get/apt-cache/aptitude
want to talk about armel packages again, even for installed ones:
# dpkg -l libc6:armel
...
ii libc6:armel 2.13-27
# apt-cache policy libc6:armel
N: Unable to locate package libc6:armel
And if I comment out this APT::Architectures line and run apt-get update again:
# apt-cache policy libc6:armel
libc6:armel:
Installed: 2.13-27
Candidate: 2.13-27
...
Maybe I'm just trying to use the wrong feature to do what I need - I
had to guess since the sources.list manpage does not really tell that
the [arch=] syntax is not expected to be useful out of the box, nor in
which situations it is expected to be useful.
-- Package-specific info:
-- apt-config dump --
APT::Architecture "amd64";
...
APT::Architectures "";
APT::Architectures:: "amd64";
-- (/etc/apt/preferences present, but not submitted) --
-- /etc/apt/sources.list --
deb ftp://ftp.debian.org/debian testing main contrib non-free
...
deb [ arch=amd64,armel ] ftp://ftp.debian.org/debian squeeze main
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (101, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages apt depends on:
ii debian-archive-keyring 2010.08.28
ii gnupg 1.4.12-4
ii libc6 2.13-27
ii libgcc1 1:4.7.0-3
ii libstdc++6 4.7.0-3
ii zlib1g 1:1.2.6.dfsg-2
apt recommends no packages.
Versions of packages apt suggests:
ii apt-doc <none>
ii aptitude 0.6.6-1
ii bzip2 1.0.6-1
ii dpkg-dev 1.16.2
ii python-apt 0.8.3+nmu1
ii xz-lzma [lzma] 5.1.1alpha+20110809-3
-- no debconf information
Reply to: