Imported Upstream version 0.6.35
[platform/upstream/libsolv.git] / src / cleandeps.c
index cbe2020..1da28f6 100644 (file)
@@ -1122,23 +1122,22 @@ solver_createcleandepsmap(Solver *solv, Map *cleandepsmap, int unneeded)
 #endif
       if (s->repo == installed && pool->implicitobsoleteusescolors)
        {
-         Id a, bestarch = 0;
+         unsigned int a, bestscore = 0;
          FOR_PROVIDES(p, pp, s->name)
            {
              Solvable *ps = pool->solvables + p;
              if (ps->name != s->name || ps->repo == installed)
                continue;
-             a = ps->arch;
-             a = (a <= pool->lastarch) ? pool->id2arch[a] : 0;
-             if (a && a != 1 && (!bestarch || a < bestarch))
-               bestarch = a;
+             a = pool_arch2score(pool, ps->arch);
+             if (a && a != 1 && (!bestscore || a < bestscore))
+               bestscore = a;
            }
-         if (bestarch && (s->arch > pool->lastarch || pool->id2arch[s->arch] != bestarch))
+         if (bestscore && pool_arch2score(pool, s->arch) != bestscore)
            {
              FOR_PROVIDES(p, pp, s->name)
                {
                  Solvable *ps = pool->solvables + p;
-                 if (ps->repo == installed && ps->name == s->name && ps->evr == s->evr && ps->arch != s->arch && ps->arch < pool->lastarch && pool->id2arch[ps->arch] == bestarch)
+                 if (ps->repo == installed && ps->name == s->name && ps->evr == s->evr && ps->arch != s->arch && pool_arch2score(pool, ps->arch) == bestscore)
                    if (!MAPTST(&im, p))
                      {
 #ifdef CLEANDEPSDEBUG