package dose3

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Dose_algo.DiagnosticSource

Un-installability reasons

Sourcetype request = Cudf.package list

The request provided to the solver

Sourcetype reason =
  1. | 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

    *)
  2. | Missing of Cudf.package * Cudf_types.vpkg list
    (*

    Missing (a,vpkglist) means that the dependency vpkglist of package a cannot be satisfied

    *)
  3. | Conflict of Cudf.package * Cudf.package * Cudf_types.vpkg
    (*

    Conflict (a,b,vpkg) means that the package a is in conflict with package b because of vpkg

    *)
Sourcetype result =
  1. | 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

    *)
  2. | Failure of unit -> reason list
    (*

    If unsuccessful returns a function containing the list of reason

    *)

The result of an installability query

Sourcetype diagnosis = {
  1. result : result;
  2. request : request;
}

The aggregated result from the solver

Sourcetype reason_int =
  1. | DependencyInt of int * Cudf_types.vpkg list * int list
  2. | MissingInt of int * Cudf_types.vpkg list
  3. | ConflictInt of int * int * Cudf_types.vpkg

Low level Integer Un-installability reasons

Sourcetype result_int =
  1. | SuccessInt of ?all:bool -> unit -> int list
  2. | 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

Sourcetype request_int = int list

Helpers Functions

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

Sourcemodule ResultHash : Hashtbl.S with type key = reason
Sourcetype summary = {
  1. mutable missing : int;
  2. mutable conflict : int;
  3. mutable unique_missing : int;
  4. mutable unique_conflict : int;
  5. mutable unique_selfconflict : int;
  6. summary : Cudf.package list ref ResultHash.t;
  7. statistic : (int * int, int ref) Hashtbl.t;
}

Collect aggregate information about not installable packages

Sourceval default_result : int -> summary
Sourceval collect : summary -> diagnosis -> unit

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

Sourceval pp_out_version : Format.formatter -> unit

print output version

Sourceval pp_package : ?source:bool -> ?fields:bool -> Dose_common.CudfAdd.pp -> Format.formatter -> Cudf.package -> unit

default package pretty printer.

Sourceval pp_list : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a list -> unit
Sourceval print_error : ?condense:bool -> ?minimal:bool -> Dose_common.CudfAdd.pp -> Cudf.package -> Format.formatter -> reason list -> unit
Sourceval get_installationset : ?minimal:bool -> diagnosis -> Cudf.package list

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.

  • raises [Not_found]

    if the result is a failure.

Sourceval is_solution : diagnosis -> bool

True is the result of an installablity query is successfull. False otherwise

Sourceval pp_summary : ?pp:Dose_common.CudfAdd.pp -> ?explain:bool -> unit -> Format.formatter -> summary -> unit

print a aggregate information of not installable packages.

  • parameter pp

    cudf package printer

  • parameter explain

    if true, print the list of all affected packages associated to and installation problem.

Sourceval 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.

  • parameter pp

    cudf package printer

  • parameter failure

    print the list of not installable packages

  • parameter success

    print the list of installable packages

  • parameter explain

    for installable packages, print the associated installation set for not installable packages, print the all dependencies chains

Sourceval printf : ?pp:Dose_common.CudfAdd.pp -> ?failure:bool -> ?success:bool -> ?explain:bool -> diagnosis -> unit

like fprintf but print using the standard formatter

Sourceval 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

OCaml

Innovation. Community. Security.