From: Michael Schroeder Date: Tue, 14 Jun 2016 12:51:22 +0000 (+0200) Subject: Improve last commit so that self-providing requires don't pull in other providers X-Git-Tag: 0.6.23~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b2fd114deaad01295b42a601ea66074fe8028a5c;p=thirdparty%2Flibsolv.git Improve last commit so that self-providing requires don't pull in other providers --- diff --git a/src/rules.c b/src/rules.c index 07c293ac..797916f2 100644 --- a/src/rules.c +++ b/src/rules.c @@ -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))