package opam-format

  1. Overview
  2. Docs

Switch related paths

Locations of opam internal dirs and files

The switch prefix: $opam/$switch

val meta_dirname : string

The name of the subdir of the switch prefix where opam data is stored (".opam-switch")

The subdirectory of the prefix where opam data lives: $opam/$switch/.opam-switch

lock file: $meta/lock

val backup_dir : t -> OpamTypes.switch -> OpamTypes.dirname

The directory where backups are stored for this switch

Backup file for state export

Switch selections $meta/switch-state

Temporary folders used to decompress and compile the corresponding archives: $meta/build/$packages

Temporary folders used to decompress the corresponding archives, used only for package removal $meta/remove/$packages

val build_dir : t -> OpamTypes.switch -> OpamTypes.dirname

Temporary folder: $meta/build

val remove_dir : t -> OpamTypes.switch -> OpamTypes.dirname

Temporary folder: $meta/remove

Installed files for a given package: $meta/install/$name.install

File registering the changes made by the installation of the given package $meta/install/$name.changes

val install_dir : t -> OpamTypes.switch -> OpamTypes.dirname

Installed files: $meta/install/

Packages to reinstall on next upgrade: $meta/reinstall

val config_dir : t -> OpamTypes.switch -> OpamTypes.dirname

Configuration folder: $meta/config

Global config for the switch: $meta/switch-config

Package-specific configuration file for installed packages: $meta/config/$name.config

val sources_dir : t -> OpamTypes.switch -> OpamTypes.dirname

Clean, uncompressed sources for this switch: $meta/sources/

Clean, uncompressed source directory for this package: $meta/sources/$name.$version/

val extra_files_dir : t -> OpamTypes.switch -> OpamTypes.dirname

Temporary switch-local directory where a by-hash map of extra files may be stored. This is used for switch-imports: $meta/extra-files-cache

Extra file with the given hash from the temporary switch-import cache: $meta/extra-files-cache/HASH

val pinned_package : t -> OpamTypes.switch -> OpamTypes.name -> OpamTypes.dirname

Mirror of the sources for a given pinned package: $meta/sources/$name/ (without version)

Cached environment updates.

val last_env : t -> OpamTypes.switch -> OpamTypes.dirname
val env_relative_to_prefix : OpamTypes.dirname -> OpamFile.Environment.t OpamFile.t

Like environment, but from the switch prefix dir

val installed_opams : t -> OpamTypes.switch -> OpamTypes.dirname

Directory where the metadata of installed packages is mirrored. $meta/packages/

val installed_opams_cache : t -> OpamTypes.switch -> OpamTypes.filename

Cache file for the mirrored installed package metadata $meta/packages/cache

val installed_package_dir : t -> OpamTypes.switch -> OpamTypes.package -> OpamTypes.dirname

The mirror of the package definition for the given installed package $meta/packages/$name.$version/

The mirror of the opam file for the given installed package $meta/packages/$name.$version/opam

val installed_opam_files_dir : t -> OpamTypes.switch -> OpamTypes.package -> OpamTypes.dirname

Mirror of the extra files attached to the package definitions of installed packages $meta/packages/$name.$version/files/

Locations for the visible part of the installation

module Default : sig ... end

Default config

module DefaultF (L : LAYOUT) : sig ... end

Fuctorised version of Default, for replicating a switch's layout in non-switch contexts

Actual config handling the global-config.config indirections

Package-independent dirs

Library path: $prefix/lib

toplevel path: $prefix/lib/toplevel

Documentation path: $prefix/doc/

Shared directory: $prefix/share

Etc directory: $prefix/etc

val man_dir : ?num:string -> t -> OpamTypes.switch -> OpamFile.Switch_config.t -> OpamTypes.dirname

Man pages path: $prefix/man/. The optional num argument will add a manN suffix if specified

Man pages pathes: $prefix/man/manN/

Installed binaries: $prefix/bin

Installed system binaries: $prefix/sbin

Package dependent dirs

Library path for a given package: $prefix/lib/$name

Documentation path for a given package: $prefix/doc/$name

Share directory for a given package: $prefix/share/$package

Etc directory for a given package: $prefix/etc/$package

module Overlay : sig ... end
OCaml

Innovation. Community. Security.