Am Mit, 2003-03-12 um 02.50 schrieb David Haller:
Hallo,
On Tue, 11 Mar 2003, Peter Wiersig wrote:
David Haller wrote:
make DESTDIR="${RPM_BUILD_ROOT}" install
Ist das die einzige/bequemste Weise, ein "autoconf" Paket an RPM_BUILD_ROOT zu gewoehnen?
Nein. Die Frage ist, ob das Makefile DESTDIR (durchgaengig!) unterstuetzt. Das ist z.B. bei automake-generierten Makefiles der Fall -- es sei denn, der Entwickler hat das durch eigene make-targets wieder sabotiert (ist mir schon haeufiger untergekommen)...
DESTDIR ist eine ganz normale make-Variable...
Falls die Makefiles DESTDIR unterstuetzen, dann ist obiges die beste Variante, ja. Die einzige ist es nicht, manche (schlechtere) .specs verwenden z.B. prefix="${RPM_BUILD_ROOT}%{prefix}" obwohl das Makefile DESTDIR unterstuetzt... Irrtum, make prefix=${RPM_BUILD_ROOT}%{prefix} ist nicht eine schlechtere Variante, sondern eine flexiblere, ältere und weiter verbreitete Variante, die in komplexen Installationen notwendig wird, nur im Fall von RPM in der Regel nicht benötigt wird.
Hintergrund: * Fast alle Pakete unterstützten "make prefix=...", da auch fast alle nicht mit automake und mit älteren automakes erstellten Pakete $prefix ($bindir, $includedir etc) kennen (Oftmals ohne dass es die Autoren wissen). DESTDIR hingegen ist relativ neu und wurde erst im Zusammenhang mit dem Aufkommen von RPM populär, ist aber auf Nicht-Linux-Systemen oft nicht anwendbar. * In Netzwerk-Installationen ist "make prefix=..." oft notwendig, da dort das bei der Konfiguration übergebene Verzeichnis oft nicht mit dem Verzeichnis übereinstimmt, unter dem Nutzer Programme/Dateien/Libs verwenden. Ralf