Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OPAM ADMIN-COMPARE-VERSIONS(1)	Opam admin Manual OPAM ADMIN-COMPARE-VERSIONS(1)

NAME
     opam admin-compare-versions - Compare two package versions

SYNOPSIS
     opam admin compare-versions [OPTION]a| V0 V1

DESCRIPTION
     This  command compares 2 package versions. By default it outputs 'V0 OP V1'
     to the console with OP in {<,>,=} such that the equation holds. When an op-
     erator is supplied, the output is suppressed and the result of the compari-
     son is checked against the provided operator: the command exits  0  if  the
     comparison holds, and 1 otherwise. For example:

     $ opam admin compare-versions 0.0.9 0.0.10
     0.0.9 < 0.0.10

     $ opam admin compare-versions 0.0.9 --lt 0.0.10
     [0]

     $ opam admin compare-versions 0.0.9 --eq 0.0.10
     [1]

ARGUMENTS
     V0 (required)
	 Package version to compare

     V1 (required)
	 Package version to compare

OPTIONS
     --eq
	 assert V0 = V1

     --geq
	 assert V0 >= V1

     --gt
	 assert V0 > V1

     --leq
	 assert V0 <= V1

     --lt
	 assert V0 < V1

     --neq
	 assert V0 != V1

COMMON OPTIONS
     These options are common to all commands.

     --help[=FMT] (default=auto)
	 Show this help in format FMT. The value FMT must be one of auto, pager,
	 groff	or  plain.  With auto, the format is pager or plain whenever the
	 TERM env var is dumb or undefined.

     --version
	 Show version information.

