Einige Ports, insbesondere die
p5-
-Ports, müssen, abhängig von
ihren Konfigurationsoptionen (oder im Falle der p5-Ports von
der perl
-Version), die
pkg-plist
verändern. Um dies zu
vereinfachen, werden für jeden Eintrag in
pkg-plist
die Variablen
%%OSREL%%
, %%PERL_VER%%
und %%PERL_VERSION%%
durch die jeweiligen
Werte ersetzt. Der Wert von %%OSREL%%
ist
die Revisionsnummer des Betriebssystems (z.B.
4.9
). %%PERL_VERSION%%
und %%PERL_VER%%
geben die
vollständige Versionsnummer von perl
(z.B. 5.8.9
) an. Weitere, die
Dokumentationsdateien des Ports betreffende
%%VARS%%
, werden
im entsprechenden
Abschnitt erläutert.
Falls Sie weitere Ersetzungen von Variablen
durchführen müssen, können Sie in der Variable
PLIST_SUB
eine Liste von
VAR=VALUE
-Paaren
angeben, wobei in der pkg-plist
%%VAR%%
durch
VALUE
ersetzt wird.
Wenn Sie z.B. einen Port haben, der viele Dateien in ein versionsspezifisches Unterverzeichnis installiert, dann können Sie etwas wie
OCTAVE_VERSION= 2.0.13 PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}
in das Makefile
schreiben und
%%OCTAVE_VERSION%%
verwenden,
unabhängig davon, wo die Variable in
pkg-plist
verwendet wird. In diesem Fall
müssen Sie bei einem Upgrade des Ports nicht dutzende
(oder manchmal sogar hunderte) Zeilen in
pkg-plist
anpassen.
Falls Ihr Port in Abhängigkeit von den
ausgewählten Optionen Dateien installiert, ist es
üblich, den entsprechenden Zeilen in der
pkg-plist
eine Zeichenfolge
%%TAG%%
voranzustellen, wobei der
Platzhalter TAG
der Variablen
PLIST_SUB
im Makefile
bei gleichzeitiger Zuweisung des speziellen Werts
@comment
hinzugefügt wird, der die
Paket-Werkzeuge die Zeile ignorieren lässt:
.if defined(WITH_X11) PLIST_SUB+= X11="" .else PLIST_SUB+= X11="@comment " .endif
und in der pkg-plist
:
%%X11%%bin/foo-gui
Diese Ersetzung (ebenso wie das Hinzufügen weiterer
Manualpages) wird
zwischen den pre-install
- und
do-install
-Targets ausgeführt,
indem aus PLIST
gelesen und in
TMPPLIST
geschrieben
wird (Standard:
WRKDIR/.PLIST.mktmp
).
Falls Ihr Port also
PLIST
während dem
Erstellen generiert, so sollte dies vor oder in
pre-install
geschehen. Muss Ihr Port
die resultierende Datei verändern, so sollte dies in
post-install
mit der Ausgabedatei
TMPPLIST
erfolgen.
Eine weitere Möglichkeit, die Paketliste eines
Ports zu verändern, besteht darin die Variablen
PLIST_FILES
und
PLIST_DIRS
zu setzen. Der Wert jeder der
beiden Variablen stellt eine Liste von Pfadnamen dar, die
zusammen mit dem Inhalt von
PLIST
in
TMPPLIST
geschrieben
wird. Dabei unterliegen die Namen in
PLIST_FILES
und
PLIST_DIRS
der weiter oben beschriebenen
Substitution von
%%VAR%%
. Die
Namen aus PLIST_FILES
werden ansonsten
unverändert in die endgültige Paketliste
übernommen, während den Namen aus
PLIST_DIRS
noch der Wert von
@dirrm
vorangestellt wird. Damit die
Verwendung von PLIST_FILES
und
PLIST_DIRS
überhaupt möglich
ist, müssen diese gesetzt werden, bevor
TMPPLIST
geschrieben
wird – z.B. in
pre-install
oder vorher.
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>.