51 lines
1.2 KiB
Diff
51 lines
1.2 KiB
Diff
|
From b2fd114deaad01295b42a601ea66074fe8028a5c Mon Sep 17 00:00:00 2001
|
||
|
From: Michael Schroeder <mls@suse.de>
|
||
|
Date: Tue, 14 Jun 2016 14:51:22 +0200
|
||
|
Subject: [PATCH 2/2] Improve last commit so that self-providing requires don't
|
||
|
pull in other providers
|
||
|
|
||
|
---
|
||
|
src/rules.c | 12 ++++++++++++
|
||
|
1 file changed, 12 insertions(+)
|
||
|
|
||
|
diff --git a/src/rules.c b/src/rules.c
|
||
|
index 07c293a..797916f 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)
|
||
|
{
|
||
|
@@ -4399,6 +4401,11 @@ solver_createcleandepsmap(Solver *solv, Map *cleandepsmap, int unneeded)
|
||
|
}
|
||
|
#endif
|
||
|
FOR_PROVIDES(p, pp, req)
|
||
|
+ if (p == ip)
|
||
|
+ break;
|
||
|
+ if (p)
|
||
|
+ continue;
|
||
|
+ FOR_PROVIDES(p, pp, req)
|
||
|
{
|
||
|
if (MAPTST(&im, p))
|
||
|
continue;
|
||
|
@@ -4430,6 +4437,11 @@ solver_createcleandepsmap(Solver *solv, Map *cleandepsmap, int unneeded)
|
||
|
}
|
||
|
#endif
|
||
|
FOR_PROVIDES(p, pp, req)
|
||
|
+ if (p == ip)
|
||
|
+ break;
|
||
|
+ if (p)
|
||
|
+ continue;
|
||
|
+ FOR_PROVIDES(p, pp, req)
|
||
|
{
|
||
|
if (MAPTST(&im, p))
|
||
|
continue;
|
||
|
--
|
||
|
2.7.4
|
||
|
|