Duisburger Linux User Group - http://www.dulug.de
Workshop zur Erstellung von Slackware Paketen (*.tgz)
Autor: M. Franke

Slackware Pakete sind vorteilhaft wenn man selbst kompilierte Software
Pakete wieder deinstallieren möchte/muss. Zuerst sollte man sich von irgend-
woher ein Source Paket besorgen und z.B. nach /usr/src verschieben. Zudem
sollte man unter /usr/src/ zwei zusätzliche Verzeichnisse erstellen (als root):
$ mkdir /usr/src/builds
$ mkdir /usr/src/packages
Dann kann man das Sourcepaket entpacken:
$ tar xfz source.tar.gz
Oder:
$ tar xfj source.tar.bz2
Und ins Verzeichnis wechseln:
$ cd source/
Anschliessend müssen die Sourcen configuriert und kompiliert werden:
$ ./configure
$ make
Anmerkung: ich geh hier mal vom Standardfall aus!
Zudem werden die übersetzten Quellen nach /usr/local/ installiert, will man die unter
/usr/ oder /opt/ installieren, muss man dem configure-Skript folgende Parameter
mitgeben:
$ ./configure --prefix=/usr/
Bzw.:
$ ./configure --prefix=/opt/
Ein $ make install würde die übersetzten Quellen nun installieren, da wir aber
vorher ein Slackware Paket schnüren möchten, müssen die übersetzten Quellen woanders
'installiert' werden:
$ make install DESTDIR=/usr/src/builds/
DESTDIR gibt einfach an das alle Dateien nach /usr/src/builds/ kopiert werden. Wenn
man sich ein wenig in /usr/src/builds/ umschaut, werden ggf. folgende Unterverzeichnisse
sichtbar:
/usr/src/builds/usr/local/bin/
/usr/src/builds/usr/local/lib/
/usr/src/builds/usr/local/include/
...
Nun kann man schon das Slackware Paket zusammenstellen:
$ cd /usr/src/builds/
$ makepkg /usr/src/packages/paket.tgz
Und installieren:
$ installpkg /usr/src/packages/paket.tgz
Das war's eigentlich schon, zum Schluss noch ein wenig feintuning.
Denn bei der Installation von Slackware Paketen erscheint in der Regel immer noch
ein kleiner Infotext. Dazu muss man das Infofile erstellen und mit dem Paket
zusammenpacken. Auch der Name des Pakets muss dann ein wenig anders aussehen.
Zuerst aber sollte man wieder in folgendes Verzeichnis wechseln:
$ cd /usr/src/builds/
Und ein zusätzliches Verzsichnis erstellen (falls nicht schon vom letzten makepkg
vorhanden):
$ mkdir install
$ cd install
Nun wird das Infofile erstellt. Das Infofile muss immer slack-desc heissen:
$ vi slack-desc
Wobei der Aufbau der slack-desc immer gleich ist. Die Datei darf nicht mehr als
11 Zeilen haben. Am Anfang jeder Zeile steht der Paketname ohne Version etc
gefolgt von einem Doppelpunkt und einem Leerzeichen:
paket:
Dahinter kann man die Beschreibung des Paket eingeben, man darf aber nicht mehr als
80 Zeichen eingeben:
paket: Zeile 1
paket: Zeile 2
paket: Zeile 3
paket: Zeile 4
paket: Zeile 5
paket: Zeile 6
paket: Zeile 7
paket: Zeile 8
paket: Zeile 9
paket: Zeile 10
paket: Zeile 11
Jetzt muss das Paket neu gebaut werden:
$ cd /usr/src/builds/
$ makepk /usr/src/packages/paket-1.2.3-x86-10.2.tgz
Wobei beim Dateinamen auf folgenden Aufbau geachtet werden sollte:
1. Dateiname muss gleich dem Namen sein der in der slack-desc angegeben wurde: paket
2. Version der Software: 1.2.3
3. Die Hardwarearchitektur: x86
4. Das Release: 10.2
Und alle 4 Angaben müssen durch ein Minuszeichen getrennt sein.
Wenn man nun das Paket installiert, sollte auch die PACKAGE DESCRIPTION erscheinen:
$ installpkg /usr/src/packages/paket-1.2.3-x86-10.2.tgz
Installing package paket-1.2.3-x86-10.2.tgz
PACKAGE DESCRIPTION:
paket: Zeile 1
paket: Zeile 2
paket: Zeile 3
paket: Zeile 4
paket: Zeile 5
paket: Zeile 6
paket: Zeile 7
paket: Zeile 8
paket: Zeile 9
paket: Zeile 10
paket: Zeile 11

Das war's schon, viel Spass beim zusammenstellen neuer Slackware Pakete!