Imported Upstream version 0.6.23
[platform/upstream/libsolv.git] / src / solver.c
index 4f849ec..5fca20d 100644 (file)
@@ -2913,6 +2913,8 @@ solver_run_sat(Solver *solv, int disablerules, int doweak)
                      lastsi = -1;
                      break;
                    }
+                 if (solv->isdisfavormap.size && MAPTST(&solv->isdisfavormap, p))
+                   continue;
                  if (lastsi < 0 && (MAPTST(&solv->recommendsmap, p) || solver_is_supplementing(solv, pool->solvables + p)))
                    lastsi = i;
                }
@@ -2925,6 +2927,9 @@ solver_run_sat(Solver *solv, int disablerules, int doweak)
                      p = -solv->branches.elements[i];
                      if (p <= 0 || solv->decisionmap[p] != l + 1)
                        continue;
+                     if (solv->favormap.size && MAPTST(&solv->favormap, p))
+                       if (!(solv->isdisfavormap.size && MAPTST(&solv->isdisfavormap, p)))
+                         continue;     /* current selection is favored */
                      if (!(MAPTST(&solv->recommendsmap, p) || solver_is_supplementing(solv, pool->solvables + p)))
                        {
                          lasti = lastsi;
@@ -4480,24 +4485,6 @@ solver_create_state_maps(Solver *solv, Map *installedmap, Map *conflictsmap)
   pool_create_state_maps(solv->pool, &solv->decisionq, installedmap, conflictsmap);
 }
 
-void
-solver_trivial_installable(Solver *solv, Queue *pkgs, Queue *res)
-{
-  Pool *pool = solv->pool;
-  Map installedmap;
-  int i;
-  pool_create_state_maps(pool,  &solv->decisionq, &installedmap, 0);
-  pool_trivial_installable_multiversionmap(pool, &installedmap, pkgs, res, solv->multiversion.size ? &solv->multiversion : 0);
-  for (i = 0; i < res->count; i++)
-    if (res->elements[i] != -1)
-      {
-       Solvable *s = pool->solvables + pkgs->elements[i];
-       if (!strncmp("patch:", pool_id2str(pool, s->name), 6) && solvable_is_irrelevant_patch(s, &installedmap))
-         res->elements[i] = -1;
-      }
-  map_free(&installedmap);
-}
-
 /*-------------------------------------------------------------------
  *
  * decision introspection