From 24f19cda6f72f081de320292c676f6acaffc175c Mon Sep 17 00:00:00 2001 From: Michael Schroeder Date: Fri, 2 Mar 2012 16:33:22 +0100 Subject: [PATCH] - cleandeps: also mark products and their buddies as userinstalled --- src/rules.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/rules.c b/src/rules.c index 361af837..b024243b 100644 --- a/src/rules.c +++ b/src/rules.c @@ -2265,6 +2265,26 @@ static void solver_createcleandepsmap(Solver *solv) } dataiterator_free(&di); } + if (1) + { + /* all products and their buddies are userinstalled */ + for (p = installed->start; p < installed->end; p++) + { + Solvable *s = pool->solvables + p; + if (s->repo != installed) + continue; + if (!strncmp("product:", pool_id2str(pool, s->name), 8)) + { + MAPSET(&userinstalled, p - installed->start); + if (pool->nscallback) + { + Id buddy = pool->nscallback(pool, pool->nscallbackdata, NAMESPACE_PRODUCTBUDDY, p); + if (buddy >= installed->start && buddy < installed->end && pool->solvables[buddy].repo == installed) + MAPSET(&userinstalled, buddy); + } + } + } + } /* add all positive elements (e.g. locks) to "userinstalled" */ for (rid = solv->jobrules; rid < solv->jobrules_end; rid++) -- 2.47.2