`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`
`class source : ?name:(string * Dose_pef.Packages_types.name option) option -> ?version: (string * Dose_pef.Packages_types.version option) option -> ?architecture:(string * Dose_pef.Packages_types.architecture list option) option -> ?build_depends:(string * Dose_pef.Packages_types.builddepsformula option) option -> ?build_depends_indep: (string * Dose_pef.Packages_types.builddepsformula option) option -> ?build_depends_arch:(string * Dose_pef.Packages_types.builddepsformula option) option -> ?build_conflicts:(string * Dose_pef.Packages_types.builddepslist option) option -> ?build_conflicts_indep: (string * Dose_pef.Packages_types.builddepslist option) option -> ?build_conflicts_arch:(string * Dose_pef.Packages_types.builddepslist option) option -> Dose_extra.Format822.stanza -> object ... end`
`val parse_package_stanza : (Dose_extra.Format822.stanza -> bool) option -> string list -> Dose_extra.Format822.stanza -> source option`
`val parse_sources_in : ?filter:(Dose_extra.Format822.stanza -> bool) -> ?archs:string list -> string -> IO.input -> source list`

parse a debian Sources file from channel

`val input_raw : ?filter:(Dose_extra.Format822.stanza -> bool) -> ?archs:string list -> string list -> source list`

parse a debian Sources file. `~archs` determines which which architectures should be considered while parsing the Souces file. if ~arch is then all archs are cosidered

`val sep : string`
`val matcharch : string -> (bool * string) list -> bool`
`val matchprofile : 'a list -> (bool * 'a) list list -> bool`
`val select : string -> 'a list -> ('b * (bool * string) list * (bool * 'a) list list) -> 'b option`
`val src2pkg : ?dropalternatives:bool -> ?profiles:string list -> ?noindep:bool -> ?noarch:bool -> ?src:string -> Dose_pef.Packages_types.architecture -> Dose_pef.Packages_types.architecture -> < architecture : string list ; build_conflicts : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list ; build_conflicts_arch : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list ; build_conflicts_indep : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list ; build_depends : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list list ; build_depends_arch : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list list ; build_depends_indep : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list list ; name : Dose_pef.Packages_types.name ; version : Dose_pef.Packages_types.version.. > -> Packages.package`
`val sources2packages : ?dropalternatives:bool -> ?profiles:string list -> ?noindep:bool -> ?noarch:bool -> ?src:string -> Dose_pef.Packages_types.architecture -> Dose_pef.Packages_types.architecture -> < architecture : string list ; build_conflicts : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list ; build_conflicts_arch : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list ; build_conflicts_indep : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list ; build_depends : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list list ; build_depends_arch : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list list ; build_depends_indep : (Dose_pef.Packages_types.vpkg * (bool * string) list * (bool * string) list list) list list ; name : Dose_pef.Packages_types.name ; version : Dose_pef.Packages_types.version.. > list -> Packages.package list`

transform a list of sources packages into dummy binary packages. * This function preserve the order

`val is_source : ?src:string -> < extras : (string * string) list.. > -> bool`

Check if a package is of "Type" source as encoded by the function sources2packages

`exception MismatchSrc of Cudf.package list`
`exception NotfoundSrc`
`val get_src_package : Cudf.universe -> Cudf.package -> Cudf.package`

`get_src_package universe binpkg` returns the source package associate with the given binary package.

precondition : the package has "type" bin and the universe contains packages of "type" src encoded with sources2packages.

Raise MismatchSrc if there exists a source package with the same name but with a different version . Raise NotfoundSrc if the univese does not contain either a source package associated with the binary package or a source package with the same name but different version.

`val srcbin_table : Cudf.universe -> Cudf.package list Stdlib.ref Dose_common.CudfAdd.Cudf_hashtbl.t`

Returns an hash table that associates source packages (encoded by the function sources2packages) to binary packages in the universe. It is possible that a source package is not associated with any binary packages.

`val get_bin_packages : 'a Stdlib.ref Dose_common.CudfAdd.Cudf_hashtbl.t -> Dose_common.CudfAdd.Cudf_hashtbl.key -> 'a`

Returns the list of binary packages associated to a package of "Type" source encoded by the function sources2packages. The table h associated each source with a list of binaries

`val binset : ('a -> Dose_common.CudfAdd.Cudf_set.elt list) -> 'a list -> Dose_common.CudfAdd.Cudf_set.t`

Returns the set of binary packages generated by the packages in srclist. The function get_bin_packages gets a source package and returns the set of packages associated to it. If the source package is not known, then it is ignored.