libsolv/0002-Improve-last-commit-so-that-self-providing-requires-.patch

51 lines
1.2 KiB
Diff
Raw Normal View History

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