The following commit has been merged in the iwj branch:
commit 03f3e8bdca450e669d9eda7a54e836f1a47862cc
Author: Ian Jackson <[EMAIL PROTECTED]>
Date:   Thu Nov 1 20:00:04 2007 +0000

    * Implement `Breaks' properly in dselect.  It works just like Conflicts.
      This is correct since dselect only deals with packages being installed,
      removed or placed on hold.

diff --git a/debian/changelog b/debian/changelog
index 8a11ca8..f76aae6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -69,6 +69,9 @@ dpkg (1.14.8) UNRELEASED; urgency=low
   [ Ian Jackson ]
   * Treat successful calls to the postinst as always making the package
     installed.  Reverts Brian Carlson's patch from  #432893.
+  * Implement `Breaks' properly in dselect.  It works just like Conflicts.
+    This is correct since dselect only deals with packages being installed,
+    removed or placed on hold.
   * Correct broken dselect logic for self-conflicting packages.
 
  -- Raphael Hertzog <[EMAIL PROTECTED]>  Mon, 08 Oct 2007 20:49:51 +0200
diff --git a/dselect/pkgdepcon.cc b/dselect/pkgdepcon.cc
index 194f378..d07756d 100644
--- a/dselect/pkgdepcon.cc
+++ b/dselect/pkgdepcon.cc
@@ -223,7 +223,6 @@ int packagelist::resolvedepcon(dependency *depends) {
 
   case dep_provides:
   case dep_replaces:
-  case dep_breaks: /* FIXME: implement Breaks */
     return 0;
 
   case dep_enhances:
@@ -314,6 +313,7 @@ int packagelist::resolvedepcon(dependency *depends) {
     return r ? 2 : 0;
     
   case dep_conflicts:
+  case dep_breaks:
 
     if (depdebug && debug)
       fprintf(debug,"packagelist[%p]::resolvedepcon([%p]): conflict\n",
@@ -367,7 +367,7 @@ int packagelist::deppossatisfied(deppossi *possi, 
perpackagestate **fixbyupgrade
     would= 0;
   }
   
-  if (possi->up->type == dep_conflicts
+  if ((possi->up->type == dep_conflicts || possi->up->type == dep_breaks)
       ? possi->up->up != possi->ed && would != 0
       : would > 0) {
     // If it's to be installed or left installed, then either it's of

-- 
dpkg's main repository


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

Reply via email to