Merged-/usr seems to me to have brought great pain with no discernable benefit 
to Debian so far, and I at least have completely lost the thread on what the 
point of doing it was supposed to be.  So, using it as a justification for 
further harm to user and system expectations isn't compelling.

Bdale 

On May 14, 2023 10:48:04 PM MDT, Johannes Schauer Marin Rodrigues 
<jo...@debian.org> wrote:
>Hi,
>
>Quoting Steve McIntyre (2023-05-15 02:54:02)
>> On Mon, May 15, 2023 at 12:24:15AM +0100, Luca Boccassi wrote:
>> >On Sun, 14 May 2023 at 22:37, Josh Triplett <j...@joshtriplett.org> wrote:
>> >
>> >> The x86-64 ABI is set. Feel free to make the case to the next
>> >> architecture designer that their new ABI should have the dynamic linker
>> >> in `/usr/lib`. That would *not* have the same downsides, as long as
>> >> everyone agrees on a path.
>> >
>> >In practice it is not, though. There are other distributions that
>> >change PT_INTERP for their own purposes, they've already been listed
>> >in this thread. And I am still not hearing any concrete, factual use
>> >case that would be impaired by such a change. I'm beginning to
>> >seriously think there aren't any? Is that really the case?
>> 
>> The ABI has been agreed and set down in documentation that *just
>> about* everybody has been following since its inception. This includes
>> the most basic set of definitions of what an x86-64 program must look
>> like, including the interpreter path. If this path is changed, then
>> *at the most basic level* we'd be making programs that are not valid
>> by the ABI we've agreed to. This is an *external interface contract*,
>> not something we should ever consider changing without significant
>> cross- and inter-project discussion.
>> 
>> Pointing at gentoo or nixos as examples of projects that have decided
>> to break compatibility doesn't cut it, I'm afraid. They're well known
>> for changing fundamental things around Linux and (basically) not caring about
>> interoperability. That attitude is *not* Debian's.
>
>me and Luca have different ideas about how bootstrapping a Debian chroot should
>look like and I don't want to make an argument *for* changing PT_INTERP here as
>I think that keeping compatibility with others by following ABI is a good thing
>and because I think (and hope -- but Helmut is doing that analysis right now)
>that the debootstrap problem can be solved in a way I envision without changing
>PT_INTERP. But what I do not understand about the argument against Luca's
>proposal is:
>
>Obviously, with Luca's proposal, binaries from packages built with a different
>dynamic linker path in them would not work on distributions without merged-/usr
>symlinks. But if the property of stuff from Debian being able to run on
>non-Debian non-merged-/usr systems is an important one, then why was it okay to
>have merged-/usr as the default? Because with merged-/usr we already changed
>the interface contract for a lot of things because now binaries and libraries
>can also be found at other locations than on non-merged-/usr systems. A script
>with a /usr/bin/bash shebang built on and for Debian will not work on a system
>without the symlinks.
>
>So did we not years ago decide, that the result of the "cross- and
>inter-project discussion" is, that everybody is going merged-/usr and that's
>why we need it too and that's why it is okay to build a system where binaries
>and scripts built for it just may not run on those other systems that do not do
>it?  With merged-/usr we already *did* "change fundamental things around" for
>reasons that are really not clear to me (but which i do not want to discuss
>here) and as a result did not "care about interoperability" (with those who do
>not also adopt it). In my own Debian work I so far only got extra work because
>of merged-/usr and I do not see the benefits (yet) and I was hoping that
>"changing fundamental things around Linux and (basically) not caring about
>interoperability" was *not* Debian's attitude but alas here we are.
>
>So have we not already burned the bridges to the non-merged-/usr world? Why was
>it okay back then to say "we can make this change because all other important
>players are doing merged-/usr so we can/have to as well". And now in the
>PT_INTERP discussion somehow we care again about those systems? I thought we
>already had the "cross- and inter-project discussion" about merged-/usr and
>because the result was "yes, go for it" we did it too. But if that is the case,
>why do we now care for a subset of the interoperability problems caused by
>merged-/usr for systems that don't have it?
>
>As I said, I don't care much about the PT_INTERP value but I don't understand
>yet, why this argument about interoperability with non-merged-/usr systems is
>working now but it didn't wasn't enough to stop another very fundamental change
>in how we build a Linux distro.
>
>Thanks!
>
>cheers, josch

Reply via email to