From b2ed45712cf50b4c3dcceb557ce9edbb79390d4b Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Wed, 15 May 2013 16:48:59 +0200 Subject: [PATCH] Lookat at keepexplicitobsoletes when creating update rules for multiversion packages --- src/rules.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/rules.c b/src/rules.c index a144c400..1c3244ca 100644 --- a/src/rules.c +++ b/src/rules.c @@ -945,8 +945,15 @@ solver_addupdaterule(Solver *solv, Solvable *s, int allow_all) { if (MAPTST(&solv->multiversion, qs.elements[i])) { - /* it's ok if they have same nevra */ Solvable *ps = pool->solvables + qs.elements[i]; + /* if keepexplicitobsoletes is set and the name is different, + * we assume that there is an obsoletes. XXX: not 100% correct */ + if (solv->keepexplicitobsoletes && ps->name != s->name) + { + qs.elements[j++] = qs.elements[i]; + continue; + } + /* it's ok if they have same nevra */ if (ps->name != s->name || ps->evr != s->evr || ps->arch != s->arch) continue; } -- 2.47.2