From: Michael Schroeder Date: Thu, 16 Jul 2009 12:14:47 +0000 (+0200) Subject: - switch mode to install when not package is not installed X-Git-Tag: BASE-SuSE-Code-12_1-Branch~165^2~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=96afe018a3814f2313b5178fa11cbb0b99cbb9bb;p=thirdparty%2Flibsolv.git - switch mode to install when not package is not installed --- diff --git a/examples/solv.c b/examples/solv.c index e86d3ee5..a64d9a07 100644 --- a/examples/solv.c +++ b/examples/solv.c @@ -1800,7 +1800,20 @@ main(int argc, char **argv) // add mode for (i = 0; i < job.count; i += 2) - job.elements[i] |= mode; + { + if (mode == SOLVER_UPDATE) + { + FOR_JOB_SELECT(p, pp, job.elements[i], job.elements[i + 1]) + if (pool->installed && pool->solvables[p].repo == pool->installed) + break; + if (!p) + { + job.elements[i] |= SOLVER_INSTALL; + continue; + } + } + job.elements[i] |= mode; + } // multiversion test // queue_push2(&job, SOLVER_NOOBSOLETES|SOLVER_SOLVABLE_NAME, str2id(pool, "kernel-pae", 1));