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]