Checkers for CUDF documents
Consistency and problem-solution matching.
provide a string explaining a given reason, meant for error messages
check whether a given package formula is satisfied by a given package status
true, if the formula is satisfied;
false, fotherwise, where f is a sub-formula of the input denoting an unsatisfiable formula (ideally, a witness of the unsatisfiability of the input formula)
check whether a package list is not satisfied by a given package status
true, if the list is disjoint;
false, lotherwise, where l is a list of packages satisfied by the universe (ideally, the reason of the non-disjointness)
is_solution (status, req) sol checks whether
sol fulfills the CUDF
upgrade scenario described by
sol package universe must contain all relevant package
metadata (e.g. Depends, Conflicts, etc.), copied from
status, a compact
universe only containing package names and versions won't be enough. To
load compact universes see Cudf_parser.load_solution.
Note: in accordance with CUDF semantics, for a solution to be valid,
the solution shall correspond to a consistent universe. A solution that
does satisfy user request, but at the same time proposes an inconsistent
universe (as per Cudf_checker.is_consistent) will be reported by
is_solution as not being a valid solution.
true, if this is the case,
false, lotherwise, where r explains why the solution is bad