Ian Jackson [EMAIL PROTECTED] writes:
Package: debian-policy
Version: 3.7.2.1
Severity: wishlist
Tags: patch
As I report in #379140 (against dpkg), I have implemented Breaks in
dpkg. The attached patch is the corresponding change to the manual.
It would probably not be wise to apply this patch until we have
settled on a deployment plan for Breaks in Debian; as I say in
#379140, I hope to get around to that this weekend.
Here is an updated patch. The changes from Ian's original patch are:
* Add a statement saying that Breaks should not be used until support is
present in Debian stable, which I think was the consensus of recent
discussion on the policy list, and also note this near the mention of
Breaks in the Conflicts section.
* Just remove the entire paragraph about suidmanager from the
dpkg-statoverride section rather than changing it to use Breaks.
suidmanager predates oldstable at this point; I don't think there's any
reason to mention it ever existed at this point.
dpkg folks, could you please review this patch as a final double-check
that it matches the dpkg implementation as was committed and released? I
want to be sure that nothing changed from the original patch so that we
don't document the wrong thing in Policy.
Other policy readers, comments or seconds?
--- orig/policy.sgml
+++ mod/policy.sgml
@@ -2545,7 +2545,8 @@
sect1
headingPackage interrelationship fields:
ttDepends/tt, ttPre-Depends/tt,
- ttRecommends/tt, ttSuggests/tt, ttConflicts/tt,
+ ttRecommends/tt, ttSuggests/tt,
+ ttBreaks/tt, ttConflicts/tt,
ttProvides/tt, ttReplaces/tt, ttEnhances/tt
/heading
@@ -3336,8 +3337,8 @@
vardeconfigured's-postinst/var
ttabort-deconfigure/tt ttin-favour/tt
varfailed-install-package/var varversion/var
- ttremoving/tt varconflicting-package/var
- varversion/var
+ [ttremoving/tt varconflicting-package/var
+ varversion/var]
/item
/list
@@ -3362,9 +3363,9 @@
item
vardeconfigured's-prerm/var ttdeconfigure/tt
ttin-favour/tt varpackage-being-installed/var
- varversion/var ttremoving/tt
+ varversion/var [ttremoving/tt
varconflicting-package/var
- varversion/var
+ varversion/var]
/item
/list
@@ -3445,11 +3446,30 @@
/item
item
- If a conflicting package is being removed at the same time:
+ If a conflicting package is being removed at the same time,
+ or if any package will be broken (due to ttBreaks/tt):
enumlist
item
- If any packages depended on that conflicting
- package and tt--auto-deconfigure/tt is
+ If tt--auto-deconfigure/tt is
+ specified, call, for each package to be deconfigured
+ due to ttBreaks/tt:
+ example compact=compact
+vardeconfigured's-prerm/var deconfigure \
+ in-favour varpackage-being-installed/var varversion/var
+ /example
+ Error unwind:
+ example compact=compact
+vardeconfigured's-postinst/var abort-deconfigure \
+ in-favour varpackage-being-installed-but-failed/var varversion/var
+ /example
+ The deconfigured packages are marked as
+ requiring configuration, so that if
+ tt--install/tt is used they will be
+ configured again if possible.
+ /item
+ item
+ If any packages depended on a conflicting
+ package being removed and tt--auto-deconfigure/tt is
specified, call, for each such package:
example compact=compact
vardeconfigured's-prerm/var deconfigure \
@@ -3468,7 +3488,7 @@
configured again if possible.
/item
item
- To prepare for removal of the conflicting package, call:
+ To prepare for removal of each conflicting package, call:
example compact=compact
varconflictor's-prerm/var remove \
in-favour varpackage/var varnew-version/var
@@ -3962,16 +3982,19 @@
p
This is done using the ttDepends/tt, ttPre-Depends/tt,
- ttRecommends/tt, ttSuggests/tt, ttEnhances/tt and
- ttConflicts/tt control file fields.
+ ttRecommends/tt, ttSuggests/tt, ttEnhances/tt,
+ ttBreaks/tt and ttConflicts/tt control file fields.
/p
p
- These six fields are used to declare a dependency
+ These seven fields are used to declare