Subversion Repositories SvarDOS

Rev

Rev 298 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
286 mateuszvis 1
 
2
Package files provide an easy way to manage software on SvarDOS. These
3
packages must adhere to a strict convention so they can be handled properly
4
by the SvarDOS package manager.
5
 
6
 
7
%hPackage filenames
8
 
9
Packages names must follow some basic rules. They shall be max. 8 letters long
10
(but should not be too short either, since a 1 or 2-letters package name might
11
be confusing), and must not be composed of characters other than a-b, 0-9 and
12
'_'. This for backward compatibility with short file names (8+3) and ISO 9660
13
file systems (used on CDROMs). The package filename is always followed by the
14
.ZIP extension.
15
 
16
 
17
%hPackage files
18
 
19
SvarDOS uses ZIP files as its package file format. This format has been chosen
20
because ZIP files under DOS have become the de facto way to distribute
21
collections of files. Also, the ZIP file format is well documented, well
22
supported, and in the public domain.
23
 
24
Here below is the recommended command line that can be used to create a
25
package for a program named EXAMPLE using info-zip:
26
 
27
  zip -9rk EXAMPLE.ZIP subdir1 subdir2 ... subdirN
28
 
29
If you are using 7za to create your packages, then use this:
30
 
31
  7za a -mm=deflate -mx=9 -tzip EXAMPLE.ZIP subdir1 subdir2 ... subdirN
32
 
33
 
34
%hPackage directory structure
35
 
36
The directory structure of a package depends on the type of packages.
37
For "core" packages, we have this:
38
 
39
  APPINFO            Put the program's LSM file here
40
  BIN                Binaries, such as exe and com files
41
  DOC\%PKGNAME%      Package documentation
42
  HELP               Used ONLY by the "help" package
43
  NLS\%PKGNAME%      Localizations (NLS language files) of the package
44
  SOURCE\%PKGNAME%   The source code (optional)
45
 
46
Non-core packages use a slightly different directory organization. For
47
example, if we were to consider a package FOO, we might end up with the
48
following structure:
49
 
50
  APPINFO\FOO.LSM    Package meta file for the FOO program
51
  PROGS\FOO\FOO.EXE  The program's executable
52
  PROGS\FOO\FOO.TXT  Some documentation
53
  PROGS\FOO\FILE.DAT Data file used by the FOO program
54
  SOURCE\FOO\*       here would be stored the foo's source code (optional)
55
 
56
Note the 'PROGS' directory above. This is a category to which the package
57
belong. The package installer might change this directory at install time,
58
depending on the user's preferences. Possible categories are listed below:
59
 
60
Category | Description
61
DEVEL    | Development tools (mostly compilers)
62
DRIVERS  | Drivers
63
GAMES    | Games
64
PROGS    | User programs, tools...
65
 
66
Note: "DOC", "NLS", "BIN" and "HELP" directories are strictly reserved to
67
      CORE packages.
68
 
69
%hLSM meta-data files
70
 
71
Every package MUST contain an LSM file in its "APPINFO" directory. This LSM
72
file is a text file that contains basic information about the package. Its
73
format is very simple, it must contain at least two lines:
74
 
75
  version: x.y.z
76
  description: package description
77
 
78
Any other lines are ignored by the SvarDOS package manager.