1deb-control(5)                    dpkg suite                    deb-control(5)
2
3
4

NAME

6       deb-control - Debian binary packages' master control file format
7

SYNOPSIS

9       control
10

DESCRIPTION

12       Each  Debian  binary  package  contains  the master control file, which
13       contains a number of fields.  Each field begins with  a  tag,  such  as
14       Package  or  Version  (case  insensitive), followed by a colon, and the
15       body of the field.  Fields are delimited only by field tags.  In  other
16       words, field text may be multiple lines in length, but the installation
17       tools will generally join lines when processing the body of  the  field
18       (except in the case of the Description field, see below).
19

FIELDS

21       Package: package-name (required)
22              The value of this field determines the package name, and is used
23              to generate file names by most installation tools.
24
25       Package-Type: deb|udeb|type
26              This field defines the type of the package.  udeb is  for  size-
27              constrained  packages  used by the debian installer.  deb is the
28              default value, it is assumed if the field is absent.  More types
29              might be added in the future.
30
31       Version: version-string (required)
32              Typically,  this  is  the  original  package's version number in
33              whatever form the program's author uses. It may also  include  a
34              Debian  revision  number  (for  non-native  packages). The exact
35              format and sorting algorithm are described in deb-version(7).
36
37       Maintainer: fullname-email (recommended)
38              Should be in the format “Joe Bloggs <jbloggs@foo.com>”,  and  is
39              typically  the person who created the package, as opposed to the
40              author of the software that was packaged.
41
42       Description: short-description (recommended)
43        long-description
44              The format for the package description is a short brief  summary
45              on  the  first line (after the Description field). The following
46              lines should be used as a  longer,  more  detailed  description.
47              Each  line  of the long description must be preceded by a space,
48              and blank lines in the long description must  contain  a  single
49.’ following the preceding space.
50
51       Section: section
52              This  is a general field that gives the package a category based
53              on the software that it  installs.   Some  common  sections  are
54              utils, net, mail, text, x11, etc.
55
56       Priority: priority
57              Sets the importance of this package in relation to the system as
58              a whole.  Common priorities are  required,  standard,  optional,
59              extra, etc.
60
61       The  Section and Priority fields usually have a defined set of accepted
62       values based on the specific distribution policy.
63
64       Installed-Size: size
65              The approximate total size of the package's installed files,  in
66              KiB units.
67
68       Essential: yes|no
69              This  field  is  usually  only needed when the answer is yes. It
70              denotes a package that is required for proper operation  of  the
71              system.  Dpkg  or  any other installation tool will not allow an
72              Essential package to be removed (at least not without using  one
73              of the force options).
74
75       Build-Essential: yes|no
76              This field is usually only needed when the answer is yes, and is
77              commonly injected by the archive software.  It denotes a package
78              that is required when building other packages.
79
80       Architecture: arch|all (recommended)
81              The  architecture  specifies which type of hardware this package
82              was compiled for.  Common architectures are amd64, armel,  i386,
83              powerpc,  etc.   Note  that  the all value is meant for packages
84              that are architecture independent.  Some examples  of  this  are
85              shell and Perl scripts, and documentation.
86
87       Origin: name
88              The name of the distribution this package is originating from.
89
90       Bugs: url
91              The url of the bug tracking system for this package. The current
92              used      format      is      bts-type://bts-address,       like
93              debbugs://bugs.debian.org.
94
95       Homepage: url
96              The upstream project home page url.
97
98       Tag: tag-list
99              List  of  tags  describing  the  qualities  of  the package. The
100              description and list of supported  tags  can  be  found  in  the
101              debtags package.
102
103       Multi-Arch: no|same|foreign|allowed
104              This field is used to indicate how this package should behave on
105              a multi-arch installations.
106
107              no     This value is the default when the field is  omitted,  in
108                     which  case adding the field with an explicit no value is
109                     generally not needed.
110
111              same   This package is co-installable with itself, but  it  must
112                     not be used to satisfy the dependency of any package of a
113                     different architecture from itself.
114
115              foreign
116                     This package  is  not  co-installable  with  itself,  but
117                     should   be   allowed  to  satisfy  a  non-arch-qualified
118                     dependency of a package of a different arch  from  itself
119                     (if  a dependency has an explicit arch-qualifier then the
120                     value foreign is ignored).
121
122              allowed
123                     This allows reverse-dependencies  to  indicate  in  their
124                     Depends  field  that  they  accept  this  package  from a
125                     foreign architecture by qualifying the package name  with
126                     :any, but has no effect otherwise.
127
128       Source: source-name [(source-version)]
129              The  name  of  the  source package that this binary package came
130              from, if it is different than the name of  the  package  itself.
131              If  the source version differs from the binary version, then the
132              source-name will be followed by a source-version in parenthesis.
133              This  can  happen  for  example  on a binary-only non-maintainer
134              upload,  or  when  setting  a  different  binary   version   via
135              «dpkg-gencontrol -v».
136
137       Subarchitecture: value
138       Kernel-Version: value
139       Installer-Menu-Item: value
140              These  fields  are  used by the debian-installer and are usually
141              not                         needed.                          See
142              /usr/share/doc/debian-installer/devel/modules.txt    from    the
143              debian-installer package for more details about them.
144
145
146       Depends: package-list
147              List of packages that are required for this package to provide a
148              non-trivial  amount  of  functionality.  The package maintenance
149              software will not  allow  a  package  to  be  installed  if  the
150              packages  listed in its Depends field aren't installed (at least
151              not without using the force options).  In an  installation,  the
152              postinst  scripts  of  packages listed in Depends fields are run
153              before those of the  packages  which  depend  on  them.  On  the
154              opposite,  in  a  removal,  the prerm script of a package is run
155              before those of the packages listed in its Depends field.
156
157       Pre-Depends: package-list
158              List of packages that must be installed  and  configured  before
159              this  one  can  be  installed.  This is usually used in the case
160              where this package requires  another  package  for  running  its
161              preinst script.
162
163       Recommends: package-list
164              Lists packages that would be found together with this one in all
165              but unusual installations. The package maintenance software will
166              warn  the user if they install a package without those listed in
167              its Recommends field.
168
169       Suggests: package-list
170              Lists packages that are related to  this  one  and  can  perhaps
171              enhance  its  usefulness,  but  without  which  installing  this
172              package is perfectly reasonable.
173
174       The syntax of Depends, Pre-Depends, Recommends and Suggests fields is a
175       list  of  groups  of  alternative  packages.  Each  group  is a list of
176       packages separated by vertical  bar  (or  “pipe”)  symbols,  ‘|’.   The
177       groups  are  separated  by commas.  Commas are to be read as “AND”, and
178       pipes as “OR”, with pipes binding more tightly.  Each package  name  is
179       optionally followed by an architecture qualifier appended after a colon
180:’,  optionally  followed  by  a  version  number   specification   in
181       parentheses.
182
183       An  architecture  qualifier name can be a real Debian architecture name
184       (since dpkg 1.16.5) or  any  (since  dpkg  1.16.2).   If  omitted,  the
185       default  is  the  current  binary  package architecture.  A real Debian
186       architecture name will match exactly that architecture for that package
187       name,  any  will  match  any  architecture for that package name if the
188       package has been marked as Multi-Arch: allowed.
189
190       A version number may start with a ‘>>’, in which case any later version
191       will  match,  and  may  specify  or  omit the Debian packaging revision
192       (separated by a hyphen).  Accepted version relationships are  ‘>>’  for
193       greater  than,  ‘<<’  for less than, ‘>=’ for greater than or equal to,
194<=’ for less than or equal to, and ‘=’ for equal to.
195
196       Breaks: package-list
197              Lists packages that this one breaks,  for  example  by  exposing
198              bugs  when  the  named  packages  rely  on this one. The package
199              maintenance software  will  not  allow  broken  packages  to  be
200              configured;  generally the resolution is to upgrade the packages
201              named in a Breaks field.
202
203       Conflicts: package-list
204              Lists packages that conflict  with  this  one,  for  example  by
205              containing  files  with  the same names. The package maintenance
206              software will not allow conflicting packages to be installed  at
207              the  same  time.  Two conflicting packages should each include a
208              Conflicts line mentioning the other.
209
210       Replaces: package-list
211              List of packages files from which this  one  replaces.  This  is
212              used for allowing this package to overwrite the files of another
213              package and is usually used with the Conflicts  field  to  force
214              removal  of  the  other  package,  if this one also has the same
215              files as the conflicted package.
216
217       The syntax of Breaks, Conflicts and  Replaces  is  a  list  of  package
218       names,  separated  by  commas (and optional whitespace).  In the Breaks
219       and Conflicts fields, the comma should be read as  “OR”.   An  optional
220       architecture  qualifier  can  also be appended to the package name with
221       the same syntax as above, but the default is any instead of the  binary
222       package  architecture.   An optional version can also be given with the
223       same syntax as above for the Breaks, Conflicts and Replaces fields.
224
225       Enhances: package-list
226              This is a list of  packages  that  this  one  enhances.   It  is
227              similar to Suggests but in the opposite direction.
228
229       Provides: package-list
230              This  is  a  list  of  virtual  packages that this one provides.
231              Usually this is  used  in  the  case  of  several  packages  all
232              providing  the same service.  For example, sendmail and exim can
233              serve as a  mail  server,  so  they  provide  a  common  package
234              (“mail-transport-agent”)  on  which  other  packages can depend.
235              This will allow sendmail or exim to serve as a valid  option  to
236              satisfy  the dependency.  This prevents the packages that depend
237              on a mail server from having to know the package names  for  all
238              of them, and using ‘|’ to separate the list.
239
240       The  syntax of Provides is a list of package names, separated by commas
241       (and optional whitespace).  An optional architecture qualifier can also
242       be  appended  to  the  package  name with the same syntax as above.  If
243       omitted, the default is the current binary  package  architecture.   An
244       optional  exact  (equal  to)  version  can  also be given with the same
245       syntax as above (honored since dpkg 1.17.11).
246
247       Built-Using: package-list
248              This field lists extra source packages that were used during the
249              build  of  this  binary  package.   This is an indication to the
250              archive maintenance software that these  extra  source  packages
251              must  be  kept  whilst  this binary package is maintained.  This
252              field must be a list of source package  names  with  strict  ‘=
253              version   relationships.   Note  that  the  archive  maintenance
254              software is likely to refuse to accept an upload which  declares
255              a  Built-Using relationship which cannot be satisfied within the
256              archive.
257
258       Built-For-Profiles: profile-list (obsolete)
259              This field used to specify a whitespace separated list of  build
260              profiles  that  this  binary packages was built with (since dpkg
261              1.17.2 until 1.18.18).  The information previously found in this
262              field  can now be found in the .buildinfo file, which supersedes
263              it.
264
265       Auto-Built-Package: reason-list
266              This field specifies a whitespace separated list of reasons  why
267              this  package  was  auto-generated.  Binary packages marked with
268              this field will not appear in the debian/control  master  source
269              control file.  The only currently used reason is debug-symbols.
270
271       Build-Ids: elf-build-id-list
272              This  field  specifies a whitespace separated list of ELF build-
273              ids. These are unique identifiers for semantically identical ELF
274              objects,  for  each  of these within the package.  The format or
275              the way to compute each build-id is not defined by design.
276

EXAMPLE

278       Package: grep
279       Essential: yes
280       Priority: required
281       Section: base
282       Maintainer: Wichert Akkerman <wakkerma@debian.org>
283       Architecture: sparc
284       Version: 2.4-1
285       Pre-Depends: libc6 (>= 2.0.105)
286       Provides: rgrep
287       Conflicts: rgrep
288       Description: GNU grep, egrep and fgrep.
289        The GNU family of grep utilities may be the "fastest grep in the west".
290        GNU grep is based on a fast lazy-state deterministic matcher (about
291        twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper
292        search for a fixed string that eliminates impossible text from being
293        considered by the full regexp matcher without necessarily having to
294        look at every character. The result is typically many times faster
295        than Unix grep or egrep. (Regular expressions containing backreferencing
296        will run more slowly, however).
297

BUGS

299       The Build-Ids field uses a rather generic  name  out  of  its  original
300       context  within an ELF object, which serves a very specific purpose and
301       executable format.
302

SEE ALSO

304       deb-src-control(5),  deb(5),   deb-version(7),   debtags(1),   dpkg(1),
305       dpkg-deb(1).
306
307
308
3091.19.7                            2019-06-03                    deb-control(5)
Impressum