summaryrefslogtreecommitdiff
path: root/src/solver.c
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2013-04-26 14:49:55 +0200
committerMichael Schroeder <mls@suse.de>2013-04-26 14:49:55 +0200
commit982e0fa340f1bbbeee589f322b0b6757fa4597c4 (patch)
treec8ced36f65025eda7592a0dc91709ac1b617c699 /src/solver.c
parentb188af052a5091e05ea8b4e35b25b0456a88b09d (diff)
downloadlibsolv-982e0fa340f1bbbeee589f322b0b6757fa4597c4.tar.gz
libsolv-982e0fa340f1bbbeee589f322b0b6757fa4597c4.tar.bz2
libsolv-982e0fa340f1bbbeee589f322b0b6757fa4597c4.zip
bring libsolv in line with currrent rpm's multiversion handling
A multiversion install still obeys the obsoletes of a package. The solver already had a flag to support this, "keepexplicitobsoletes", but as this is a feature of the package manager it belongs in the pool, so that the transaction code can do the right thing. We now have a "noobsoletesmultiversion" flag in the pool that also defines the default for "keepexplicitobsoletes".
Diffstat (limited to 'src/solver.c')
-rw-r--r--src/solver.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/solver.c b/src/solver.c
index 70d7184..e1fe034 100644
--- a/src/solver.c
+++ b/src/solver.c
@@ -1427,6 +1427,8 @@ solver_create(Pool *pool)
solv->dup_allowarchchange = 1;
solv->dup_allowvendorchange = 1;
+ solv->keepexplicitobsoletes = pool->noobsoletesmultiversion ? 0 : 1;
+
queue_init(&solv->ruletojob);
queue_init(&solv->decisionq);
queue_init(&solv->decisionq_why);