Als Erstes sollten Sie sich vergewissern, dass der Port
bis auf pkg-plist
vollständig
ist.
Als Nächstes erstellen Sie einen temporären Verzeichnisbaum, in welchem Ihr Port installiert werden kann, und installieren Sie alle Abhängigkeiten.
#
mkdir /var/tmp/`make -V PORTNAME`
#
mtree -U -f `make -V MTREE_FILE` -d -e -p /var/tmp/`make -V PORTNAME`
#
make depends PREFIX=/var/tmp/`make -V PORTNAME`
Speichern Sie die Verzeichnisstruktur in einer neuen Datei.
#
(cd /var/tmp/`make -V PORTNAME` && find -d * -type d) | sort > OLD-DIRS
Erstellen Sie eine leere
pkg-plist
-Datei:
#
:>pkg-plist
Wenn Ihr Port auf PREFIX
achtet (was
er machen sollte), so kann der Port nun installiert und die
Paketliste erstellt werden.
#
make install PREFIX=/var/tmp/`make -V PORTNAME`
#
(cd /var/tmp/`make -V PORTNAME` && find -d * \! -type d) | sort > pkg-plist
Sie müssen auch alle neu erstellten Verzeichnisse in die Paketliste aufnehmen.
#
(cd /var/tmp/`make -V PORTNAME` && find -d * -type d) | sort | comm -13 OLD-DIRS - | sort -r | sed -e 's#^#@dirrm #' >> pkg-plist
Zu guter Letzt muss die Paketliste noch manuell
aufgeräumt werden - es funktioniert eben nicht
alles automatisch. Manualpages sollten im
Makefile
des Ports unter
MAN
aufgeführt sein und nicht in der Paketliste.
Konfigurationsdateien des Benutzers sollten entfernt oder als
n
installiert werden. Die filename
.sampleinfo/dir
-Datei
sollte nicht aufgeführt sein und die zugehörigen
install-info
-Zeilen sollten
hinzugefügt werden, wie im info files-Abschnitt
beschrieben. Alle Bibliotheken, die der Port installiert,
sollten aufgelistet werden, wie es im Shared Libraries-Abschnitt
festgelegt ist.
Alternativ dazu können Sie das
plist
-Skript in
/usr/ports/Tools/scripts/
verwenden, um
die Paketliste automatisch zu erstellen. Das
plist
-Skript ist ein
Ruby-Skript, das die meisten der in
den vorangehenden Absätzen kurz dargestellten manuellen
Schritte automatisiert.
Der erste Schritt ist
derselbe wie oben: Nehmen Sie die ersten drei Zeilen, also
mkdir
, mtree
und
make depends
. Installieren und bauen Sie
dann den Port:
#
make install PREFIX=/var/tmp/`make -V PORTNAME`
Und lassen Sie plist
die
pkg-plist
-Datei erstellen:
#
/usr/ports/Tools/scripts/plist -Md -m `make -V MTREE_FILE` /var/tmp/`make -V PORTNAME` > pkg-plist
Die Paketliste muss immer noch von Hand aufgeräumt werden, wie es oben erklärt wurde.
Ein weiteres Werkzeug zur Erzeugung einer ersten
pkg-plist
-Datei ist ports-mgmt/genplist
. Wie bei jedem
automatisierten Hilfswerkzeug, sollte die erzeugte
pkg-plist
-Datei überprüft und
bei Bedarf von Hand nachbearbeitet werden.
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>.