Re: Breaking /emul/ia32-linux for squeeze
Roger Leigh <email@example.com> writes:
> On Mon, Mar 16, 2009 at 02:36:17PM +0100, Goswin von Brederlow wrote:
>> Aurelien Jarno <firstname.lastname@example.org> writes:
>> > Goswin von Brederlow a écrit :
>> >> Aurelien Jarno <email@example.com> writes:
>> >>> One of the goal of multiarch is to avoid having packages containing
>> >>> binaries of a different architecture than the one of the package (e.g.
>> >>> i386 binaries in an amd64 package), in order to make packages of
>> >>> different architecture co-installable. If we start to break this goal,
>> >>> we will have packages using the multiarch path, but not co-installable,
>> >>> for example i386 libc bundled in an i386.deb and in an amd64.deb won't
>> >>> be co-installable.
>> >> Already broken for 2 stable releases.
>> > We are not using multiarch paths in Debian, so this has never happens.
>> > When using standard /usr/lib paths, people are expecting that the paths
>> > collide. When using multiarch they do not expect that, as it the goal of
>> > multiarch.
>> All biarch packages contain binary objects of a foreign architecture
>> (that is kind of the point of them). Some do contain binaries. Some
>> contain conffiles. One contains the dynamic loader. Prime example is
>> libc6 vs. libc6-i386/amd64.
> Why can't we move the dynamic linker as well? It's not hard-coded; it's
> in the DT_INTERP section of the ELF binary. If you have a multi-arch
> /lib as well as /usr/lib, there's no reason why it's not possible to
> move it (and obviously keep a symlink until everything is rebuilt).
We can not change the location of the interpreter recorded in the elf
without loosing all compatibility with other linux distributions.
Getting everyone to change might be possible eventually but that will
take more than 1 debian stable cycle.
That asside we need the link for compatibility during the
transition. And the link will collide just as badly as the file
does. So you have won nothing. And that is not just while everything
is being rebuild. It needs to be there during stable->new stable
upgrades too. So squeeze+1 is the first the link could disapear.