`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;
was_installed : bool;
keep : Cudf_types.enum_keep;
pkg_extra : Cudf_types.typed_value Cudf_types.stanza;
}
val ( =% ) : Cudf.package -> Cudf.package -> bool
val ( <% ) : Cudf.package -> Cudf.package -> int
val ( >% ) : Cudf.package -> Cudf.package -> int
type request = {
request_id : string;
install : Cudf_types.vpkglist;
remove : Cudf_types.vpkglist;
upgrade : Cudf_types.vpkglist;
req_extra : Cudf_types.typed_value Cudf_types.stanza;
}
type preamble = {
preamble_id : string;
property : Cudf_types.typedecl;
univ_checksum : string;
status_checksum : string;
req_checksum : string;
}
val default_preamble : Cudf.preamble
val default_package : Cudf.package
val default_request : Cudf.request
type cudf_doc = Cudf.preamble option * Cudf.package list * Cudf.request
type cudf_item =
[ `Package of Cudf.package
| `Preamble of Cudf.preamble
| `Request of Cudf.request ]
exception Constraint_violation of string
type universe
type cudf = Cudf.preamble * Cudf.universe * Cudf.request
type solution = Cudf.preamble * Cudf.universe
val empty_universe : ?size:int -> unit -> Cudf.universe
val load_universe : Cudf.package list -> Cudf.universe
val add_package : Cudf.universe -> Cudf.package -> unit
val remove_package :
Cudf.universe -> Cudf_types.pkgname * Cudf_types.version -> unit
val lookup_package :
Cudf.universe -> Cudf_types.pkgname * Cudf_types.version -> Cudf.package
val mem_package :
Cudf.universe -> Cudf_types.pkgname * Cudf_types.version -> bool
val mem_installed :
?include_features:bool ->
?ignore:(Cudf.package -> bool) ->
Cudf.universe -> Cudf_types.vpkg -> bool
val who_provides :
?installed:bool ->
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 uid_by_package : Cudf.universe -> Cudf.package -> int
val package_by_uid : Cudf.universe -> int -> Cudf.package
val iter_packages : (Cudf.package -> unit) -> Cudf.universe -> unit
val fold_packages : ('a -> Cudf.package -> 'a) -> 'a -> Cudf.universe -> 'a
val iteri_packages : (int -> Cudf.package -> unit) -> Cudf.universe -> unit
val iter_packages_by_name :
(Cudf_types.pkgname -> Cudf.package list -> unit) ->
Cudf.universe -> unit
val fold_packages_by_name :
('a -> Cudf_types.pkgname -> Cudf.package list -> 'a) ->
'a -> Cudf.universe -> 'a
val package_names : Cudf.universe -> Cudf_types.pkgname list
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 lookup_preamble_property : Cudf.preamble -> string -> string
val lookup_typed_package_property :
Cudf.package -> string -> Cudf_types.typed_value
val lookup_typed_request_property :
Cudf.request -> string -> Cudf_types.typed_value
val lookup_typed_preamble_property :
Cudf.preamble -> string -> Cudf_types.typed_value
val lookup_package_typedecl :
?extra:Cudf_types.typedecl -> string -> Cudf_types.typedecl1
val version_matches : Cudf_types.version -> Cudf_types.constr -> bool
val ( |= ) : Cudf_types.version -> Cudf_types.constr -> bool
end`