From: Michael Schroeder Date: Thu, 23 Jul 2009 09:10:25 +0000 (+0200) Subject: - work around obsoleteusescolor problem by making infarch rules weak X-Git-Tag: BASE-SuSE-Code-12_1-Branch~165^2~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0bc1a7769328f7c65436ad1a1bf2125d04358792;p=platform%2Fupstream%2Flibsolv.git - work around obsoleteusescolor problem by making infarch rules weak - change debug output --- diff --git a/examples/solv.c b/examples/solv.c index f64e0b0..5f93a00 100644 --- a/examples/solv.c +++ b/examples/solv.c @@ -1351,7 +1351,6 @@ read_repos(Pool *pool, struct repoinfo *repoinfos, int nrepoinfos) cinfo->repo = 0; break; } -printf("cinfo: %p\n", cinfo); calc_checksum_fp(fp, REPOKEY_TYPE_SHA256, cinfo->cookie); if (usecachedrepo(repo, 0, cinfo->cookie, 1)) { @@ -2278,9 +2277,6 @@ rerunsolver: solv->allowarchchange = 1; solv->allowvendorchange = 1; } - /* infarch check currently doesn't work with colors */ - solv->noinfarchcheck = pool->obsoleteusescolors; - // queue_push2(&job, SOLVER_DISTUPGRADE, 3); solver_solve(solv, &job); if (!solv->problems.count) diff --git a/src/solver.c b/src/solver.c index be10f0b..c45d676 100644 --- a/src/solver.c +++ b/src/solver.c @@ -2783,7 +2783,16 @@ solver_solve(Solver *solv, Queue *job) /* now create infarch and dup rules */ if (!solv->noinfarchcheck) - solver_addinfarchrules(solv, &addedmap); + { + solver_addinfarchrules(solv, &addedmap); + if (pool->obsoleteusescolors) + { + /* currently doesn't work well with infarch rules, so make + * them weak */ + for (i = solv->infarchrules; i < solv->infarchrules_end; i++) + queue_push(&solv->weakruleq, i); + } + } else solv->infarchrules = solv->infarchrules_end = solv->nrules; diff --git a/src/solverdebug.c b/src/solverdebug.c index 4776e32..d95416a 100644 --- a/src/solverdebug.c +++ b/src/solverdebug.c @@ -424,28 +424,28 @@ solver_printtransaction(Solver *solv) switch(class) { case SOLVER_TRANSACTION_ERASE: - POOL_DEBUG(SAT_DEBUG_RESULT, "erased packages (%d):\n", cnt); + POOL_DEBUG(SAT_DEBUG_RESULT, "%d erased packages:\n", cnt); break; case SOLVER_TRANSACTION_INSTALL: - POOL_DEBUG(SAT_DEBUG_RESULT, "installed packages (%d):\n", cnt); + POOL_DEBUG(SAT_DEBUG_RESULT, "%d installed packages:\n", cnt); break; case SOLVER_TRANSACTION_REINSTALLED: - POOL_DEBUG(SAT_DEBUG_RESULT, "reinstalled packages (%d):\n", cnt); + POOL_DEBUG(SAT_DEBUG_RESULT, "%d reinstalled packages:\n", cnt); break; case SOLVER_TRANSACTION_DOWNGRADED: - POOL_DEBUG(SAT_DEBUG_RESULT, "downgraded packages (%d):\n", cnt); + POOL_DEBUG(SAT_DEBUG_RESULT, "%d downgraded packages:\n", cnt); break; case SOLVER_TRANSACTION_CHANGED: - POOL_DEBUG(SAT_DEBUG_RESULT, "changed packages (%d):\n", cnt); + POOL_DEBUG(SAT_DEBUG_RESULT, "%d changed packages:\n", cnt); break; case SOLVER_TRANSACTION_UPGRADED: - POOL_DEBUG(SAT_DEBUG_RESULT, "upgraded packages (%d):\n", cnt); + POOL_DEBUG(SAT_DEBUG_RESULT, "%d upgraded packages:\n", cnt); break; case SOLVER_TRANSACTION_VENDORCHANGE: - POOL_DEBUG(SAT_DEBUG_RESULT, "vendor change from '%s' to '%s' (%d):\n", id2strnone(pool, classes.elements[i + 2]), id2strnone(pool, classes.elements[i + 3]), cnt); + POOL_DEBUG(SAT_DEBUG_RESULT, "%d vendor changes from '%s' to '%s':\n", cnt, id2strnone(pool, classes.elements[i + 2]), id2strnone(pool, classes.elements[i + 3])); break; case SOLVER_TRANSACTION_ARCHCHANGE: - POOL_DEBUG(SAT_DEBUG_RESULT, "arch change from %s to %s (%d):\n", id2str(pool, classes.elements[i + 2]), id2str(pool, classes.elements[i + 3]), cnt); + POOL_DEBUG(SAT_DEBUG_RESULT, "%d arch changes from %s to %s:\n", cnt, id2str(pool, classes.elements[i + 2]), id2str(pool, classes.elements[i + 3])); break; default: class = SOLVER_TRANSACTION_IGNORE;