Re: Documentation for Breaks in dpkg

2008-01-03 Thread Guillem Jover
Hi,

On Tue, 2008-01-01 at 13:46:58 -0800, Russ Allbery wrote:
 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.

The patch seems fine.

regards,
guillem


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Documentation for Breaks in dpkg

2008-01-01 Thread Russ Allbery
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