MAKEPKG(8)

NAME
makepkg - Erstellen von Slackware-Paketen.

ZUSAMMENFASSUNG
makepkg [ -l, --linkadd y|n ] [ -c, --chown y|n ] paketname

BESCHREIBUNG
makepkg erstellt zu Slackware kompatible Pakete. Das Paket enthält den Inhalt im aktuell befindlichen Verzeichnis, inklusive Unterverzeichnisse. Symbolische Verknüpfungen werden in ausführbaren Quellcode konvertiert und an anschließender Installation neu erstellt. Das primäre Installations-Skript ( install/doinst.sh ) wird dabei um den Quellcode erweitert oder wenn nicht existent, neu erstellt. Dabei ist der vollständige Name (mit packagename spezifiziert) - inklusive Dateierweiterung - anzugeben. Standardmäßig .tgz, sind auch Dateierweiterung wie .tbz, .tlz und .txz möglich, unter der Voraussetzung, dass Hilfsmittel wie gzip, bzip2, lzma oder xz installiert sind.

OPTIONEN

-l, --linkadd y|n
    Wenn "y", füge symbolische Verknüpfungen dem Installations-Skript (doinst.sh) hinzu. Dies wird empfohlen. Andernfalls wird Makepkg Sie zu jedem symbolischen Link befragen.

-p, --prepend
    Mit dieser Option werden symbolische Verknüpfungen der doinst.sh vorangestellt. Dies ist nützlich für Pakete, die "Shared Libraries" beinhalten, welche nachfolgend im doinst.sh Skript benötigt werden.

-c, --chown y|n
    Wenn "y", wird Makepkg die Verzeichnisberechtigungen auf 755 und den Eigentümer auf root:root zurücksetzen. Dies wird nicht empfohlen. Ermitteln Sie möglichst eigenständig die Berechtigung und Eigentümer, da diese Option möglicherweise kein optimales Ergebnis erzeugt. Ohne Angabe wird Makepkg dies erfragen.

INSTALLATIONS-SKRIPTE
3 Arten von Installations-Skripten werden von der Slackware Paketverwaltung unterstützt.

Die erste Variante ist
    das primäre Installationsskript. Dieses befindet sich im Unterverzeichnis ./install und muss den Namen doinst.sh haben, um anerkannt zu werden. Dieses (und andere Installationsskripte) sollten in der grundlegenden Syntax der Bourne-Shell geschrieben sein, die von der Shell ash unterstützt wird, da dieses die Shell ist, die von der Slackware-Installationsdiskette während der Installation ausgeführt und genutzt wird. Dies führt leicht zu Fehlern - Achtung bei der Nutzung von bash-Syntax-Erweiterungen, weil das Skript problemlos von der Festplatte ausgeführt wird aber fehlschlagen wird, wenn es von einer Diskette installiert wird. Das ist kein Problem wenn das Paket zu persönlichen Zwecken genutzt wird. Seien Sie vorsichtig wenn Sie planen, Ihr Paket mit anderen Nutzern zu teilen. Das primäre Installationsscript wird sofort ausgeführt, nachdem das Paket mit installpkg, pkgtool oder setup installiert wurde.

Die zweite Variante des Skripts ist
    das Konfigurations-Skript. Dieses befindet sich im Unterverzeichnis ./var/log/setup und muss einen Namen haben, der mit setup. beginnt, um anerkannt zu werden. Ein Beispiel ist das timezone Skript: /var/log/setup/setup.timeconfig. Diese Skripte werden während der Phase CONFIGURE von setup ausgeführt und werden von da an jedes Mal erneut ausgeführt, wenn der Benutzer setup mit dem Parameter CONFIGURE startet. Typischerweise wird der Benutzer diese Phase der Einrichtung während der Installation aller Pakete durchlaufen. Um das Anhalten der Paketinstallation durch interaktive Abfragen während des Installationsprozesses von setup zu vermeiden, sollten diese Skipte genutzt werden.

Die dritte Variante des Skripts ist
    das onlyonce-Skript. Wie der Name vermuten lässt, wird dieses, im Gegensatz zum Standard-Konfigurations-Skript, nur einmal nach einer Paketinstallation ausgeführt. Diese Skripte befinden sich auch im Verzeichnis ./var/log/setup und müssen einen Namen haben, der mit setup beginnt. Zusätzlich muss der Name noch die Zeichenkette onlyonce beinhalten. Ein Beispiel könnte ein Skript mit dem Namen /var/log/setup/setup.onlyonce.testscript sein.

PAKETFORMAT
makepkg verwendet GNU tar plus GNU gzip zum Erstellen von Paketen. Ein einfacher Weg um den Inhalt eines Pakets zu extrahieren (natürlich ohne Ausführung der Installations-Skripte) ist, ein Kommando wie dieses zu nutzen:

explodepkg paket.tgz

Oder Ähnliches:

gzip -dc paket.tgz | tar xvvf -

AUTOR
Patrick J. Volkerding <volkerdi@slackware.com>

SIEHE AUCH
installpkg(8), explodepkg(8), removepkg(8), pkgtool(8), upgradepkg(8)