Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
loading and handling of the repository state of an opam root (i.e. what is in ~/.opam/repo)
module Cache : sig ... end
Caching of repository loading (marshall of all parsed opam files)
val load :
'a OpamStateTypes.lock ->
[< OpamStateTypes.unlocked ] OpamStateTypes.global_state ->
'a OpamStateTypes.repos_state
val with_ :
'a OpamStateTypes.lock ->
[< OpamStateTypes.unlocked ] OpamStateTypes.global_state ->
('a OpamStateTypes.repos_state -> 'b) ->
'b
Loads the repository state as load
, and calls the given function while keeping it locked (as per the lock
argument), releasing the lock afterwards
val find_package_opt :
'a OpamStateTypes.repos_state ->
OpamTypes.repository_name list ->
OpamTypes.package ->
(OpamTypes.repository_name * OpamFile.OPAM.t) option
Returns the repo of origin and metadata corresponding to a package, if found, from a sorted list of repositories (highest priority first)
val build_index :
'a OpamStateTypes.repos_state ->
OpamTypes.repository_name list ->
OpamFile.OPAM.t OpamPackage.Map.t
Given the repos state, and a list of repos to use (highest priority first), build a map of all existing package definitions
val get_repo :
'a OpamStateTypes.repos_state ->
OpamTypes.repository_name ->
OpamTypes.repository
Finds a package repository definition from its name (assuming it's in ROOT/repos/)
val load_opams_from_dir :
OpamTypes.repository_name ->
OpamTypes.dirname ->
OpamFile.OPAM.t OpamPackage.Map.t
val load_repo :
OpamTypes.repository ->
OpamFilename.Dir.t ->
OpamFile.Repo.t * OpamFile.OPAM.t OpamPackage.Map.t
Load all the metadata within the local mirror of the given repository, without cache
val get_root :
'a OpamStateTypes.repos_state ->
OpamTypes.repository_name ->
OpamFilename.Dir.t
Get the (lazily extracted) repository root for the given repository
val get_repo_root :
'a OpamStateTypes.repos_state ->
OpamTypes.repository ->
OpamFilename.Dir.t
Same as get_root
, but with a repository rather than just a name as argument
val unlock :
?cleanup:bool ->
'a OpamStateTypes.repos_state ->
OpamStateTypes.unlocked OpamStateTypes.repos_state
Releases any locks on the given repos_state, and cleans the tmp extracted tree if any unless cleanup=false
val drop : ?cleanup:bool -> 'a OpamStateTypes.repos_state -> unit
Releases any locks on the given repos_state and then ignores it.
Using drop ?cleanup rt
is equivalent to ignore (unlock ?cleanup rt)
, 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 remove_from_repos_tmp :
'a OpamStateTypes.repos_state ->
OpamTypes.repository_name ->
unit
Cleanup before removing the repository from temporary table
val cleanup : 'a OpamStateTypes.repos_state -> unit
Clears tmp files corresponding to a repo state (uncompressed repository contents)
val with_write_lock :
?dontblock:bool ->
'a OpamStateTypes.repos_state ->
(OpamStateTypes.rw OpamStateTypes.repos_state ->
'b * OpamStateTypes.rw OpamStateTypes.repos_state) ->
'b * 'a OpamStateTypes.repos_state
Calls the provided function, ensuring a temporary write lock on the given repository state
val write_config : OpamStateTypes.rw OpamStateTypes.repos_state -> unit
Writes the repositories config file back to disk