]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
- don't pass name spaces for now
authorMichael Schroeder <mls@suse.de>
Fri, 5 Oct 2007 23:19:53 +0000 (23:19 +0000)
committerMichael Schroeder <mls@suse.de>
Fri, 5 Oct 2007 23:19:53 +0000 (23:19 +0000)
- don't supplement bad architectures

src/pool.c
src/solver.c

index 0abf7dac5d658314c43a7a4875684aefea89073d..b7e6dfb1d4edd9177052d40888ab13e9f9dbff7c 100644 (file)
@@ -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;
index 749a1bbd343876157f52837775a5bf6c31c60b32..e5c0b5f7c3fa4e6bed616e0d255151bb736184a4 100644 (file)
@@ -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)