package opam-state

  1. Overview
  2. Docs

This modules handles the conversion from older repository and package versions to the current one

exception Upgrade_done of OpamFile.Config.t * (OpamFile.Config.t -> unit) option

Raised when the opam root has been updated to a newer format, and further action (opam init/update) is needed. Upgrade_done conf reinit specifies the new config file and a reinit function to call instead of default (see OpamCliMain.main_catch_all).

val latest_version : OpamVersion.t

The latest version of the opam root format, that normal operation of this instance of opam requires

as_necessary requested_lock global_lock root config Runs the upgrade from its current format to the latest compatible version for the opam root at root directory. Performs an on-the-fly upgrade (loaded state, not written) if possible: no hard upgrade needed, and no write lock required (requested_lock). If upgrade need to be written (hard upgrade), a write lock on the global state (global_lock) is taken and when it's done raises Upgrade_done updated_config. Otherwise, it returns the upgraded or unchanged config file.

val hard_upgrade_from_2_1_intermediates : ?reinit:(OpamFile.Config.t -> unit) -> ?global_lock:OpamSystem.lock -> OpamTypes.dirname -> unit
val opam_file_from_1_2_to_2_0 : ?filename:OpamFile.OPAM.t OpamFile.t -> OpamFile.OPAM.t -> OpamFile.OPAM.t

Converts the opam file format, including rewriting availability conditions based on OCaml-related variables into dependencies. The filename is used to report errors

val opam_file : ?quiet:bool -> ?filename:OpamFile.OPAM.t OpamFile.t -> OpamFile.OPAM.t -> OpamFile.OPAM.t

Runs the opam file format from the file's format to current. Supplying filename enables additional notification messages

val comp_file : ?package:OpamTypes.package -> ?descr:OpamFile.Descr.t -> OpamFile.Comp.t -> OpamFile.OPAM.t

Convert the comp file to an opam one, using OpamFile.Comp.to_package and applying filter rewriting

val opam_file_with_aux : ?quiet:bool -> ?dir:OpamTypes.dirname -> files:bool -> ?filename:OpamFile.OPAM.t OpamFile.t -> OpamFile.OPAM.t -> OpamFile.OPAM.t

Runs the opam file format from the file's format to current, and adds data from 'url' and 'descr' files found in the specified dir or the opam file's metadata dir, if not already present in the opam file. If files is true, also adds the names and hashes of files found below 'files/'. Supplying filename enables additional notification messages