On 2013-10-29 10:56, Ralf Corsepius wrote:
On 10/29/2013 08:07 AM, Matthias Runge wrote:
> On 10/28/2013 09:05 PM, Matthew Miller wrote:
>> On Mon, Oct 28, 2013 at 11:28:01AM -0400, Paul Wouters wrote:
>>>> * Tue Jun 07 2011 Roman Rakus <…> - 4.2.10-3
>>>> - Added $HOME/.local/bin to PATH in .bash_profile (#699812)
>>> An invisible directory in everyone's PATH. That's rather
unfortunate.
>> Okay, I'll bite. Why is this _particularly_ unfortunate? The
>> directory isn't
>> actually "invisible", just hidden. There are plenty of hidden files
>> in home
>> directories which are executed all of the time, like ~/.bashrc and
>> ~/.bash_profile, and whatever X startup scripts your environment uses.
>>
> Another reason, why this is unfortunate is:
>
> We're supporting multiple arches. User directories are for user data.
No, user directories are not restricted to data. A user may put
anything into them.
> Esp. it is intended to share user directories between computers. So,
> it's absolutely ok to share between multiple arches, such as i386,
> arm, etc.
It's not limited to architectures. Users may even share their homes
across different OSes (Consider nfs-mounted home in a heterogenous
network).
However, coping with the issues related to this is up to the user rsp.
the "conventions" of his local environment (network).
+1.
As such conventions are beyond the scope of a linux distro, it's a bad
idea to let packages add PATHs underneath of $HOME.
Ralf
Indeed. But isn't the primary usecase here other sw installed by user
and not packages? Since such sw already have a defined convention for
data (~/.local/share), it makes a lot of sense to use ~/.local/bin as
sort of "personal %_bindir" while installing - it makes ~/.local to a
sane prefix installation-wise.
That said, if visibility is crucial ~/bin and ~/.local/bin could be
symlinked as someone pointed out earlier in this thread. ~/.local/bin
could perhaps be seen just as an installation view of $HOME. The
arguments for hiding the executable files in user dialogues does not
really convince me.
BTW, don't we also lack a default, user-controlled directory for
manpages? Shouldn't ~/.local/share/man be part of user's default
MANPATH? Same usecase, basically same solution...
--alec