package opam-state

  1. Overview
  2. Docs

Loading and handling of the global state of an opam root

Loads the global state (from the opam root obtained through OpamStateConfig.(!r.root))

val with_ : 'a OpamStateTypes.lock -> ('a OpamStateTypes.global_state -> 'b) -> 'b

Loads the global state as load, and calls the given function while keeping it locked (as per the lock argument), releasing the lock afterwards

The set of all installed packages, in any switch

val fold_switches : (OpamTypes.switch -> OpamTypes.switch_selections -> 'a -> 'a) -> 'b OpamStateTypes.global_state -> 'a -> 'a
val switch_exists : 'a OpamStateTypes.global_state -> OpamTypes.switch -> bool

Checks a switch for existence: either configured in the opam root, or an existing local switch with a configuration file pointing to the current root

Returns the map of installed instances of the package name towards the list of switches they are installed in

Default list of repositories to get packages from, ordered by decreasing priority. This can be overriden by switch-specific selections, and does not have to include all configured repositories.

Releases any locks on the given global_state

Calls the provided function, ensuring a temporary write lock on the given global state

Writes back the global configuration file ~/.opam/config

Updates the configured list of switches, making sure the current switch is registered if it is set and exists, and removing any non-existing switches. Writes back to disk if possible (ie lock is available)