From: Russ Allbery Date: Thu, 17 Jun 2010 18:22:04 +0000 (-0700) Subject: Fix various wording problems with the new Breaks/Conflicts sections X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=1f7643d5603cd26efd9b8f58fd72f2803afdc194;p=debian%2Fdebian-policy.git Fix various wording problems with the new Breaks/Conflicts sections --- diff --git a/policy.sgml b/policy.sgml index bda2771..f2d81e8 100644 --- a/policy.sgml +++ b/policy.sgml @@ -4644,9 +4644,9 @@ Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any] version of an (implicit or explicit) dependency which violates an assumption or reveals a bug in earlier versions of the broken package, or which takes over a file from earlier versions of the - broken package. This use of Breaks will inform - higher-level package management tools that the broken package - must be upgraded before the new one. + package named in Breaks. This use of Breaks + will inform higher-level package management tools that the + broken package must be upgraded before the new one.

@@ -4729,9 +4729,7 @@ Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any] Conflicts should be used when two packages provide the same file and will - continue to do so (but be aware that this is often an error - that should be fixed rather than using Conflicts -- - see, for example, ), + continue to do so, in conjunction with Provides when only one package providing a given virtual facility may be installed at a time (see ), @@ -4741,6 +4739,11 @@ Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any] that must prevent both packages from being unpacked at the same time, not just configured. + Be aware that adding Conflicts is normally not the best + solution when two packages provide the same files. Depending on + the reason for that conflict, using alternatives or renaming the + files is often a better approach. See, for + example, .

@@ -4806,13 +4809,12 @@ Provides: bar breakage). In other words, if a version number is specified, this is a request to ignore all Provides for that package name and consider only real packages. The package - manager will assume that a package which package which provides - that virtual package is not of the "right" version. - A Provides field may not contain version numbers, and - the version number of the concrete package which provides a - particular virtual package will not be considered when - considering a dependency on or conflict with the virtual package - name. + manager will assume that a package providing that virtual + package is not of the "right" version. A Provides + field may not contain version numbers, and the version number of + the concrete package which provides a particular virtual package + will not be considered when considering a dependency on or + conflict with the virtual package name. It is possible that a future release of dpkg may add the ability to specify a version number for each virtual package it provides. This feature is not yet present, @@ -4862,10 +4864,10 @@ Provides: bar package and will be taken over by the new package. Normally, Breaks should be used in conjunction with Replaces. - To see why Breaks is required in addition - to Provides, consider the - case of a file in the package foo being - taken over by the package foo-data. + To see why Breaks is normally needed in addition + to Replaces, consider the case of a file in the + package foo being taken over by the + package foo-data. Replaces will allow foo-data to be installed and take over that file. However, without Breaks, nothing @@ -4889,10 +4891,10 @@ Provides: bar Replaces: foo (<< 1.2-3) Breaks: foo (<< 1.2-3) - + in its control file. The new version of the package foo would normally have the field - + Depends: foo-data (>= 1.2-3) (or possibly Recommends or even Suggests if