From: Michael Schroeder Date: Mon, 19 Nov 2012 16:32:07 +0000 (+0100) Subject: implement '--best' in solv demo X-Git-Tag: BASE-SuSE-Code-12_3-Branch~167 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a7ca4eb2349deafecbe366f15c043cb50a08ac7;p=thirdparty%2Flibsolv.git implement '--best' in solv demo --- diff --git a/examples/solv.c b/examples/solv.c index beb5bd3b..d1857fa0 100644 --- a/examples/solv.c +++ b/examples/solv.c @@ -2426,6 +2426,7 @@ main(int argc, char **argv) Queue addedfileprovides_inst; Queue repofilter; int cleandeps = 0; + int forcebest = 0; char *rootdir = 0; argc--; @@ -2500,6 +2501,12 @@ main(int argc, char **argv) argc--; argv++; } + else if (argc > 1 && !strcmp(argv[1], "--best")) + { + forcebest = 1; + argc--; + argv++; + } else break; } @@ -2782,6 +2789,8 @@ main(int argc, char **argv) job.elements[i] ^= SOLVER_UPDATE ^ SOLVER_INSTALL; if (cleandeps) job.elements[i] |= SOLVER_CLEANDEPS; + if (forcebest) + job.elements[i] |= SOLVER_FORCEBEST; } // multiversion test @@ -2805,6 +2814,7 @@ rerunsolver: solver_set_flag(solv, SOLVER_FLAG_SPLITPROVIDES, 1); if (mainmode == MODE_ERASE) solver_set_flag(solv, SOLVER_FLAG_ALLOW_UNINSTALL, 1); /* don't nag */ + solver_set_flag(solv, SOLVER_FLAG_BEST_OBEY_POLICY, 1); if (!solver_solve(solv, &job)) break; diff --git a/ext/testcase.c b/ext/testcase.c index d8346545..da9734c9 100644 --- a/ext/testcase.c +++ b/ext/testcase.c @@ -92,6 +92,7 @@ static struct solverflags2str { { SOLVER_FLAG_ADD_ALREADY_RECOMMENDED, "addalreadyrecommended", 0 }, { SOLVER_FLAG_NO_INFARCHCHECK, "noinfarchcheck", 0 }, { SOLVER_FLAG_KEEP_EXPLICIT_OBSOLETES, "keepexplicitobsoletes", 0 }, + { SOLVER_FLAG_BEST_OBEY_POLICY, "bestobeypolicy", 0 }, { 0, 0, 0 } };