Cabal's system_default_prefix

Isaac Jones ijones at syntaxpolice.org
Mon Jan 31 16:41:00 EST 2005


Sven Panne <Sven.Panne at aedion.de> writes:

> I've just seen
>
>     system_default_prefix :: PackageDescription -> String
>     #ifdef mingw32_TARGET_OS
>     system_default_prefix PackageDescription{package=pkg} =
>       "C:\\Program Files\\" ++ pkgName pkg
>     #else
>     system_default_prefix _ =
>       "/usr/local"
>     #endif
>
> in Cabal's sources. What is the exact purpose 

It's the default value if no "--prefix" flag is given to configure.

> and why is it "/usr/local" on *nix and not "/usr"?

I always thought that the semantics of it was that /usr/local is for
"stuff that I add" and /usr is for system stuff.

So in Debian, unless I make it otherwise, /usr/local is empty.
Everything in /usr/local is something I've built from scratch.
Nothing in /usr is stuff I built from scratch.  This is a very nice
feature.

> The latter seems to be more natural to me for adequately packaged
> SW.

So if installed from source, it should go in /usr/local on debian, but
when installed via the packaging system, we must pass the --prefix
flag.

I don't know what the semantics are on other systems.  I kinda thought
that most Unixes don't have a well defined meaning?

peace,

  isaac


More information about the Cvs-libraries mailing list