[Haskell-cafe] install-dirs on Mac OS X
wren ng thornton
wren at freegeek.org
Wed Dec 23 01:49:57 EST 2009
Mark Lentczner wrote:
> On Dec 22, 2009, at 12:35 PM, Duncan Coutts wrote:
>> One thing I think I've seen said before however is that things in /Library and ~/Library are supposed to be app bundles or frameworks or some other special OSX packaging thing, rather than traditional Unix-style installations.
> Nope - not true. There are all sorts of things under the Library directories. Again, note the list of other languages that store things under /Library. In those cases, those systems are storing installed packages in just the normal way they would on Linux or other unix systems.
Those languages ---Perl, Python, Java--- are all used internally by the
OSX system itself in order to run startup scripts, maintain the system,
etc. That is, they are provided *by* the system, *for* the system. Users
are free to use them, but they should not alter them in any way.
If you want a newer version of Perl installed, everyone in the Perl
community agrees that it should go into /usr/local or similar.
Overriding the system Perl installation is known to cause issues with
some of the system scripts, often resulting in very obscure kinds of
Apple provides a Java6 bundle for OSX 10.5 on Intel CPUs (though Java6
is not available by any other reliable means for any other combination
of versions and architectures). While it is possible to instruct OSX to
switch to using the Java6 bundle for its internal work, this is again
known to cause problems and is highly discouraged.
I'm not as familiar with the use of Python internally, but I'm sure it's
more of the same.
/Library is only for the system to use and for bundle/framework
installs. Thus, if we are to install things there, then the installation
should use the bundle/framework installer.
~/Library is a bit more liberal since that's where all user apps dump
their preferences. But again, ~/Library is intended more for system
stuff and GUI stuff; it's not intended for commandline *nix
applications. There are some tools which cross over between command line
and GUI and they will occasionally put things in ~/Library (e.g., a
couple LaTeX distros) but there are murmurs about that not always
working out so well.
More information about the Haskell-Cafe