You are not logged in.

#1 2013-06-26 21:01:02

djraymondnm
Member
From: Socorro, NM, USA
Registered: 2011-12-28
Posts: 55
Website

User's PATH after filesystem upgrade of 2013-06-03.

Changing the directories /bin etc. to symbolic links to /usr/bin is transparent for most programs.  However, certain programs such as shotwell (see bug FS#35899 filed on this package) are sensitive to how they are invoked, as influenced by the PATH variable.  If /bin comes first in the PATH, then after the filesystem upgrade, shotwell is invoked as "/bin/shotwell" instead of "/usr/bin/shotwell".  As a result, shotwell looks in "/bin/../*" for stuff it needs, rather than in "/usr/bin/../*".  As a result, the unqualified invocation "shotwell" fails.  This appears to be due to shotwell's dependency on vala, so other vala-based programs may be affected.

A solution is to remove /bin, /sbin, and /usr/sbin from one's legacy PATH in .profile/.bashrc, etc.

Perhaps users should be warned about this in the upgrade instructions on the homepage.

Thanks to  Sid Karunaratne (sakaru) for isolating this problem.

Last edited by djraymondnm (2013-06-26 21:02:48)

Offline

#2 2013-06-26 21:14:34

karol
Archivist
Registered: 2009-05-06
Posts: 25,428

Re: User's PATH after filesystem upgrade of 2013-06-03.

If you're setting (overriding) PATH, you need to take care of this, otherwise, Arch does that for you:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/core_perl

Offline

#3 2013-06-26 21:51:15

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,412

Re: User's PATH after filesystem upgrade of 2013-06-03.

Take a look in /etc/profile.  The filesystem sets a sane PATH for you, which should not need to be totally overridden in your personal ~/.profile.  If you want to make modifications to it, it would probably be best to use either PATH="${PATH}:/moar/path/here" or PATH+=":/moar/path/here".

Offline

#4 2013-06-27 15:24:08

djraymondnm
Member
From: Socorro, NM, USA
Registered: 2011-12-28
Posts: 55
Website

Re: User's PATH after filesystem upgrade of 2013-06-03.

Thanks to karol and WonderWoofy for the comments -- I agree completely.

What happened in my case is that I moved from Debian to Arch, bringing along a legacy path.
I still think that it is worth warning people about the consequences of a non-standard PATH,
since the problems it can cause are very subtle and hard to diagnose -- witness the shotwell
case.

Offline

#5 2013-06-27 15:40:00

SidK
Member
Registered: 2011-03-03
Posts: 116

Re: User's PATH after filesystem upgrade of 2013-06-03.

Taking a pragmatic approach to this: as far as I know this is the only post about a bug like this. Now I know that doesn't mean it hasn't happened to other people, but unless it's a common problem I don't think we need to post a news bulletin or push post-upgrade messages into potentially breaking packages.

To be honest I'd consider this a bug in shotwell that should be fixed upstream, seems very odd that you can make the app but not run it until it's make install'd and executed from the installed location.

Thinking on more arch terms (as I understand them); This bug only occurs if you modified /etc/profile. Archlinux cannot start notifying users of breakages that may occur from all kinds of various configurations. I'm not saying that we should never notify users of potential breakages, but there should be limits and in my opinion this falls outside those limits.

Offline

#6 2013-06-27 15:41:37

HalosGhost
Member
From: Twin Cities, MN
Registered: 2012-06-22
Posts: 1,486
Website

Re: User's PATH after filesystem upgrade of 2013-06-03.

If you're really concerned about it, you could add a note to the relevant wiki page; that shouldn't cause much harm.

All the best,

-HG


"All errors are ᴘᴇʙᴋᴀᴄ errors—It's just a matter of narrowing down which keyboard and chair." -Trilby
\ldots

Offline

#7 2013-06-27 16:17:58

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,412

Re: User's PATH after filesystem upgrade of 2013-06-03.

This is not quite the same, but when you use systemd --user to start X (bypassing your xinitrc), you are left with a PATH that is hardcoded by systemd.  Becuase Fedora apparently half-assed their /usr merge, you are left with PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin.

I am not sure if this is relevent to anyone here, but the situation seemed similar in fashion, so I thought I'l just mention it.  Here is the thraed I started to ask about it, and there is a link to the flyspray that was quickly closed as an upstream problem (rightly so).

https://bbs.archlinux.org/viewtopic.php?id=164333

Offline

#8 2013-06-27 16:24:46

karol
Archivist
Registered: 2009-05-06
Posts: 25,428

Re: User's PATH after filesystem upgrade of 2013-06-03.

You live and learn.
I'm too lazy and stupid, but those who are able can help with future news drafts double- and triple-checking stuff, thinking out of the box etc.

Offline

Board footer

Powered by FluxBB