fix trivial installable requires handling [bnc#795267]
authorMichael Schroeder <mls@suse.de>
Thu, 3 Jan 2013 12:54:24 +0000 (13:54 +0100)
committerMichael Schroeder <mls@suse.de>
Thu, 3 Jan 2013 12:54:24 +0000 (13:54 +0100)
src/pool.c

index c44c96b..0f7c928 100644 (file)
@@ -1911,9 +1911,12 @@ pool_trivial_installable_noobsoletesmap(Pool *pool, Map *installedmap, Queue *pk
                {
                  /* decided and miss */
                  map[p] = 2;
+                 did = 0;
                  break;
                }
-             m |= r;   /* 1 | 9 | 16 | 17 */
+             if (r == 16)
+               break;  /* undecided */
+             m |= r;   /* 1 | 9 | 17 */
            }
          if (req)
            continue;
@@ -1932,6 +1935,7 @@ pool_trivial_installable_noobsoletesmap(Pool *pool, Map *installedmap, Queue *pk
              if ((providedbyinstalled(pool, map, con, ispatch, noobsoletesmap) & 1) != 0)
                {
                  map[p] = 2;
+                 did = 0;
                  break;
                }
              if ((m == 1 || m == 17) && ISRELDEP(con))