On 25 Aug 2012, at 20:49, Kassen wrote:
On Sat, Aug 25, 2012 at 08:25:54PM +0200, Hans Aberg wrote:
On Mac OS X, one can change the system PATH by putting stuff in some directory somewhere, but then it is read in its own order (alphabetical probably). This is how it gets the wrong order.
Hmmmm
Right. :-)
As far as I know, 'which' just uses PATH. I have a ~/bin/ directory; here is test:
Maybe it was changed for the better. I ran into this on a Leopard install and as you can imagine; this led to some subtle and hard to trace trouble.
I haven't seen it, but 10.6 Intel was the first certified UNIX. Funnily, 10.7 isn't, but 10.8 is under the name "Mac OS X 10.8 Mountain Lion", with "Mac" then.
It would not work if the user has a custom version. The standard way, that ism what I have seen on most packages, is that 'make install' puts binaries in /usr/local/bin/, docs in /usr/local/share/doc/chuck/, and examples in /usr/local/share/chuck/examples/.
Then one uses a prefix variable that can be changed from the default /usr/local/.
There is a "Filesystem Hierarchy Standard" which BSD/GNU Linux system largely adheres to.
It might be simpler to forget about a custom install for before 10.7 Mac OS X.
Maybe the core of the issue is that OSX users, for very understandable reasons, are not used to installing binaries to the terminal's path. Most of the time they will install GUI applications but for better or worse those are not normally in the terminal's path.
Following UNIX traditions and keeping people who already know their way around that sort of thing happy is probably easier than making things easy to use and understand for people new to that layer.
I think so too, because there have not been too many UNIX novices on this list.
Oh, well, it's a interesting set of questions. I'd be inclined to take the lazy route now and stick to how it is and has been. /usr/bin in a fine place for executables too. It's not a "core system" thing, but that's a bit moot on OSX as you can't really boot just a core system (with no GUI, etc) anyway.
Since it is reserved for the system, an updater or installer could in principle overwrite it, though it is more important to not change anything installed by the system. But on Mac's, development tools are not installed by default.
I liked the "homebrew" idea too as that takes a lot of the fuzz off the user. Less fuzz it better terminals and CMD.exe already turn out to be big enough a challenge.
It expect one to change the permissions of /usr/local/, even though it might be possible to work around it. But it means changing the normal system installation, so I decided to pass. I have set a sticky bit on /usr/local/src/, so I can put sources of packages there and compile as a normal user. Then 'sudo' is only needed for 'make install'. In MacPorts is sometimes useful. For some reason, I haven't had much use of Fink. Hans