summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2011-03-02 12:00:57 +0100
committerMichael Schroeder <mls@suse.de>2011-03-02 12:00:57 +0100
commit50126b5664a9dc5089911a5354d76febc6ed1a77 (patch)
tree4b69a5fbad8c1a776b6a4403a69843a824dc3406
parent6ff10d16956d835ca597b082f448c2a06b9426ee (diff)
downloadlibsolv-50126b5664a9dc5089911a5354d76febc6ed1a77.tar.gz
libsolv-50126b5664a9dc5089911a5354d76febc6ed1a77.tar.bz2
libsolv-50126b5664a9dc5089911a5354d76febc6ed1a77.zip
- ignore to be dropped orhaned packages when calculating candidates for recommends/supplements installation
-rw-r--r--package/libsatsolver.changes6
-rw-r--r--src/solver.c4
2 files changed, 10 insertions, 0 deletions
diff --git a/package/libsatsolver.changes b/package/libsatsolver.changes
index c20ec06..7ce87f4 100644
--- a/package/libsatsolver.changes
+++ b/package/libsatsolver.changes
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Thu Feb 24 17:44:05 CET 2011 - mls@suse.de
+
+- ignore to be dropped orhaned packages when calculating
+ candidates for recommends/supplements installation
+
+-------------------------------------------------------------------
Wed Feb 2 09:24:42 UTC 2011 - kkaempf@novell.com
- Split off 'applayer' and 'bindings' as a separate package
diff --git a/src/solver.c b/src/solver.c
index 7cefd1a..f188026 100644
--- a/src/solver.c
+++ b/src/solver.c
@@ -1722,6 +1722,8 @@ solver_run_sat(Solver *solv, int disablerules, int doweak)
}
else if (solv->decisionmap[p] == 0)
{
+ if (solv->dupmap_all && solv->installed && pool->solvables[p].repo == solv->installed && (solv->droporphanedmap_all || (solv->droporphanedmap.size && MAPTST(&solv->droporphanedmap, p - solv->installed->start))))
+ continue;
queue_pushunique(&dq, p);
}
}
@@ -1737,6 +1739,8 @@ solver_run_sat(Solver *solv, int disablerules, int doweak)
continue;
if (!solver_is_supplementing(solv, s))
continue;
+ if (solv->dupmap_all && solv->installed && s->repo == solv->installed && (solv->droporphanedmap_all || (solv->droporphanedmap.size && MAPTST(&solv->droporphanedmap, i - solv->installed->start))))
+ continue;
queue_push(&dqs, i);
}
}