From: Michael Schroeder Date: Fri, 5 Oct 2007 23:19:53 +0000 (+0000) Subject: - don't pass name spaces for now X-Git-Tag: BASE-SuSE-Code-12_1-Branch~308^2~943 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1dff28e8283a7509cac0a7202a75005bdcbcd7d9;p=thirdparty%2Flibsolv.git - don't pass name spaces for now - don't supplement bad architectures --- diff --git a/src/pool.c b/src/pool.c index 0abf7dac..b7e6dfb1 100644 --- a/src/pool.c +++ b/src/pool.c @@ -336,10 +336,12 @@ addrelproviders(Pool *pool, Id d) queuepushunique(&plist, p); break; case REL_NAMESPACE: +#if 0 /* unknown namespace, just pass through */ pp = GET_PROVIDESP(evr, p); while ((p = *pp++) != 0) queuepush(&plist, p); +#endif break; default: break; diff --git a/src/solver.c b/src/solver.c index 749a1bbd..e5c0b5f7 100644 --- a/src/solver.c +++ b/src/solver.c @@ -806,6 +806,10 @@ addrulesforsupplements(Solver *solv, Map *m) if (MAPTST(m, i)) continue; s = pool->solvables + i; + if (s->arch == ARCH_SRC || s->arch == ARCH_NOSRC) + continue; + if (pool->id2arch && (s->arch > pool->lastarch || !pool->id2arch[s->arch])) + continue; sup = 0; if ((supp = s->supplements) != 0) { @@ -1806,6 +1810,8 @@ run_solver(Solver *solv, int disablerules, int doweak) if (!dq.count) continue; + if (dq.count > 1) + prune_to_recommended(solv, &dq); if (dq.count > 1) prune_best_version_arch(pool, &dq); #if 0 @@ -1969,6 +1975,10 @@ run_solver(Solver *solv, int disablerules, int doweak) s = pool->solvables + i; if (!s->supplements && !s->freshens) continue; + if (s->arch == ARCH_SRC || s->arch == ARCH_NOSRC) + continue; + if (pool->id2arch && (s->arch > pool->lastarch || !pool->id2arch[s->arch])) + continue; if ((supp = s->supplements) != 0) { while ((sup = *supp++) != 0)