From cbffab246997fb5a06211dfb706b54e5ae5bb59f Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 16:58:51 +0200 Subject: Adding upstream version 1.21.22. Signed-off-by: Daniel Baumann --- man/deb-control.pod | 469 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 469 insertions(+) create mode 100644 man/deb-control.pod (limited to 'man/deb-control.pod') diff --git a/man/deb-control.pod b/man/deb-control.pod new file mode 100644 index 0000000..f30e917 --- /dev/null +++ b/man/deb-control.pod @@ -0,0 +1,469 @@ +# dpkg manual page - deb-control(5) +# +# Copyright © 1995 Raul Miller, Ian Jackson, Ian Murdock +# Copyright © 1999 Ben Collins +# Copyright © 2000 Wichert Akkerman +# Copyright © 2007-2011, 2013-2015 Guillem Jover +# Copyright © 2008-2012 Raphaël Hertzog +# +# This is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +=encoding utf8 + +=head1 NAME + +deb-control - Debian binary packages' master control file format + +=head1 SYNOPSIS + +B + +=head1 DESCRIPTION + +Each Debian binary package contains a B file in its B +member, and its L format is a subset of the master +B file in Debian source packages, see B(5). + +This file contains a number of fields. +Each field begins with a tag, such as +B +or +B +(case insensitive), followed by a colon, and the body of the field +(case sensitive unless stated otherwise). +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 +field, see below). + +=head1 FIELDS + +=over + +=item B I (required) + +The value of this field determines the package name, and is used to +generate file names by most installation tools. + +=item B B|B|I + +This field defines the type of the package. +B is for size-constrained packages used by the debian installer. +B is the default value, it is assumed if the field is absent. +More types might be added in the future. + +=item B I (required) + +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(7). + +=item B I (recommended) + +Should be in the format “Joe Bloggs Ejbloggs@foo.comE”, and is typically +the person who created the package, as opposed to the author of the +software that was packaged. + +=item B I (recommended) + +=item S< >I + +The format for the package description is a short brief summary on the +first line (after the 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<.>’ following the preceding space. + +=item B I
+ +This is a general field that gives the package a category based on the +software that it installs. +Some common sections are B, B, B, B, +B, etc. + +=item B I + +Sets the importance of this package in relation to the system as a whole. +Common priorities are B, B, B, +B, etc. + +=back + +The +B
+and +B +fields usually have a defined set of accepted values based on the specific +distribution policy. + +=over + +=item B I + +The approximate total size of the package's installed files, in KiB units. +The algorithm to compute the size is described in L. + +=item B B|B + +This field is usually only needed when the answer is B. +It denotes a package that is required mostly for proper booting of the system +or used for custom system-local meta-packages. +L or any other installation tool will not allow a B +package to be removed (at least not without using one of the force options). + +Supported since dpkg 1.20.1. + +=item B B|B + +This field is usually only needed when the answer is B. +It denotes a package that is required for the packaging system, for +proper operation of the system in general or during boot (although the latter +should be converted to B field instead). +L or any other installation tool will not allow an B +package to be removed (at least not without using one of the force options). + +=item B B|B + +This field is usually only needed when the answer is B, and is +commonly injected by the archive software. +It denotes a package that is required when building other packages. + +=item B I|B (required) + +The architecture specifies which type of hardware this package was compiled +for. +Common architectures are B, B, B, B, +etc. +Note that the +B +value is meant for packages that are architecture independent. +Some examples of this are shell and Perl scripts, and documentation. + +=item B I + +The name of the distribution this package is originating from. + +=item B I + +The I of the bug tracking system for this package. The current +used format is IB<://>I, like +B. + +=item B I + +The upstream project home page I. + +=item B I + +List of tags describing the qualities of the package. The description and +list of supported tags can be found in the B package. + +=item B B|B|B|B + +This field is used to indicate how this package should behave on a multi-arch +installations. + +=over + +=item B + +This value is the default when the field is omitted, in which case +adding the field with an explicit B value is generally not needed. + +=item B + +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. + +=item B + +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 is ignored). + +=item B + +This allows reverse-dependencies to indicate in their B +field that they accept this package from a foreign architecture by +qualifying the package name with B<:any>, but has no effect otherwise. + +=back + +=item B I [B<(>IB<)>] + +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 will be followed by a I in parenthesis. +This can happen for example on a binary-only non-maintainer upload, or when +setting a different binary version via «B». + +=item B I + +=item B I + +=item B I + +These fields are used by the debian-installer and are usually not needed. +For more details about them, see +L. + +=item B I + +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 +field aren't installed (at least not without using the force options). +In an installation, the postinst scripts of packages listed in 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 field. + +=item B I + +List of packages that must be installed +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. + +=item B I + +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 +field. + +=item B I + +Lists packages that are related to this one and can perhaps enhance +its usefulness, but without which installing this package is perfectly +reasonable. + +=back + +The syntax of +B, +B, +B +and +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<|>’. +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<:>’, optionally followed by a version +number specification in parentheses. + +An architecture qualifier name can be a real Debian architecture name +(since dpkg 1.16.5) or 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 will match any architecture for that package +name if the package has been marked as B. + +A version number may start with a ‘BE>’, 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 ‘BE>’ for greater than, +‘BE>’ for less than, ‘B=>’ for greater than or +equal to, ‘B=>’ for less than or equal to, and ‘B<=>’ +for equal to. + +=over + +=item B I + +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 +field. + +=item B I + +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 +line mentioning the other. + +=item B I + +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 +field to force removal of the other package, if this one also has the +same files as the conflicted package. + +=back + +The syntax of +B, +B +and +B +is a list of package names, separated by commas (and optional whitespace). +In the +B +and +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 instead of the +binary package architecture. +An optional version can also be given with the same syntax as above for the +B, +B +and +B +fields. + +=over + +=item B I + +This is a list of packages that this one enhances. +It is similar to B but in the opposite direction. + +=item B I + +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<|>’ to +separate the list. + +=back + +The syntax of +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). + +=over + +=item B I + +This dependency field lists extra source packages that were used during the +build of this binary package, for license compliance purposes. +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 comma-separated list of source package names with strict +‘B<=>’ version relationships enclosed within parenthesis. +Note that the archive maintenance software is likely to refuse to accept an +upload which declares a B relationship which cannot be satisfied +within the archive. + +=item B I + +This dependency field lists extra source packages that were used during the +build of this binary package, for static building purposes (for example +linking against static libraries, builds for source-centered languages such +as Go or Rust, usage of header-only C/C++ libraries, injecting data blobs +into code, etc.). +This is useful to track whether this package might need to be rebuilt when +source packages listed here have been updated, for example due to security +updates. +This field must be a comma-separated list of source package names with strict +‘B<=>’ version relationships enclosed within parenthesis. + +Supported since dpkg 1.21.3. + +=item B I (obsolete) + +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> file, which supersedes it. + +=item B I + +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 master source control file. +The only currently used reason is B. + +=item B I + +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. + +=back + +=head1 EXAMPLE + + Package: grep + Essential: yes + Priority: required + Section: base + Maintainer: Wichert Akkerman + 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). + +=head1 BUGS + +The 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. + +=head1 SEE ALSO + +L, +B(5), +B(5), +B(7), +B(1), +B(1), +B(1). -- cgit v1.2.3