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