From: "Daniel P. Berrangé" <berrange(a)redhat.com>
To: "Development discussions related to Fedora"
<devel(a)lists.fedoraproject.org>
Cc: "Kamil Dudka" <kdudka(a)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" <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.
[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.
eg. if jenkins-job-builder is installed by RPM and the user decides to
add a local override, the "pip install --user jenkins-job-builder" will
place the new python libs + binary in $HOME/.local/{bin,lib} and will
just work because those dirs are both searched first.
If, however, python searches $HOME/.local/lib/... first, but $PATH has
/usr/bin first, you are going to end up with the /usr/bin/jenkins-jobs
command from RPM using the python modules from the pip install we just
did. This mis-match will end badly for the user.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange
|:|
|:
https://libvirt.org -o-
https://fstop138.berrange.com
|:|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange
|:|
_______________________________________________
devel mailing list -- devel(a)lists.fedoraproject.org
To unsubscribe send an email to devel-leave(a)lists.fedoraproject.org