*** SVARDOS-PAKETFORMAT ***
Paketdateien bieten eine einfache Möglichkeit, Software unter SvarDOS zu
verwalten. Diese Pakete müssen sich an eine strenge Konvention halten, damit
sie vom SvarDOS-Paketmanager richtig behandelt werden können.
Dateinamen von Paketen
Die Namen der Pakete müssen einigen Grundregeln entsprechen. Sie sollen max. 8
Buchstaben lang sein (sollten aber auch nicht zu kurz sein, da ein Paketname
mit 1 oder 2 Buchstaben verwirrend sein könnte) und dürfen nicht aus anderen
Zeichen als a-b, 0-9 und '_' bestehen. Dies geschieht aus Gründen der
Abwärtskompatibilität mit kurzen Dateinamen (8+3) und ISO 9660-Dateisystemen
(auf CD-ROMs verwendet). Auf den Dateinamen des Pakets folgt immer die
Erweiterung .svp ("SvarDOS Package").
Paketdateien
SvarDOS verwendet ZIP-Dateien als Paketdateiformat. Dieses Format wurde
gewählt, weil ZIP-Dateien unter DOS de facto zum Standardformat für die
Verteilung von Dateisammlungen geworden sind. Außerdem ist das ZIP-Dateiformat
gut dokumentiert, wird gut unterstützt und ist Public Domain.
Nachfolgend finden Sie die empfohlene Befehlszeile, mit der Sie ein Paket für
ein Programm namens BEISPIEL mit der Versionsbezeichnung "1.2.34" mit Info-ZIP
Zip erstellen können:
zip -9rkDX beispiel-1.2.34.svp uverz1 uverz2 ... uverzN
Wenn Sie 7za verwenden, um Ihre Pakete zu erstellen, dann verwenden Sie dies:
7za a -mm=deflate -mx=9 -tzip beispiel-1.2.34.svp uverz1 uverz2 ... uverzN
Hinweis: Die Version im Dateinamen ist nur eine Information für Paketierer,
damit jene nicht in jedes Paket schauen müssen, um zu wissen, welche Version
sie dort erwartet. In LSM-Versionen könnte man dateisysteminkompatiblen Kram
wie "10/11/11" haben, also wollen wir keine Entsprechung erzwingen.
Verzeichnisstruktur für Pakete
Die Verzeichnisstruktur eines Pakets hängt von der Art des Pakets ab.
Für Kernpakete haben wir dies:
APPINFO Legen Sie die LSM-Datei des Programms hier ab
BIN Binärdateien, wie z. B. exe- und com-Dateien
DOC\PKGNAME Dokumentation zum Paket
HELP Wird NUR vom Paket "help" verwendet
NLS\PKGNAME Lokalisierungen (NLS-Sprachdateien) des Pakets
Nicht-Kernpakete verwenden eine etwas andere Verzeichnisstruktur. Wenn wir
zum Beispiel ein Paket FOO betrachten, könnten wir die folgende Struktur
erhalten:
APPINFO\FOO.LSM Paket-Metadatei für das Programm FOO
PROGS\FOO\FOO.EXE Die ausführbare Datei des Programms
PROGS\FOO\FOO.TXT Eine Dokumentation
PROGS\FOO\FILE.DAT Vom Programm FOO verwendete Datendatei
Beachten Sie das Verzeichnis PROGS oben. Dies ist die Kategorie, zu der das
Paket gehört. Der Paketinstaller kann dieses Verzeichnis bei der Installation
anpassen, je nach den Präferenzen des Benutzers. Mögliche Kategorien sind
unten aufgeführt:
Kategorie | Beschreibung
DEVEL | Entwicklungswerkzeuge (hauptsächlich Compiler)
DRIVERS | Treiber
GAMES | Spiele
PROGS | Anwendungen, Hilfsprogramme...
Hinweis: Die Verzeichnisse "DOC", "NLS", "BIN" und "HELP" sind ausschließlich
den Kernpaketen vorbehalten.
LSM-Metadaten-Dateien
Jedes Paket MUSS eine LSM-Datei in seinem "APPINFO"-Verzeichnis enthalten.
Diese LSM-Datei ist eine Textdatei, die grundlegende Informationen über das
Paket enthält. Ihr Format ist sehr einfach, sie muss mindestens zwei Zeilen
enthalten:
version: x.y.z
description: Beschreibung des Pakets
Alle anderen Zeilen werden vom SvarDOS-Paketmanager ignoriert.
Paketversionen
Die in der LSM-Datei enthaltene Version soll die Version der Software
widerspiegeln, aber es kann vorkommen, dass ein Paket geändert werden muss, um
ein rein paketbezogenes Problem zu beheben (zum Beispiel eine vergessene
Dokumentationsdatei oder eine Neukompilierung der Binärdatei unter Verwendung
eines besseren Satzes von Flags...). In einem solchen Fall ändert sich die
Version der Software nicht, aber die Version des Pakets selbst muss sich
ändern, damit die Benutzer wissen, dass sich etwas geändert hat. Das ist der
Punkt, wo "SvarDOS-Revisionen" ins Spiel kommen. Eine Versionszeichenkette hat
im Wesentlichen folgendes Format:
UPSTREAM_VER[+SVARREV]
UPSTREAM_VER ist die genaue Versionsbezeichnung, die von der Software selbst
angegeben wird. Sie kann so ziemlich alles sein. Dieser Upstream-Version kann
optional ein Pluszeichen und die SvarDOS-Revision folgen. Falls die Upstream-
Version bereits ein Pluszeichen enthält, wird die SvarDOS-Revision mit einer
Tilde abgeteilt.
Die SvarDOS-Revision beginnt bei 0 und wird jedes Mal um 1 erhöht, wenn die
gegebene Upstream-Revision neu paketiert wird. Die SvarDOS-Revision wird bei
jeder Änderung der Upstream-Version neu gestartet. Die SvarDOS-Revision 0 ist
immer versteckt.
Beispiele:
FDISK 1.54 <- ursprünglich paketierte Version
FDISK 1.54+1 <- Paket wurde geändert, aber nicht die Upstream-Version
FDISK 1.55 <- Upstream-Version erhöhte sich, so dass SvarDOS neu startet
FDISK 1.55+1 <- neue Version des Pakets, enthält aber immer noch FDISK 1.55
FDISK 1.55+2 <- eine weitere neue Version des Pakets, usw.
Die gesamte Versionszeichenkette eines Pakets darf niemals mehr als 16 Zeichen
umfassen.
Quellen
Wenn die Quellen eines Softwarepakets verfügbar sind, empfiehlt es sich, auch
diese zu archivieren. Legen Sie zu diesem Zweck die Quellen in ein ZIP-Archiv
mit demselben Dateinamen wie das Paket, aber mit der Erweiterung *.zip (im
Gegensatz zur Erweiterung *.svp des eigentlichen Pakets). Das Ergebnis wäre,
dass das Softwarepaket in zwei Dateien verteilt würde. Beispiel für FDISK:
fdisk-1.55+2.svp <- Binärdateien (ZIP-Archiv entsprechend der SVP-Struktur)
fdisk-1.55+2.zip <- Quellen (flaches, unstrukturiertes ZIP-Archiv)
Die ZIP-Datei muss natürlich den Quellcode enthalten, der genau zu der Version
gehört, die im SVP-Paket enthalten ist.