Libzypp/Solver/Solutions
From openSUSE
| This page is work in progress. It will be expanded as time permits. For specific questions, please ask the author. |
[edit]
Solutions
Each valid and completed solution will be compared with eachother.
There are different citerions with different gradiations for selecting the best solution. There are two main policies which can be triggered outside of the solver by the call Resolver::setPreferHighestVersion(bool) (default is true):
Pefer highest Version = true:
- Prefer resolvables (packages, patches,...) with the highest version numbers. If not...
- prefer resolvables whith the highest source priority (currently not used). If not...
- prefer solution with the less "churn factor" which will be evaluate by:
- churn_factor = upgradeCount() + 2.0 * installCount() + 4.0 * uninstallCount();
- If not...
- prefer solution with the most user selected resolvables within a source. If not...
- prefer solution with the fewest account of sources. If not...
- prefer solution with the less "penalty".
- Penalties are negative source priorities (currently not used).
Pefer highest Version = false:
- prefer solution with the less "churn factor" which will be evaluate by:
- churn_factor = upgradeCount() + 2.0 * installCount() + 4.0 * uninstallCount();
- If not...
- prefer resolvables with the highest source priority (currently not used). If not...
- Prefer resolvables (packages, patches,...) with the highest version numbers. If not...
- prefer solution with the most user selected resolvables within a source. If not...
- prefer solution with the fewest account of sources. If not...
- prefer solution with the less "penalty".
- Penalties are negative source priorities (currently not used).
If none of these citerions come to the best solution, additional citerions will be regarded:
- Select the solution with the fewest download size. If not...
- select the solution with the fewest intallation size.

