|
|
@@ -353,6 +353,8 @@ int packagelist::resolvedepcon(dependency *depends) {
|
|
|
}
|
|
|
|
|
|
int packagelist::deppossatisfied(deppossi *possi, perpackagestate **fixbyupgrade) {
|
|
|
+ // `satisfied' here for Conflicts and Breaks means that the
|
|
|
+ // restriction is violated ie that the target package is wanted
|
|
|
int would;
|
|
|
pkginfo::pkgwant want= pkginfo::want_purge;
|
|
|
|
|
|
@@ -363,8 +365,9 @@ int packagelist::deppossatisfied(deppossi *possi, perpackagestate **fixbyupgrade
|
|
|
would= 0;
|
|
|
}
|
|
|
|
|
|
- if (!(possi->up->type == dep_conflicts && possi->up->up == possi->ed) &&
|
|
|
- possi->up->type == dep_conflicts ? (would != 0) : (would > 0)) {
|
|
|
+ if (possi->up->type == dep_conflicts
|
|
|
+ ? possi->up->up != possi->ed && would != 0
|
|
|
+ : would > 0) {
|
|
|
// If it's to be installed or left installed, then either it's of
|
|
|
// the right version, and therefore OK, or a version must have
|
|
|
// been specified, in which case we don't need to look at the rest
|