]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Improve last commit so that self-providing requires don't pull in other providers
authorMichael Schroeder <mls@suse.de>
Tue, 14 Jun 2016 12:51:22 +0000 (14:51 +0200)
committerMichael Schroeder <mls@suse.de>
Tue, 14 Jun 2016 12:51:22 +0000 (14:51 +0200)
src/rules.c

index 07c293ac716f58420cc4230a255c178577b47259..797916f200cc24a73399d1edf600c5c7a36633db 100644 (file)
@@ -3870,6 +3870,8 @@ complex_cleandeps_addback(Pool *pool, Id ip, Id req, Map *im, Map *installedm, Q
              if (!MAPTST(installedm, -p))
                break;
            }
+         else if (p == ip)
+           break;
        }
       if (!p)
        {
@@ -4398,6 +4400,11 @@ solver_createcleandepsmap(Solver *solv, Map *cleandepsmap, int unneeded)
                  continue;
                }
 #endif
+             FOR_PROVIDES(p, pp, req)
+               if (p == ip)
+                 break;
+             if (p)
+               continue;
              FOR_PROVIDES(p, pp, req)
                {
                  if (MAPTST(&im, p))
@@ -4429,6 +4436,11 @@ solver_createcleandepsmap(Solver *solv, Map *cleandepsmap, int unneeded)
                  continue;
                }
 #endif
+             FOR_PROVIDES(p, pp, req)
+               if (p == ip)
+                 break;
+             if (p)
+               continue;
              FOR_PROVIDES(p, pp, req)
                {
                  if (MAPTST(&im, p))