From 136b7aa3e9d1b7d144b2c00a55ce046c35979fe4 Mon Sep 17 00:00:00 2001 From: Manoj Srivastava Date: Thu, 16 Jun 2005 05:36:17 +0000 Subject: [PATCH] wrapping up #87510 Author: joy Date: 2003/02/05 14:13:59 wrapping up #87510 git-archimport-id: srivasta@debian.org--etch/debian-policy--devel--3.0--patch-175 --- debian/changelog | 9 +++++ policy.sgml | 76 +++++++++++++++++++++------------------- upgrading-checklist.html | 3 ++ 3 files changed, 51 insertions(+), 37 deletions(-) diff --git a/debian/changelog b/debian/changelog index a2fdd7f..4d0be9e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,15 @@ debian-policy (3.5.9.0) unstable; urgency=low fixes the bug with potato, and even if it doesn't, I don't care :) closes #103459. * Fixed typos in the debconf spec noticed by Jay Bonci, closes: #178455. + * Clarified that using Build-Depends for build-dependencies is not a "may" + but a "should", added proper linking among various sections dealing with + the dependencies so that there is no confusion, closes: #87510. + If any one of those poor, misguided people ;) still thinks that the + requirement should be a "must" (in _our_ meaning, not RFC "MUST"), + please file a new bug, as it's quite unproductive to have to sift + through a 152-page bug log which mostly goes back-and-forth with + explanations how policy should work, occasionally sprinkled with + offtopic stuff, too. -- diff --git a/policy.sgml b/policy.sgml index c889fdd..d73dc6f 100644 --- a/policy.sgml +++ b/policy.sgml @@ -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 @@ Package: libc6 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 @@ Build-Depends: kernel-headers-2.2.10 [!hurd-i386], 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 @@ Provides: bar 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,24 @@ Replaces: mail-transport-agent 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. + Build-dependencies on "build-essential" binary packages 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: diff --git a/upgrading-checklist.html b/upgrading-checklist.html index 9b9e98b..23f8067 100644 --- a/upgrading-checklist.html +++ b/upgrading-checklist.html @@ -57,6 +57,9 @@ picking your way through this list. - The section describing the Description: package filed once again has full details of the long description format. [5.7.2] + - Clarified that if a package has non-build-essential + build-dependencies, it should have them listed in the Build-Depends + and related fields (i.e. it's just optional). [2.4.2] 3.5.8.0 Nov 02 -- 2.39.5