Subversion Repositories SvarDOS

Rev

Rev 894 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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.