package dose3
Install
Dune Dependency
Authors
Maintainers
Sources
md5=bc99cbcea8fca29dca3ebbee54be45e1
sha512=98dc4bd28e9f4aa8384be71b31783ae1afac577ea587118b8457b554ffe302c98e83d0098971e6b81803ee5c4f2befe3a98ef196d6b0da8feb4121e982ad5c2f
doc/dose3.algo/Dose_algo/Diagnostic/index.html
Module Dose_algo.Diagnostic
Source
Un-installability reasons
The request provided to the solver
type reason =
| Dependency of Cudf.package * Cudf_types.vpkg list * Cudf.package list
(*Not 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 list
(*Missing (a,vpkglist) means that the dependency
*)vpkglist
of packagea
cannot be satisfied| Conflict of Cudf.package * Cudf.package * Cudf_types.vpkg
(*Conflict (a,b,vpkg) means that the package
*)a
is in conflict with packageb
because of vpkg
type result =
| Success of ?all:bool -> unit -> Cudf.package list
(*If 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 list
(*If unsuccessful returns a function containing the list of reason
*)
The result of an installability query
type reason_int =
| DependencyInt of int * Cudf_types.vpkg list * int list
| MissingInt of int * Cudf_types.vpkg list
| ConflictInt of int * int * Cudf_types.vpkg
Low level Integer Un-installability reasons
type result_int =
| SuccessInt of ?all:bool -> unit -> int list
| FailureInt of unit -> reason_int list
the 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
Helpers Functions
val diagnosis :
Dose_common.Util.projection ->
Cudf.universe ->
result_int ->
request_int ->
diagnosis
Turn an integer result into a cudf result
Turn an integer result into a cudf result
Turn an integer request into a cudf request
Pretty Priting Functions
type summary = {
mutable missing : int;
mutable conflict : int;
mutable unique_missing : int;
mutable unique_conflict : int;
mutable unique_selfconflict : int;
summary : Cudf.package list ref ResultHash.t;
statistic : (int * int, int ref) Hashtbl.t;
}
Collect aggregate information about not installable packages
collect 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
print output version
val pp_package :
?source:bool ->
?fields:bool ->
Dose_common.CudfAdd.pp ->
Format.formatter ->
Cudf.package ->
unit
default package pretty printer.
val print_error :
?condense:bool ->
?minimal:bool ->
Dose_common.CudfAdd.pp ->
Cudf.package ->
Format.formatter ->
reason list ->
unit
If 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.
True is the result of an installablity query is successfull. False otherwise
val pp_summary :
?pp:Dose_common.CudfAdd.pp ->
?explain:bool ->
unit ->
Format.formatter ->
summary ->
unit
print a aggregate information of not installable packages.
val fprintf :
?pp:Dose_common.CudfAdd.pp ->
?failure:bool ->
?success:bool ->
?explain:bool ->
?minimal:bool ->
?condense:bool ->
Format.formatter ->
diagnosis ->
unit
printf 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 ->
unit
like fprintf
but print using the standard formatter
val print_dot :
?pp:Dose_common.CudfAdd.pp ->
?condense:bool ->
?addmissing:bool ->
?dir:string ->
diagnosis ->
unit
print the explanation graph in dot format to the standard formatter