| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- .\" Hey, Emacs! This is an -*- nroff -*- source file.
- .\" Author: Raul Miller
- .\" Includes text from the debian Guidelines by Ian Jackson, Ian Murdock
- .TH DEB-CONTROL 5 "29th November 1995" "Debian Project" "Debian GNU/Linux"
- .SH NAME
- deb\-control \- Debian GNU/Linux packages' master control file format
- .SH SYNOPSIS
- control
- .SH DESCRIPTION
- Master control file format:
- .LP
- The `control' file contains a number of fields. Each field begins
- with a tag, such as
- .B Package
- or
- .B Version
- (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
- field, see below).
- .SH REQUIRED FIELDS
- .TP
- .BR Package: \ <package\ name>
- The value of this field is used to generate file names by some
- installation tools.
- .TP
- .BR Version: \ <version\ string>
- Typically, this is the original portable package's version
- number in whatever form the program's author uses. It may also include
- a Debian revision number (for non-native packages). If both version and
- revision are supplied, they are seperated by a '-'. For this reason,
- the original version cannot have a '-' in its version number.
- .TP
- .BR Maintainer: \ <fullname\ email>
- Should be in the format `Joe Bloggs <jbloggs@foo.com>', and is typically
- the person who created the package as opposed to the author of the
- software that was packages.
- .TP
- .BR Description: \ <package\ description>
- The format for the package description is a short brief summary on the
- first line (after the "Description" field). The following lines can 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 desription must
- contain a single '.' following the preceding space.
- .SH OPTIONAL FIELDS
- .TP
- .BR Section: \ <section>
- This is a general field that gives the package a category based on the software
- that it installs. Some common sections are `mail', `text' and `new'.
- .TP
- .BR Priority: \ <priority>
- Sets the importance of this package in relation to the system as a whole. Common
- priorities are `base', `standard' and `optional'.
- .LP
- In Debian, the
- .B Section
- and
- .B Priority
- fields have a defined set of accepted values based on policy. They are used to
- decide how the packages are layed out in the archive. A list of these can be
- obtained from the latest
- .B debian-policy
- package.
- .TP
- .BR Essential: \ <yes|no>
- This field is usually only needed when the answer is `yes'. It denotes a
- package that is required for proper operation of the system. Dpkg will not
- allow this an
- .B Essential
- package to be removed without using one of the force options.
- .TP
- .BR Architecture: \ <arch|all>
- The architecture specifies which type of hardware this package was compiled
- for. Common architectures are `i386', `sparc' and `alpha'. Note that the
- .B all
- option is meant for packages that are architecture independent. Some examples
- of this are perl scripts and documentation.
- .TP
- .BR Source: \ <source\ name>
- The name of the source that this package came from, if different than the
- name of the package itself.
- .TP
- .BR Depends: \ <package\ list>
- 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 without also installing
- packages listed in its
- .B Depends
- field, and will run the postinst scripts of packages listed in DEPENDS
- fields before those of the packages which depend on them, and run
- prerm scripts before.
- .TP
- .BR Pre-Depends: \ <package\ list>
- List of packages that must be installed
- .B and
- configured before this one can be installed. This is usually used in the
- case where this package requires the pre depend for running its preinst
- script.
- .TP
- .BR Recommends: \ <package\ list>
- 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
- field.
- .TP
- .BR Suggests: \ <package\ list>
- Lists packages that are related to this one and can perhaps enhance
- its usefulness, but without which installing this package is perfectly
- reasonable. The package maintenance software will not moan at the
- user for not selecting suggested packages, but may use the information
- in the
- .B Suggests
- field to assist the user during package selection.
- .LP
- The syntax of
- .B Depends ,
- .B Pre-Depends ,
- .B Recommends
- and
- .B Suggests
- is a list of groups of alternative packages. Each group is a list of
- packages separated by vertical bar (or `pipe') symbols, `|'. The
- groups are separated by commas. Each package is a package name
- optionally followed by a version number specification in parentheses.
- A version number may start with a `>>', in which case any later version
- will match, and may specify or omit the Debian packaging revision
- (separated by a hyphen). Commas are to be read as `AND', and pipes as
- `OR', with pipes binding more tightly.
- .LP
- Accepted version relationships are ">>" for greater than, "<<" for less than,
- ">=" for greater than or equal to, "<=" for less than or equal to, and "="
- for equal to.
- .TP
- .BR Conflicts: \ <package\ list>
- Lists packages that conflict with this one, for example by containing
- files with the same names (an example would be Smail vs. Sendmail).
- 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
- line mentioning the other.
- .TP
- .BR Replaces: \ <package\ list>
- List of packages that 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
- field to force removal of the other package, if this one also has the same files
- as the conflicted package.
- .TP
- .BR Provides: \ <package\ list>
- This is a list of virtual packages that this one provides. Usuaully this is used
- in the case of several packages all providing the same service. For example,
- sendmail and smail both can serve as a mail server, so they provide a common package
- on which other packages can depend. This will allow sendmail or smail to serve
- as a valid option to satisy the one dependency. This prevents the packages that
- depend on a mail server from having to know the package names for all of them,
- and using `|' to seperate the list.
- .LP
- The syntax of
- .B Conflicts ,
- .B Replaces
- and
- .B Provides
- is a list of package names, separated by commas (and optional
- whitespace). In the
- .B Conflicts
- field, the comma should be read as `OR'. An optional version can also be given
- with the same syntax as above for the
- .B Conflicts
- and
- .B Replaces
- fields.
- .SH EXAMPLE
- .PP
- .RS
- .nf
- Package: grep
- Essential: yes
- Priority: required
- Section: base
- Maintainer: Wichert Akkerman <wakkerma@debian.org>
- Architecture: sparc
- Version: 2.3-7
- Pre-Depends: libc6 (>= 2.0.105)
- Description: GNU grep, egrep and fgrep.
- The GNU set of grep tools. Many times faster than standard
- unix grep.
- .fi
- .RE
- .PP
- .SH SEE ALSO
- .BR deb (5),
- .BR dpkg (8),
- .BR dpkg-deb (1),
- .BR dselect (8).
|