]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Do not even try to remove not-considered packages in cleandeps
authorMichael Schroeder <mls@suse.de>
Mon, 11 Sep 2017 14:51:49 +0000 (16:51 +0200)
committerMichael Schroeder <mls@suse.de>
Mon, 11 Sep 2017 14:51:49 +0000 (16:51 +0200)
Should make things a bit faster.

src/rules.c

index 01f6fd6a7e4b703ac7e923d21c9a5847a99a4dab..7206ebbd85480a3d77606fde90af80f600437242 100644 (file)
@@ -4278,6 +4278,8 @@ solver_createcleandepsmap(Solver *solv, Map *cleandepsmap, int unneeded)
       if (pool->solvables[p].repo != installed)
        continue;
       MAPSET(&installedm, p);
+      if (pool->considered && !MAPTST(pool->considered, p))
+       MAPSET(&userinstalled, p - installed->start);   /* we may not remove those */
       if (unneeded && !MAPTST(&userinstalled, p - installed->start))
        continue;
       MAPSET(&im, p);
@@ -4610,7 +4612,7 @@ solver_createcleandepsmap(Solver *solv, Map *cleandepsmap, int unneeded)
     {
       if (pool->solvables[p].repo != installed)
        continue;
-      if (pool->considered != NULL && !MAPTST(pool->considered, p))
+      if (pool->considered && !MAPTST(pool->considered, p))
           continue;
       if (!MAPTST(&im, p))
         MAPSET(cleandepsmap, p - installed->start);