489 lines
16 KiB
HTML
489 lines
16 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of deb-control</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>deb-control</H1>
|
|
Section: dpkg suite (5)<BR>Updated: 2020-03-23<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
deb-control - Debian binary packages' master control file format
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
control
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
Each Debian binary package contains the master <I>control</I> file, which
|
|
contains a number of fields.
|
|
Each field begins with a tag, such as
|
|
<B>Package</B>
|
|
|
|
or
|
|
<B>Version</B>
|
|
|
|
(case insensitive), followed by a colon, and the body of the field.
|
|
Fields are delimited only by field tags. In other words, field text
|
|
may be multiple lines in length, but the installation tools will
|
|
generally join lines when processing the body of the field (except
|
|
in the case of the
|
|
<B>Description</B>
|
|
|
|
field, see below).
|
|
<A NAME="lbAE"> </A>
|
|
<H2>FIELDS</H2>
|
|
|
|
<DL COMPACT>
|
|
<DT id="1"><B>Package:</B> <I>package-name</I> (required)
|
|
|
|
<DD>
|
|
The value of this field determines the package name, and is used to
|
|
generate file names by most installation tools.
|
|
<DT id="2"><B>Package-Type:</B> <B>deb</B>|<B>udeb</B>|<I>type</I>
|
|
|
|
<DD>
|
|
This field defines the type of the package.
|
|
<B>udeb</B> is for size-constrained packages used by the debian installer.
|
|
<B>deb</B> is the default value, it is assumed if the field is absent.
|
|
More types might be added in the future.
|
|
<DT id="3"><B>Version:</B> <I>version-string</I> (required)
|
|
|
|
<DD>
|
|
Typically, this is the original package's version number in whatever form
|
|
the program's author uses. It may also include a Debian revision number
|
|
(for non-native packages). The exact format and sorting algorithm
|
|
are described in
|
|
<B><A HREF="/cgi-bin/man/man2html?7+deb-version">deb-version</A></B>(7).
|
|
|
|
<DT id="4"><B>Maintainer:</B> <I>fullname-email</I> (recommended)
|
|
|
|
<DD>
|
|
Should be in the format "Joe Bloggs <<A HREF="mailto:jbloggs@foo.com">jbloggs@foo.com</A>>", and is typically
|
|
the person who created the package, as opposed to the author of the
|
|
software that was packaged.
|
|
<DT id="5"><B>Description:</B> <I>short-description</I> (recommended)
|
|
|
|
<DD>
|
|
|
|
<B> </B><I>long-description</I>
|
|
|
|
<BR>
|
|
|
|
The format for the package description is a short brief summary on the
|
|
first line (after the <B>Description</B> field). The following lines should be
|
|
used as a longer, more detailed description. Each line of the long description
|
|
must be preceded by a space, and blank lines in the long description must
|
|
contain a single '<B>.</B>' following the preceding space.
|
|
<DT id="6"><B>Section:</B><I> section</I>
|
|
|
|
<DD>
|
|
This is a general field that gives the package a category based on the
|
|
software that it installs.
|
|
Some common sections are <B>utils</B>, <B>net</B>, <B>mail</B>, <B>text</B>,
|
|
<B>x11</B>, etc.
|
|
<DT id="7"><B>Priority:</B><I> priority</I>
|
|
|
|
<DD>
|
|
Sets the importance of this package in relation to the system as a whole.
|
|
Common priorities are <B>required</B>, <B>standard</B>, <B>optional</B>,
|
|
<B>extra</B>, etc.
|
|
</DL>
|
|
<P>
|
|
|
|
The
|
|
<B>Section</B>
|
|
|
|
and
|
|
<B>Priority</B>
|
|
|
|
fields usually have a defined set of accepted values based on the specific
|
|
distribution policy.
|
|
<DL COMPACT>
|
|
<DT id="8"><B>Installed-Size:</B> size
|
|
|
|
<DD>
|
|
The approximate total size of the package's installed files, in KiB units.
|
|
<DT id="9"><B>Essential:</B> <B>yes</B>|<B>no</B>
|
|
|
|
<DD>
|
|
This field is usually only needed when the answer is <B>yes</B>. It denotes
|
|
a package that is required for proper operation of the system. Dpkg
|
|
or any other installation tool will not allow an
|
|
<B>Essential</B>
|
|
|
|
package to be removed (at least not without using one of the force options).
|
|
<DT id="10"><B>Build-Essential:</B> <B>yes</B>|<B>no</B>
|
|
|
|
<DD>
|
|
This field is usually only needed when the answer is <B>yes</B>, and is
|
|
commonly injected by the archive software.
|
|
It denotes a package that is required when building other packages.
|
|
<DT id="11"><B>Architecture:</B> <I>arch</I>|<B>all</B> (recommended)
|
|
|
|
<DD>
|
|
The architecture specifies which type of hardware this package was compiled
|
|
for.
|
|
Common architectures are <B>amd64</B>, <B>armel</B>, <B>i386</B>, <B>powerpc</B>,
|
|
etc.
|
|
Note that the
|
|
<B>all</B>
|
|
|
|
value is meant for packages that are architecture independent.
|
|
Some examples of this are shell and Perl scripts, and documentation.
|
|
<DT id="12"><B>Origin:</B><I> name</I>
|
|
|
|
<DD>
|
|
The name of the distribution this package is originating from.
|
|
<DT id="13"><B>Bugs:</B><I> url</I>
|
|
|
|
<DD>
|
|
The <I>url</I> of the bug tracking system for this package. The current
|
|
used format is <I>bts-type</I><B>://</B><I>bts-address</I>, like
|
|
<B>debbugs://bugs.debian.org</B>.
|
|
<DT id="14"><B>Homepage:</B><I> url</I>
|
|
|
|
<DD>
|
|
The upstream project home page <I>url</I>.
|
|
<DT id="15"><B>Tag:</B><I> tag-list</I>
|
|
|
|
<DD>
|
|
List of tags describing the qualities of the package. The description and
|
|
list of supported tags can be found in the <B>debtags</B> package.
|
|
<DT id="16"><B>Multi-Arch:</B> <B>no</B>|<B>same</B>|<B>foreign</B>|<B>allowed</B>
|
|
|
|
<DD>
|
|
This field is used to indicate how this package should behave on a multi-arch
|
|
installations.
|
|
<DL COMPACT><DT id="17"><DD>
|
|
<DL COMPACT>
|
|
<DT id="18"><B>no</B>
|
|
|
|
<DD>
|
|
This value is the default when the field is omitted, in which case
|
|
adding the field with an explicit <B>no</B> value is generally not needed.
|
|
<DT id="19"><B>same</B>
|
|
|
|
<DD>
|
|
This package is co-installable with itself, but it must not be used to
|
|
satisfy the dependency of any package of a different architecture from
|
|
itself.
|
|
<DT id="20"><B>foreign</B>
|
|
|
|
<DD>
|
|
This package is not co-installable with itself, but should be allowed to
|
|
satisfy a non-arch-qualified dependency of a package of a different arch
|
|
from itself (if a dependency has an explicit arch-qualifier then the
|
|
value <B>foreign</B> is ignored).
|
|
<DT id="21"><B>allowed</B>
|
|
|
|
<DD>
|
|
This allows reverse-dependencies to indicate in their <B>Depends</B>
|
|
field that they accept this package from a foreign architecture by
|
|
qualifying the package name with <B>:any</B>, but has no effect otherwise.
|
|
</DL>
|
|
</DL>
|
|
|
|
<DT id="22"><B>Source:</B> <I>source-name</I> [<B>(</B><I>source-version</I><B>)</B>]
|
|
|
|
<DD>
|
|
The name of the source package that this binary package came from, if it is
|
|
different than the name of the package itself.
|
|
If the source version differs from the binary version, then the
|
|
<I>source-name</I> will be followed by a <I>source-version</I> in parenthesis.
|
|
This can happen for example on a binary-only non-maintainer upload, or when
|
|
setting a different binary version via «<B>dpkg-gencontrol -v</B>».
|
|
<DT id="23"><B>Subarchitecture:</B><I> value</I>
|
|
|
|
<DD>
|
|
|
|
<B>Kernel-Version:</B><I> value</I>
|
|
|
|
|
|
<B>Installer-Menu-Item:</B><I> value</I>
|
|
|
|
These fields are used by the debian-installer and are usually not needed.
|
|
See /usr/share/doc/debian-installer/devel/modules.txt from the
|
|
<B>debian-installer</B>
|
|
|
|
package for more details about them.
|
|
<P>
|
|
<DT id="24"><B>Depends:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
List of packages that are required for this package to provide a
|
|
non-trivial amount of functionality. The package maintenance software
|
|
will not allow a package to be installed if the packages listed in its
|
|
<B>Depends</B>
|
|
|
|
field aren't installed (at least not without using the force options).
|
|
In an installation, the postinst scripts of packages listed in <B>Depends</B>
|
|
fields are run before those of the packages which depend on them. On the
|
|
opposite, in a removal, the prerm script of a package is run before
|
|
those of the packages listed in its <B>Depends</B> field.
|
|
<DT id="25"><B>Pre-Depends:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
List of packages that must be installed
|
|
<B>and</B>
|
|
|
|
configured before this one can be installed. This is usually used in the
|
|
case where this package requires another package for running its preinst
|
|
script.
|
|
<DT id="26"><B>Recommends:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
Lists packages that would be found together with this one in all but
|
|
unusual installations. The package maintenance software will warn the
|
|
user if they install a package without those listed in its
|
|
<B>Recommends</B>
|
|
|
|
field.
|
|
<DT id="27"><B>Suggests:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
Lists packages that are related to this one and can perhaps enhance
|
|
its usefulness, but without which installing this package is perfectly
|
|
reasonable.
|
|
</DL>
|
|
<P>
|
|
|
|
The syntax of
|
|
<B>Depends</B>,
|
|
|
|
<B>Pre-Depends</B>,
|
|
|
|
<B>Recommends</B>
|
|
|
|
and
|
|
<B>Suggests</B>
|
|
|
|
fields is a list of groups of alternative packages. Each group is a list
|
|
of packages separated by vertical bar (or "pipe") symbols,
|
|
'<B>|</B>'.
|
|
The groups are separated by commas.
|
|
Commas are to be read as "AND", and pipes as "OR", with pipes
|
|
binding more tightly.
|
|
Each package name is optionally followed by an architecture qualifier
|
|
appended after a colon '<B>:</B>', optionally followed by a version
|
|
number specification in parentheses.
|
|
<P>
|
|
|
|
An architecture qualifier name can be a real Debian architecture name
|
|
(since dpkg 1.16.5) or <B>any</B> (since dpkg 1.16.2).
|
|
If omitted, the default is the current binary package architecture.
|
|
A real Debian architecture name will match exactly that architecture for
|
|
that package name, <B>any</B> will match any architecture for that package
|
|
name if the package has been marked as <B>Multi-Arch: allowed</B>.
|
|
<P>
|
|
|
|
A version number may start with a '<B>>></B>', in which case any later
|
|
version will match, and may specify or omit the Debian packaging revision
|
|
(separated by a hyphen).
|
|
Accepted version relationships are '<B>>></B>' for greater than,
|
|
'<B><<</B>' for less than, '<B>>=</B>' for greater than or
|
|
equal to, '<B><=</B>' for less than or equal to, and '<B>=</B>'
|
|
for equal to.
|
|
<DL COMPACT>
|
|
<DT id="28"><B>Breaks:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
Lists packages that this one breaks, for example by exposing bugs
|
|
when the named packages rely on this one. The package maintenance
|
|
software will not allow broken packages to be configured; generally
|
|
the resolution is to upgrade the packages named in a
|
|
<B>Breaks</B>
|
|
|
|
field.
|
|
<DT id="29"><B>Conflicts:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
Lists packages that conflict with this one, for example by containing
|
|
files with the same names. The package maintenance software will not
|
|
allow conflicting packages to be installed at the same time. Two
|
|
conflicting packages should each include a
|
|
<B>Conflicts</B>
|
|
|
|
line mentioning the other.
|
|
<DT id="30"><B>Replaces:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
List of packages files from which this one replaces. This is used for
|
|
allowing this package to overwrite the files of another package and
|
|
is usually used with the
|
|
<B>Conflicts</B>
|
|
|
|
field to force removal of the other package, if this one also has the
|
|
same files as the conflicted package.
|
|
</DL>
|
|
<P>
|
|
|
|
The syntax of
|
|
<B>Breaks</B>,
|
|
|
|
<B>Conflicts</B>
|
|
|
|
and
|
|
<B>Replaces</B>
|
|
|
|
is a list of package names, separated by commas (and optional whitespace).
|
|
In the
|
|
<B>Breaks</B>
|
|
|
|
and
|
|
<B>Conflicts</B>
|
|
|
|
fields, the comma should be read as "OR".
|
|
An optional architecture qualifier can also be appended to the package name
|
|
with the same syntax as above, but the default is <B>any</B> instead of the
|
|
binary package architecture.
|
|
An optional version can also be given with the same syntax as above for the
|
|
<B>Breaks</B>,
|
|
|
|
<B>Conflicts</B>
|
|
|
|
and
|
|
<B>Replaces</B>
|
|
|
|
fields.
|
|
<DL COMPACT>
|
|
<DT id="31"><B>Enhances:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
This is a list of packages that this one enhances.
|
|
It is similar to <B>Suggests</B> but in the opposite direction.
|
|
<DT id="32"><B>Provides:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
This is a list of virtual packages that this one provides.
|
|
Usually this is used in the case of several packages all providing the
|
|
same service.
|
|
For example, sendmail and exim can serve as a mail server, so they
|
|
provide a common package ("mail-transport-agent") on which
|
|
other packages can depend.
|
|
This will allow sendmail or exim to serve as a valid option to satisfy
|
|
the dependency.
|
|
This prevents the packages that depend on a mail server from having to
|
|
know the package names for all of them, and using '<B>|</B>' to
|
|
separate the list.
|
|
</DL>
|
|
<P>
|
|
|
|
The syntax of
|
|
<B>Provides</B>
|
|
|
|
is a list of package names, separated by commas (and optional whitespace).
|
|
An optional architecture qualifier can also be appended to the package
|
|
name with the same syntax as above.
|
|
If omitted, the default is the current binary package architecture.
|
|
An optional exact (equal to) version can also be given with the same
|
|
syntax as above (honored since dpkg 1.17.11).
|
|
<DL COMPACT>
|
|
<DT id="33"><B>Built-Using:</B><I> package-list</I>
|
|
|
|
<DD>
|
|
This field lists extra source packages that were used during the build of this
|
|
binary package. This is an indication to the archive maintenance software that
|
|
these extra source packages must be kept whilst this binary package is
|
|
maintained.
|
|
This field must be a list of source package names with strict '<B>=</B>'
|
|
version relationships. Note that the archive maintenance software is likely to
|
|
refuse to accept an upload which declares a
|
|
<B>Built-Using</B>
|
|
|
|
relationship which cannot be satisfied within the archive.
|
|
<DT id="34"><B>Built-For-Profiles:</B><I> profile-list (obsolete)</I>
|
|
|
|
<DD>
|
|
This field used to specify a whitespace separated list of build profiles that
|
|
this binary packages was built with (since dpkg 1.17.2 until 1.18.18).
|
|
The information previously found in this field can now be found in the
|
|
<B>.buildinfo</B> file, which supersedes it.
|
|
<DT id="35"><B>Auto-Built-Package:</B><I> reason-list</I>
|
|
|
|
<DD>
|
|
This field specifies a whitespace separated list of reasons why this package
|
|
was auto-generated.
|
|
Binary packages marked with this field will not appear in the
|
|
<I>debian/control</I> master source control file.
|
|
The only currently used reason is <B>debug-symbols</B>.
|
|
<DT id="36"><B>Build-Ids:</B><I> elf-build-id-list</I>
|
|
|
|
<DD>
|
|
This field specifies a whitespace separated list of ELF build-ids. These
|
|
are unique identifiers for semantically identical ELF objects, for each
|
|
of these within the package.
|
|
The format or the way to compute each build-id is not defined by design.
|
|
</DL>
|
|
<A NAME="lbAF"> </A>
|
|
<H2>EXAMPLE</H2>
|
|
|
|
|
|
<PRE>
|
|
Package: grep
|
|
Essential: yes
|
|
Priority: required
|
|
Section: base
|
|
Maintainer: Wichert Akkerman <<A HREF="mailto:wakkerma@debian.org">wakkerma@debian.org</A>>
|
|
Architecture: sparc
|
|
Version: 2.4-1
|
|
Pre-Depends: libc6 (>= 2.0.105)
|
|
Provides: rgrep
|
|
Conflicts: rgrep
|
|
Description: GNU grep, egrep and fgrep.
|
|
The GNU family of grep utilities may be the "fastest grep in the west".
|
|
GNU grep is based on a fast lazy-state deterministic matcher (about
|
|
twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper
|
|
search for a fixed string that eliminates impossible text from being
|
|
considered by the full regexp matcher without necessarily having to
|
|
look at every character. The result is typically many times faster
|
|
than Unix grep or egrep. (Regular expressions containing backreferencing
|
|
will run more slowly, however).
|
|
</PRE>
|
|
|
|
|
|
<A NAME="lbAG"> </A>
|
|
<H2>BUGS</H2>
|
|
|
|
The <B>Build-Ids</B> field uses a rather generic name out of its original
|
|
context within an ELF object, which serves a very specific purpose and
|
|
executable format.
|
|
<A NAME="lbAH"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?5+deb-src-control">deb-src-control</A></B>(5),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?5+deb">deb</A></B>(5),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?7+deb-version">deb-version</A></B>(7),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+debtags">debtags</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+dpkg">dpkg</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+dpkg-deb">dpkg-deb</A></B>(1).
|
|
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="37"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="38"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="39"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DT id="40"><A HREF="#lbAE">FIELDS</A><DD>
|
|
<DT id="41"><A HREF="#lbAF">EXAMPLE</A><DD>
|
|
<DT id="42"><A HREF="#lbAG">BUGS</A><DD>
|
|
<DT id="43"><A HREF="#lbAH">SEE ALSO</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:06:02 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|