`type tables`

abstract data type holding the conversion tables for the debcudf translation.

`type extramap = (string * (string * Cudf_types.typedecl1)) list`
`type options = {`

1. `extras_opt : extramap;`
2. `native : string option;`
   (*

   the native architecture

   *)
3. `foreign : string list;`
   (*

   list of foreign architectures

   *)
4. `host : string option;`
   (*

   the host architecture - cross compile

   *)
5. `ignore_essential : bool;`
6. `builds_from : bool;`
   (*

   whether to add the builds-from relationship from binary to source packages

   *)
7. `drop_bd_indep : bool;`
   (*

   whether or not to ignore the Build-Depends-Indep field

   *)
8. `drop_bd_arch : bool;`
   (*

   whether or not to ignore the Build-Depends-Arch field

   *)
9. `profiles : string list;`
   (*

   list of active build profiles

   *)

`}`
`val default_options : options`
`val init_tables : ?options:options -> ?step:int -> ?versionlist:Dose_pef.Packages_types.version list -> Packages.package list -> tables`

initialize the version conversion tables

`val clear : tables -> unit`
`val get_cudf_version : tables -> (Dose_pef.Packages_types.name * Dose_pef.Packages_types.version) -> int`

return the cudf version associated to a tuple (name,version). * return Not_found if there is not package or cudf version associated * to the tuple (name,version)

`val get_real_name : Cudf_types.pkgname -> string * string option`

Get the orgininal debian package name. Remove deb -> cudf conversion cruft

`val get_real_version : tables -> (Cudf_types.pkgname * Cudf_types.version) -> Dose_pef.Packages_types.name * Dose_pef.Packages_types.architecture option * Dose_pef.Packages_types.version`

return the real version associated to a Cudf package

`val get_essential : ?options:options -> tables -> (Cudf_types.vpkglist * Cudf.package list) list`
`val tocudf : tables -> ?options:options -> ?inst:bool -> Packages.package -> Cudf.package`

`tocudf tbl p` convert the a debian package representation to cudf.

- Version and package name normalization.
- Adding self conflicts.
- Virtual package normalization.
- Adding priority information if avaiblable.
- Mapping APT request.

- parameter inst

  : set the Installed cudf field

`val preamble : Cudf.preamble`

declare the Cudf preamble used by cudf. Namely, debcudf add :

- a property named Number of type string containing the original debian version
- a property named Source of type string
- a property named Sourceversion of type string

`val load_universe : ?options:options -> Packages.package list -> Cudf.universe`

create a Cudf universe from a debian package representation list.

`val load_list : ?options:options -> Packages.package list -> Cudf.package list`

create a Cudf package list from a debian package representation list.