Re: multiarch status update
Peter 'p2' De Schrijver <email@example.com> writes:
>> Lets say we do add special dirs for binaries and let dpkg manage
>> them. How would that work with old and new debs mixed together? Should
>> dpkg move all binaries into subdirs on upgrade once? Should it move
>> binaries into subdirs when a second arch gets installed?
> It is possible to have both 'normal' and 'directory' binaries at the
> same time. At least AIX managed to do that, although I don't exactly
> know how it did that. So this problem is probably non existant.
But say you have the old i486 ls installed in /bin/ls and now you
install the new amd64 ls in /bin/ls/x86_64.
Wait a second. How do you create the dir when the file already exists?
dpkg has to specialy handle this case for every package.
>> Also what architecture should be called on x86_64 if both are there?
>> i486 or amd64? Should that be configurable?
> What do you mean here ?
Say I have /usr/bin/firefox/i486 and /usr/bin/firefox/x86_64. Which
one should be the default? Where/how do I set the default?
I never use flash so I want the x86_64 default. But userB always uses
flash and wants i486. How do you set that up per user?
>> I imagine that would need kernel support to work for "#!/bin/sh" and
>> the like which again raises the question of compatibility.
> No. #!/bin/sh would just execute /bin/sh as usual.
But /bin/sh then is a directory containing i486 and x86_64. Or just
one of them. Or cotaining mips, mipsn32, mips64, mipsel, mipsn32el,
mips64el, mips-abi32, mips-abi64, mips-abi32el, mips-abi64el.
>> Weigh the gain against the work and hopefully you will see that the
>> cost outweigh the gain by a lot. If you want to share a filesystem to
>> i486 and amd64 systems I guess you could use a unionfs for amd64 that
>> has i486 as base and then just adds the 64bit stuff. Thats probably
>> far simpler and better than adding the complexity to dpkg.
> Well no. Because there is far more use then i486 and amd64. I don't
> think dpkg needs extra changes beyond being able to install packages for
> another architecture and doing the dependencies per architecture (which
> all is necessary for multiarch anyway).
Multiarch (so far) does not allow the same path/file in 2 packages
(with the exception of /usr/share/doc/ files) and all library packages
have to move files so they are disjunct. You want more it seems.
> L & L