| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 |
- .\" Author: Oxan van Leeuwen
- .\" Includes text from the deb-control manual page by Raul Miller
- .TH deb\-src\-control 5 "2010-11-22" "Debian Project" "Debian"
- .SH NAME
- deb\-src\-control \- Debian source packages' master control file format
- .
- .SH SYNOPSIS
- control
- .
- .SH DESCRIPTION
- Each Debian source package contains the master "control" file, which contains
- at least 2 paragraphs, separated by a blank line. The first paragraph lists
- all information about the source package in general, while each following
- paragraph describes exactly one binary package. Each paragraph consists of at
- least one field. A field starts with a fieldname, such as
- .B Package
- or
- .B Section
- (case insensitive), followed by a colon, the body of the field and a newline.
- Multi-line fields are also allowed, but each supplementary line, without a
- fieldname, should start with at least one space. The content of the multi-line
- fields is generally joined to a single line by the tools (except in the case of
- the
- .B Description
- field, see below). To insert empty lines into a multi-line
- field, insert a dot after the space. The paragraphs are separated by an empty
- line. Lines starting with a \fB'#'\fP are treated as comments.
- .
- .SH SOURCE FIELDS
- .TP
- .BR Source: " <source package name> (required)"
- The value of this field is the name of the source package, and should
- match the name of the source package in the debian/changelog file. A package
- name must consist only of lower case letters (a-z), digits (0-9), plus (+) and
- minus (-) signs, and periods (.). Package names must be at least two characters
- long and must start with an alphanumeric character.
- .TP
- .BR Maintainer: " <fullname email> (required)"
- Should be in the format "Joe Bloggs <jbloggs@foo.com>", and references the
- person who currently maintains the package, as opposed to the author of the
- software or the original packager.
- .TP
- .BR Uploaders: " <fullname email>"
- Lists all the names and email addresses of co-maintainers of the package, in
- the same format as the Maintainer field. Multiple co-maintainers should be
- separated by a comma.
- .TP
- .BR Standards-Version: " <version string>"
- This documents the most recent version of the standards (which consists of the
- Debian Policy Manual and referenced texts from the
- .B debian-policy
- package) this package complies to.
- .TP
- .BR DM-Upload-Allowed: " <yes|no>"
- This field indicates whether the package can be uploaded by Debian Maintainers
- appearing in the Maintainer or Uploaders field. The default value is "no".
- .TP
- .BR Homepage: " <url>"
- The upstream project home page URL.
- .TP
- .BR Bugs: " <url>"
- The url of the bug tracking system for this package. The current used format
- is \fB<bts_type>://<bts_address>\fP, like \fBdebbugs://bugs.debian.org\fP. This
- field is usually not needed.
- .TP
- .BR Vcs-*: " <url>"
- The url of the Version Control System repository used to maintain this package.
- Currently supported are Arch, Bzr (Bazaar), Cvs, Darcs, Git, Hg (Mercurial),
- Mtn (Monotone) and Svn (Subversion). Usually this field points to the latest
- version of the package, such as the main branch or the trunk.
- .TP
- .BR Vcs-Browser: " <url>"
- The url of a webinterface to browse the Version Control System repository.
- .TP
- .BR Origin: " <name>"
- The name of the distribution this package is originating from. This field is
- usually not needed.
- .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 "utils", "net",
- "mail", "text", "x11", etc.
- .TP
- .BR Priority: " <priority>"
- Sets the importance of this package in relation to the system as a whole.
- Common priorities are "required", "standard", "optional", "extra", etc.
- In Debian, the
- .B Section
- and
- .B Priority
- fields have a defined set of accepted values based on the Policy Manual.
- A list of these values can be obtained from the latest version of the
- .B debian-policy
- package.
- .TP
- .BR Build-Depends: " <package list>"
- A list of packages that need to be installed and configured to be able to build
- the source package.
- .TP
- .BR Build-Depends-Indep: " <package list>"
- Same as Build-Depends, but they are only needed when building the architecture
- independent
- packages. The Build-Depends are also installed in this case.
- .TP
- .BR Build-Conflicts: " <package list>"
- A list of packages that should not be installed when the package is build, for
- example because they interfere with the used build system.
- .TP
- .BR Build-Conflicts-Indep: " <package list>"
- Same as Build-Conflicts, but only when building the architecture independent
- packages.
- The syntax of the
- .B Build-Depends
- and
- .B Build-Depends-Indep
- fields 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. Commas are to be read as "AND", and pipes
- as "OR", with pipes binding more tightly. Each package name is
- optionally followed by a version number specification in parentheses and an
- architecture specification in square brackets.
- The syntax of the
- .B Build-Conflicts
- and
- .B Build-Conflicts-Indep
- fields is a list of comma-separated package names, where the comma is read
- as an "AND". Specifying alternative packages using a "pipe" is not supported.
- Each package name is optionally followed by a version number specification in
- parentheses and an architecture specification in square brackets.
- 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). 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.
- A architecture specification consists of one or more architecture names,
- separated by whitespace. Exclamation marks may be prepended to each of the
- names, meaning "NOT".
- Note that dependencies on packages in the
- .B build-essential
- set can be omitted and that declaring build conflicts against them is
- impossible. A list of these packages is in the build-essential package.
- .SH BINARY FIELDS
- .LP
- Note that the
- .BR Priority ", " Section
- and
- .B Homepage
- fields can also be in a binary paragraph to override the global value from the
- source package.
- .TP
- .BR Package: " <binary package name> (required)"
- This field is used to name the binary package name. The same restrictions as
- to a source package name apply.
- .TP
- .BR Architecture: " <arch|all|any> (required)"
- The architecture specifies on which type of hardware this package runs. For
- packages that run on all architectures, use the
- .B any
- value. For packages that are architecture independent, such as shell and Perl
- scripts or documentation, use the
- .B all
- value. To restrict the packages to a certain set of architectures, specify the
- architecture names, separated by a space.
- .TP
- .BR Package-Type: " <deb|udeb>"
- This field defines the type of the package. "udeb" is for size-constrained
- packages used by the debian installer. "deb" is the default value, it's
- assumed if the field is absent. More types might be added in the future.
- .TP
- .PD 0
- .BR Subarchitecture: " <value>"
- .TP
- .PD 0
- .BR Kernel-Version: " <value>"
- .TP
- .PD 0
- .BR Installer-Menu-Item: " <value>"
- 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
- package for more details about them.
- .TP
- .PD 0
- .BR Essential: " <yes|no>"
- .TP
- .PD 0
- .BR Multi-Arch: " <same|foreign|allowed> "
- .TP
- .PD 0
- .BR Tag: " <tag list>"
- .TP
- .PD 0
- .BR Description: " <short description> (required)"
- These fields are described in the
- .BR deb-control (5)
- manual page, as they are copied literally to the control file of the binary
- package.
- .TP
- .PD 0
- .BR Depends: " <package list>"
- .TP
- .PD 0
- .BR Pre-Depends: " <package list>"
- .TP
- .PD 0
- .BR Recommends: " <package list>"
- .TP
- .PD 0
- .BR Suggests: " <package list>"
- .TP
- .PD 0
- .BR Breaks: " <package list>"
- .TP
- .PD 0
- .BR Enhances: " <package list>"
- .TP
- .PD 0
- .BR Replaces: " <package list>"
- .TP
- .PD 0
- .BR Conflicts: " <package list>"
- .TP
- .PD 0
- .BR Provides: " <package list>"
- .br
- These fields declare relationships between packages. They are discussed in
- the
- .BR deb-control (5)
- manpage and in the
- .B debian-policy
- package.
- .SH USER-DEFINED FIELDS
- It is allowed to add additional user-defined fields to the control file. The
- tools will ignore these fields. If you want the fields to be copied over to
- the output files, such as the binary packages, you need to use a custom naming
- scheme: the fields should start with a X, followed by one or more of the
- letters BCS and a hypen. If the letter B is used, the field will appear in the
- control file in the binary package, see
- .BR deb-control (5),
- for the letter S in the source package control file as constructed by
- .BR dpkg-source (1)
- and for the letter C in the upload control (.changes) file. Note that the
- X[BCS]- prefixes are stripped when the fields are copied over to the
- output files. A field \fBXC-Approved-By\fP will appear as
- \fBApproved-By\fP in the changes file and will not appear in the binary or
- source package control files.
- .SH EXAMPLE
- .\" .RS
- .nf
- # Comment
- Source: dpkg
- Section: admin
- Priority: required
- Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
- # this field is copied to the binary and source packages
- XBS-Upstream-Release-Status: stable
- Homepage: http://wiki.debian.org/Teams/Dpkg
- Vcs-Browser: http://git.debian.org/?p=dpkg/dpkg.git
- Vcs-Git: git://git.debian.org/git/dpkg/dpkg.git
- Standards-Version: 3.7.3
- Build-Depends: pkg-config, debhelper (>= 4.1.81),
- libselinux1-dev (>= 1.28-4) [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64]
- Package: dpkg-dev
- Section: utils
- Priority: optional
- Architecture: all
- # this is a custom field in the binary package
- XB-Mentoring-Contact: Raphael Hertzog <hertzog@debian.org>
- Depends: dpkg (>= 1.14.6), perl5, perl-modules, cpio (>= 2.4.2-2), bzip2, lzma,
- patch (>= 2.2-1), make, binutils, libtimedate-perl
- Recommends: gcc | c-compiler, build-essential
- Suggests: gnupg, debian-keyring
- Conflicts: dpkg-cross (<< 2.0.0), devscripts (<< 2.10.26)
- Replaces: manpages-pl (<= 20051117-1)
- Description: Debian package development tools
- This package provides the development tools (including dpkg-source)
- required to unpack, build and upload Debian source packages.
- .
- Most Debian source packages will require additional tools to build;
- for example, most packages need make and the C compiler gcc.
- .fi
- .\" .RE
- .SH SEE ALSO
- .BR deb-control (5),
- .BR deb-version (5),
- .BR dpkg-source (1)
|