PREFIX bestimmt, an welche Stelle der
Port installiert werden soll. In der Regel ist
dies/usr/local oder
/opt, was jedoch anpassbar ist. Ihr Port
muss sich an diese Variable halten.
DESTDIR, wenn es vom Benutzer gesetzt
wird, bestimmt die alternative Umgebung (in der Regel eine
Jail oder ein installiertes System, welches an anderer Stelle
als / eingehängt ist).
Ein Port wird unter
DESTDIR/PREFIX
installiert und registriert sich in der Paket-Datenbank unter
DESTDIR/var/db/pkg.
Da DESTDIR mittels eines
chroot(8)-Aufrufs vom Ports-System automatisch gesetzt
wird, brauchen Sie keine Änderungen oder besondere Pflege
für DESTDIR-konforme Ports.
Der Wert von PREFIX wird auf
LOCALBASE gesetzt (Standard ist
/usr/local).
Falls USE_LINUX_PREFIX gesetzt ist, wird
PREFIX LINUXBASE
annehmen (Standard ist
/compat/linux).
Die Vermeidung der hart kodierten Angaben von
/usr/local oder
/usr/X11R6 im Quelltext wird den Port
viel flexibler machen und erleichtert es die Anforderungen
anderer Einsatzorte zu erfüllen. Für X-Ports, die
imake benutzen, geschieht dies automatisch;
andernfalls kann dies erreicht werden, indem alle Angaben von
/usr/local (oder
/usr/X11R6 für X-Ports, die nicht
imake benutzen) in den verschiedenen
Makefiles im Port ersetzt werden, um
${PREFIX} zu lesen, da diese Variable
automatisch an jede Stufe des Build- und Install-Prozesses
übergeben wird.
Vergewissern Sie sich bitte, dass Ihre Anwendung nichts
unter /usr/local an Stelle von
PREFIX installiert. Um dies festzustellen,
können Sie folgendes machen:
#make clean; make package PREFIX=/var/tmp/`make -V PORTNAME`
Wenn etwas außerhalb von PREFIX
installiert wird, so gibt der Prozess der Paketerstellung eine
Meldung aus, dass es die Dateien nicht finden kann.
Dies prüft nicht das Vorhandensein eines internen
Verweises oder die richtige Verwendung von
LOCALBASE für Verweise auf Dateien
anderer Ports. Das Testen der Installation in
/var/tmp/`make -V PORTNAME` würde
dies erledigen.
Die Variable PREFIX kann in Ihrem
Makefile oder der Umgebung des Benutzers
neu gesetzt werden. Allerdings wird für einzelne Ports
dringend davon abgeraten diese Variable in den
Makefiles direkt zu setzen.
Verweisen Sie bitte außerdem auf Programme/Dateien
von anderen Ports durch die oben erwähnten Variablen und
nicht mit den eindeutigen Pfadnamen. Wenn Ihr Port zum
Beispiel vom Makro PAGER erwartet, dass es
den vollständigen Pfadnamen von less
enthält, benutzen Sie folgendes Compiler-Flag:
-DPAGER=\"${LOCALBASE}/bin/less\"
anstatt -DPAGER=\"/usr/local/bin/less\".
Somit ist die Wahrscheinlichkeit höher, dass es auch
funktioniert, wenn der Administrator den ganzen
/usr/local-Baum an eine andere Stelle
verschoben hat.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.