Vor der Beschreibung der Erzeugung von Slitaz-Paketen ein kurzer Überblick darüber, wie ein Paket installiert wird:
Wenn (in tazpanel) ein zu installierendes Paket ausgewählt und die Installation gestartet wird, wird das Paket aus dem Depot in das Verzeichnis /var/lib/tazpkg/5.0/packages transferiert und nach ~/fs entpackt.
Dann werden alle Dateien aus dem Verzeichnis fs an die richtige Stelle im Dateisystem kopiert; dabei werden alte Dateien mit demselben Namen überschrieben! Der Installationsort ergibt sich aus dem Pfadnamen unterhalb von fs. Wenn also zum Beispiel eine Datei namens foo.bar nach /usr/share im Dateisystem kopiert werden soll, so muss sie sich im Paket im Ordner fs/usr/share befinden.
Danach werden die “post_install”-Regeln (wenn vorhanden) ausgeführt.
Jetzt zur Erzeugung eines SliTaz-Paketes:
- alle benötigten Dateien und Verzeichnisse müssen in ein Verzeichnis fs kopiert werden; dies sollten nur ausführbare Programme, Bibliotheken, Kommandoprozeduren, Konfigurationsdateien oder ähnliches sein. Quellprogrammdateien, Lizenzdateien, Readmes oder ähnliches sollten dort nicht enthalten sein. Diese Dateien werden dann in ein cpio-Archiv gepackt und mit lzma komprimiert:
cpio -o -H newc --quiet xz --format=lzma fs.cpio.lzma fs.cpio
oder alternativ mit einem grafischen Komprimierungsprogramm (wie xarchiver, …)
- die Dateigrößenangaben des Archivs fs.cpio.lzma werden in das Rezept eingetragen (Diese findet man in PCManFm durch Rechtsklick→Eigenschaften auf die Datei). Das Rezept sollte auch die folgenden Zeilen enthalten (wobei text durch geeignete Kommandos zu ersetzen ist; weitere Regeln findet man bei http://doc.slitaz.org/de:cookbook:receipt):
compile_rules() { //text// } genpkg_rules() { //text// } post_install() { //text// } post_remove() { //text// }
- Die Datei files.list kann erzeugt werden, indem das Verzeichnis fs als Arbeitsverzeichnis eingestellt wird und dann die folgenden Kommandos eingegeben werden:
find . -type f -print > ../files.list find . -type l -print >> ../files.list cd .. sed -i s/'^.'/''/files.list
- Eine md5-Datei kann mit dem Kommando “md5sum filename” erzeugt werden, oder mit einem anderen Programm (unter Windows kann dies winmd5, FCIV, certutil, hashtab, hashcheck, … sein)
- Die Datei fs.cpio.lzma wird zusammen mit dem Rezept, files.list, md5sum und description.txt in ein cpio-Archiv gepackt, das filename.tazpkg benannt wird. Dazu kann das folgende Kommando verwendet werden:
cpio -oH < fs.cpio.lzma receipt files.list md5sum description.txt > //filename//.tazpkg
oder ein grafisches Komprimierungsprogramm (wie xarchiver, …).
Alternativ kann ein Paket auch mit dem Kommando
tazpkg pack
erzeugt werden. Was dabei geschieht, ist in /usr/libexec/tazpkg/pack ersichtlich. Im Allgemeinen wird die md5-Prüfsumme und die Dateiliste erstellt und die im Rezept angegebenen Dateigrößen werden aktualisiert. Wenn die Beschreibung und das Rezept bereits erstellt wurden, wird auch das fertige SliTaz-Paket im Arbeitsverzeichnis erstellt (dazu muss das Verzeichnis fs wie oben beschrieben mit den benötigten Dateien vorhanden sein).
(siehe http://doc.slitaz.org/de:cookbook:wok).
Wenn ein Paket erstellt wurde, kann es in einer persönlichen “website” zur Verfügung gestellt werden
oder es kann mit mercurial in die SliTaz-Paketdatenbank eingebracht werden.
Dazu mehr bei http://doc.slitaz.org/de:cookbook:wok.
Weitere Informationen unter:
http://hg.slitaz.org/tazpkg/raw-file/tip/doc/tazpkg.de.html
http://hg.slitaz.org/cookutils/raw-file/tip/doc/cookutils.de.html
Qualitätsbericht | |
---|---|
Qualität | |
Überprüfung | muss überprüft werden |
Priorität | mittel |
Probleme | Fehler im englischen Original |
Verbesserungsvorschläge | Die Paketerzeugung mit tazpkg und cook in den Vordergrund stellen |