[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#379150: marked as done (Documentation for Breaks in dpkg)



Your message dated Wed, 04 Jun 2008 23:32:03 +0000
with message-id <E1K42SZ-00060B-9K@ries.debian.org>
and subject line Bug#379150: fixed in debian-policy 3.8.0.0
has caused the Debian Bug report #379150,
regarding Documentation for Breaks in dpkg
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
379150: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=379150
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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.

Regards,
Ian.

diff -ru orig/debian-policy-3.7.2.1/debian/changelog debian-policy-3.7.2.1/debian/changelog
--- orig/debian-policy-3.7.2.1/debian/changelog	2006-06-20 06:20:13.000000000 +0100
+++ debian-policy-3.7.2.1/debian/changelog	2006-07-21 18:58:36.000000000 +0100
@@ -1,3 +1,9 @@
+debian-policy (3.7.2.1-0iwj1) unstable; urgency=low
+
+  * Document new `Breaks' dependency field.
+
+ -- Ian Jackson <iwj@ubuntu.com>  Fri, 21 Jul 2006 18:58:32 +0100
+
 debian-policy (3.7.2.1) unstable; urgency=low
 
   * Bug fix: "debian-policy: s/control are/&amp;a/; s/stats/status/;
Only in debian-policy-3.7.2.1/debian: changelog~
diff -ru orig/debian-policy-3.7.2.1/policy.sgml debian-policy-3.7.2.1/policy.sgml
--- orig/debian-policy-3.7.2.1/policy.sgml	2006-06-20 06:20:13.000000000 +0100
+++ debian-policy-3.7.2.1/policy.sgml	2006-07-21 18:56:52.000000000 +0100
@@ -2546,7 +2546,8 @@
 	<sect1>
 	  <heading>Package interrelationship fields:
 	    <tt>Depends</tt>, <tt>Pre-Depends</tt>,
-	    <tt>Recommends</tt>, <tt>Suggests</tt>, <tt>Conflicts</tt>,
+	    <tt>Recommends</tt>, <tt>Suggests</tt>,
+            <tt>Breaks</tt>, <tt>Conflicts</tt>,
 	    <tt>Provides</tt>, <tt>Replaces</tt>, <tt>Enhances</tt>
 	  </heading>
 
@@ -3319,8 +3320,8 @@
 		<var>deconfigured's-postinst</var>
 		<tt>abort-deconfigure</tt> <tt>in-favour</tt>
 		<var>failed-install-package</var> <var>version</var>
-		<tt>removing</tt> <var>conflicting-package</var>
-		<var>version</var>
+		[<tt>removing</tt> <var>conflicting-package</var>
+		<var>version</var>]
 	    </item>
 	  </list>
 
@@ -3345,9 +3346,9 @@
 	    <item>
 		<var>deconfigured's-prerm</var> <tt>deconfigure</tt>
 		<tt>in-favour</tt> <var>package-being-installed</var>
-		<var>version</var> <tt>removing</tt>
+		<var>version</var> [<tt>removing</tt>
 		<var>conflicting-package</var>
-		<var>version</var>
+		<var>version</var>]
 	    </item>
 	  </list>
 
@@ -3428,11 +3429,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 <tt>Breaks</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 <tt>Breaks</tt>:
+		      <example compact="compact">
+<var>deconfigured's-prerm</var> deconfigure \
+  in-favour <var>package-being-installed</var> <var>version</var>
+		      </example>
+		      Error unwind:
+		      <example compact="compact">
+<var>deconfigured's-postinst</var> abort-deconfigure \
+  in-favour <var>package-being-installed-but-failed</var> <var>version</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">
 <var>deconfigured's-prerm</var> deconfigure \
@@ -3451,7 +3471,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">
 <var>conflictor's-prerm</var> remove \
   in-favour <var>package</var> <var>new-version</var>
@@ -3945,16 +3965,19 @@
 
         <p>
           This is done using the <tt>Depends</tt>, <tt>Pre-Depends</tt>,
-          <tt>Recommends</tt>, <tt>Suggests</tt>, <tt>Enhances</tt> and
-          <tt>Conflicts</tt> control file fields.
+          <tt>Recommends</tt>, <tt>Suggests</tt>, <tt>Enhances</tt>,
+          <tt>Breaks</tt> and <tt>Conflicts</tt> control file fields.
         </p>
 
 	<p>
-	  These six fields are used to declare a dependency
+	  These seven fields are used to declare a dependency
 	  relationship by one package on another.  Except for
-	  <tt>Enhances</tt>, they appear in the depending (binary)
-	  package's control file.  (<tt>Enhances</tt> appears in the
-	  recommending package's control file.)
+	  <tt>Enhances</tt> and <tt>Breaks</tt>, they appear in the
+	  depending (binary) package's control file.
+	  (<tt>Enhances</tt> appears in the recommending package's
+	  control file, and <tt>Breaks</tt> appears in the version of
+	  depended-on package which causes the named package to
+	  break).
 	</p>
 
 	<p>
@@ -3991,7 +4014,7 @@
           point, and some packages may not be able to rely on their
           dependencies being present when being installed or removed,
           depending on which side of the break of the circular
-          dependcy loop they happen to be on.
+          dependency loop they happen to be on.
         </p>
 
 	<p>
@@ -4122,6 +4145,46 @@
 	</p>
       </sect>
 
+      <sect id="breaks">
+	<heading>Packages which break other packages - <tt>Breaks</tt></heading>
+
+	<p>
+          When one binary package declares that it breaks another,
+          <prgn>dpkg</prgn> will refuse to allow the package which
+          declares <tt>Breaks</tt> be installed unless the broken
+          package is deconfigured first, and it will refuse to
+          allow the broken package to be reconfigured.
+	</p>
+
+	<p>
+	  A package will not be regarded as causing breakage merely
+          because its configuration files are still installed; it must
+          be at least half-installed.
+	</p>
+
+	<p>
+	  A special exception is made for packages which declare that
+	  they break their own package name or a virtual package which
+	  they provide (see below): this does not count as a real
+	  breakage.
+	</p>
+
+	<p>
+	  Normally a <tt>Breaks</tt> entry will have an "earlier than"
+	  version clause; such a <tt>Breaks</tt> is introduced in the
+	  version of an (implicit or explicit) dependency which
+	  violates an assumption or reveals a bug in earlier versions
+	  of the broken package.  This use of <tt>Breaks</tt> will
+	  inform higher-level package management tools that broken
+	  package must be upgraded before the new one.
+	</p>
+
+        <p>
+          If the breaking package also overwrites some files from the
+	  older package, it should use <tt>Replaces</tt> (not
+	  <tt>Conflicts</tt>) to ensure this goes smoothly.
+      </sect>
+
       <sect id="conflicts">
 	<heading>Conflicting binary packages - <tt>Conflicts</tt></heading>
 
@@ -4167,7 +4230,8 @@
 	  "earlier than" version clause.  This would prevent
 	  <prgn>dpkg</prgn> from upgrading or installing the package
 	  which declared such a conflict until the upgrade or removal
-	  of the conflicted-with package had been completed.
+	  of the conflicted-with package had been completed.  Instead,
+          <tt>Breaks</tt> should be used.
 	</p>
       </sect>
 
@@ -4178,7 +4242,7 @@
 	  As well as the names of actual ("concrete") packages, the
 	  package relationship fields <tt>Depends</tt>,
 	  <tt>Recommends</tt>, <tt>Suggests</tt>, <tt>Enhances</tt>,
-	  <tt>Pre-Depends</tt>, <tt>Conflicts</tt>,
+	  <tt>Pre-Depends</tt>, <tt>Breaks</tt>, <tt>Conflicts</tt>,
 	  <tt>Build-Depends</tt>, <tt>Build-Depends-Indep</tt>,
 	  <tt>Build-Conflicts</tt> and <tt>Build-Conflicts-Indep</tt>
 	  may mention "virtual packages".
@@ -4214,16 +4278,16 @@
 	</p>
 
 	<p>
-	  If a dependency or a conflict has a version number attached
+	  If a relationship field has a version number attached
 	  then only real packages will be considered to see whether
 	  the relationship is satisfied (or the prohibition violated,
-	  for a conflict) - it is assumed that a real package which
-	  provides the virtual package is not of the "right" version.
-	  So, a <tt>Provides</tt> field may not contain version
-	  numbers, and the version number of the concrete package
-	  which provides a particular virtual package will not be
-	  looked at when considering a dependency on or conflict with
-	  the virtual package name.
+	  for a conflict or breakage) - it is assumed that a real
+	  package which provides the virtual package is not of the
+	  "right" version.  So, a <tt>Provides</tt> field may not
+	  contain version numbers, and the version number of the
+	  concrete package which provides a particular virtual package
+	  will not be looked at when considering a dependency on or
+	  conflict with the virtual package name.
 	</p>
 
 	<p>
@@ -7345,7 +7409,7 @@
 	    <prgn>dpkg-statoverride</prgn> is a replacement for the
 	    deprecated <tt>suidmanager</tt> package.  Packages which
 	    previously used <tt>suidmanager</tt> should have a
-	    <tt>Conflicts: suidmanager (<< 0.50)</tt> entry (or even
+	    <tt>Breaks: suidmanager (<< 0.50)</tt> entry (or even
 	    <tt>(<< 0.52)</tt>), and calls to <tt>suidregister</tt>
 	    and <tt>suidunregister</tt> should now be simply removed
 	    from the maintainer scripts.
Only in debian-policy-3.7.2.1: policy.sgml~

--- End Message ---
--- Begin Message ---
Source: debian-policy
Source-Version: 3.8.0.0

We believe that the bug you reported is fixed in the latest version of
debian-policy, which is due to be installed in the Debian FTP archive:

debian-policy_3.8.0.0.dsc
  to pool/main/d/debian-policy/debian-policy_3.8.0.0.dsc
debian-policy_3.8.0.0.tar.gz
  to pool/main/d/debian-policy/debian-policy_3.8.0.0.tar.gz
debian-policy_3.8.0.0_all.deb
  to pool/main/d/debian-policy/debian-policy_3.8.0.0_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 379150@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Russ Allbery <rra@debian.org> (supplier of updated debian-policy package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 04 Jun 2008 15:53:27 -0700
Source: debian-policy
Binary: debian-policy
Architecture: source all
Version: 3.8.0.0
Distribution: unstable
Urgency: low
Maintainer: Debian Policy List <debian-policy@lists.debian.org>
Changed-By: Russ Allbery <rra@debian.org>
Description: 
 debian-policy - Debian Policy Manual and related documents
Closes: 65577 186700 209008 250202 291460 367984 379150 392362 403391 422552 430649 431813 440420 442070 452105 455602 458910 473761 475731 480551 481640 481954
Changes: 
 debian-policy (3.8.0.0) unstable; urgency=low
 .
   * Bug fix: "[PROPOSAL] "debian/README.source" file for packages with
     non-trivial source", thanks to Wouter Verhelst, Jörg Sommer, Colin Watson,
     and Junichi Uekawa                                       (Closes: #250202).
   * Bug fix: "[AMENDMENT 11/02/2008] Manual page encoding", thanks to
     Colin Watson                                             (Closes: #440420).
   * Bug fix: "[PROPOSAL] common interface for parallel building in
     DEB_BUILD_OPTIONS", thanks to Loïc Minier, Peter Samuelson, and Robert
     Millan                                                   (Closes: #209008).
   * Bug fix: "Please clarify splitting/syntax of DEB_BUILD_OPTIONS", thanks to
     Loïc Minier, Peter Samuelson, Robert Millan, and Guillem Jover
                                                              (Closes: #430649).
   * Bug fix: "Documentation for Breaks in dpkg", thanks to Ian Jackson
                                                              (Closes: #379150).
   * Bug fix: "support for wrapped Uploaders should now be mandatory"
                                                              (Closes: #431813).
   * Bug fix: "[PROPOSAL] Add should not embed code from other packages",
     thanks to Neil McGovern, Colin Watson, Bill Allombert, Steve Langasek,
     Kurt Roeckx, and others                                  (Closes: #392362).
   * Bug fix: "Homepage field in debian/control undocumented", thanks to
     Mario Iseli                                              (Closes: #452105).
   * Bug fix: "Policy inconsistent with reality: base subsection no longer
     used", thanks to Magnus Holmgren, Bernd Zeimetz, and Colin Watson
                                                              (Closes: #442070).
   * Bug fix: "Inclusion of Apache Software License versions in
     /usr/share/common-licenses", thanks to Barry Hawkins     (Closes: #291460).
   * Bug fix: "[Amended] copyright should include notice if a package is
     not a part of Debian distribution", thanks to Taketoshi Sano
                                                              (Closes: #65577).
   * Bug fix: "scripts as configuration files: should vs. must", thanks to Frank
     Küster                                                   (Closes: #403391).
   * Bug fix: "debconf specification should allow underscores in template
     names", thanks to Colin Watson                           (Closes: #473761).
   * Bug fix: "clarify handling of run-time and compile-time support programs",
     thanks to Goswin Brederlow and Raphael Hertzog           (Closes: #367984).
   * Policy: better document version ranking and empty Debian revisions
     Wording: Russ Allbery <rra@debian.org>
     Seconded: Raphaël Hertzog <hertzog@debian.org>
     Seconded: Manoj Srivastava <srivasta@debian.org>
     Seconded: Guillem Jover <guillem@debian.org>
     Closes: #186700, #458910
   * Policy: remove obsolete app-defaults and Xresources provisions
     Wording: Julien Cristau <jcristau@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Closes: #480551
   * Bug fix: "Examples of dpkg frontends should mention apt now", thanks
     to Josh Triplett                                         (Closes: #455602).
   * Bug fix: "Minor typos and wording suggestions", thanks to Michael
     Tautschnig                                               (Closes: #422552).
   * Bug fix: "substvar reference moved from dpkg-source(1) to
     deb-substvars(5)", thanks to Ian Beckwith                (Closes: #475731).
   * Policy: bugs fixed in NMUs are now closed rather than marked fixed
     Wording: Russ Allbery <rra@debian.org> (thanks, Sandro Tosi)
     Closes: #481640
   * Policy: C.1.4, C.1.8: minor typos
     Wording: Sandro Tosi <matrixhasu@gmail.com>
     Closes: #481954
   * Remove the now-obsolete policy-process document.
   * Add an md5sums control file.
   * Add Vcs-Browser and Vcs-Git control fields.
   * Remove build system support for FHS 2.1 and FSSTND, mostly commented out.
   * Remove more temporary files created by the build.
   * Remove the FSSTND license from debian/copyright; no FSSTND files are
     currently part of policy.
   * Update FHS copyright dates in debian/copyright.
   * Standardize the spacing around headings in upgrading-checklist.html.
   * Remove old ChangeLog files and metadata headers in maintainer scripts
     and debian/rules.
Checksums-Sha1: 
 f42b9921908670eb41c04940875084bc07750592 1095 debian-policy_3.8.0.0.dsc
 3eda45d7ca5563bab8bfda93286137071979385c 638655 debian-policy_3.8.0.0.tar.gz
 73680c98bc62507858aa055bcf1f1688a812f5ba 1588552 debian-policy_3.8.0.0_all.deb
Checksums-Sha256: 
 507a048bc7c84039910843e284d8e0e305778224346fd981c6f749176cc79220 1095 debian-policy_3.8.0.0.dsc
 8321b1dddd3ddd55a09539c842084ea05a731265c4c5847997957a552ba1aaa4 638655 debian-policy_3.8.0.0.tar.gz
 6c2083f50ccaa5a2f2d7a89febd320cf3a862b3204157324ffd9b363daac3e58 1588552 debian-policy_3.8.0.0_all.deb
Files: 
 37ff33fb3ccebc4f87e23fd7b91e7859 1095 doc optional debian-policy_3.8.0.0.dsc
 2565d6eaceac0aa2d093538048c1b8ed 638655 doc optional debian-policy_3.8.0.0.tar.gz
 3b153faeec899cdf1199d4d46c5d8859 1588552 doc optional debian-policy_3.8.0.0_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIRyNB+YXjQAr8dHYRAt4NAKDbO1f3BlmKT5SgMVf4AHE2Z7bPTgCffcnI
Kwa3jEGgq+PV6dwiurjmSAc=
=wCDz
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: