(debian-policy.info)Dependencies


Next: Virtual packages Prev: The description of a package Up: Binary packages
Enter node , (file) or (file)node

3.5 Dependencies
================

Every package must specify the dependency information about other
packages that are required for the first to work correctly.

For example, a dependency entry must be provided for any shared
libraries required by a dynamically-linked executable binary in a
package.

Packages are not required to declare any dependencies they have on other
packages which are marked ‘Essential’ (see below), and should not do so
unless they depend on a particular version of that package.  (1)

Sometimes, unpacking one package requires that another package be first
unpacked `and' configured.  In this case, the depending package must
specify this dependency in the ‘Pre-Depends’ control field.

You should not specify a ‘Pre-Depends’ entry for a package before this
has been discussed on the ‘debian-devel’ mailing list and a consensus
about doing that has been reached.

The format of the package interrelationship control fields is described
in Note: Declaring relationships between packages.

   ---------- Footnotes ----------

   (1) Essential is needed in part to avoid unresolvable dependency
loops on upgrade.  If packages add unnecessary dependencies on packages
in this set, the chances that there `will' be an unresolvable dependency
loop caused by forcing these Essential packages to be configured first
before they need to be is greatly increased.  It also increases the
chances that frontends will be unable to `calculate' an upgrade path,
even if one exists.

Also, functionality is rarely ever removed from the Essential set, but
`packages' have been removed from the Essential set when the
functionality moved to a different package.  So depending on these
packages `just in case' they stop being essential does way more harm
than good.


automatically generated by info2www version 1.2.2.9