On Thu, 29 Nov 2018 at 18:34:42 +0100, Ansgar Burchardt wrote:
> Regardless of debootstrap defaults or flag days, we could also consider
> moving programs from /{s,}bin to /usr/{s,}bin with a compat symlink in
> /{s,}bin

I'm not convinced this is a good idea: it seems like it causes as many
problems as it solves. It's effectively a gradual implementation of
making merged /usr mandatory, with a lot of moving parts (places where
it could go wrong) and a lot of packages and maintainers needing to be
involved, but without the simpler end result of *actually* merging /usr.
We've been migrating from non-multiarch to multiarch for more than 5
years and have still not got there, so I'm not confident that ad-hoc
migration from unmerged to merged /usr would go any quicker.

It can also cause the same failure modes with hard-coded executable paths
as merged /usr. Let's suppose we migrated grep from /bin to /usr/bin in
the way you suggest during the Debian 11 release cycle. If a package that
hard-codes the compile-time grep path (again, consider gzip, #914907)
is built with the new grep, it won't work correctly with the old grep
during a partial upgrade from Debian 10 to 11; but I don't see how it
would pick up a versioned Depends on the new grep without manual action
from the dependent package's maintainer, which isn't going to scale well.

> Debian is not responsible how third parties build their packages.  We
> don't even exclude /usr/local/bin from PATH when building packages...

In particular, if you have a /usr/local/bin/grep, the same packages that
would hard-code /usr/bin/grep when built on a system with merged /usr
(for example gzip, #914907) will instead hard-code the path to your
/usr/local/bin/grep, resulting in them not working properly on systems
that don't have /usr/local/bin/grep. So perhaps bugs of the same class
as #914907 were already bugs in the source package before merged /usr
was ever suggested?

(To be fair, debuild(1) does sanitize PATH, but it's true that
dpkg-buildpackage doesn't.)

    smcv

Reply via email to