Index: policy.sgml =================================================================== RCS file: /cvs/debian-policy/debian-policy/policy.sgml,v retrieving revision 1.89 diff -u -r1.89 policy.sgml --- policy.sgml 18 Jan 2003 23:08:36 -0000 1.89 +++ policy.sgml 25 Jan 2003 15:22:13 -0000 @@ -1262,7 +1262,7 @@ - + Package relationships

@@ -1349,6 +1349,10 @@ are properly satisfied.

+

+ explains the technical details. +

+ Changes to the upstream sources @@ -3116,34 +3120,6 @@ Declaring relationships between packages -

- Packages can declare in their control file that they have - certain relationships to other packages - for example, that - they may not be installed at the same time as certain other - packages, and/or that they depend on the presence of others, - or that they should overwrite files in certain other packages - if present. -

- -

- This is done using the Depends, Pre-Depends, - Recommends, Suggests, Enhances, - Conflicts, Provides and Replaces - control file fields. -

- -

- Source packages may declare relationships to binary packages, - saying that they require certain binary packages to be - installed or absent at the time of building the package. -

- -

- This is done using the Build-Depends, - Build-Depends-Indep, Build-Conflicts and - Build-Conflicts-Indep control file fields. -

- Syntax of relationship fields @@ -3250,6 +3226,19 @@ Pre-Depends +

+ Packages can declare in their control file that they have + certain relationships to other packages - for example, that + they may not be installed at the same time as certain other + packages, and/or that they depend on the presence of others. +

+ +

+ This is done using the Depends, Pre-Depends, + Recommends, Suggests, Enhances and + Conflicts control file fields. +

+

These five fields are used to declare a dependency relationship by one package on another. Except for @@ -3539,8 +3528,10 @@ packages - Replaces

- The Replaces control file field has two distinct - purposes, which come into play in different situations. + Packages can declare in their control file that they should + overwrite files in certain other packages, or completely + replace other packages. The Replaces control file + field has these two distinct purposes.

Overwriting files in other packages @@ -3630,13 +3621,25 @@ Build-Conflicts, Build-Conflicts-Indep +

+ Source packages that require certain binary packages to be + installed or absent at the time of building the package + can declare relationships to those binary packages. +

+ +

+ This is done using the Build-Depends, + Build-Depends-Indep, Build-Conflicts and + Build-Conflicts-Indep control file fields. +

+

- A source package may declare a dependency or a conflict on a - binary package, indicating which packages are required to be - present on the system in order to build the binary packages - from the source package. This is done with the control file - fields Build-Depends, Build-Depends-Indep, - Build-Conflicts and Build-Conflicts-Indep. + When binary packages are on the so-called build-essential + list, the build-dependencies can be omitted. Please see + for more information. +

+ +

The dependencies and conflicts they define must be satisfied (as defined earlier for binary packages) in order to invoke the targets in debian/rules, as follows: