Re: multiarch/bi-arch status (ETA) question
Hugo Mills <firstname.lastname@example.org> writes:
> On Tue, Jul 05, 2005 at 01:49:08PM -0400, David Wood wrote:
>> Am I a bonehead or is it just a matter of moving some directories and
>> symlinks around in etch and then the super-gradual process (many many
>> years if you want) of migrating things from using the legacy symlinks to
>> the multiarch dirs... Why wait to get started? What would break?
> It's quite a lot more complicated than that. You need explicit
> support in dpkg, for a start. And in dselect, apt, and all apt's
> friends. I had a go at doing the dpkg support last year, and it
> defeated me(*). It is very much non-trivial.
You only need dpkg support to utilize it. The design is such that the
debs shall remain compatible to older debian. You just don't get the
multiarch benefits. So apt/dpkg are not realy blocking issues to
> Then you have to modify _every_ library package to build properly,
> putting the files in the right places. This will probably involve at
> least some work on the various Debian build systems. It won't all be
> done by one person (or team of people), but by all the relevant
> developers -- but that still causes a lot of work for the multiarch
> developers in helping everyone else migrate. Small libraries are
> probably easy, but (for example) libc and libstdc++ are very nasty to
> get right.
Not strictly true. You only need core libraries and then any lib that
might be usefull to have. All of those can be done independent of each
other and over a long time. A lot of the core libs have had patches
for it already and it wasn't that much work to move the files around.
> There are also (IIRC) big questions about handling things like perl
> libraries and libs for other non-compiled (or bytecode-compiled)
> languages, which remain unresolved.
The only problem I'm aware of is plugin support. Their dependencies
are reversed in respect to libraries and the dpkg/apt magic planed for
multiarch won't work for them. For those the main packages have to
provide a abi field. Perl already provides that for the abi
version. Adding the arch is simple.
But worst case anything with plugins won't be multiarch. You only ever
need one perl or mozilla. Or not?
> (*) Probably not saying much -- I'm not the world's finest hacker --
> but I understand I'm not alone in finding dpkg's code really awkward
> to work with.