Subversion Repositories SvarDOS

Rev

Rev 691 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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