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).
Auch ein "Wok" kann hierzu von Nutzen 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 |
\\
----