7.5. Automatisiertes Erstellen von Paketlisten
Zurück | Kapitel 7. Fortgeschrittene `pkg-plist`-Methoden | Weiter

## 7.5. Automatisiertes Erstellen von Paketlisten

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`n`` aufgeführt sein und nicht in der Paketliste. Konfigurationsdateien des Benutzers sollten entfernt oder als ``filename`.sample` installiert werden. Die `info/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.

Zurück | Nach oben | Weiter
7.4. Dynamische oder statische Paketliste | Zum Anfang | Kapitel 8. Die `pkg-`*`` Dateien

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>.