Management of formulas
binary operations (compatible with the Dose type for Cudf operators !)
The compact atom format used in requests, "pkgOPvers", with '.' allowed instead of '='
Prints atoms as a conjunction ("&") using the short format
AND formulas
OR formulas
Evaluate a relational operator between versions
Expressions composed entirely of version constraints
An atom is: name
* (relop
* version
) formula.
Examples of valid formulae:
Return a conjunction. If the initial formula is not a conjunction, then fail.
Return a disjunction. It the initial formula is not a disjunction, then fail.
Formula over versionned packages with additional flags (used to handle eg. build-deps)
Turns an extended package formula to a normal formula, by filtering out
the packages on the flags of which filter
returns false
.