Subversion Repositories SvarDOS

Rev

Rev 688 | Rev 691 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
286 mateuszvis 1
 
688 bttr 2
Paketdateien bieten eine einfache Möglichkeit, Software unter SvarDOS zu
3
verwalten. Diese Pakete müssen sich an eine strenge Konvention halten, damit
4
sie vom SvarDOS-Paketmanager richtig behandelt werden können.
286 mateuszvis 5
 
6
 
688 bttr 7
%hDateinamen von Paketen
286 mateuszvis 8
 
688 bttr 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
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
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
689 mateusz.vi 15
Erweiterung .SVP ("SvarDOS Package").
286 mateuszvis 16
 
17
 
688 bttr 18
%hPaketdateien
286 mateuszvis 19
 
688 bttr 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
22
Verteilung von Dateisammlungen geworden sind. Außerdem ist das ZIP-Dateiformat
23
gut dokumentiert, wird gut unterstützt und ist Public Domain.
286 mateuszvis 24
 
688 bttr 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:
286 mateuszvis 27
 
689 mateusz.vi 28
  zip -9rkDX BEISPIEL.SVP untverz1 untverz2 ... untverzN
286 mateuszvis 29
 
688 bttr 30
Wenn Sie 7za verwenden, um Ihre Pakete zu erstellen, dann verwenden Sie dies:
286 mateuszvis 31
 
689 mateusz.vi 32
  7za a -mm=deflate -mx=9 -tzip BEISPIEL.SVP untverz1 untverz2 ... untverzN
286 mateuszvis 33
 
34
 
688 bttr 35
%hVerzeichnisstruktur für Pakete
286 mateuszvis 36
 
688 bttr 37
Die Verzeichnisstruktur eines Pakets hängt von der Art des Pakets ab.
38
Für Kernpakete haben wir dies:
286 mateuszvis 39
 
688 bttr 40
  APPINFO            Legen Sie die LSM-Datei des Programms hier ab
41
  BIN                Binärdateien, wie z. B. exe- und com-Dateien
42
  DOC\PKGNAME        Dokumentation zum Paket
43
  HELP               Wird NUR vom Paket "help" verwendet
44
  NLS\PKGNAME        Lokalisierungen (NLS-Sprachdateien) des Pakets
286 mateuszvis 45
 
688 bttr 46
Nicht-Kernpakete verwenden eine etwas andere Verzeichnisstruktur. Wenn wir
47
zum Beispiel ein Paket FOO betrachten, könnten wir die folgende Struktur
48
erhalten:
286 mateuszvis 49
 
688 bttr 50
  APPINFO\FOO.LSM    Paket-Metadatei für das Programm FOO
51
  PROGS\FOO\FOO.EXE  Die ausführbare Datei des Programms
52
  PROGS\FOO\FOO.TXT  Eine Dokumentation
53
  PROGS\FOO\FILE.DAT Vom Programm FOO verwendete Datendatei
286 mateuszvis 54
 
688 bttr 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
57
anpassen, je nach den Präferenzen des Benutzers. Mögliche Kategorien sind
58
unten aufgeführt:
286 mateuszvis 59
 
688 bttr 60
Kategorie | Beschreibung
61
DEVEL     | Entwicklungswerkzeuge (hauptsächlich Compiler)
62
DRIVERS   | Treiber
63
GAMES     | Spiele
64
PROGS     | Anwendungen, Hilfsprogramme...
286 mateuszvis 65
 
688 bttr 66
Hinweis: Die Verzeichnisse "DOC", "NLS", "BIN" und "HELP" sind ausschließlich
67
         den Kernpaketen vorbehalten.
286 mateuszvis 68
 
584 mateuszvis 69
 
688 bttr 70
%hLSM-Metadaten-Dateien
286 mateuszvis 71
 
688 bttr 72
Jedes Paket MUSS eine LSM-Datei in seinem "APPINFO"-Verzeichnis enthalten.
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
75
enthalten:
286 mateuszvis 76
 
77
  version: x.y.z
688 bttr 78
  description: Beschreibung des Pakets
286 mateuszvis 79
 
688 bttr 80
Alle anderen Zeilen werden vom SvarDOS-Paketmanager ignoriert.
584 mateuszvis 81
 
82
 
688 bttr 83
%hPaketversionen
584 mateuszvis 84
 
688 bttr 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
87
um ein rein paketbezogenes Problem zu beheben (zum Beispiel eine vergessene
88
Dokumentationsdatei oder eine Neukompilierung der Binärdatei unter Verwendung
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
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
93
im Wesentlichen folgendes Format:
584 mateuszvis 94
 
95
  UPSTREAM_VER[+SVARREV]
96
 
688 bttr 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
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
101
Tilde abgeteilt.
584 mateuszvis 102
 
688 bttr 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
105
jeder Änderung der Upstream-Version neu gestartet. Die SvarDOS-Revision 0 ist
106
immer versteckt.
584 mateuszvis 107
 
688 bttr 108
Beispiele:
584 mateuszvis 109
 
688 bttr 110
FDISK 1.54      <- ursprünglich paketierte 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
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.
689 mateusz.vi 115
 
116
The entire version string of a package must never exceed 16 characters.
117
 
118
 
119
%hDer Quellcode
120
 
121
When a packaged software has its sources available, then it is recommended to
122
archive also them. To that effect, put the sources into a ZIP archive that has
123
the same filename as the package, but a *.ZIP extension (as opposed to the
124
*.SVP extension of the proper package). The result would be that the packaged
125
software would be distributed within two files. Example for FDISK:
126
 
127
FDISK.SVP       <- binaries (ZIP archive following the SVP structure)
128
FDISK.ZIP       <- sources (flat, unstructured ZIP archive)
129
 
130
The ZIP file must obviously contain the source code that belongs to the exact
131
same version present in the SVP package.