On Sat, 29 Aug 2009 17:12:34 +0200
Fons Adriaensen <fons(a)kokkinizita.net> wrote:
On Sat, Aug 29, 2009 at 08:48:27AM -0400, Paul Davis
wrote:
Fons - you don't! DESTDIR is empty by
default. Hence "make install"
installs directly for a regular user who has not bothered to set it.
PREFIX is the way that a non-packaging user targets the install to
somewhere other than the default, no matter what "the web page about
DESTDIR says". DESTDIR is strictly for packagers/developers, and
merely has to be supported by the makefile, not used by a "regular
user".
The reason for having two distinct variables is that some software
needs to know PREFIX at compile time (e.g. where to find conf files,
or private shared libraries, etc). If the packager is aiming to
install the software in /foo/bar eventually, then she needs to set
PREFIX appropriately. But they may want to use /baz/bomb as a
"staging ground" for packaging, hence DESTDIR. Again, this does not
affect "regular users", who simple set PREFIX (if anything at all).
Yes, that is and already was very clear, but:
[Renato]
... but the fact is that in Arch
for building from source in a pacman-aware (pacman is Arch's package
manager) manner, you need the DESTDIR option... infact you first
install all the files with the exact same direcotry tree as would
do 'make install' but, instead of in root, in a working directory...
i.e. you do 'make DESTDIR=/pathtotmpdir install' ...
Which to me seems to mean that in Arch even users who install
from source are supposed (I never wrote 'forced') to do this.
I just didn't want to delve too deep into Arch's way of building from
source, so I was hasty and not precise.
As allready said, you really don't run these commands directly, but
rather from a script which you write your own but most commonly you
find on the AUR, allready written by someone else. The script runs the
command I posted above and then, if you
wish, you use pacman to actually install these files on the system.
Renato