----- Original Message -----
From: "Tomas Orsava" <torsava(a)redhat.com>
To: "Development discussions related to Fedora"
<devel(a)lists.fedoraproject.org>, "David Kaspar"
<dkaspar(a)redhat.com>,
"Kamil Dudka" <kdudka(a)redhat.com>, "Miro HronĨok"
<mhroncok(a)redhat.com>, "Petr Viktorin" <pviktori(a)redhat.com>,
"Siteshwar Vashisht" <svashish(a)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.
For e.g.
cat /bin/foo
#!/bin/bash
ls -l
cat ~/.local/bin/ls
#!/bin/bash
echo "Strange world!"
/bin/foo
Strange world!
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.
Regards,
Tomas
--
--
Siteshwar Vashisht