]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
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 c44c96b8f0a1fbdc824fc1444cda44d124fe0981..0f7c9287badcf5cead81deb5eb4511afb1b7af28 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))