From 8bd3b30a6000ec396e4ac6ec927af815e52e1e11 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 317dc773..320d7775 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