From: Michael Schroeder Date: Thu, 30 Oct 2008 11:44:38 +0000 (+0000) Subject: - also disable update rules for "keep installed" jobs. X-Git-Tag: BASE-SuSE-Code-12_1-Branch~308^2~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d25e5bd2f304e458385f5e58df2d3eb9b3c6f1d;p=thirdparty%2Flibsolv.git - also disable update rules for "keep installed" jobs. --- diff --git a/src/solver.c b/src/solver.c index 6c23b0cd..9dd4609a 100644 --- a/src/solver.c +++ b/src/solver.c @@ -914,7 +914,10 @@ disableupdaterules(Solver *solv, Queue *job, int jobidx) if (solv->noobsoletes.size && MAPTST(&solv->noobsoletes, what)) break; if (s->repo == installed) - break; + { + MAPSET(&solv->noupdate, what - installed->start); + break; + } if (s->obsoletes) { Id obs, *obsp; @@ -962,7 +965,18 @@ disableupdaterules(Solver *solv, Queue *job, int jobidx) break; s = pool->solvables + what; if (s->repo == installed) - break; + { + r = solv->rules + solv->updaterules + (what - installed->start); + if (r->d >= 0) + break; + enablerule(solv, r); + IF_POOLDEBUG (SAT_DEBUG_SOLUTIONS) + { + POOL_DEBUG(SAT_DEBUG_SOLUTIONS, "@@@ re-enabling "); + solver_printrule(solv, SAT_DEBUG_SOLUTIONS, r); + } + break; + } if (s->obsoletes) { Id obs, *obsp;