module Cudf:CUDF librarysig
..end
type
package = {
|
package : |
|
version : |
|
depends : |
|
conflicts : |
|
provides : |
|
installed : |
|
was_installed : |
|
keep : |
|
pkg_extra : |
With this representation, optional properties have already been
expanded to their default values (if they have one). It is not
possible to know whether they were present or not in the CUDF
syntax.
val (=%) : package -> package -> bool
val (<%) : package -> package -> int
Pervasives.compare
; useful for
sorting.type
request = {
|
request_id : |
|
install : |
|
remove : |
|
upgrade : |
|
req_extra : |
type
preamble = {
|
preamble_id : |
(* | text following the "preamble: " postmark | *) |
|
property : |
(* | extra property declarations | *) |
|
univ_checksum : |
(* | universe checksum | *) |
|
status_checksum : |
(* | status checksum | *) |
|
req_checksum : |
(* | request checksum | *) |
val default_preamble : preamble
val default_package : package
val default_request : request
typecudf_doc =
preamble option * package list * request
typecudf_item =
[ `Package of package
| `Preamble of preamble
| `Request of request ]
exception Constraint_violation of string
type
universe
typecudf =
preamble * universe * request
typesolution =
preamble * universe
A universe encoding a solution matters only for its installed
packages, which are considered to be the resulting package
status
val load_universe : package list -> universe
Constraint_violation
when a global CUDF constraint is violated in
the given package listval lookup_package : universe -> Cudf_types.pkgname * Cudf_types.version -> package
Not_found
if the requested package cannot be foundval mem_package : universe -> Cudf_types.pkgname * Cudf_types.version -> bool
val mem_installed : ?include_features:bool ->
?ignore:(package -> bool) -> universe -> Cudf_types.vpkg -> bool
installed
packages)include_features
: allow constraint to be satisfied by features
(i.e., Provides). Default: trueignore
: make the lookup skip over all packages matching the given
package predicate. Default: do not ignore any packageval who_provides : universe ->
Cudf_types.vpkg -> (package * Cudf_types.version option) list
v
of the
feature.val lookup_packages : ?filter:Cudf_types.constr ->
universe -> Cudf_types.pkgname -> package list
filter
: filter the found packages according to the given
version constraint. Default: None (i.e., no filtering)val get_installed : universe -> Cudf_types.pkgname -> package list
lookup_packages
composed with filtering on installed=trueval iter_packages : (package -> unit) -> universe -> unit
val fold_packages : ('a -> package -> 'a) -> 'a -> universe -> 'a
val get_packages : ?filter:(package -> bool) -> universe -> package list
filter
: only return packages matching a given
predicate. Default is to return all packagesval universe_size : universe -> int
val installed_size : universe -> int
val status : universe -> universe
Inefficient (involves Hashtbl.t cloning), use with care.
val lookup_package_property : package -> string -> string
Cudf_types
) value as a stringNot_found
if the given property name is not associated to
the given package (note that "being associated with" does not
necessarily mean that the property appears in the stanza, due to
default values)val lookup_request_property : request -> string -> string
Cudf.lookup_package_property
, but acting on request
information items.
To lookup the request identifier as a string (which strictly
speaking is not a property) you should lookup "request"
val lookup_preamble_property : preamble -> string -> string
Cudf.lookup_package_property
, but acting on preamble
information items.
To lookup the preamble identifier as a string (which strictly
speaking is not a property) you should lookup "preamble"
val version_matches : Cudf_types.version -> Cudf_types.constr -> bool
version_matches 1 (Some(`Eq, 2)) = false
val (|=) : Cudf_types.version -> Cudf_types.constr -> bool
Cudf.version_matches