diff options
author | Michael Schroeder <mls@suse.de> | 2011-03-02 12:00:57 +0100 |
---|---|---|
committer | Michael Schroeder <mls@suse.de> | 2011-03-02 12:00:57 +0100 |
commit | 50126b5664a9dc5089911a5354d76febc6ed1a77 (patch) | |
tree | 4b69a5fbad8c1a776b6a4403a69843a824dc3406 | |
parent | 6ff10d16956d835ca597b082f448c2a06b9426ee (diff) | |
download | libsolv-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.changes | 6 | ||||
-rw-r--r-- | src/solver.c | 4 |
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); } } |