sig
  val it : Common.Util.Info.t
  val info : ('a, unit, string, unit) format4 -> 'a
  val wt : Common.Util.Warning.t
  val warning : ('a, unit, string, unit) format4 -> 'a
  val dt : Common.Util.Debug.t
  val debug : ('a, unit, string, unit) format4 -> 'a
  val fatal : ('a, unit, string, 'b) format4 -> 'a
  module type Ot =
    sig
      val options :
        ?usage:string ->
        ?version:string ->
        ?suppress_usage:bool ->
        ?suppress_help:bool ->
        ?prog:string ->
        ?formatter:OptParse.Formatter.t -> unit -> OptParse.OptParser.t
    end
  val vpkg_option :
    ?default:Debian.Format822.vpkg ->
    ?metavar:string -> unit -> Debian.Format822.vpkg OptParse.Opt.t
  val vpkglist_option :
    ?default:Debian.Format822.vpkglist ->
    ?metavar:string -> unit -> Debian.Format822.vpkglist OptParse.Opt.t
  val pkglist_option :
    ?default:(string * Debian.Format822.architecture option *
              Debian.Format822.version)
             list ->
    ?metavar:string ->
    unit ->
    (string * Debian.Format822.architecture option * Debian.Format822.version)
    list OptParse.Opt.t
  val debvpkg :
    ?native_arch:string ->
    (string * string -> 'a * 'b) ->
    (string * string option) * (string * string) option ->
    string * ([> `Eq | `Geq | `Gt | `Leq | `Lt ] * 'b) option
  val incr_str_list :
    ?default:string list option ->
    ?metavar:string -> unit -> string list OptParse.Opt.t
  val str_list_option :
    ?default:string list option ->
    ?metavar:string -> unit -> string list OptParse.Opt.t
  module MakeOptions :
    functor (O : Ot->
      sig
        val verbose : int OptParse.Opt.t
        val quiet : bool OptParse.Opt.t
        val progress : bool OptParse.Opt.t
        val timers : bool OptParse.Opt.t
        val options : OptParse.OptParser.t
      end
  type options =
    BoilerplateNoRpm.options =
      Deb of Debian.Debcudf.options
    | Eclipse of Debian.Debcudf.options
    | Csw
    | Rpm
    | Cudf
  module MakeDistribOptions :
    functor (O : sig val options : OptParse.OptParser.t end->
      sig
        val deb_foreign_arch : string list OptParse.Opt.t
        val deb_native_arch : string OptParse.Opt.t
        val deb_host_arch : string OptParse.Opt.t
        val deb_build_arch : string OptParse.Opt.t
        val deb_ignore_essential : bool OptParse.Opt.t
        val set_options : Common.Url.input_scheme -> options option
      end
  val enable_debug : int -> unit
  val all_quiet : bool -> unit
  val enable_bars : bool -> Common.Util.label list -> unit
  val enable_timers : bool -> Common.Util.label list -> unit
  val read_deb :
    ?filter:((string * (Debian.Format822.loc * Debian.Format822.architecture))
             list -> bool) ->
    ?extras:(string *
             ((string *
               (Debian.Format822.loc * Debian.Format822.architecture))
              list -> Debian.Format822.architecture)
             option)
            list ->
    string -> Debian.Packages.Set.elt list
  val deb_load_list :
    Debian.Debcudf.options ->
    ?status:Debian.Packages.Set.elt list ->
    Debian.Packages.Set.elt list list ->
    Cudf.preamble * Cudf.package list list *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val pp_versions_table :
    Format.formatter ->
    (Cudf_types.pkgname * Cudf_types.version -> string * string) *
    Cudf.package list -> unit
  val eclipse_load_list :
    '->
    Eclipse.Packages.package list list ->
    Cudf.preamble * Cudf.package list list *
    (string * int -> string * string) * (string * string -> string * int)
  val csw_load_list :
    Csw.Packages.package list list ->
    Cudf.preamble * Cudf.package list list * ('a * int -> 'a * string) *
    (Csw.Packages.name * string -> Csw.Packages.name * int)
  val deb_load_universe :
    Debian.Debcudf.options ->
    Debian.Packages.Set.elt list ->
    Cudf.preamble * Cudf.universe *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val rpm_load_list : '-> 'b
  val rpm_load_universe : '-> 'b * Cudf.universe * 'c * 'd
  val parse_cudf :
    string -> Cudf.preamble option * Cudf.package list * Cudf.request option
  val load_cudf :
    string -> Cudf.preamble option * Cudf.universe * Cudf.request option
  val cudf_load_list :
    string ->
    Cudf.preamble * Cudf.package list list * ('a * int -> 'a * string) *
    ('b * string -> 'b * int)
  val cudf_load_universe :
    string ->
    Cudf.preamble * Cudf.universe * ('a * int -> 'a * string) *
    ('b * string -> 'b * int)
  val unpack : 'a * ('b * 'c * 'd * 'e * 'f) * '-> 'f
  val deb_parse_input :
    Debian.Debcudf.options ->
    ('a * ('b * 'c * 'd * 'e * string) * 'f) list list ->
    Cudf.preamble * Cudf.package list list *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val eclipse_parse_input :
    '->
    ('b * ('c * 'd * 'e * 'f * string) * 'g) list list ->
    Cudf.preamble * Cudf.package list list *
    (string * int -> string * string) * (string * string -> string * int)
  val csw_parse_input :
    ('a * ('b * 'c * 'd * 'e * string) * 'f) list list ->
    Cudf.preamble * Cudf.package list list * ('g * int -> 'g * string) *
    (Csw.Packages.name * string -> Csw.Packages.name * int)
  val cudf_parse_input :
    ('a * ('b * 'c * 'd * 'e * string) * 'f) list list ->
    Cudf.preamble * Cudf.package list list * ('g * int -> 'g * string) *
    ('h * string -> 'h * int)
  val parse_input :
    ?options:options option ->
    string list list ->
    Cudf.preamble * Cudf.package list list *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val supported_formats : unit -> string list
  val load_list :
    ?options:options option ->
    string list list ->
    Cudf.preamble * Cudf.package list list *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val load_universe :
    ?options:options option ->
    string list ->
    Cudf.preamble * Cudf.universe *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val if_application :
    ?alternatives:string list -> string -> (unit -> unit) -> unit
end