ENVIRONMENT
     Opam makes use of the environment variables listed here. Boolean  variables
     should  be  set  to "0", "no", "false" or the empty string to disable, "1",
     "yes" or "true" to enable.

     OPAMALLPARENS surround all filters with parenthesis.

     OPAMASSUMEDEPEXTS see option `--assume-depexts'.

     OPAMAUTOANSWER internal use only.

     OPAMAUTOREMOVE see remove option `--auto-remove'.

     OPAMBESTEFFORT see option `--best-effort'.

     OPAMBESTEFFORTPREFIXCRITERIA sets the string that must be prepended to  the
     criteria  when  the  `--best-effort' option is set, and is expected to max-
     imise the `opam-query' property in the solution.

     OPAMBUILDDOC Removed in 2.1.

     OPAMBUILDTEST Removed in 2.1.

     OPAMCLI see option `--cli'.

     OPAMCOLOR when set to always  or  never,  sets  a	default  value	for  the
     `--color' option.

     OPAMCONFIRMLEVEL  see option `--confirm-level`. OPAMCONFIRMLEVEL has prior-
     ity over OPAMYES and OPAMNO.

     OPAMCRITERIA specifies user preferences for dependency solving. The default
     value depends on the solver version, use `config report' to know  the  cur-
     rent setting. See also option --criteria.

     OPAMCUDFFILE save the cudf graph to file-actions-explicit.dot.

     OPAMCUDFTRIM  controls the filtering of unrelated packages during CUDF pre-
     processing.

     OPAMCURL can be used to select a given 'curl' program.  See  OPAMFETCH  for
     more options.

     OPAMDEBUG see options `--debug' and `--debug-level'.

     OPAMDEBUGSECTIONS if set, limits debug messages to the space-separated list
     of sections. Sections can optionally have a specific debug level (for exam-
     ple, CLIENT:2 or CLIENT CUDF:2), but otherwise use `--debug-level'.

     OPAMDIGDEPTH  defines  how  aggressive the lookup for conflicts during CUDF
     preprocessing is.

     OPAMDOWNLOADJOBS sets the maximum number of simultaneous downloads.

     OPAMDROPWORKINGDIR overrides packages previously updated with --working-dir
     on update. Without this variable set, opam would keep them unchanged unless
     explicitly named on the command-line.

     OPAMDRYRUN see option `--dry-run'.

     OPAMEDITOR sets the editor to use for opam file editing, overrides  $EDITOR
     and $VISUAL.

     OPAMERRLOGLEN  sets  the  number  of  log	lines printed when a sub-process
     fails. 0 to print all.

     OPAMEXTERNALSOLVER see option `--solver'.

     OPAMFAKE see option `--fake'.

     OPAMFETCH specifies how to download files: either `wget', `curl' or a  cus-
     tom  command  where variables %{url}%, %{out}%, %{retry}%, %{compress}% and
     %{checksum}% will be replaced. Overrides the 'download-command' value  from
     the main config file.

     OPAMFIXUPCRITERIA	same  as  OPAMUPGRADECRITERIA, but specific to fixup and
     reinstall.

     OPAMIGNORECONSTRAINTS see install option `--ignore-constraints-on'.

     OPAMIGNOREPINDEPENDS see option `--ignore-pin-depends'.

     OPAMINPLACEBUILD see option `--inplace-build'.

     OPAMJOBS sets the maximum number of parallel workers to run.

     OPAMJSON log json output to the given file (use character `%' to index  the
     files).

     OPAMKEEPBUILDDIR see install option `--keep-build-dir'.

     OPAMKEEPLOGS  tells opam to not remove some temporary command logs and some
     backups. This skips some finalisers and may also help to get more	reliable
     backtraces.

     OPAMLOCKED combination of `--locked' and `--lock-suffix' options.

     OPAMLOGS  logdir  sets  log  directory, default is a temporary directory in
     /tmp

     OPAMMAKECMD set the system make command to use.

     OPAMMERGEOUT merge process outputs, stderr on stdout.

     OPAMNO answer no to any question asked,  see  options  `--no`  and  `--con-
     firm-level`.  OPAMNO  is  ignored	if either OPAMCONFIRMLEVEL or OPAMYES is
     set.

     OPAMNOAGGREGATE with `opam admin check', don't aggregate packages.

     OPAMNOASPCUD Deprecated.

     OPAMNOAUTOUPGRADE disables automatic internal upgrade of repositories in an
     earlier format to the current one, on 'update' or 'init'.

     OPAMNOCHECKSUMS enables option --no-checksums when available.

     OPAMNODEPEXTS disables system dependencies handling, see  option  `--no-de-
     pexts'.

     OPAMNOENVNOTICE Internal.

     OPAMNOSELFUPGRADE see option `--no-self-upgrade'

     OPAMPINKINDAUTO  sets  whether  version  control systems should be detected
     when pinning to a local path. Enabled by default since 1.3.0.

     OPAMPRECISETRACKING fine grain tracking of directories.

     OPAMPREPRO set this to false to disable CUDF preprocessing. Less efficient,
     but might help debugging solver issue.

     OPAMREPOSITORYTARRING internally store the repositories  as  tar.gz  files.
     This  can	be much faster on filesystems that don't cope well with scanning
     large trees but have good caching in /tmp. However this is  slower  in  the
     general case.

     OPAMREQUIRECHECKSUMS  Enables  option  `--require-checksums' when available
     (e.g. for `opam install').

     OPAMRETRIES sets the number of tries before failing downloads.

     OPAMREUSEBUILDDIR see option `--reuse-build-dir'.

     OPAMROOT see option `--root'.  This  is  automatically  set  by  `opam  env
     --root=DIR --set-root'.

     OPAMROOTISOK don't complain when running as root.

     OPAMSAFE see option `--safe'.

     OPAMSHOW see option `--show'.

     OPAMSKIPUPDATE see option `--skip-updates'.

     OPAMSKIPVERSIONCHECKS bypasses some version checks. Unsafe, for compatibil-
     ity testing only.

     OPAMSOLVERALLOWSUBOPTIMAL (default `true') allows some solvers to still re-
     turn a solution when they reach timeout; while the solution remains assured
     to  be  consistent, there is no guarantee in this case that it fits the ex-
     pected optimisation criteria. If `true', opam willcontinue with a	warning,
     if  `false'  a  timeout  is an error. Currently only the builtin-z3 backend
     handles this degraded case.

     OPAMSOLVERTIMEOUT change the time allowance of the solver. Default is 60.0,
     set to 0 for unlimited. Note that all solvers may not support this option.

     OPAMSOLVERTOLERANCE changes the tolerance towards the  solver  choosing  an
     unoptimized  solution  (i.e.  might pull outdated packages). Typical values
     range from 0.0 (best solution known to the solver) to 1.0 (unoptimized  so-
     lution).  Default	is  0.0.  This option is useful in case the solver can't
     find a solution in a reasonable time (see	$OPAMSOLVERTIMEOUT).  Note  that
     all solvers may not support this option.

     OPAMSTATS Removed in 2.4.

     OPAMSTATUSLINE display a dynamic status line showing what's currently going
     on on the terminal. (one of one of always, never or auto)

     OPAMSTRICT fail on inconsistencies (file reading, switch import, etc.).

     OPAMSWITCH   see	option	 `--switch'.  Automatically  set  by  `opam  env
     --switch=SWITCH --set-switch'.

     OPAMUNLOCKBASE see install option `--unlock-base'.

     OPAMUPGRADECRITERIA specifies user preferences for dependency solving  when
     performing  an upgrade. Overrides OPAMCRITERIA in upgrades if both are set.
     See also option --criteria.

     OPAMUSEINTERNALSOLVER see option `--use-internal-solver'.

     OPAMUSEOPENSSL Removed in 2.2.

     OPAMUTF8 use UTF8 characters in output (one of  one  of  always,  never  or
     auto). By default `auto', which is determined from the locale).

     OPAMUTF8MSGS  use	extended  UTF8 characters (camels) in opam messages. Im-
     plies OPAMUTF8. This is set by default on macOS only.

     OPAMVALIDATIONHOOK if set, uses the `%{hook%}' command to validate an  opam
     repository update.

     OPAMVERBOSE see option `--verbose'.

     OPAMVERBOSEON see option --verbose-on

     OPAMVERSIONLAGPOWER do not use.

     OPAMWITHDEVSETUP see install option `--with-dev-setup'.

     OPAMWITHDOC see install option `--with-doc'.

     OPAMWITHTEST see install option `--with-test.

     OPAMWORKINGDIR see option `--working-dir'.

     OPAMYES  see  options  `--yes'  and `--confirm-level`. OPAMYES has priority
     over OPAMNO and is ignored if OPAMCONFIRMLEVEL is set.

     OPAMVAR_var overrides the contents of the variable  var  when  substituting
     `%{var}%` strings in `opam` files.

     OPAMVAR_package_var overrides the contents of the variable package:var when
     substituting `%{package:var}%` strings in `opam` files.

CLI VERSION
     All  scripts and programmatic invocations of opam should use `--cli' in or-
     der to ensure that they work seamlessly with future versions  of  the  opam
     client.  Additionally, blog posts or other documentation can benefit, as it
     prevents information from becoming stale.

     Although opam only supports roots (~/.opam/) for the  current  version,  it
     does provide backwards compatibility for its command-line interface.

     Since CLI version support was only added in opam 2.1, use OPAMCLI to select
     2.0  support (as opam 2.0 will just ignore it), and `--cli=2.1' for 2.1 (or
     later) versions, since an environment variable controlling the  parsing  of
     syntax  is  brittle. To this end, opam displays a warning if OPAMCLI speci-
     fies a valid version other than 2.0, and also if `--cli=2.0' is specified.

     The command-line version is selected by using the	`--cli'  option  or  the
     OPAMCLI environment variable. `--cli' may be specified morethan once, where
     the last instance takes precedence. OPAMCLI is only inspected if `--cli' is
     not given.

