`include sig ... end`
`val it : Dose_common__Util.Info.t`
`val info : ('a, unit, string, unit) Stdlib.format4 -> 'a`
`val nt : Dose_common__Util.Notice.t`
`val notice : ('a, unit, string, unit) Stdlib.format4 -> 'a`
`val wt : Dose_common__Util.Warning.t`
`val warning : ('a, unit, string, unit) Stdlib.format4 -> 'a`
`val dt : Dose_common__Util.Debug.t`
`val debug : ('a, unit, string, unit) Stdlib.format4 -> 'a`
`val fatal : ('a, unit, string, 'b) Stdlib.format4 -> 'a`
`type tables = {`

1. `strings_table : string Dose_common.Util.StringHashtbl.t;`
2. `versions_table : (string, string list) ExtLib.Hashtbl.t;`
3. `reverse_table : (string * int, string) ExtLib.Hashtbl.t;`

`}`
`val create : int -> tables`
`val clear : tables -> unit`
`val pefcudf_op : string -> [> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ]`
`val pefcudf_constr : (string * 'a) option -> ([> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ] * 'a) option`
`val pefvpkg : ((string * 'a) -> 'b * 'c) -> ((string * string option) * (string * 'a) option) -> string * ([> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ] * 'c) option`

convert a pef constraint into a cudf constraint

`val init_versions_table : tables -> ('a, string list) ExtLib.Hashtbl.t -> < conflicts : (('a * 'b) * (string * string) option) list ; depends : (('a * 'c) * (string * string) option) list list ; name : 'a ; provides : (('a * 'b) * (string * string) option) list ; recommends : (('a * 'c) * (string * string) option) list list ; version : string.. > -> unit`
`val init_virtual_table : ('a, unit) ExtLib.Hashtbl.t -> < provides : ('a * 'b) list.. > -> unit`
`val init_unit_table : ('a, unit) ExtLib.Hashtbl.t -> < name : 'a.. > -> unit`
`val init_versioned_table : ('a, unit) ExtLib.Hashtbl.t -> < conflicts : ('a * 'b) list ; depends : ('a * 'c) list list.. > -> unit`
`val init_tables : (string -> string -> int) -> < conflicts : ((string * 'a) * (string * string) option) list ; depends : ((string * 'b) * (string * string) option) list list ; name : string ; provides : ((string * 'a) * (string * string) option) list ; recommends : ((string * 'b) * (string * string) option) list list ; version : string.. > list -> tables`
`val get_cudf_version : tables -> (string * string) -> int`
`val get_real_version : tables -> (string * int) -> string * 'a option * string`
`val encode_vpkgname : ?arch:string -> ?archs:string list -> (string * string option) -> string list`
`val loadl : tables -> ?arch:string -> ?archs:string list -> ((string * string option) * (string * string) option) list -> (string * ([> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ] * int) option) list`
`val loadlp : tables -> ?arch:string -> ?archs:string list -> ((string * string option) * (string * string) option) list -> (string * ([> `Eq ] * int) option) list`
`val loadlc : tables -> ?arch:string -> ?archs:string list -> ((string * string option) * (string * string) option) list -> (string * ([> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ] * int) option) list`
`val loadll : tables -> ?arch:string -> ?archs:string list -> ((string * string option) * (string * string) option) list list -> (string * ([> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ] * int) option) list list`
`type extramap = (string * (string * Cudf_types.typedecl1)) list`
`val preamble : Cudf.preamble`
`val add_extra : (string * (string * Cudf_types.typedecl1)) list -> tables -> < extras : (string * string) list ; recommends : ((string * string option) * (string * string) option) list list ; version : string.. > -> (string * Cudf_types.typed_value) list`
`val tocudf : tables -> ?extras:(string * (string * Cudf_types.typedecl1)) list -> ?extrasfun: (tables -> (< conflicts : ((string * string option) * (string * string) option) list ; depends : ((string * string option) * (string * string) option) list list ; extras : (string * string) list ; name : string ; provides : ((string * string option) * (string * string) option) list ; recommends : ((string * string option) * (string * string) option) list list ; version : string.. > as 'a) -> (string * Cudf_types.typed_value) list) -> 'a -> Cudf.package`
`val load_list : (string -> string -> int) -> < conflicts : ((string * string option) * (string * string) option) list ; depends : ((string * string option) * (string * string) option) list list ; extras : (string * string) list ; name : string ; provides : ((string * string option) * (string * string) option) list ; recommends : ((string * string option) * (string * string) option) list list ; version : string.. > list -> Cudf.package list`
`val load_universe : (string -> string -> int) -> < conflicts : ((string * string option) * (string * string) option) list ; depends : ((string * string option) * (string * string) option) list list ; extras : (string * string) list ; name : string ; provides : ((string * string option) * (string * string) option) list ; recommends : ((string * string option) * (string * string) option) list list ; version : string.. > list -> Cudf.universe`