mccs(1) | Debian User's Manual | mccs(1) |
mccs - package dependency solver
mccs [options]
mccs (which stands for Multi Criteria CUDF Solver) is a solver for package dependency problems expressed in the CUDF format. By default, mccs reads a problem specification from standard input, and writes the solution to standard output.
By default, mccs uses the cbc solving engine.
See the file /usr/share/doc/mccs/README.optimization-criteria for a full grammar of optimization criteria.
An example input file can be found at /usr/share/doc/mccs/examples/legacy.cudf.
mccs -i legacy.cudf
calls mccs on examples/legacy.cudf and prints the solution on stdout. With such a call mccs will resort to the default underlying solver cbc and use a default criterion to solve the problem.
mccs -i legacy.cudf -o sol -lexagregate[-removed,-changed]\
-lpsolve
Here, mccs puts the solution into the file "sol" and solves the problem using the lpsolve solver with the paranoid criterion, which consists of first minimizing the number of removed packaged, and then the number of packages that change installation status or installed version.
mccs -i legacy.cudf -o sol \
-lexsemiagregate[-removed,-notuptodate,\
-nunsat[recommends:,true],-new]
The criterion used here is the trendy criterion, which consists of first minimizing the number of package removals, then to minimize the number of installed packages that are installed in a version older the most recent available version, then to minimize the number of recommendations of installed packages that are not satisfied, and finally the number of newly installed packages.
mccs has been written by Claude Michel <cpjm@polytech.unice.fr>. The development of mccs has been partly supported by the European research project Mancoosi.
9 May 2011 |