EXIT STATUS
     As  an  exception	to  the following, the `exec' command returns 127 if the
     command was not found or couldn't be executed, and the command's exit value
     otherwise.

     0	 Success, or true for boolean queries.

     1	 False. Returned when a boolean return value is expected, e.g. when run-
	 ning with --check, or for queries like opam lint.

     2	 Bad command-line arguments, or command-line arguments	pointing  to  an
	 invalid context (e.g. file not following the expected format).

     5	 Not found. You requested something (package, version, repository, etc.)
	 that couldn't be found.

     10  Aborted. The operation required confirmation, which wasn't given.

     15  Could not acquire the locks required for the operation.

     20  There	is no solution to the user request. This can be caused by asking
	 to install two incompatible packages, for example.

     30  Error in package definition, or other metadata  files.  Using	--strict
	 raises this error more often.

     31  Package  script  error. Some package operations were unsuccessful. This
	 may be an error in the packages or an incompatibility with your system.
	 This can be a partial error.

     40  Sync error. Could not fetch some remotes from the network. This can  be
	 a partial error.

     50  Configuration	error. Opam or system configuration doesn't allow opera-
	 tion, and needs fixing.

     60  Solver failure. The solver failed to return a sound answer. It  can  be
	 due to a broken external solver, or an error in solver configuration.

     99  Internal  error.  Something went wrong, likely due to a bug in opam it-
	 self.

     130
	 User interrupt. SIGINT was received, generally due to the user pressing
	 Ctrl-C.

     0	 on success.

     123
	 on indiscriminate errors reported on standard error.

     124
	 on command line parsing errors.

     125
	 on unexpected internal errors (bugs).

FURTHER DOCUMENTATION
     See https://opam.ocaml.org/doc.

AUTHORS
     David Allsopp <david@tarides.com>
     Vincent Bernardoff <vb@luminar.eu.org>
     Raja Boujbel <raja.boujbel@ocamlpro.com>
     Kate Deplaix <kit-ty-kate@outlook.com>
     Roberto Di Cosmo <roberto@dicosmo.org>
     Thomas Gazagnaire <thomas@gazagnaire.org>
     Louis Gesbert <louis.gesbert@ocamlpro.com>
     Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr>
     Anil Madhavapeddy <anil@recoil.org>
     Guillem Rieu <guillem.rieu@ocamlpro.com>
     Ralf Treinen <ralf.treinen@pps.jussieu.fr>
     Frederic Tuong <tuong@users.gforge.inria.fr>

SEE ALSO
     opam admin(1)

BUGS
     Check bug reports at https://github.com/ocaml/opam/issues.

Opam admin 2.5.1				  OPAM ADMIN-COMPARE-VERSIONS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=opam-admin-compare-versions&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help