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