This page summarizes the software released by the Mancoosi project.

libCUDF

libCUDF is a library to manipulate CUDF documents; libCUDF acts as the reference implementation of the CUDF specifications.

See the CUDF page for more info on libCUDF, including downloads.

dose3

Dose3 is a framework made of several OCaml libraries for managing distribution packages and their dependencies.

Though not tied to any particular distribution, dose3 constitutes a pool of libraries which enable analyzing packages coming from various distributions.

Besides basic functionalities for querying and setting package properties, dose3 also implements algorithms for solving more complex problems (monitoring package evolutions, correct and complete dependency resolution, repository-wide uninstallability checks).

Full source code and releases are now available on the Irill GitLab space.

URPMI

URPMI is the Mandriva package manager.

Currently, the legacy version of urpmi in Mandriva has native support for DUDF generation via the urpmi-dudf package. So you should get urpmi-dudf by the usual means (by using rpmdrake or urpmi itself).

CUDF solvers

The following are the first implementations of CUDF-based solvers which have participated to the Mancoosi internal Solver Competition

Each solver takes a CUDF upgrade description as input and computes a solution according to some criteria (see each solver for more information).

Apt-Mancoosi

Apt-Mancoosi is a proof of concept wrapper that implements the Mancoosi modular solver infrastructure (see the mancoosi cycle).

Apt-Mancoosi takes as input a DUDF file or an apt-get command line. In the second case, it assumes that the host machine is running a Debian(-based) distribution and that apt-get is installed on the system. DUDF files representing real upgrade problems can be downloaded from the Mancoosi Debian DUDF repository.

Warning: this tool is not a drop-in replacement for apt-get or aptitude, yet. It computes a set of package changes that solves the user request trying to optimize it with respect to the user criteria, and it prints it out as an apt-get command line; but running apt-get with this command line will not have the expected result, as apt-get will try to solve again the problem by itself, giving potentially quite different solutions.

mancoosi-contest

mancoosi-contest offers utilities to collect upgrade scenarios from your machine and submit it to a corpus of "upgrade problems" that can be used to experiment with new solving algorithms, strategies, and tools. Currently, only the dudf-save utility for Debian-based machine is provided: it acts as a wrapper around apt-get or aptitude and encode your complete ugprade scenarios in a DUDF document, that can be later on translated into CUDF.

EVOSS

EVOSS implements a model-based approach to support the upgrade of FOSS systems. The approach promotes the simulation of upgrades to predict failures before affecting the real system. Both fine-grained static aspects (e.g. configuration incoher- ences) and dynamic aspects (e.g. the execution of configuration scripts) are taken into account, improving over the state of the art of upgrade planners.