Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Handles concrete actions on packages, like installations and removals
val download_package :
OpamStateTypes.rw OpamStateTypes.switch_state ->
OpamTypes.package ->
(string option * string) option OpamProcess.job
download t pkg
downloads the source of the package pkg
into its locally cached source dir. Returns Some (short_errmsg option, long_errmsg)
on error, None
on success. See OpamTypes.Not_available
.
This doesn't update dev packages that already have a locally cached source.
val prepare_package_source :
OpamStateTypes.rw OpamStateTypes.switch_state ->
OpamTypes.package ->
OpamTypes.dirname ->
exn option OpamProcess.job
prepare_package_source t pkg dir
updates the given source dir
with the extra downloads, overlays and patches from the package's metadata applied.
val build_package :
OpamStateTypes.rw OpamStateTypes.switch_state ->
?test:bool ->
?doc:bool ->
OpamTypes.dirname ->
OpamTypes.package ->
exn option OpamProcess.job
build_package t build_dir pkg
builds the package pkg
within build_dir
. Returns None
on success, Some exn
on error. See download_package
and prepare_package_source
for the previous steps.
val install_package :
OpamStateTypes.rw OpamStateTypes.switch_state ->
?test:bool ->
?doc:bool ->
?build_dir:OpamTypes.dirname ->
OpamTypes.package ->
(OpamFile.Dot_config.t option, exn) OpamCompat.Either.t OpamProcess.job
install_package t pkg
installs an already built package. Returns None
on success, Some exn
on error. Do not update OPAM's metadata. See build_package
to build the package.
Find out if the package source is needed for uninstall
val remove_package :
OpamStateTypes.rw OpamStateTypes.switch_state ->
?silent:bool ->
?changes:OpamDirTrack.t ->
?force:bool ->
?build_dir:OpamTypes.dirname ->
OpamTypes.package ->
unit OpamProcess.job
Removes a package. If changes
is unspecified, it is read from the package's change file. if force
is specified, remove files marked as added in changes
even if the files have been modified since.
val noop_remove_package :
OpamStateTypes.rw OpamStateTypes.switch_state ->
OpamTypes.package ->
bool
Returns true
whenever remove_package
is a no-op.
val cleanup_package_artefacts :
OpamStateTypes.rw OpamStateTypes.switch_state ->
OpamTypes.package ->
unit
Removes auxiliary files related to a package, after checking that they're not needed
val sources_needed :
'a OpamStateTypes.switch_state ->
OpamSolver.ActionGraph.t ->
OpamTypes.package_set
Compute the set of packages which will need to be downloaded to apply a solution. Takes a graph of atomic actions.