-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathdevpak-format.txt
132 lines (107 loc) · 5.11 KB
/
devpak-format.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Dev-C++ Package File Format
Version 1 - March the 15th, 2002
Update October the 7th, 2008
General Information
-------------------
The content of a DevPak package is described using a package description file,
which has the extension .DevPackage. The file is really a simple INI file.
This is an updated version of the original "File Format.txt" file found
in the cvs repository of Dev C++:
http://dev-cpp.cvs.sourceforge.net/viewvc/dev-cpp/V5/source/packman/File%20Format.txt?view=log
or in the svn repository of wxDev-C++ (or wxDesigner)
http://wxdsgn.svn.sourceforge.net/viewvc/wxdsgn/trunk/packman/File%20Format.txt?view=log
Sections
--------
The .DevPackage file contains three sections:
[Setup]
This section contains information about the package, such as package name,
version, description, readme, license, etc.
[Files]
This section contains information about files, and where they should be
installed to.
[Icons]
This section contains information about links to documentation or webpages
which are added to the Dev-C++ start menu.
The [Setup] section
-------------------
This section *must* contain at least the following keys:
Version The package format's version number. A higher version number means
that this package is not compatible with older package managers.
AppName A name for the package. Example: MyApp
AppVerName The package's name and the version together.
Example: MyApp Version 1.0
AppVersion The package's version number. Example: 1.0
MenuName A name for a menu group for this package.
The following keys are optional:
Url An URL to the library's website.
Picture A filename to a logo/picture/whatever that will be displayed.
Description A desription for the package.
Readme A filename to the Readme file, relative to the .DevPackage file.
Example: README.TXT
License A filename to the license file, relative to the .DevPackage file.
Example: COPYING.TXT
Reboot Wether the package requires a reboot or not in order to function
properly. The value can be either 1 (true) or 0 (false).
Dependencies A comma-seperated list of package names that this package
depends on.
The [Files] section
-------------------
Keys in the Files section are composed in the following format:
Source=Destdir\[FileName][;Flags]
Source (required):
The name of the source file, relative to the .DevPackage file.
This can be a directory, in which case all files inside that directory will be
copied.
Destdir (required):
The destination directory. Please note that Destdir must *always* end with a
backslash (\). Otherwise it will be interpreted as FileName.
FileName (optional):
If this is specified, the copied file will be renamed to the specified filename.
Flags (optional):
An extra set of options.
recursive If Source is a directory, the installer will recurse into any
subdirectories and copy the files inside those subdirectories too.
This doesn't work in Dev-C++, since one one hand the directories
are copied recursively by default and on the other hand the ";"
is used in DestDir corrupting the destination filename.
Constants:
Sourcedir and Destdir can contain constants. A constant will be replaced to
their literal value, depending on the user's configuration. The constants'
names are not case sensitive.
<app> Dev-C++'s root directory (usually C:\Dev-C++).
<src> The source directory (the directory where the .DevPackage file is
located).
<win> The system's Windows directory (usually C:\WINDOWS).
<sys> The system's Windows System directory (usually C:\WINDOWS\SYSTEM).
Examples:
Foo.txt=<app>\ Installs to C:\Dev-C++\Foo.txt
Bar.h=<app>\include\FooBar.h Installs to C:\Dev-C++\include\FooBar.h
L33t.dll=<sys>\ Installs to C:\WINDOWS\System\L33t.dll
WindowsSucks.exe=<win>\Explorer.exe Installs to C:\WINDOWS\Explorer.exe
BigFolder=C:\;recursive Installs all files in BigFolder,
including all files inside any
subfolders, to C:\
The [Icons] section
-------------------
This section is ignored if MenuName (in the Setup section) is not given.
Entries in this section describe what menu items should be created.
Each entry has the following format:
Name=Target[,Icon Filename]
Target can contain constants as described in the Files section.
Examples:
[Setup]
MenuName=GTK
[Icons]
Website=http://www.gtk.org/
This will create the menu group "Start->Programs->Bloodshed Dev-C++->GTK",
with 1 menu item, called Website, which points to http://www.gtk.org/
[Setup]
MenuName=FLTK
[Icons]
UI Designer=<app>\bin\Fluid.exe,<app>\Icons\Fluid.ico
Website=http://www.fltk.org/
Let's assume that Dev-C++ is installed in C:\Dev-C++. This will create the
menu group "Start->Programs->Bloodshed Dev-C++->FLTK", with 2 menu items:
- Website, which points to http://www.gtk.org/
- UI Designer, which points to C:\Dev-C++\bin\fluid.exe, and use the icon
file C:\Dev-C++\Icons\Fluid.ico