Description of problem: 'dnf upgrade' behaves similarly to 'yum upgrade --skip-broken', that is the user is not informed if there are packages with broken PRCOs or missing dependencies. This feature can be desirable e.g. for package maintainers testing the installability of their packages.
Wild ideas of implementing this: a) revert in this case to the old 'dnf upgrade' mechanism that simply looked for all latest available versions and tried to install them. (this would be resolving twice if that should happen as a part of the standard 'dnf upgrade' --- very undesirable). b) find a way to make libsolv tell us why it didn't decide to update a particular package with an available update. (might be possible already, not possible at all (esp. with much detail) or just not yet possible).
Also see bug 872948 for related discussion.
That's basically what the SOLVER_FORCEBEST flag is about: It tells the solver to insist on the best package. FORCEBEST can be used with install/update/distupgrade jobs.
(In reply to comment #3) > That's basically what the SOLVER_FORCEBEST flag is about: It tells the > solver to insist on the best package. > > FORCEBEST can be used with install/update/distupgrade jobs. Ah cool, thank you!!
From the git log it looks FORCEBEST was only implemented recently in libsolv, commit 96275a1, so I either first have to rebase the F18 libsolv or defer this (and other fixes) to the F19 development cycle.
DNF commit 83d3338 introduces the --best switch that forces the best available packages into the transaction, also documented at http://akozumpl.github.com/dnf/cli_vs_yum.html#no-skip-broken