version 4, including all changes.
.
Rev |
Author |
# |
Line |
1 |
perry |
1 |
DEB-CONTROL |
|
|
2 |
!!!DEB-CONTROL |
|
|
3 |
NAME |
|
|
4 |
SYNOPSIS |
|
|
5 |
DESCRIPTION |
|
|
6 |
REQUIRED FIELDS |
|
|
7 |
OPTIONAL FIELDS |
|
|
8 |
EXAMPLE |
|
|
9 |
SEE ALSO |
|
|
10 |
---- |
|
|
11 |
!!NAME |
|
|
12 |
|
|
|
13 |
|
|
|
14 |
deb-control - Debian packages' master control file format |
|
|
15 |
!!SYNOPSIS |
|
|
16 |
|
|
|
17 |
|
|
|
18 |
control |
|
|
19 |
!!DESCRIPTION |
|
|
20 |
|
|
|
21 |
|
|
|
22 |
Each Debian package contains the master `control' file, |
|
|
23 |
which contains a number of fields. Each field begins with a |
|
|
24 |
tag, such as __Package__ or __Version__ (case |
|
|
25 |
insensitive), followed by a colon, and the body of the |
|
|
26 |
field. Fields are delimited only by field tags. In other |
|
|
27 |
words, field text may be multiple lines in length, but the |
|
|
28 |
installation tools will generally join lines when processing |
|
|
29 |
the body of the field (except in the case of the |
|
|
30 |
__Description__ field, see below). |
|
|
31 |
!!REQUIRED FIELDS |
|
|
32 |
|
|
|
33 |
|
|
|
34 |
__Package:__ __ |
|
|
35 |
|
|
|
36 |
|
|
|
37 |
The value of this field determines the package name, and is |
|
|
38 |
used to generate file names by most installation |
|
|
39 |
tools. |
|
|
40 |
|
|
|
41 |
|
|
|
42 |
__Version:__ __ |
|
|
43 |
|
|
|
44 |
|
|
|
45 |
Typically, this is the original package's version number in |
|
|
46 |
whatever form the program's author uses. It may also include |
|
|
47 |
a Debian revision number (for non-native packages). If both |
|
|
48 |
version and revision are supplied, they are seperated by a |
|
|
49 |
hyphen, `-'. For this reason, the original version may not |
|
|
50 |
have a hyphen in its version number. |
|
|
51 |
|
|
|
52 |
|
|
|
53 |
__Maintainer:__ __ |
|
|
54 |
|
|
|
55 |
|
|
|
56 |
Should be in the format `Joe Bloggs |
|
|
57 |
|
|
|
58 |
|
|
|
59 |
__Description:__ __ |
|
|
60 |
|
|
|
61 |
|
|
|
62 |
The format for the package description is a short brief |
|
|
63 |
summary on the first line (after the |
|
|
64 |
!!OPTIONAL FIELDS |
|
|
65 |
|
|
|
66 |
|
|
|
67 |
__Section:__ __ |
|
|
68 |
|
|
|
69 |
|
|
|
70 |
This is a general field that gives the package a category |
|
|
71 |
based on the software that it installs. Some common sections |
|
|
72 |
are `utils', `net', `mail', `text', `x11' etc. |
|
|
73 |
|
|
|
74 |
|
|
|
75 |
__Priority:__ __ |
|
|
76 |
|
|
|
77 |
|
|
|
78 |
Sets the importance of this package in relation to the |
|
|
79 |
system as a whole. Common priorities are `required', |
|
|
80 |
`standard', `optional', `extra' etc. |
|
|
81 |
|
|
|
82 |
|
|
|
83 |
In Debian, the __Section__ and __Priority__ fields |
|
|
84 |
have a defined set of accepted values based on the Policy |
|
|
85 |
Manual. They are used to decide how the packages are layed |
|
|
86 |
out in the archive. A list of these can be obtained from the |
|
|
87 |
latest version of __debian-policy__ package. |
|
|
88 |
|
|
|
89 |
|
|
|
90 |
__Essential:__ __ |
|
|
91 |
|
|
|
92 |
|
|
|
93 |
This field is usually only needed when the answer is `yes'. |
|
|
94 |
It denotes a package that is required for proper operation |
|
|
95 |
of the system. Dpkg or any other installation tool will not |
|
|
96 |
allow an __Essential__ package to be removed (at least |
|
|
97 |
not without using one of the force options). |
|
|
98 |
|
|
|
99 |
|
|
|
100 |
__Architecture:__ __ |
|
|
101 |
|
|
|
102 |
|
|
|
103 |
The architecture specifies which type of hardware this |
|
|
104 |
package was compiled for. Common architectures are `i386', |
|
|
105 |
`m68k', `sparc', `alpha', `powerpc' etc. Note that the |
|
|
106 |
__all__ option is meant for packages that are |
|
|
107 |
architecture independent. Some examples of this are shell or |
|
|
108 |
Perl scripts, or documentation. |
|
|
109 |
|
|
|
110 |
|
|
|
111 |
__Source:__ __ |
|
|
112 |
|
|
|
113 |
|
|
|
114 |
The name of the source package that this binary package came |
|
|
115 |
from, if different than the name of the package |
|
|
116 |
itself. |
|
|
117 |
|
|
|
118 |
|
|
|
119 |
__Depends:__ __ |
|
|
120 |
|
|
|
121 |
|
|
|
122 |
List of packages that are required for this package to |
|
|
123 |
provide a non-trivial amount of functionality. The package |
|
|
124 |
maintenance software will not allow a package to be |
|
|
125 |
installed if the packages listed in its __Depends__ field |
|
|
126 |
aren't installed (at least not without using the force |
|
|
127 |
options), and will run the postinst scripts of packages |
|
|
128 |
listed in Depends: fields before those of the packages which |
|
|
129 |
depend on them, and run prerm scripts before. |
|
|
130 |
|
|
|
131 |
|
|
|
132 |
__Pre-Depends:__ __ |
|
|
133 |
|
|
|
134 |
|
|
|
135 |
List of packages that must be installed __and__ |
|
|
136 |
configured before this one can be installed. This is usually |
|
|
137 |
used in the case where this package requires another package |
|
|
138 |
for running its preinst script. |
|
|
139 |
|
|
|
140 |
|
|
|
141 |
__Recommends:__ __ |
|
|
142 |
|
|
|
143 |
|
|
|
144 |
Lists packages that would be found together with this one in |
|
|
145 |
all but unusual installations. The package maintenance |
|
|
146 |
software will warn the user if they install a package |
|
|
147 |
without those listed in its __Recommends__ |
|
|
148 |
field. |
|
|
149 |
|
|
|
150 |
|
|
|
151 |
__Suggests:__ __ |
|
|
152 |
|
|
|
153 |
|
|
|
154 |
Lists packages that are related to this one and can perhaps |
|
|
155 |
enhance its usefulness, but without which installing this |
|
|
156 |
package is perfectly reasonable. |
|
|
157 |
|
|
|
158 |
|
|
|
159 |
The syntax of __Depends , Pre-Depends , Recommends__ and |
|
|
160 |
__Suggests__ fields is a list of groups of alternative |
|
|
161 |
packages. Each group is a list of packages separated by |
|
|
162 |
vertical bar (or `pipe') symbols, `|'. The groups are |
|
|
163 |
separated by commas. Commas are to be read as `AND', and |
|
|
164 |
pipes as `OR', with pipes binding more tightly. Each item is |
|
|
165 |
a package name optionally followed by a version number |
|
|
166 |
specification in parentheses. |
|
|
167 |
|
|
|
168 |
|
|
|
169 |
A version number may start with a ` |
|
|
170 |
|
|
|
171 |
|
|
|
172 |
__Conflicts:__ __ |
|
|
173 |
|
|
|
174 |
|
|
|
175 |
Lists packages that conflict with this one, for example by |
|
|
176 |
containing files with the same names. The package |
|
|
177 |
maintenance software will not allow conflicting packages to |
|
|
178 |
be installed at the same time. Two conflicting packages |
|
|
179 |
should each include a __Conflicts__ line mentioning the |
|
|
180 |
other. |
|
|
181 |
|
|
|
182 |
|
|
|
183 |
__Replaces:__ __ |
|
|
184 |
|
|
|
185 |
|
|
|
186 |
List of packages from which this package is allowed to |
|
|
187 |
replace files. This is used for allowing this package to |
|
|
188 |
overwrite the files of another package and is usually used |
|
|
189 |
with the __Conflicts__ field to force removal of the |
|
|
190 |
other package, if this one also has the same files as the |
|
|
191 |
conflicted package. |
|
|
192 |
|
|
|
193 |
|
|
|
194 |
__Provides:__ __ |
|
|
195 |
|
|
|
196 |
|
|
|
197 |
This is a list of virtual packages that this one provides. |
|
|
198 |
Usuaully this is used in the case of several packages all |
|
|
199 |
providing the same service. For example, sendmail and exim |
|
|
200 |
can can serve as a mail server, so they provide a common |
|
|
201 |
package (`mail-transport-agent') on which other packages can |
|
|
202 |
depend. This will allow sendmail or exim to serve as a valid |
|
|
203 |
option to satisfy the dependency. This prevents the packages |
|
|
204 |
that depend on a mail server from having to know the package |
|
|
205 |
names for all of them, and using `|' to separate the |
|
|
206 |
list. |
|
|
207 |
|
|
|
208 |
|
|
|
209 |
The syntax of __Conflicts , Replaces__ and |
|
|
210 |
__Provides__ is a list of package names, separated by |
|
|
211 |
commas (and optional whitespace). In the __Conflicts__ |
|
|
212 |
field, the comma should be read as `OR'. An optional version |
|
|
213 |
can also be given with the same syntax as above for the |
|
|
214 |
__Conflicts__ and __Replaces__ fields. |
|
|
215 |
!!EXAMPLE |
|
|
216 |
|
|
|
217 |
|
|
|
218 |
Package: grep |
|
|
219 |
Essential: yes |
|
|
220 |
Priority: required |
|
|
221 |
Section: base |
|
|
222 |
Maintainer: Wichert Akkerman |
|
|
223 |
!!SEE ALSO |
|
|
224 |
|
|
|
225 |
|
|
|
226 |
deb(5), dpkg(8), |
4 |
perry |
227 |
dpkg-deb(1). |
1 |
perry |
228 |
---- |