Loads the global state (from the opam root obtained through
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
Fold over switches, using switch selections. Switch selection file
switch-state is loaded only read-only; no further checks are done on the opam root version.
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
val installed_versions : 'a OpamStateTypes.global_state -> OpamTypes.name -> OpamTypes.switch list OpamTypes.package_map
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 overridden by switch-specific selections, and does not have to include all configured repositories.
Releases any locks on the given global_state
val drop : 'a OpamStateTypes.global_state -> unit
Releases any locks on the given global state and then ignores it.
drop gt is equivalent to
ignore (unlock gt), and safer than other uses of
ignore where it is not enforced by the type-system that the value is unlocked before it is lost.
val with_write_lock : ?dontblock:bool -> 'a OpamStateTypes.global_state -> ( OpamStateTypes.rw OpamStateTypes.global_state -> 'b * 'c OpamStateTypes.global_state ) -> 'b * 'a OpamStateTypes.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)