Penguin
Blame: deb-control(5)
EditPageHistoryDiffInfoLikePages
Annotated edit history of deb-control(5) version 4, including all changes. View license author blame.
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 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.