Module Dose_debian.Evolution

module Version = Dose_versioning.Debian
type range = [
| `Hi of string
| `In of string * string
| `Lo of string
| `Eq of string
]
val string_of_range : [< `Eq of string | `Hi of string | `In of string * string | `Lo of string ] -> string
val range : ?bottom:bool -> string list -> [> `Eq of string | `Hi of string | `In of string * string | `Lo of string ] list
val discriminant : ?bottom:bool -> ?highest:bool -> ([> `Eq of string | `Hi of string | `In of string * string | `Lo of string ] as 'a -> 'b -> 'c) -> string list -> 'b list -> ('a * 'a list) list

discriminants ?bottom ?ascending evalsel vl constraints returns the discriminants of the versions vl w.r.t. the constraints, using evalsel to determine whether a a version satisfy a constraint. For each discriminant, a canonical representative is given, as well as the list of all other equivalent versions.

  • parameter bottom

    set to true includes a version strictly smaller than all vl

  • parameter highest

    chooses the highest version as representative, if set to true, and the lowest otherwise.

val add_unique : ('a('b, unit) ExtLib.Hashtbl.t) ExtLib.Hashtbl.t -> 'a -> 'b -> unit
val conj_iter : ('a(([> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ] * 'b) option, unit) ExtLib.Hashtbl.t) ExtLib.Hashtbl.t -> (('a * 'c) * (string * 'b) option) list -> unit
val cnf_iter : ('a(([> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ] * 'b) option, unit) ExtLib.Hashtbl.t) ExtLib.Hashtbl.t -> (('a * 'c) * (string * 'b) option) list list -> unit
val constraints : < breaks : (('a * 'b) * (string * string) option) list; conflicts : (('a * 'c) * (string * string) option) list; depends : (('a * 'd) * (string * string) option) list list; pre_depends : (('a * 'e) * (string * string) option) list list; provides : (('a * 'f) * (string * string) option) list; .. > list -> ('a([> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ] * string) list) ExtLib.Hashtbl.t

constraints universe returns a map between package names and an ordered list of constraints where the package name is mentioned

val all_constraints : ('a'b list) ExtLib.Hashtbl.t -> 'a -> 'b list
val align : string -> [ `Eq of string | `Hi of string | `In of string * string | `Lo of string ] -> [ `Eq of string | `Hi of string | `In of string * string | `Lo of string ]
val all_versions : ('a * 'b) list -> 'b list
val migrate : < version : string; .. > as 'a list -> [ `Eq of string | `Hi of string | `In of string * string | `Lo of string ] -> (('a * [ `Eq of string | `Hi of string | `In of string * string | `Lo of string ]) * [ `Eq of string | `Hi of string | `In of string * string | `Lo of string ]) list
val extract_epochs : string list -> string list
val add_normalize : string list -> string list
val add_epochs : string list -> string list -> string list
val all_ver_constr : ('a('b * string) list) ExtLib.Hashtbl.t -> < name : 'a; version : string; .. > list -> string list * ('b * string) list