Module DebianFormats.Control

type source_section = {
source : name;
section : name;
priority : name;
maintainer : string;
uploaders : string list;
standards_version : version;
build_depends : (vpkg * (bool * architecture) list) list list;
build_depends_indep : (vpkg * (bool * architecture) list) list list;
build_conflicts : (vpkg * (bool * architecture) list) list;
build_conflicts_indep : (vpkg * (bool * architecture) list) list;
}

debian source section format

type binary_section = {
package : name;
essential : bool;
depends : vpkg list list;
pre_depends : vpkg list list;
recommends : vpkg list list;
suggests : vpkg list;
enhances : vpkg list;
conflicts : vpkg list;
breaks : vpkg list;
replaces : vpkg list;
provides : veqpkg list;
extras : (string * string) list;
}

debian binary sections format

type t = source_section * binary_section list
val parse_name : string -> string
val parse_vpkg : string -> string * (string * string) option
val parse_veqpkg : string -> string * (string * string) option
val parse_conj : string -> (string * (string * string) option) list
val parse_essential : string -> bool
val parse_source_fields : (string * name list) list -> source_section option
val parse_binary_fields : string list -> (string * name list) list -> binary_section option
val parse : IO.input -> source_section * binary_section list
val filename : string
val default : unit -> source_section * binary_section list