Bug#612958: apt and dpkg configured separately for multiarch?
Steve Langasek <email@example.com> writes:
> Package: apt
> Version: 0.8.11.1
> Severity: important
> Hi there,
> Currently, apt's support for multiarch requires users to manually set
> APT::Architectures in apt.conf to tell apt which architectures are allowed.
> But dpkg also needs to know what architectures are allowed, and the
> in-progress multiarch dpkg requires this to be specified with a
> --foreign-architecture option (typically set in dpkg.cfg).
> Since 'dpkg -i' and 'apt-get install' should both have the same view of the
> world, I think apt should be pulling this information from dpkg - which it
> can do with 'dpkg --print-foreign-architectures'. (This command will
> obviously fail on pre-multiarch dpkg, in which case no extra architectures
> should be enabled.)
> I guess it should still be allowed to override the architecture list through
> the apt config, but that this should not be the default means of configuring
> multiarch to ensure consistency between dpkg and apt.
This needs some redesign I'm afraid. Specifically in combination with
There are 4 kinds of architectures:
1) the native arch (the prefered arch)
2) foreign archs directly supported by the cpu
3) foreign archs supported by emulator (use as last resort)
4) cross-compile arch (don't install binaries from there, only libs)
1-3 is just a matter of preference, affect only apt and can be
configured using pining. But for 4 the Packages file needs to be
filtered and dpkg should require extra force to install a binary package
for that arch.
So as I see it 2 things are missing:
1) dpkg/apt need options to specify cross-compile archs
2) apt needs to default to the dpkg config
At the time I wrote the APT:Architectures patch there simply was no
setting in dpkg to default to or I would have used that already.