286 |
mateuszvis |
1 |
|
894 |
bttr |
2 |
%h*** SVARDOS-PAKETFORMAT ***
|
|
|
3 |
|
688 |
bttr |
4 |
Paketdateien bieten eine einfache Möglichkeit, Software unter SvarDOS zu
|
|
|
5 |
verwalten. Diese Pakete müssen sich an eine strenge Konvention halten, damit
|
|
|
6 |
sie vom SvarDOS-Paketmanager richtig behandelt werden können.
|
286 |
mateuszvis |
7 |
|
|
|
8 |
|
688 |
bttr |
9 |
%hDateinamen von Paketen
|
286 |
mateuszvis |
10 |
|
688 |
bttr |
11 |
Die Namen der Pakete müssen einigen Grundregeln entsprechen. Sie sollen max. 8
|
|
|
12 |
Buchstaben lang sein (sollten aber auch nicht zu kurz sein, da ein Paketname
|
|
|
13 |
mit 1 oder 2 Buchstaben verwirrend sein könnte) und dürfen nicht aus anderen
|
|
|
14 |
Zeichen als a-b, 0-9 und '_' bestehen. Dies geschieht aus Gründen der
|
|
|
15 |
Abwärtskompatibilität mit kurzen Dateinamen (8+3) und ISO 9660-Dateisystemen
|
|
|
16 |
(auf CD-ROMs verwendet). Auf den Dateinamen des Pakets folgt immer die
|
894 |
bttr |
17 |
Erweiterung .svp ("SvarDOS Package").
|
286 |
mateuszvis |
18 |
|
|
|
19 |
|
688 |
bttr |
20 |
%hPaketdateien
|
286 |
mateuszvis |
21 |
|
688 |
bttr |
22 |
SvarDOS verwendet ZIP-Dateien als Paketdateiformat. Dieses Format wurde
|
|
|
23 |
gewählt, weil ZIP-Dateien unter DOS de facto zum Standardformat für die
|
|
|
24 |
Verteilung von Dateisammlungen geworden sind. Außerdem ist das ZIP-Dateiformat
|
|
|
25 |
gut dokumentiert, wird gut unterstützt und ist Public Domain.
|
286 |
mateuszvis |
26 |
|
688 |
bttr |
27 |
Nachfolgend finden Sie die empfohlene Befehlszeile, mit der Sie ein Paket für
|
894 |
bttr |
28 |
ein Programm namens BEISPIEL mit der Versionsbezeichnung "1.2.34" mit Info-ZIP
|
|
|
29 |
Zip erstellen können:
|
286 |
mateuszvis |
30 |
|
894 |
bttr |
31 |
zip -9rkDX beispiel-1.2.34.svp uverz1 uverz2 ... uverzN
|
286 |
mateuszvis |
32 |
|
688 |
bttr |
33 |
Wenn Sie 7za verwenden, um Ihre Pakete zu erstellen, dann verwenden Sie dies:
|
286 |
mateuszvis |
34 |
|
894 |
bttr |
35 |
7za a -mm=deflate -mx=9 -tzip beispiel-1.2.34.svp uverz1 uverz2 ... uverzN
|
286 |
mateuszvis |
36 |
|
894 |
bttr |
37 |
Hinweis: Die Version im Dateinamen ist nur eine Information für Paketierer,
|
|
|
38 |
damit jene nicht in jedes Paket schauen müssen, um zu wissen, welche Version
|
|
|
39 |
sie dort erwartet. In LSM-Versionen könnte man dateisysteminkompatiblen Kram
|
|
|
40 |
wie "10/11/11" haben, also wollen wir keine Entsprechung erzwingen.
|
286 |
mateuszvis |
41 |
|
688 |
bttr |
42 |
%hVerzeichnisstruktur für Pakete
|
286 |
mateuszvis |
43 |
|
688 |
bttr |
44 |
Die Verzeichnisstruktur eines Pakets hängt von der Art des Pakets ab.
|
|
|
45 |
Für Kernpakete haben wir dies:
|
286 |
mateuszvis |
46 |
|
688 |
bttr |
47 |
APPINFO Legen Sie die LSM-Datei des Programms hier ab
|
|
|
48 |
BIN Binärdateien, wie z. B. exe- und com-Dateien
|
|
|
49 |
DOC\PKGNAME Dokumentation zum Paket
|
|
|
50 |
HELP Wird NUR vom Paket "help" verwendet
|
|
|
51 |
NLS\PKGNAME Lokalisierungen (NLS-Sprachdateien) des Pakets
|
286 |
mateuszvis |
52 |
|
688 |
bttr |
53 |
Nicht-Kernpakete verwenden eine etwas andere Verzeichnisstruktur. Wenn wir
|
|
|
54 |
zum Beispiel ein Paket FOO betrachten, könnten wir die folgende Struktur
|
|
|
55 |
erhalten:
|
286 |
mateuszvis |
56 |
|
688 |
bttr |
57 |
APPINFO\FOO.LSM Paket-Metadatei für das Programm FOO
|
|
|
58 |
PROGS\FOO\FOO.EXE Die ausführbare Datei des Programms
|
|
|
59 |
PROGS\FOO\FOO.TXT Eine Dokumentation
|
|
|
60 |
PROGS\FOO\FILE.DAT Vom Programm FOO verwendete Datendatei
|
286 |
mateuszvis |
61 |
|
688 |
bttr |
62 |
Beachten Sie das Verzeichnis PROGS oben. Dies ist die Kategorie, zu der das
|
|
|
63 |
Paket gehört. Der Paketinstaller kann dieses Verzeichnis bei der Installation
|
|
|
64 |
anpassen, je nach den Präferenzen des Benutzers. Mögliche Kategorien sind
|
|
|
65 |
unten aufgeführt:
|
286 |
mateuszvis |
66 |
|
688 |
bttr |
67 |
Kategorie | Beschreibung
|
|
|
68 |
DEVEL | Entwicklungswerkzeuge (hauptsächlich Compiler)
|
|
|
69 |
DRIVERS | Treiber
|
|
|
70 |
GAMES | Spiele
|
|
|
71 |
PROGS | Anwendungen, Hilfsprogramme...
|
286 |
mateuszvis |
72 |
|
688 |
bttr |
73 |
Hinweis: Die Verzeichnisse "DOC", "NLS", "BIN" und "HELP" sind ausschließlich
|
|
|
74 |
den Kernpaketen vorbehalten.
|
286 |
mateuszvis |
75 |
|
584 |
mateuszvis |
76 |
|
688 |
bttr |
77 |
%hLSM-Metadaten-Dateien
|
286 |
mateuszvis |
78 |
|
688 |
bttr |
79 |
Jedes Paket MUSS eine LSM-Datei in seinem "APPINFO"-Verzeichnis enthalten.
|
|
|
80 |
Diese LSM-Datei ist eine Textdatei, die grundlegende Informationen über das
|
|
|
81 |
Paket enthält. Ihr Format ist sehr einfach, sie muss mindestens zwei Zeilen
|
|
|
82 |
enthalten:
|
286 |
mateuszvis |
83 |
|
|
|
84 |
version: x.y.z
|
688 |
bttr |
85 |
description: Beschreibung des Pakets
|
286 |
mateuszvis |
86 |
|
688 |
bttr |
87 |
Alle anderen Zeilen werden vom SvarDOS-Paketmanager ignoriert.
|
584 |
mateuszvis |
88 |
|
|
|
89 |
|
688 |
bttr |
90 |
%hPaketversionen
|
584 |
mateuszvis |
91 |
|
688 |
bttr |
92 |
Die in der LSM-Datei enthaltene Version soll die Version der Software
|
|
|
93 |
widerspiegeln, aber es kann vorkommen, dass ein Paket geändert werden muss, um
|
902 |
bttr |
94 |
ein rein paketbezogenes Problem zu beheben (zum Beispiel eine vergessene
|
688 |
bttr |
95 |
Dokumentationsdatei oder eine Neukompilierung der Binärdatei unter Verwendung
|
|
|
96 |
eines besseren Satzes von Flags...). In einem solchen Fall ändert sich die
|
|
|
97 |
Version der Software nicht, aber die Version des Pakets selbst muss sich
|
|
|
98 |
ändern, damit die Benutzer wissen, dass sich etwas geändert hat. Das ist der
|
|
|
99 |
Punkt, wo "SvarDOS-Revisionen" ins Spiel kommen. Eine Versionszeichenkette hat
|
|
|
100 |
im Wesentlichen folgendes Format:
|
584 |
mateuszvis |
101 |
|
|
|
102 |
UPSTREAM_VER[+SVARREV]
|
|
|
103 |
|
688 |
bttr |
104 |
UPSTREAM_VER ist die genaue Versionsbezeichnung, die von der Software selbst
|
|
|
105 |
angegeben wird. Sie kann so ziemlich alles sein. Dieser Upstream-Version kann
|
|
|
106 |
optional ein Pluszeichen und die SvarDOS-Revision folgen. Falls die Upstream-
|
|
|
107 |
Version bereits ein Pluszeichen enthält, wird die SvarDOS-Revision mit einer
|
|
|
108 |
Tilde abgeteilt.
|
584 |
mateuszvis |
109 |
|
688 |
bttr |
110 |
Die SvarDOS-Revision beginnt bei 0 und wird jedes Mal um 1 erhöht, wenn die
|
|
|
111 |
gegebene Upstream-Revision neu paketiert wird. Die SvarDOS-Revision wird bei
|
|
|
112 |
jeder Änderung der Upstream-Version neu gestartet. Die SvarDOS-Revision 0 ist
|
|
|
113 |
immer versteckt.
|
584 |
mateuszvis |
114 |
|
688 |
bttr |
115 |
Beispiele:
|
584 |
mateuszvis |
116 |
|
688 |
bttr |
117 |
FDISK 1.54 <- ursprünglich paketierte Version
|
|
|
118 |
FDISK 1.54+1 <- Paket wurde geändert, aber nicht die Upstream-Version
|
|
|
119 |
FDISK 1.55 <- Upstream-Version erhöhte sich, so dass SvarDOS neu startet
|
|
|
120 |
FDISK 1.55+1 <- neue Version des Pakets, enthält aber immer noch FDISK 1.55
|
|
|
121 |
FDISK 1.55+2 <- eine weitere neue Version des Pakets, usw.
|
689 |
mateusz.vi |
122 |
|
691 |
bttr |
123 |
Die gesamte Versionszeichenkette eines Pakets darf niemals mehr als 16 Zeichen
|
|
|
124 |
umfassen.
|
689 |
mateusz.vi |
125 |
|
|
|
126 |
|
691 |
bttr |
127 |
%hQuellen
|
689 |
mateusz.vi |
128 |
|
691 |
bttr |
129 |
Wenn die Quellen eines Softwarepakets verfügbar sind, empfiehlt es sich, auch
|
|
|
130 |
diese zu archivieren. Legen Sie zu diesem Zweck die Quellen in ein ZIP-Archiv
|
894 |
bttr |
131 |
mit demselben Dateinamen wie das Paket, aber mit der Erweiterung *.zip (im
|
|
|
132 |
Gegensatz zur Erweiterung *.svp des eigentlichen Pakets). Das Ergebnis wäre,
|
691 |
bttr |
133 |
dass das Softwarepaket in zwei Dateien verteilt würde. Beispiel für FDISK:
|
689 |
mateusz.vi |
134 |
|
894 |
bttr |
135 |
fdisk-1.55+2.svp <- Binärdateien (ZIP-Archiv entsprechend der SVP-Struktur)
|
|
|
136 |
fdisk-1.55+2.zip <- Quellen (flaches, unstrukturiertes ZIP-Archiv)
|
689 |
mateusz.vi |
137 |
|
691 |
bttr |
138 |
Die ZIP-Datei muss natürlich den Quellcode enthalten, der genau zu der Version
|
|
|
139 |
gehört, die im SVP-Paket enthalten ist.
|