[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#612958: apt and dpkg configured separately for multiarch?



Steve Langasek <vorlon@debian.org> 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
cross-compiling.

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.

MfG
        Goswin



Reply to: