package opam-client

  1. Overview
  2. Docs

High-level execution of user-facing functions like install and upgrade, and wrappers around the pinning commands

val init : init_config:OpamFile.InitConfig.t -> interactive:bool -> ?repo:OpamTypes.repository -> ?bypass_checks:bool -> ?dot_profile:OpamTypes.filename -> ?update_config:bool -> ?env_hook:bool -> ?completion:bool -> ?check_sandbox:bool -> OpamTypes.shell -> OpamStateTypes.rw OpamStateTypes.global_state * OpamStateTypes.unlocked OpamStateTypes.repos_state * OpamTypes.atom list

Initialize the client to a consistent state. Returns the initial state and, in case a switch is to be created, its initial set of packages

val reinit : ?init_config:OpamFile.InitConfig.t -> interactive:bool -> ?dot_profile:OpamTypes.filename -> ?update_config:bool -> ?env_hook:bool -> ?completion:bool -> ?inplace:bool -> ?check_sandbox:bool -> ?bypass_checks:bool -> OpamFile.Config.t -> OpamTypes.shell -> unit

Re-runs the extra tools checks, updates the configuration from init_config (defaults to OpamInitDefaults.init_config) for the settings that are unset, and updates all repositories

val install : OpamStateTypes.rw OpamStateTypes.switch_state -> ?autoupdate:OpamTypes.atom list -> ?add_to_roots:bool -> ?deps_only:bool -> ?ignore_conflicts:bool -> ?assume_built:bool -> ?download_only:bool -> ?depext_only:bool -> OpamTypes.atom list -> OpamStateTypes.rw OpamStateTypes.switch_state

Install the given list of packages. add_to_roots, if given, specifies that given packages should be added or removed from the roots. autoupdate defaults to the list of atoms, and can be used to restrict the atoms which are updated if pinned.

val install_t : OpamStateTypes.rw OpamStateTypes.switch_state -> ?ask:bool -> ?ignore_conflicts:bool -> ?depext_only:bool -> ?download_only:bool -> OpamTypes.atom list -> bool option -> deps_only:bool -> assume_built:bool -> OpamStateTypes.rw OpamStateTypes.switch_state

Low-level version of reinstall, bypassing the package name sanitization and dev package update, and offering more control

val check_installed : build:bool -> post:bool -> OpamStateTypes.rw OpamStateTypes.switch_state -> OpamTypes.atom list -> OpamPackage.Name.Set.t OpamPackage.Map.t

Check that the given list of packages atoms have their dependencies satisfied, without calling the solver. Returns missing dependencies.

val reinstall : OpamStateTypes.rw OpamStateTypes.switch_state -> ?assume_built:bool -> OpamTypes.atom list -> OpamStateTypes.rw OpamStateTypes.switch_state

Reinstall the given set of packages.

val reinstall_t : OpamStateTypes.rw OpamStateTypes.switch_state -> ?ask:bool -> ?force:bool -> assume_built:bool -> OpamTypes.atom list -> OpamStateTypes.rw OpamStateTypes.switch_state

Low-level version of reinstall, bypassing the package name sanitization and dev package update, and offering more control

val update : 'a OpamStateTypes.global_state -> repos_only:bool -> dev_only:bool -> ?all:bool -> string list -> bool * bool * OpamStateTypes.unlocked OpamStateTypes.repos_state

Update the local mirrors for the repositories and/or development packages. Returns (success, changes, rt), where success is true only if all updates were successful, changes is true if any upstream had updates, and rt is the updated repository state.

val upgrade : OpamStateTypes.rw OpamStateTypes.switch_state -> ?check:bool -> ?only_installed:bool -> all:bool -> OpamTypes.atom list -> OpamStateTypes.rw OpamStateTypes.switch_state

Upgrade the switch, that is, move packages to their more recent available versions. The specified atoms are kept installed (or newly installed after a confirmation). The upgrade concerns them only unless all is specified.

val upgrade_t : ?strict_upgrade:bool -> ?auto_install:bool -> ?ask:bool -> ?check:bool -> ?terse:bool -> ?only_installed:bool -> all:bool -> OpamTypes.atom list -> OpamStateTypes.rw OpamStateTypes.switch_state -> OpamStateTypes.rw OpamStateTypes.switch_state

Low-level version of upgrade, bypassing the package name sanitization and dev package update, and offering more control. terse avoids the verbose message when we are at a local maximum, but there are possible upgrades

val fixup : OpamStateTypes.rw OpamStateTypes.switch_state -> OpamStateTypes.rw OpamStateTypes.switch_state

Recovers from an inconsistent universe

val remove : OpamStateTypes.rw OpamStateTypes.switch_state -> autoremove:bool -> force:bool -> OpamTypes.atom list -> OpamStateTypes.rw OpamStateTypes.switch_state

Remove the given list of packages.

module PIN : sig ... end

Auxiliary functions

These functions are exposed for advanced uses by external libraries

val orphans : ?changes:OpamTypes.package_set -> ?transitive:bool -> 'a OpamStateTypes.switch_state -> 'a OpamStateTypes.switch_state * OpamTypes.package_set * OpamTypes.package_set

Orphan packages are installed but no longer available packages; we add special treatment so that opam doesn't force their removal for consistency reasons on any action. Returns the "fixed" state, fully orphan packages (no available version of the package remaining), and orphan package versions.

Find more technical explanations in the source.

val check_conflicts : 'a OpamStateTypes.switch_state -> OpamTypes.atom list -> 'a OpamStateTypes.switch_state * OpamTypes.package_set * OpamTypes.package_set

An extended version of orphans that checks for conflicts between a given request and the orphan packages

OCaml

Innovation. Community. Security.