# Module OpamAction

    module OpamAction: sig .. end

OPAM actions

    val download_package : OpamState.Types.t -> OpamTypes.package -> unit

Downloads the source for a package to the local cache.

    val extract_package : OpamState.Types.t -> OpamTypes.package -> unit

Extracts and patches the source of a package found in the local cache.

    val build_and_install_package : OpamState.Types.t -> metadata:bool -> OpamTypes.package -> unit

Build and install a package from its downloaded source.

    val remove_package : OpamState.Types.t ->
           metadata:bool ->
           ?keep_build:bool -> ?silent:bool -> OpamTypes.package -> unit

Remove a package.

    val cleanup_package_artefacts : OpamState.Types.t -> OpamTypes.package -> unit

Removes auxiliary files related to a package, after checking that they're not needed (even in other switches)

    val remove_all_packages : OpamState.Types.t ->
           metadata:bool ->
           OpamSolver.solution ->
           (OpamState.Types.t * OpamTypes.package_set) *
           [ `Exception of exn | `Successful of unit ]

Remove all the packages from a solution. This includes the package to delete, to upgrade and to recompile. Return the updated state and set of all deleted packages.

    val sources_needed : OpamState.Types.t -> OpamSolver.solution -> OpamTypes.package_set

Compute the set of packages which will need to be downloaded to apply a solution

    val update_metadata : OpamState.Types.t ->
           installed:OpamTypes.package_set ->
           installed_roots:OpamTypes.package_set ->
           reinstall:OpamTypes.package_set -> OpamState.Types.t

Update package metadata