`sig
exception Process_error of OpamProcess.result
exception Command_not_found of string
val process_error : OpamProcess.result -> 'a
val raise_on_process_error : OpamProcess.result -> unit
exception Internal_error of string
val internal_error : ('a, unit, string, 'b) Pervasives.format4 -> 'a
val with_tmp_dir : (string -> 'a) -> 'a
val with_tmp_dir_job : (string -> 'a OpamProcess.job) -> 'a OpamProcess.job
val verbose_for_base_commands : unit -> bool
val copy : string -> string -> unit
val install : ?exec:bool -> string -> string -> unit
val is_exec : string -> bool
val link : string -> string -> unit
val real_path : string -> string
val string_of_channel : Pervasives.in_channel -> string
exception File_not_found of string
val read : string -> string
val write : string -> string -> unit
val remove : string -> unit
val remove_file : string -> unit
val remove_dir : string -> unit
val chdir : string -> unit
val in_dir : string -> (unit -> 'a) -> 'a
val files_with_links : string -> string list
val rec_files : string -> string list
val files : string -> string list
val rec_dirs : string -> string list
val dirs : string -> string list
val dir_is_empty : string -> bool
val ocaml_version : string option Lazy.t
val ocaml_native_available : bool Lazy.t
val ocaml_opt_available : bool Lazy.t
val ocaml_natdynlink_available : bool Lazy.t
val system_ocamlc_where : string option Lazy.t
val system_ocamlc_version : string option Lazy.t
val directories_with_links : string -> string list
val make_command :
?verbose:bool ->
?env:string array ->
?name:string ->
?text:string ->
?metadata:(string * string) list ->
?allow_stdin:bool ->
?dir:string ->
?check_existence:bool -> string -> string list -> OpamProcess.command
type command = string list
val command_exists : ?env:string array -> ?dir:string -> string -> bool
val command :
?verbose:bool ->
?env:string array ->
?name:string ->
?metadata:(string * string) list ->
?allow_stdin:bool -> OpamSystem.command -> unit
val commands :
?verbose:bool ->
?env:string array ->
?name:string ->
?metadata:(string * string) list ->
?keep_going:bool -> OpamSystem.command list -> unit
val read_command_output :
?verbose:bool ->
?env:string array ->
?metadata:(string * string) list ->
?allow_stdin:bool -> OpamSystem.command -> string list
val is_tar_archive : string -> bool
val extract : string -> string -> unit
val extract_in : string -> string -> unit
val mkdir : string -> unit
type lock
val flock : ?read:bool -> string -> OpamSystem.lock
val funlock : OpamSystem.lock -> unit
val download :
overwrite:bool ->
?compress:bool ->
?checksum:string ->
filename:string -> dst:string -> string OpamProcess.job
val patch : string -> unit
val temp_file : ?dir:string -> string -> string
val print_stats : unit -> unit
val path_sep : char
end`