Dose_algo.Diagnostictype reason = | Dependency of Cudf.package * Cudf_types.vpkg list * Cudf.package listNot strictly a un-installability, Dependency (a,vpkglist,pkglist) is used to recontruct the the dependency path from the root package to the offending un-installable package
*)| Missing of Cudf.package * Cudf_types.vpkg listMissing (a,vpkglist) means that the dependency vpkglist of package a cannot be satisfied
| Conflict of Cudf.package * Cudf.package * Cudf_types.vpkgConflict (a,b,vpkg) means that the package a is in conflict with package b because of vpkg
type result = | Success of ?all:bool -> unit -> Cudf.package listIf successfull returns a function that will return the installation set for the given query. Since not all packages are tested for installability directly, the installation set might be empty. In this case, the solver can be called again to provide the real installation set using the parameter ~all:true
| Failure of unit -> reason listIf unsuccessful returns a function containing the list of reason
*)The result of an installability query
type result_int = | SuccessInt of ?all:bool -> unit -> int list| FailureInt of unit -> reason_int listthe low-level result. All integers are sat solver indexes and need to be converted using a projection map. Moreover the result also contains the global constraints index that must filtered out before returing the final result to the user
val diagnosis :
Dose_common.Util.projection ->
Cudf.universe ->
result_int ->
request_int ->
diagnosisTurn an integer result into a cudf result
val result :
Dose_common.Util.projection ->
Cudf.universe ->
result_int ->
resultTurn an integer result into a cudf result
val request : Cudf.universe -> request_int -> Cudf.package listTurn an integer request into a cudf request
type summary = {mutable missing : int;mutable conflict : int;mutable unique_missing : int;mutable unique_conflict : int;mutable unique_selfconflict : int;summary : Cudf.package list Stdlib.ref ResultHash.t;statistic : (int * int, int Stdlib.ref) Stdlib.Hashtbl.t;}Collect aggregate information about not installable packages
val default_result : int -> summarycollect summary result. Callback function to collect result information in the summary data structure. Can be used to build a custom callback function for Depsolver.listcheck or Depsolver.univcheck
val pp_package :
?source:bool ->
?fields:bool ->
Dose_common.CudfAdd.pp ->
Stdlib.Format.formatter ->
Cudf.package ->
unitdefault package pretty printer.
val print_error :
?condense:bool ->
?minimal:bool ->
Dose_common.CudfAdd.pp ->
Cudf.package ->
Stdlib.Format.formatter ->
reason list ->
unitval get_installationset : ?minimal:bool -> diagnosis -> Cudf.package listIf the installablity query is successfull, get_installationset return the associated installation set . If minimal is true (false by default), the installation set is restricted to the dependency cone of the packages specified in the installablity query.
val is_solution : diagnosis -> boolTrue is the result of an installablity query is successfull. False otherwise
val pp_summary :
?pp:Dose_common.CudfAdd.pp ->
?explain:bool ->
unit ->
Stdlib.Format.formatter ->
summary ->
unitprint a aggregate information of not installable packages.
val fprintf :
?pp:Dose_common.CudfAdd.pp ->
?failure:bool ->
?success:bool ->
?explain:bool ->
?minimal:bool ->
?condense:bool ->
Stdlib.Format.formatter ->
diagnosis ->
unitprintf fmt d print the output of the solver in yaml format to the formatter fmt.
val printf :
?pp:Dose_common.CudfAdd.pp ->
?failure:bool ->
?success:bool ->
?explain:bool ->
diagnosis ->
unitlike fprintf but print using the standard formatter
val print_dot :
?pp:Dose_common.CudfAdd.pp ->
?condense:bool ->
?addmissing:bool ->
?dir:string ->
diagnosis ->
unitprint the explanation graph in dot format to the standard formatter