From 7fa7ae05bdadb3736b3133ec6046638d807c8908 Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Thu, 10 Mar 2016 11:48:52 +0100 Subject: [PATCH] Do not try to update pseudo packages when we update the linked package as well (bnc#967006) --- src/solver.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/solver.c b/src/solver.c index 15a31144..c6f59e20 100644 --- a/src/solver.c +++ b/src/solver.c @@ -2205,7 +2205,16 @@ solver_run_sat(Solver *solv, int disablerules, int doweak) { if (!rr->p) { - /* specialupdater with no update/feature rule */ + /* specialupdater with no update/feature rule, i.e. a pseudo package */ + /* ignore if we also update the linked package */ + /* XXX: better map package in the updatemap? */ + if (solv->instbuddy && solv->instbuddy[s - pool->solvables - installed->start] > 1) + { + Id ip = solv->instbuddy[s - pool->solvables - installed->start]; + if (ip >= installed->start && ip < installed->end) + if (MAPTST(&solv->noupdate, ip - installed->start) || solv->updatemap_all || (solv->updatemap.size && MAPTST(&solv->updatemap, ip - installed->start))) + continue; + } for (d = specialupdaters[i - installed->start]; (p = pool->whatprovidesdata[d++]) != 0; ) { if (solv->decisionmap[p] > 0) -- 2.47.2