From: Michael Schroeder Date: Fri, 22 Mar 2013 12:45:45 +0000 (+0100) Subject: turn splitprovides off when doing the alreadyrecommended check X-Git-Tag: BASE-SuSE-Code-12_3-Branch~76 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f213feee97c4b5b7365e3e3b4d25a7e6365f1486;p=thirdparty%2Flibsolv.git turn splitprovides off when doing the alreadyrecommended check --- diff --git a/src/solver.c b/src/solver.c index c1518db6..55eca4a6 100644 --- a/src/solver.c +++ b/src/solver.c @@ -2197,6 +2197,7 @@ solver_run_sat(Solver *solv, int disablerules, int doweak) /* filter out all already supplemented packages if requested */ if (!solv->addalreadyrecommended && dqs.count) { + int dosplitprovides_old = solv->dosplitprovides; /* turn off all new packages */ for (i = 0; i < solv->decisionq.count; i++) { @@ -2207,6 +2208,7 @@ solver_run_sat(Solver *solv, int disablerules, int doweak) if (s->repo && s->repo != solv->installed) solv->decisionmap[p] = -solv->decisionmap[p]; } + solv->dosplitprovides = 0; /* filter out old supplements */ for (i = j = 0; i < dqs.count; i++) { @@ -2216,7 +2218,7 @@ solver_run_sat(Solver *solv, int disablerules, int doweak) continue; if (!solver_is_supplementing(solv, s)) dqs.elements[j++] = p; - else if (s->supplements && solv->installsuppdepq && solver_check_installsuppdepq(solv, s)) + else if (solv->installsuppdepq && solver_check_installsuppdepq(solv, s)) dqs.elements[j++] = p; } dqs.count = j; @@ -2230,6 +2232,7 @@ solver_run_sat(Solver *solv, int disablerules, int doweak) if (s->repo && s->repo != solv->installed) solv->decisionmap[p] = -solv->decisionmap[p]; } + solv->dosplitprovides = dosplitprovides_old; } /* multiversion doesn't mix well with supplements.