From 5d25e5bd2f304e458385f5e58df2d3eb9b3c6f1d Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Thu, 30 Oct 2008 11:44:38 +0000 Subject: [PATCH] - also disable update rules for "keep installed" jobs. --- src/solver.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/solver.c b/src/solver.c index 6c23b0c..9dd4609 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; -- 2.7.4