jp = solv->ruletojob.elements;
if (solv->bestrules_pkg)
{
- int ni = solv->bestrules_end - solv->bestrules;
+ int ni = solv->bestrules_up - solv->bestrules;
for (i = 0; i < ni; i++)
{
int j = solv->bestrules_pkg[i];
jp = solv->ruletojob.elements;
if (solv->bestrules_pkg)
{
- int ni = solv->bestrules_end - solv->bestrules;
+ int ni = solv->bestrules_up - solv->bestrules;
for (i = 0; i < ni; i++)
{
int j = solv->bestrules_pkg[i];
if (solv->decisionq.elements[i] == -v)
break;
assert(i < solv->decisionq.count); /* assert that we found it */
- oldproblemcount = solv->problems.count;
- queue_push(&solv->problems, 0);
-
if (v == -SYSTEMSOLVABLE)
ori = 0;
else
}
/*
- * conflict with system solvable or pkg rule?
- */
+ * record the problem
+ */
doautouninstall = 0;
+ oldproblemcount = solv->problems.count;
+ queue_push(&solv->problems, 0); /* start problem */
if (ori < solv->pkgrules_end)
{
+ /* easy: conflict with system solvable or pkg rule */
assert(v > 0 || v == -SYSTEMSOLVABLE);
IF_POOLDEBUG (SOLV_DEBUG_UNSOLVABLE)
{
doautouninstall = 1;
}
}
- queue_push(&solv->problems, 0);
+ queue_push(&solv->problems, 0); /* finish problem */
+ /* try autouninstall if requested */
if (doautouninstall)
{
if (solv->allowuninstall || solv->allowuninstall_all || solv->allowuninstallmap.size)
if (ii == solv->ruleassertions.count)
break; /* finished! */
}
- return 1;
+ return 1; /* the new level */
}