On 05/02/2018 05:14 PM, Daniel P. Berrangé wrote:
On Wed, May 02, 2018 at 11:10:05AM -0400, Siteshwar Vashisht wrote:

----- Original Message -----
From: "Daniel P. Berrangé" <berra...@redhat.com>
To: "Development discussions related to Fedora" <devel@lists.fedoraproject.org>
Cc: "Kamil Dudka" <kdu...@redhat.com>
Sent: Wednesday, May 2, 2018 4:49:18 PM
Subject: Re: Prioritizing ~/.local/bin over /usr/bin on the PATH

On Wed, May 02, 2018 at 10:35:28AM -0400, Siteshwar Vashisht wrote:

----- Original Message -----
From: "Tomas Orsava" <tors...@redhat.com>
To: "Development discussions related to Fedora"
<devel@lists.fedoraproject.org>, "David Kaspar" <dkas...@redhat.com>,
"Kamil Dudka" <kdu...@redhat.com>, "Miro Hrončok" <mhron...@redhat.com>,
"Petr Viktorin" <pvikt...@redhat.com>,
"Siteshwar Vashisht" <svash...@redhat.com>
Sent: Wednesday, May 2, 2018 3:23:10 PM
Subject: Prioritizing ~/.local/bin over /usr/bin on the PATH

Hi!
I'd like to propose putting the ~/.local/bin in front of the /usr/bin on
the PATH.

Currently /usr/bin has priority over ~/.local/bin, which causes a [bug]
where the old system-installed executable written in Python (from
/usr/bin) is launched, but it finds new Python sources (installed into
$HOME) which it doesn't work with and crashes.

[bug] https://bugzilla.redhat.com/show_bug.cgi?id=1571650

I believe the current configuration breaks the intuitive expectation
that things installed closer to the user should take priority. That's
for example how it works with Python.
Interestingly, ubuntu and opensuse do not have ~/.local/bin on their
PATH (though Ubuntu has ~/bin) so we can't take guidance there.

Does anyone see a reason not to prioritize ~/.local/bin over /usr/bin?
Most of the discussion in this thread focuses on security rather than
sane behavior. It is going to be a system wide change. An application
may get affected if it depends on system provided utilites which gets
overridden by ~/.local/bin.
[snip]

So this change breaks something that is outside user's installation.
This should happen only if a user has explicitly overriden $PATH to
prioritize user installation paths.
Not prioritizing user paths by default will break other things though.
For example, python pip installations done with --user.
Things may break both ways, whether you choose to prioritize user
installation paths or not. I will prefer if they break when user
installation paths are not prioritized.

Daniel answered—below—better than I could have.
I'd just like to add that while things *may* break if we implement this—anything can break after all—the fact remains that things already *are* broken the way it is now.

And debian/ubuntu already prioritize ~/.local/bin, so we're not going into untested waters either.

The point was that we need a consistent approach - we can't just consider
$PATH in isolation, because it interacts with other search paths, either
in env vars or builtin to apps. Either all should honour user location
first, or all should honour system location first, a mix of both is the
worst of all possible worlds as it maximises chances of breakage.

Regards,
Daniel
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org

Reply via email to