Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates-src > by-pkgid > 2d9391ec40a56cc992e635003e789762 > files > 1

libsolv-0.6.30-1.1.mga6.src.rpm

From a7101c56ef86175b153404f56af0664246555c97 Mon Sep 17 00:00:00 2001
From: Michael Schroeder <mls@suse.de>
Date: Wed, 25 Oct 2017 10:22:27 +0200
Subject: [PATCH 1/3] yumobs rule generation: also use
 implicitobsoleteusescolors

This is similar to policy_findupdatepackages. The "this is
somewhat wrong" comment also applies...
---
 src/rules.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/rules.c b/src/rules.c
index b5f3e3e..2e3444b 100644
--- a/src/rules.c
+++ b/src/rules.c
@@ -3398,6 +3398,8 @@ solver_addbestrules(Solver *solv, int havebestinstalljobs)
 
 
 /* yumobs rule handling */
+/* note that we use pool->obsoleteusescolors || pool->implicitobsoleteusescolors
+ * like in policy_findupdatepackages */
 
 static void
 find_obsolete_group(Solver *solv, Id obs, Queue *q)
@@ -3422,7 +3424,7 @@ find_obsolete_group(Solver *solv, Id obs, Queue *q)
 	  Id obs2, *obsp2;
 	  if (!os->obsoletes)
 	    continue;
-	  if (pool->obsoleteusescolors && !pool_colormatch(pool, s2, os))
+	  if ((pool->obsoleteusescolors || pool->implicitobsoleteusescolors) && !pool_colormatch(pool, s2, os))
 	    continue;
 	  obsp2 = os->repo->idarraydata + os->obsoletes; 
 	  while ((obs2 = *obsp2++) != 0)
@@ -3440,7 +3442,7 @@ find_obsolete_group(Solver *solv, Id obs, Queue *q)
 	    continue;
 	  if (!os->obsoletes)
 	    continue;
-	  if (pool->obsoleteusescolors && !pool_colormatch(pool, s2, os))
+	  if ((pool->obsoleteusescolors || pool->implicitobsoleteusescolors) && !pool_colormatch(pool, s2, os))
 	    continue;
 	  obsp2 = os->repo->idarraydata + os->obsoletes; 
 	  while ((obs2 = *obsp2++) != 0)
@@ -3539,7 +3541,7 @@ printf("checking yumobs for %s\n", pool_solvable2str(pool, s));
 		    continue;
 		  if (!pool->obsoleteusesprovides && !pool_match_nevr(pool, pool->solvables + p2, obs))
 		    continue;
-		  if (pool->obsoleteusescolors && !pool_colormatch(pool, s, s2))
+		  if ((pool->obsoleteusescolors || pool->implicitobsoleteusescolors) && !pool_colormatch(pool, s, s2))
 		    continue;
 		  queue_pushunique(&qo, obs);
 		  break;
-- 
2.13.5