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
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.
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.
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
These functions are exposed for advanced uses by external libraries
val orphans :
?changes:OpamTypes.package_set ->?transitive:bool ->'aOpamStateTypes.switch_state->'aOpamStateTypes.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 :
'aOpamStateTypes.switch_state->OpamTypes.atom list->'aOpamStateTypes.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