man-pages/man1/opam-list.1.html
2021-03-31 01:06:50 +01:00

492 lines
26 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of OPAM-LIST</TITLE>
</HEAD><BODY>
<H1>OPAM-LIST</H1>
Section: Opam Manual (1)<BR>Updated: <BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
<P>
opam&#45;list &#45; Display the list of available packages&#46;
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<P>
<B>opam list</B> [<I>OPTION</I>]&#46;&#46;&#46; [<I>PATTERNS</I>]&#46;&#46;&#46;
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<P>
List selections of opam packages&#46;
<P>
Without argument, the command displays the list of currently installed packages&#46; With pattern arguments, lists all available packages matching one of the patterns&#46;
<P>
Unless the <B>&#45;&#45;short</B> switch is used, the output format displays one package per line, and each line contains the name of the package, the installed version or `&#45;&#45;&#39; if the package is not installed, and a short description&#46; In color mode, manually installed packages (as opposed to automatically installed ones because of dependencies) are underlined&#46;
<P>
See section <B>PACKAGE SELECTION OPTIONS</B> for all the ways to select the packages to be displayed, and section <B>OUTPUT FORMAT OPTIONS</B> to customise the output format&#46;
<P>
For a more detailed description of packages, see <B>opam show</B>&#46; For extended search capabilities within the packages&#39; metadata, see <B>opam search</B>&#46;
<A NAME="lbAE">&nbsp;</A>
<H2>ARGUMENTS</H2>
<DL COMPACT>
<DT id="1"><I>PATTERNS</I><DD>
Package patterns with globs&#46; Unless <B>&#45;&#45;search</B> is specified, they match againsta <B>NAME</B> or <B>NAME&#46;VERSION</B>
</DL>
<A NAME="lbAF">&nbsp;</A>
<H2>PACKAGE SELECTION OPTIONS</H2>
<DL COMPACT>
<DT id="2"><B>&#45;A</B>, <B>&#45;&#45;all</B><DD>
Include all, even uninstalled or unavailable packages
<DT id="3"><B>&#45;a</B>, <B>&#45;&#45;available</B><DD>
List only packages that are available on the current system
<DT id="4"><B>&#45;&#45;base</B><DD>
List only the immutable base of the current switch (i&#46;e&#46; compiler packages)
<DT id="5"><B>&#45;&#45;coinstallable&#45;with</B>=<I>PACKAGES</I><DD>
Only list packages that are compatible with all of <I>PACKAGES</I>&#46;
<DT id="6"><B>&#45;&#45;conflicts&#45;with</B>=<I>PACKAGES</I><DD>
List packages that have declared conflicts with at least one of the given list&#46; This includes conflicts defined from the packages in the list, from the other package, or by a common <B>conflict&#45;class:</B> field&#46;
<DT id="7"><B>&#45;&#45;depends&#45;on</B>=<I>PACKAGES</I><DD>
List only packages that depend on one of (comma&#45;separated) <I>PACKAGES</I>&#46;
<DT id="8"><B>&#45;&#45;depopts</B><DD>
Include optional dependencies in dependency requests&#46;
<DT id="9"><B>&#45;&#45;dev</B><DD>
Include development packages in dependencies&#46;
<DT id="10"><B>&#45;&#45;field&#45;match</B>=<I>FIELD:PATTERN</I><DD>
Filter packages with a match for <I>PATTERN</I> on the given <I>FIELD</I>
<DT id="11"><B>&#45;&#45;has&#45;flag</B>=<I>FLAG</I><DD>
Only include packages which have the given flag set&#46; Package flags are one of: <B>light&#45;uninstall</B> <B>verbose</B> <B>plugin</B> <B>compiler</B> <B>conf</B>
<DT id="12"><B>&#45;&#45;has&#45;tag</B>=<I>TAG</I><DD>
Only includes packages which have the given tag set
<DT id="13"><B>&#45;i</B>, <B>&#45;&#45;installed</B><DD>
List installed packages only&#46; This is the default when no further arguments are supplied
<DT id="14"><B>&#45;&#45;installable</B><DD>
List only packages that can be installed on the current switch (this calls the solver and may be more costly; a package depending on an unavailable package may be available, but is never installable)
<DT id="15"><B>&#45;&#45;no&#45;switch</B><DD>
List what is available from the repositories, without consideration for the current (or any other) switch (installed or pinned packages, etc&#46;)
<DT id="16"><B>&#45;&#45;nobuild</B><DD>
Exclude build dependencies (they are included by default)&#46;
<DT id="17"><B>&#45;&#45;or</B><DD>
Instead of selecting packages that match <I>all</I> the criteria, select packages that match <I>any</I> of them
<DT id="18"><B>&#45;&#45;owns&#45;file</B>=<I>FILE</I><DD>
Finds installed packages responsible for installing the given file
<DT id="19"><B>&#45;&#45;pinned</B><DD>
List only the pinned packages
<DT id="20"><B>&#45;&#45;post</B><DD>
Include dependencies tagged as <I>post</I>&#46;
<DT id="21"><B>&#45;&#45;recursive</B><DD>
With `&#45;&#45;depends&#45;on&#39; and `&#45;&#45;required&#45;by&#39;, display all transitive dependencies rather than just direct dependencies&#46;
<DT id="22"><B>&#45;&#45;repos</B>=<I>REPOS</I><DD>
Include only packages that took their origin from one of the given repositories (unless <I>no&#45;switch</I> is also specified, this excludes pinned packages)&#46;
<DT id="23"><B>&#45;&#45;required&#45;by</B>=<I>PACKAGES</I><DD>
List only the dependencies of (comma&#45;separated) <I>PACKAGES</I>&#46;
<DT id="24"><B>&#45;&#45;resolve</B>=<I>PACKAGES</I><DD>
Restrict to a solution to install (comma&#45;separated) <I>PACKAGES</I>, <I>i&#46;e&#46;</I> a consistent set of packages including those&#46; This is subtly different from `&#45;&#45;required&#45;by &#45;&#45;recursive`, which is more predictable and can&#39;t fail, but lists all dependencies independently without ensuring consistency&#46; Without `&#45;&#45;installed`, the answer is self&#45;contained and independent of the current installation&#46; With `&#45;&#45;installed&#39;, it&#39;s computed from the set of currently installed packages&#46; `&#45;&#45;no&#45;switch` further makes the solution independent from the currently pinned packages, architecture, and compiler version&#46; The combination with `&#45;&#45;depopts&#39; is not supported&#46;
<DT id="25"><B>&#45;&#45;roots</B>, <B>&#45;&#45;installed&#45;roots</B><DD>
List only packages that were explicitly installed, excluding the ones installed as dependencies
<DT id="26"><B>&#45;&#45;search</B><DD>
Match <I>PATTERNS</I> against the full descriptions of packages, and require all of them to match, instead of requiring at least one to match against package names (unless <B>&#45;&#45;or</B> is also specified)&#46;
<DT id="27"><B>&#45;t</B>, <B>&#45;&#45;with&#45;test</B>, <B>&#45;&#45;test</B><DD>
Include test&#45;only dependencies&#46;
<DT id="28"><B>&#45;&#45;with&#45;doc</B>, <B>&#45;&#45;doc</B><DD>
Include doc&#45;only dependencies&#46;
</DL>
<A NAME="lbAG">&nbsp;</A>
<H2>OUTPUT FORMAT OPTIONS</H2>
<DL COMPACT>
<DT id="29"><B>&#45;&#45;columns</B>=<I>COLUMNS</I><DD>
Select the columns to display among: <B>name</B>, <B>version</B>, <B>package</B>, <B>synopsis</B>, <B>synopsis&#45;or&#45;target</B>, <B>description</B>, <B>&lt;field&gt;:</B>, <B>installed&#45;version</B>, <B>pin</B>, <B>source&#45;hash</B>, <B>opam&#45;file</B>, <B>all&#45;installed&#45;versions</B>, <B>available&#45;versions</B>, <B>all&#45;versions</B>, <B>repository</B>, <B>installed&#45;files</B>, <B>vc&#45;ref</B>, <B>depexts</B>&#46; The default is <B>name</B> when <I>&#45;&#45;short</I> is present and <B>name</B>, <B>installed&#45;version</B>, <B>synopsis&#45;or&#45;target</B> otherwise&#46;
<DT id="30"><B>&#45;e</B>, <B>&#45;&#45;external</B>, <B>&#45;&#45;depexts</B><DD>
Instead of displaying the packages, display their external dependencies that are associated with the current system&#46; This excludes other display options&#46; Rather than using this directly, you should probably head for the `depext&#39; plugin, that will use your system package management system to handle the installation of the dependencies&#46; Run `opam depext&#39;&#46;
<DT id="31"><B>&#45;&#45;normalise</B><DD>
Print the values of opam fields normalised
<DT id="32"><B>&#45;S</B>, <B>&#45;&#45;sort</B><DD>
Sort the packages in dependency order (i&#46;e&#46; an order in which they could be individually installed&#46;)
<DT id="33"><B>&#45;s</B>, <B>&#45;&#45;short</B><DD>
Don&#39;t print a header, and sets the default columns to <B>name</B> only&#46; If you need package versions included, use <B>&#45;&#45;columns=package</B> instead
<DT id="34"><B>&#45;&#45;separator</B>=<I>STRING</I> (absent= )<DD>
Set the column&#45;separator string
<DT id="35"><B>&#45;V</B>, <B>&#45;&#45;all&#45;versions</B><DD>
Normally, when multiple versions of a package match, only one is shown in the output (the installed one, the pinned&#45;to one, or, failing that, the highest one available or the highest one)&#46; This flag disables this behaviour and shows all matching versions&#46; This also changes the default display format to include package versions instead of just package names (including when &#45;&#45;short is set)&#46; This is automatically turned on when a single non&#45;pattern package name is provided on the command&#45;line&#46;
<DT id="36"><B>&#45;&#45;vars</B>=<I>[VAR=STR,&#46;&#46;&#46;]</I><DD>
Define the given variable bindings&#46; Typically useful with <B>&#45;&#45;external</B> to override the values for <I>arch</I>, <I>os</I>, <I>os&#45;distribution</I>, <I>os&#45;version</I>, <I>os&#45;family</I>&#46;
<DT id="37"><B>&#45;&#45;wrap</B><DD>
Wrap long lines, the default being to truncate when displaying on a terminal, or to keep as is otherwise
</DL>
<A NAME="lbAH">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT id="38"><B>&#45;&#45;silent</B><DD>
Don&#39;t write anything in the output, exit with return code 0 if the list is not empty, 1 otherwise&#46;
</DL>
<A NAME="lbAI">&nbsp;</A>
<H2>COMMON OPTIONS</H2>
<P>
These options are common to all commands&#46;
<DL COMPACT>
<DT id="39"><B>&#45;&#45;best&#45;effort</B><DD>
Don&#39;t fail if all requested packages can&#39;t be installed: try to install as many as possible&#46; Note that not all external solvers may support this option (recent versions of <I>aspcud</I> or <I>mccs</I> should)&#46; This is equivalent to setting <B>$OPAMBESTEFFORT</B> environment variable&#46;
<DT id="40"><B>&#45;&#45;color</B>=<I>WHEN</I><DD>
Colorize the output&#46; <I>WHEN</I> must be one of `always&#39;, `never&#39; or `auto&#39;&#46;
<DT id="41"><B>&#45;&#45;criteria</B>=<I>CRITERIA</I><DD>
Specify user <I>preferences</I> for dependency solving for this run&#46; Overrides both <B>$OPAMCRITERIA</B> and <B>$OPAMUPGRADECRITERIA</B>&#46; For details on the supported language, and the external solvers available, see <I> <A HREF="http://opam">http://opam</A>&#46;ocaml&#46;org/doc/External_solvers&#46;html</I>&#46; A general guide to using solver preferences can be found at <I> <A HREF="http://www">http://www</A>&#46;dicosmo&#46;org/Articles/usercriteria&#46;pdf</I>&#46;
<DT id="42"><B>&#45;&#45;cudf</B>=<I>FILENAME</I><DD>
Debug option: Save the CUDF requests sent to the solver to <I>FILENAME</I>&#45;&lt;n&gt;&#46;cudf&#46;
<DT id="43"><B>&#45;&#45;debug</B><DD>
Print debug message to stderr&#46; This is equivalent to setting <B>$OPAMDEBUG</B> to &quot;true&quot;&#46;
<DT id="44"><B>&#45;&#45;debug&#45;level</B>=<I>LEVEL</I><DD>
Like <B>&#45;&#45;debug</B>, but allows specifying the debug level (<B>&#45;&#45;debug</B> sets it to 1)&#46; Equivalent to setting <B>$OPAMDEBUG</B> to a positive integer&#46;
<DT id="45"><B>&#45;&#45;git&#45;version</B><DD>
Print the git version of opam, if set (i&#46;e&#46; you are using a development version), and exit&#46;
<DT id="46"><B>&#45;&#45;help</B>[=<I>FMT</I>] (default=auto)<DD>
Show this help in format <I>FMT</I>&#46; The value <I>FMT</I> must be one of `auto&#39;, `pager&#39;, `groff&#39; or `plain&#39;&#46; With `auto&#39;, the format is `pager` or `plain&#39; whenever the <B>TERM</B> env var is `dumb&#39; or undefined&#46;
<DT id="47"><B>&#45;&#45;ignore&#45;pin&#45;depends</B><DD>
Ignore extra pins required by packages that get pinned, either manually through <I>opam pin</I> or through <I>opam install DIR</I>&#46; This is equivalent to setting <B>IGNOREPINDEPENDS=true</B>&#46;
<DT id="48"><B>&#45;&#45;json</B>=<I>FILENAME</I><DD>
Save the results of the opam run in a computer&#45;readable file&#46; If the filename contains the character `%&#39;, it will be replaced by an index that doesn&#39;t overwrite an existing file&#46; Similar to setting the <B>$OPAMJSON</B> variable&#46;
<DT id="49"><B>&#45;&#45;no&#45;aspcud</B><DD>
Deprecated&#46;
<DT id="50"><B>&#45;&#45;no&#45;auto&#45;upgrade</B><DD>
When configuring or updating a repository that is written for an earlier opam version (1&#46;2), opam internally converts it to the current format&#46; This disables this behaviour&#46; Note that repositories should define their format version in a &#39;repo&#39; file at their root, or they will be assumed to be in the older format&#46; It is, in any case, preferable to upgrade the repositories manually using <I>opam admin upgrade [&#45;&#45;mirror URL]</I> when possible&#46;
<DT id="51"><B>&#45;&#45;no&#45;self&#45;upgrade</B><DD>
Opam will replace itself with a newer binary found at <B>OPAMROOT/opam</B> if present&#46; This disables this behaviour&#46;
<DT id="52"><B>&#45;q</B>, <B>&#45;&#45;quiet</B><DD>
Disables <B>&#45;&#45;verbose</B>&#46;
<DT id="53"><B>&#45;&#45;root</B>=<I>ROOT</I><DD>
Use <I>ROOT</I> as the current root path&#46; This is equivalent to setting <B>$OPAMROOT</B> to <I>ROOT</I>&#46;
<DT id="54"><B>&#45;&#45;safe</B>, <B>&#45;&#45;readonly</B><DD>
Make sure nothing will be automatically updated or rewritten&#46; Useful for calling from completion scripts, for example&#46; Will fail whenever such an operation is needed ; also avoids waiting for locks, skips interactive questions and overrides the <B>$OPAMDEBUG</B> variable&#46; This is equivalent to set environment variable <B>$OPAMSAFE</B>&#46;
<DT id="55"><B>&#45;&#45;solver</B>=<I>CMD</I><DD>
Specify the CUDF solver to use for resolving package installation problems&#46; This is either a predefined solver (this version of opam supports builtin&#45;mccs+lp(), builtin&#45;mccs+glpk, aspcud, mccs, aspcud&#45;old, packup), or a custom command that should contain the variables %{input}%, %{output}%, %{criteria}%, and optionally %{timeout}%&#46; This is equivalent to setting <B>$OPAMEXTERNALSOLVER</B>&#46;
<DT id="56"><B>&#45;&#45;strict</B><DD>
Fail whenever an error is found in a package definition or a configuration file&#46; The default is to continue silently if possible&#46;
<DT id="57"><B>&#45;&#45;switch</B>=<I>SWITCH</I><DD>
Use <I>SWITCH</I> as the current compiler switch&#46; This is equivalent to setting <B>$OPAMSWITCH</B> to <I>SWITCH</I>&#46;
<DT id="58"><B>&#45;&#45;use&#45;internal&#45;solver</B><DD>
Disable any external solver, and use the built&#45;in one (this requires that opam has been compiled with a built&#45;in solver)&#46; This is equivalent to setting <B>$OPAMNOASPCUD</B> or <B>$OPAMUSEINTERNALSOLVER</B>&#46;
<DT id="59"><B>&#45;v</B>, <B>&#45;&#45;verbose</B><DD>
Be more verbose&#46; One <B>&#45;v</B> shows all package commands, repeat to also display commands called internally (e&#46;g&#46; <I>tar</I>, <I>curl</I>, <I>patch</I> etc&#46;) Repeating <I>n</I> times is equivalent to setting <B>$OPAMVERBOSE</B> to &quot;<I>n</I>&quot;&#46;
<DT id="60"><B>&#45;&#45;version</B><DD>
Show version information&#46;
<DT id="61"><B>&#45;w</B>, <B>&#45;&#45;working&#45;dir</B><DD>
Whenever updating packages that are bound to a local, version&#45;controlled directory, update to the current working state of their source instead of the last committed state, or the ref they are pointing to&#46; This only affects packages explicitly listed on the command&#45;line&#46;It can also be set with <B>$OPAMWORKINGDIR</B>&#46;
<DT id="62"><B>&#45;y</B>, <B>&#45;&#45;yes</B><DD>
Answer yes to all yes/no questions without prompting&#46; This is equivalent to setting <B>$OPAMYES</B> to &quot;true&quot;&#46;
</DL>
<A NAME="lbAJ">&nbsp;</A>
<H2>ENVIRONMENT VARIABLES</H2>
<P>
Opam makes use of the environment variables listed here&#46; Boolean variables should be set to &quot;0&quot;, &quot;no&quot;, &quot;false&quot; or the empty string to disable, &quot;1&quot;, &quot;yes&quot; or &quot;true&quot; to enable&#46;
<P>
<I>OPAMALLPARENS</I> surround all filters with parenthesis
<P>
<I>OPAMAUTOREMOVE</I> see remove option `&#45;&#45;auto&#45;remove`
<P>
<I>OPAMBESTEFFORT</I> see option `&#45;&#45;best&#45;effort`
<P>
<I>OPAMBESTEFFORTPREFIXCRITERIA</I> sets the string that must be prepended to the criteria when the `&#45;&#45;best&#45;effort` option is set, and is expected to maximise the `opam&#45;query` property in the solution
<P>
<I>OPAMCOLOR</I>, when set to <I>always</I> or <I>never</I>, sets a default value for the &#45;&#45;color option&#46;
<P>
<I>OPAMCRITERIA</I> specifies user <I>preferences</I> for dependency solving&#46; The default value depends on the solver version, use `config report` to know the current setting&#46; See also option &#45;&#45;criteria
<P>
<I>OPAMCUDFFILE file</I> save the cudf graph to <I>file</I>&#45;actions&#45;explicit&#46;dot
<P>
<I>OPAMCURL</I> can be used to select a given &#39;curl&#39; program&#46; See <I>OPAMFETCH</I> for more options&#46;
<P>
<I>OPAMDEBUG</I> see options `&#45;&#45;debug&#39; and `&#45;&#45;debug&#45;level&#39;&#46;
<P>
<I>OPAMDOWNLOADJOBS</I> sets the maximum number of simultaneous downloads&#46;
<P>
<I>OPAMDRYRUN</I> see option `&#45;&#45;dry&#45;run`
<P>
<I>OPAMEDITOR</I> sets the editor to use for opam file editing, overrides <I>$EDITOR</I> and <I>$VISUAL</I>
<P>
<I>OPAMERRLOGLEN</I> sets the number of log lines printed when a sub&#45;process fails&#46; 0 to print all&#46;
<P>
<I>OPAMEXTERNALSOLVER</I> see option `&#45;&#45;solver&#39;&#46;
<P>
<I>OPAMFAKE</I> see option `&#45;&#45;fake`
<P>
<I>OPAMFETCH</I> specifies how to download files: either `wget&#39;, `curl&#39; or a custom command where variables <B>%{url}%</B>, <B>%{out}%</B>, <B>%{retry}%</B>, <B>%{compress}%</B> and <B>%{checksum}%</B> will be replaced&#46; Overrides the &#39;download&#45;command&#39; value from the main config file&#46;
<P>
<I>OPAMFIXUPCRITERIA</I> same as <I>OPAMUPGRADECRITERIA</I>, but specific to fixup
<P>
<I>OPAMIGNORECONSTRAINTS</I> see install option `&#45;&#45;ignore&#45;constraints&#45;on`
<P>
<I>OPAMIGNOREPINDEPENDS</I> see option `&#45;&#45;ignore&#45;pin&#45;depends`
<P>
<I>OPAMJOBS</I> sets the maximum number of parallel workers to run&#46;
<P>
<I>OPAMJSON</I> log json output to the given file (use character `%&#39; to index the files)
<P>
<I>OPAMLOCKED</I> see install option `&#45;&#45;locked`
<P>
<I>OPAMLOGS logdir</I> sets log directory, default is a temporary directory in /tmp
<P>
<I>OPAMMAKECMD</I> set the system make command to use
<P>
<I>OPAMNOAUTOUPGRADE</I> disables automatic internal upgrade of repositories in an earlier format to the current one, on &#39;update&#39; or &#39;init&#39;&#46;
<P>
<I>OPAMKEEPLOGS</I> tells opam to not remove some temporary command logs and some backups&#46; This skips some finalisers and may also help to get more reliable backtraces
<P>
<I>OPAMLOCKRETRIES</I> sets the number of tries after which opam gives up acquiring its lock and fails&#46; &lt;= 0 means infinite wait&#46;
<P>
<I>OPAMMERGEOUT</I> merge process outputs, stderr on stdout
<P>
<I>OPAMNO</I> answer no to any question asked&#46;
<P>
<I>OPAMNOASPCUD</I> Deprecated&#46;
<P>
<I>OPAMNOCHECKSUMS</I> enables option &#45;&#45;no&#45;checksums when available&#46;
<P>
<I>OPAMNOSELFUPGRADE</I> see option `&#45;&#45;no&#45;self&#45;upgrade&#39;&#46;
<P>
<I>OPAMPINKINDAUTO</I> sets whether version control systems should be detected when pinning to a local path&#46; Enabled by default since 1&#46;3&#46;0&#46;
<P>
<I>OPAMPRECISETRACKING</I> fine grain tracking of directories
<P>
<I>OPAMREQUIRECHECKSUMS</I> Enables option `&#45;&#45;require&#45;checksums&#39; when available (e&#46;g&#46; for `opam install`)&#46;
<P>
<I>OPAMRETRES</I> sets the number of tries before failing downloads&#46;
<P>
<I>OPAMROOT</I> see option `&#45;&#45;root&#39;&#46; This is automatically set by `opam env &#45;&#45;root=DIR &#45;&#45;set&#45;root&#39;&#46;
<P>
<I>OPAMROOTISOK</I> don&#39;t complain when running as root&#46;
<P>
<I>OPAMSAFE</I> see option `&#45;&#45;safe&#39;
<P>
<I>OPAMSHOW</I> see option `&#45;&#45;show`
<P>
<I>OPAMSKIPUPDATE</I> see option `&#45;&#45;skip&#45;updates`
<P>
<I>OPAMSKIPVERSIONCHECKS</I> bypasses some version checks&#46; Unsafe, for compatibility testing only&#46;
<P>
<I>OPAMSOLVERTIMEOUT</I> change the time allowance of the solver&#46; Default is 60&#46;0, set to 0 for unlimited&#46; Note that all solvers may not support this option&#46;
<P>
<I>OPAMSTATUSLINE</I> display a dynamic status line showing what&#39;s currently going on on the terminal&#46; (one of one of `always&#39;, `never&#39; or `auto&#39;)
<P>
<I>OPAMSTATS</I> display stats at the end of command
<P>
<I>OPAMSTRICT</I> fail on inconsistencies (file reading, switch import, etc&#46;)
<P>
<I>OPAMSWITCH</I> see option `&#45;&#45;switch&#39;&#46; Automatically set by `opam env &#45;&#45;switch=SWITCH &#45;&#45;set&#45;switch&#39;&#46;
<P>
<I>OPAMUNLOCKBASE</I> see install option `&#45;&#45;unlock&#45;base`
<P>
<I>OPAMUPGRADECRITERIA</I> specifies user <I>preferences</I> for dependency solving when performing an upgrade&#46; Overrides <I>OPAMCRITERIA</I> in upgrades if both are set&#46; See also option &#45;&#45;criteria
<P>
<I>OPAMUSEINTERNALSOLVER</I> see option `&#45;&#45;use&#45;internal&#45;solver&#39;&#46;
<P>
<I>OPAMUSEOPENSSL</I> force openssl use for hash computing
<P>
<I>OPAMUTF8</I> use UTF8 characters in output (one of one of `always&#39;, `never&#39; or `auto&#39;)&#46; By default `auto&#39;, which is determined from the locale)&#46;
<P>
<I>OPAMUTF8MSGS</I> use extended UTF8 characters (camels) in opam messages&#46; Implies <I>OPAMUTF8</I>&#46; This is set by default on OSX only&#46;
<P>
<I>OPAMVALIDATIONHOOK hook</I> if set, uses the `%{hook%}` command to validate an opam repository update
<P>
<I>OPAMVAR_var</I> overrides the contents of the variable <I>var</I> when substituting `%{var}%` strings in `opam` files&#46;
<P>
<I>OPAMVAR_package_var</I> overrides the contents of the variable <I>package:var</I> when substituting `%{package:var}%` strings in `opam` files&#46;
<P>
<I>OPAMVERBOSE</I> see option `&#45;&#45;verbose&#39;&#46;
<P>
<I>OPAMWORKINGDIR</I> see option `&#45;&#45;working&#45;dir`
<P>
<I>OPAMYES</I> see option `&#45;&#45;yes&#39;&#46;
<A NAME="lbAK">&nbsp;</A>
<H2>EXIT STATUS</H2>
<P>
As an exception to the following, the `exec&#39; command returns 127 if the command was not found or couldn&#39;t be executed, and the command&#39;s exit value otherwise&#46;
<DL COMPACT>
<DT id="63">0<DD>
Success, or true for boolean queries&#46;
<DT id="64">1<DD>
False&#46; Returned when a boolean return value is expected, e&#46;g&#46; when running with <B>&#45;&#45;check</B>, or for queries like <B>opam lint</B>&#46;
<DT id="65">2<DD>
Bad command&#45;line arguments, or command&#45;line arguments pointing to an invalid context (e&#46;g&#46; file not following the expected format)&#46;
<DT id="66">5<DD>
Not found&#46; You requested something (package, version, repository, etc&#46;) that couldn&#39;t be found&#46;
<DT id="67">10<DD>
Aborted&#46; The operation required confirmation, which wasn&#39;t given&#46;
<DT id="68">15<DD>
Could not acquire the locks required for the operation&#46;
<DT id="69">20<DD>
There is no solution to the user request&#46; This can be caused by asking to install two incompatible packages, for example&#46;
<DT id="70">30<DD>
Error in package definition, or other metadata files&#46; Using <B>&#45;&#45;strict</B> raises this error more often&#46;
<DT id="71">31<DD>
Package script error&#46; Some package operations were unsuccessful&#46; This may be an error in the packages or an incompatibility with your system&#46; This can be a partial error&#46;
<DT id="72">40<DD>
Sync error&#46; Could not fetch some remotes from the network&#46; This can be a partial error&#46;
<DT id="73">50<DD>
Configuration error&#46; Opam or system configuration doesn&#39;t allow operation, and needs fixing&#46;
<DT id="74">60<DD>
Solver failure&#46; The solver failed to return a sound answer&#46; It can be due to a broken external solver, or an error in solver configuration&#46;
<DT id="75">99<DD>
Internal error&#46; Something went wrong, likely due to a bug in opam itself&#46;
<DT id="76">130<DD>
User interrupt&#46; SIGINT was received, generally due to the user pressing Ctrl&#45;C&#46;
</DL>
<A NAME="lbAL">&nbsp;</A>
<H2>FURTHER DOCUMENTATION</H2>
<P>
See <A HREF="https://opam">https://opam</A>&#46;ocaml&#46;org/doc&#46;
<A NAME="lbAM">&nbsp;</A>
<H2>AUTHORS</H2>
<P>
Vincent Bernardoff &lt;<A HREF="mailto:vb@luminar">vb@luminar</A>&#46;eu&#46;org&gt;
<P>
<P>
Raja Boujbel &lt;raja&#46;<A HREF="mailto:boujbel@ocamlpro">boujbel@ocamlpro</A>&#46;com&gt;
<P>
<P>
Roberto Di Cosmo &lt;<A HREF="mailto:roberto@dicosmo">roberto@dicosmo</A>&#46;org&gt;
<P>
<P>
Thomas Gazagnaire &lt;<A HREF="mailto:thomas@gazagnaire">thomas@gazagnaire</A>&#46;org&gt;
<P>
<P>
Louis Gesbert &lt;louis&#46;<A HREF="mailto:gesbert@ocamlpro">gesbert@ocamlpro</A>&#46;com&gt;
<P>
<P>
Fabrice Le Fessant &lt;Fabrice&#46;<A HREF="mailto:Le_fessant@inria">Le_fessant@inria</A>&#46;fr&gt;
<P>
<P>
Anil Madhavapeddy &lt;<A HREF="mailto:anil@recoil">anil@recoil</A>&#46;org&gt;
<P>
<P>
Guillem Rieu &lt;guillem&#46;<A HREF="mailto:rieu@ocamlpro">rieu@ocamlpro</A>&#46;com&gt;
<P>
<P>
Ralf Treinen &lt;ralf&#46;treinen@pps&#46;jussieu&#46;fr&gt;
<P>
<P>
Frederic Tuong &lt;<A HREF="mailto:tuong@users">tuong@users</A>&#46;gforge&#46;inria&#46;fr&gt;
<A NAME="lbAN">&nbsp;</A>
<H2>BUGS</H2>
<P>
Check bug reports at <A HREF="https://github">https://github</A>&#46;com/ocaml/opam/issues&#46;
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="77"><A HREF="#lbAB">NAME</A><DD>
<DT id="78"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="79"><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT id="80"><A HREF="#lbAE">ARGUMENTS</A><DD>
<DT id="81"><A HREF="#lbAF">PACKAGE SELECTION OPTIONS</A><DD>
<DT id="82"><A HREF="#lbAG">OUTPUT FORMAT OPTIONS</A><DD>
<DT id="83"><A HREF="#lbAH">OPTIONS</A><DD>
<DT id="84"><A HREF="#lbAI">COMMON OPTIONS</A><DD>
<DT id="85"><A HREF="#lbAJ">ENVIRONMENT VARIABLES</A><DD>
<DT id="86"><A HREF="#lbAK">EXIT STATUS</A><DD>
<DT id="87"><A HREF="#lbAL">FURTHER DOCUMENTATION</A><DD>
<DT id="88"><A HREF="#lbAM">AUTHORS</A><DD>
<DT id="89"><A HREF="#lbAN">BUGS</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:20 GMT, March 31, 2021
</BODY>
</HTML>