automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DESTDIR vs `make install exec_prefix=' (was: Core-utils 7.2; building on


From: Ralf Wildenhues
Subject: DESTDIR vs `make install exec_prefix=' (was: Core-utils 7.2; building only 'su')
Date: Sat, 18 Apr 2009 19:43:31 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

[ dropping bug-coreutils ]

Hello Alfred,

* Alfred M. Szmidt wrote on Wed, Apr 15, 2009 at 07:17:42PM CEST:
>    > So for maximum portability you should support this in your
>    > package, too.  BTW, why do you state that overriding just $prefix
>    > would be "almost always wrong"?
> 
>    In the w32 arena, overriding $prefix at `make install' time is
>    unilaterally *correct*.  Why can your staging area not mirror the
>    structure of the eventual installation, with all alternative paths
>    specified relative to $prefix, (as enshrined in GCS defaults)?  Do
>    it sensibly, and you shouldn't need the DESTDIR kludge, so...
> 
> Using prefix is the real cludge, it has nothing to do with mirroring
> the staging area.

No, it's not, and the GNU Coding Standards contradict you on this point,
too.

> Consider `./configure --prefix=/shared
> --exec-prefix=' (yes, empty exec_prefix), if you now do `make install
> prefix=FOO', things will not install properly, this is exacly why we
> have DESTDIR.  Schemes like these are often used on systems that
> export their data using NFS.

Can you explain this in a bit more detail?  What do you expect to happen
in the case of an empty exec_prefix, with and without using DESTDIR?
That files to be installed below $exec_prefix are not installed at
all?[1]

As I see it, the only drawback for the user, when not using DESTDIR is
that you need to override all those installation directories at `make
install' time which were already overridden at configure time.  (The
drawback for the developer of the package and of autotools is that it
cannot be assumed any more that the installation directory is merely
prefixed with a staging path, rather than rewritten in a more general
way.)

Thanks,
Ralf

[1] I'm asking because Automake 1.11 will reliably not install files if
their respective installation directory is empty.  This is not yet
functional in Automake 1.10.2.  The test for emptiness in 1.11 will not
consider $(DESTDIR) of course, only $(bindir) etc.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]