sig
type package = {
package : Cudf_types.pkgname;
version : Cudf_types.version;
depends : Cudf_types.vpkgformula;
conflicts : Cudf_types.vpkglist;
provides : Cudf_types.veqpkglist;
installed : bool;
keep : Cudf_types.enum_keep option;
extra : (string * string) list;
}
val ( =% ) : Cudf.package -> Cudf.package -> bool
type request = {
problem_id : string;
install : Cudf_types.vpkglist;
remove : Cudf_types.vpkglist;
upgrade : Cudf_types.vpkglist;
}
val default_package : Cudf.package
val default_request : Cudf.request
type cudf_doc = Cudf.package list * Cudf.request
type cudf_item = [ `Package of Cudf.package | `Request of Cudf.request ]
exception Constraint_violation of string
type universe
type cudf = Cudf.universe * Cudf.request
type solution = Cudf.universe
val load_universe : Cudf.package list -> Cudf.universe
val lookup_package :
Cudf.universe -> Cudf_types.pkgname * Cudf_types.version -> Cudf.package
val mem_installed :
?include_features:bool ->
?ignore:(Cudf.package -> bool) ->
Cudf.universe -> Cudf_types.vpkg -> bool
val who_provides :
Cudf.universe ->
Cudf_types.vpkg -> (Cudf.package * Cudf_types.version option) list
val lookup_packages :
?filter:Cudf_types.constr ->
Cudf.universe -> Cudf_types.pkgname -> Cudf.package list
val get_installed :
Cudf.universe -> Cudf_types.pkgname -> Cudf.package list
val iter_packages : (Cudf.package -> unit) -> Cudf.universe -> unit
val fold_packages : ('a -> Cudf.package -> 'a) -> 'a -> Cudf.universe -> 'a
val get_packages :
?filter:(Cudf.package -> bool) -> Cudf.universe -> Cudf.package list
val universe_size : Cudf.universe -> int
val installed_size : Cudf.universe -> int
val status : Cudf.universe -> Cudf.universe
val lookup_package_property : Cudf.package -> string -> string
val lookup_request_property : Cudf.request -> string -> string
val version_matches : Cudf_types.version -> Cudf_types.constr -> bool
val ( |= ) : Cudf_types.version -> Cudf_types.constr -> bool
end