N0REP0
### <pkg:foo.1>
opam-version: "2.0"
### <pkg:bar.1>
opam-version: "2.0"
### <pkg:foo.2>
opam-version: "2.0"
### <pkg:foo.3>
opam-version: "2.0"
### <pkg:bar.2>
opam-version: "2.0"
### <pkg:baz.1>
opam-version: "2.0"
### OPAMYES=1
### opam switch create upgrading --empty
### opam install foo.1 bar.1 baz | unordered
The following actions will be performed:
=== install 3 packages
  - install bar 1
  - install baz 1
  - install foo 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed bar.1
-> installed baz.1
-> installed foo.1
Done.
### opam upgrade --check
### opam upgrade | unordered
The following actions will be performed:
=== upgrade 2 packages
  - upgrade bar 1 to 2
  - upgrade foo 1 to 3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   bar.1
-> removed   foo.1
-> installed bar.2
-> installed foo.3
Done.
### opam upgrade --check
# Return code 1 #
### opam install foo.1 bar.1 | unordered
The following actions will be performed:
=== downgrade 2 packages
  - downgrade bar 2 to 1
  - downgrade foo 3 to 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   bar.2
-> removed   foo.3
-> installed bar.1
-> installed foo.1
Done.
### opam upgrade --all | unordered
The following actions will be performed:
=== upgrade 2 packages
  - upgrade bar 1 to 2
  - upgrade foo 1 to 3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   bar.1
-> removed   foo.1
-> installed bar.2
-> installed foo.3
Done.
### opam install foo.1 bar.1 | unordered
The following actions will be performed:
=== downgrade 2 packages
  - downgrade bar 2 to 1
  - downgrade foo 3 to 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   bar.2
-> removed   foo.3
-> installed bar.1
-> installed foo.1
Done.
### opam upgrade foo
The following actions will be performed:
=== upgrade 1 package
  - upgrade foo 1 to 3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.1
-> installed foo.3
Done.
### opam upgrade bar
The following actions will be performed:
=== upgrade 1 package
  - upgrade bar 1 to 2

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   bar.1
-> installed bar.2
Done.
### opam install foo.1 bar.1 | unordered
The following actions will be performed:
=== downgrade 2 packages
  - downgrade bar 2 to 1
  - downgrade foo 3 to 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   bar.2
-> removed   foo.3
-> installed bar.1
-> installed foo.1
Done.
### opam upgrade "foo<3"
The following actions will be performed:
=== upgrade 1 package
  - upgrade foo 1 to 2

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.1
-> installed foo.2
Done.
### # pinned packages
### opam install foo.1
The following actions will be performed:
=== downgrade 1 package
  - downgrade foo 2 to 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.2
-> installed foo.1
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
### opam install ./quux
[NOTE] Package quux does not exist in opam repositories registered in the current switch.
quux is now pinned to file://${BASEDIR}/quux (version dev)
The following actions will be performed:
=== install 1 package
  - install quux dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved quux.dev  (file://${BASEDIR}/quux)
-> installed quux.dev
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
build: [ "true" ]
### opam upgrade | unordered
The following actions will be performed:
=== upgrade 2 packages
  - upgrade bar 1 to 2
  - upgrade foo 1 to 3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   bar.1
-> removed   foo.1
-> installed bar.2
-> installed foo.3
Done.
### opam install foo.1
The following actions will be performed:
=== downgrade 1 package
  - downgrade foo 3 to 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.3
-> installed foo.1
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
build: [ "echo" "true" ]
### opam upgrade --all
The following actions will be performed:
=== upgrade 1 package
  - upgrade foo 1 to 3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.1
-> installed foo.3
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
build: [ "echo" "hey" ]
### opam install foo.1
The following actions will be performed:
=== downgrade 1 package
  - downgrade foo 3 to 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.3
-> installed foo.1
Done.
### opam upgrade quux

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[quux.dev] synchronised (file://${BASEDIR}/quux)
[quux] Installing new package description from upstream file://${BASEDIR}/quux

The following actions will be performed:
=== recompile 1 package
  - recompile quux dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved quux.dev  (no changes)
-> removed   quux.dev
-> installed quux.dev
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
build: [ "echo" "hej" ]
### opam upgrade foo
The following actions will be performed:
=== upgrade 1 package
  - upgrade foo 1 to 3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.1
-> installed foo.3
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
version: "dev2"
### opam install foo.1
The following actions will be performed:
=== downgrade 1 package
  - downgrade foo 3 to 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.3
-> installed foo.1
Done.
### opam upgrade
The following actions will be performed:
=== upgrade 1 package
  - upgrade foo 1 to 3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.1
-> installed foo.3
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
version: "dev3"
### opam install foo.1
The following actions will be performed:
=== downgrade 1 package
  - downgrade foo 3 to 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.3
-> installed foo.1
Done.
### opam upgrade --all
The following actions will be performed:
=== upgrade 1 package
  - upgrade foo 1 to 3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.1
-> installed foo.3
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
version: "dev4"
### opam install foo.1
The following actions will be performed:
=== downgrade 1 package
  - downgrade foo 3 to 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.3
-> installed foo.1
Done.
### opam upgrade quux

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[quux.dev] synchronised (file://${BASEDIR}/quux)
[quux] Installing new package description from upstream file://${BASEDIR}/quux

The following actions will be performed:
=== upgrade 1 package
  - upgrade quux dev to dev4 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   quux.dev
-> installed quux.dev4
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
version: "dev5"
### opam upgrade ./quux

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[quux.dev4] synchronised (file://${BASEDIR}/quux)
[quux] Installing new package description from upstream file://${BASEDIR}/quux

The following actions will be performed:
=== upgrade 1 package
  - upgrade quux dev4 to dev5 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   quux.dev4
-> installed quux.dev5
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
version: "dev6"
### <pin:quux/quuux.opam>
opam-version: "2.0"
### opam pin ./quux --no-action
This will pin the following packages: quuux, quux. Continue? [Y/n] y
[NOTE] Package quuux does not exist in opam repositories registered in the current switch.
quuux is now pinned to file://${BASEDIR}/quux (version dev)
[NOTE] Package quux is already pinned to file://${BASEDIR}/quux (version dev5).
quux is now pinned to file://${BASEDIR}/quux (version dev6)
### opam upgrade ./quux --installed

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[quux.dev6] synchronised (no changes)

The following actions will be performed:
=== upgrade 1 package
  - upgrade quux dev5 to dev6 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   quux.dev5
-> installed quux.dev6
Done.
### <pin:quux/quux.opam>
opam-version: "2.0"
version: "dev7"
build: [ "sh" "install.sh" ]
### <quux/install.sh>
echo "lib: [" > quux.install
for i in `ls files`; do
  echo "\"files/$i\"" >> quux.install
done
echo "]" >> quux.install
### <pin:quux/quuux.opam>
opam-version: "2.0"
build: [ "true" ]
### opam upgrade ./quux | unordered

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[quuux.dev] synchronised (file://${BASEDIR}/quux)
[quux.dev6] synchronised (file://${BASEDIR}/quux)
[quuux] Installing new package description from upstream file://${BASEDIR}/quux
[quux] Installing new package description from upstream file://${BASEDIR}/quux

quuux is not installed. Install it? [Y/n] y
The following actions will be performed:
=== upgrade 1 package
  - upgrade quux  dev6 to dev7 (pinned)
=== install 1 package
  - install quuux dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved quuux.dev  (file://${BASEDIR}/quux)
-> removed   quux.dev6
-> installed quux.dev7
-> installed quuux.dev
Done.
### <quux/files/fichier>
content
### opam upgrade
The following actions will be performed:
=== upgrade 1 package
  - upgrade foo 1 to 3

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   foo.1
-> installed foo.3
Done.
### opam upgrade quux

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[quux.dev7] synchronised (file://${BASEDIR}/quux)

The following actions will be performed:
=== recompile 1 package
  - recompile quux dev7 (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   quux.dev7
-> installed quux.dev7
Done.
### opam list quux --installed --columns=name,installed-files --normalise
# Packages matching: name-match(quux) & installed
# Name # Installed files
quux   ${BASEDIR}/OPAM/upgrading/lib/quux ${BASEDIR}/OPAM/upgrading/lib/quux/fichier
### ::::::::::::::::::
### : opam upgrade should not offer packages flagged with avoid-version
### ::::::::::::::::::
### <pkg:avoid-version.1>
opam-version: "2.0"
### <pkg:avoid-version.2>
opam-version: "2.0"
flags: avoid-version
### <pkg:avoid-version.3>
opam-version: "2.0"
flags: deprecated
### opam install avoid-version
The following actions will be performed:
=== install 1 package
  - install avoid-version 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed avoid-version.1
Done.
### opam upgrade
Already up-to-date.
Nothing to do.
### opam upgrade avoid-version
Already up-to-date.
Nothing to do.
### opam install avoid-version.2
The following actions will be performed:
=== upgrade 1 package
  - upgrade avoid-version 1 to 2

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   avoid-version.1
-> installed avoid-version.2
Done.
### opam upgrade
The following actions will be performed:
=== upgrade 1 package
  - upgrade avoid-version 2 to 3 (deprecated)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   avoid-version.2
-> installed avoid-version.3
Done.

<><> avoid-version.3 installed successfully <><><><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
### :::::::::::::::::::::::
### : Make sure opam upgrade <pkg> only tries to upgrade <pkg> and not anything else
### :::::::::::::::::::::::
### opam upgrade
Already up-to-date.
Nothing to do.
### <pkg:foo.4>
opam-version: "2.0"
### <pkg:bar.3>
opam-version: "2.0"
### <pkg:baz.2>
opam-version: "2.0"
depends: "foo"
### <pkg:uninstalled.1>
opam-version: "2.0"
### opam upgrade --show foo
The following actions would be performed:
=== upgrade 1 package
  - upgrade foo 3 to 4
### opam upgrade --show -a foo
The following actions would be performed:
=== upgrade 3 packages
  - upgrade bar 2 to 3
  - upgrade baz 1 to 2 [uses foo]
  - upgrade foo 3 to 4
### opam upgrade --show bar
The following actions would be performed:
=== upgrade 1 package
  - upgrade bar 2 to 3
### opam upgrade --show -a bar
The following actions would be performed:
=== upgrade 3 packages
  - upgrade bar 2 to 3
  - upgrade baz 1 to 2 [uses foo]
  - upgrade foo 3 to 4
### opam upgrade --show baz
The following actions would be performed:
=== upgrade 1 package
  - upgrade baz 1 to 2
### opam upgrade --show -a baz
The following actions would be performed:
=== upgrade 3 packages
  - upgrade bar 2 to 3
  - upgrade baz 1 to 2
  - upgrade foo 3 to 4 [required by baz]
### opam upgrade --show uninstalled
uninstalled is not installed. Install it? [Y/n] y
The following actions would be performed:
=== install 1 package
  - install uninstalled 1
### opam upgrade --show -a uninstalled
uninstalled is not installed. Install it? [Y/n] y
The following actions would be performed:
=== upgrade 3 packages
  - upgrade bar         2 to 3
  - upgrade baz         1 to 2 [uses foo]
  - upgrade foo         3 to 4
=== install 1 package
  - install uninstalled 1
### opam upgrade --show
The following actions would be performed:
=== upgrade 3 packages
  - upgrade bar 2 to 3
  - upgrade baz 1 to 2
  - upgrade foo 3 to 4
### opam upgrade baz
The following actions will be performed:
=== upgrade 1 package
  - upgrade baz 1 to 2

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   baz.1
-> installed baz.2
Done.
### opam upgrade --show foo
The following actions would be performed:
=== recompile 1 package
  - recompile baz 2      [uses foo]
=== upgrade 1 package
  - upgrade   foo 3 to 4
### :::::::::::::::::::::
### : Make sure opam upgrade can downgrade if necessary
### :::::::::::::::::::::
### <pkg:dep.1>
opam-version: "2.0"
### <pkg:dep.2>
opam-version: "2.0"
### :a: upgrade -a local package
### opam switch create downgrade-all-local --empty
### <pin:downgrade/opam>
opam-version: "2.0"
depends: "dep" {= "2"}
### opam pin add ./downgrade
[NOTE] Package downgrade does not exist in opam repositories registered in the current switch.
downgrade is now pinned to file://${BASEDIR}/downgrade (version dev)

The following actions will be performed:
=== install 2 packages
  - install dep       2            [required by downgrade]
  - install downgrade dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dep.2
-> retrieved downgrade.dev  (file://${BASEDIR}/downgrade)
-> installed downgrade.dev
Done.
### <pin:downgrade/opam>
opam-version: "2.0"
depends: "dep" {= "1"}
### opam upgrade -a ./downgrade

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[downgrade.dev] synchronised (file://${BASEDIR}/downgrade)
[downgrade] Installing new package description from upstream file://${BASEDIR}/downgrade

The following actions will be performed:
=== downgrade 1 package
  - downgrade dep       2 to 1       [required by downgrade]
=== recompile 1 package
  - recompile downgrade dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   dep.2
-> installed dep.1
-> retrieved downgrade.dev  (no changes)
-> removed   downgrade.dev
-> installed downgrade.dev
Done.
### :b: upgrade local package
### opam switch create downgrade-local --empty
### <pin:downgrade/opam>
opam-version: "2.0"
depends: "dep" {= "2"}
### opam pin add ./downgrade
[NOTE] Package downgrade does not exist in opam repositories registered in the current switch.
downgrade is now pinned to file://${BASEDIR}/downgrade (version dev)

The following actions will be performed:
=== install 2 packages
  - install dep       2            [required by downgrade]
  - install downgrade dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dep.2
-> retrieved downgrade.dev  (file://${BASEDIR}/downgrade)
-> installed downgrade.dev
Done.
### <pin:downgrade/opam>
opam-version: "2.0"
depends: "dep" {= "1"}
### opam upgrade ./downgrade

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[downgrade.dev] synchronised (file://${BASEDIR}/downgrade)
[downgrade] Installing new package description from upstream file://${BASEDIR}/downgrade

The following actions will be performed:
=== downgrade 1 package
  - downgrade dep       2 to 1       [required by downgrade]
=== recompile 1 package
  - recompile downgrade dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   dep.2
-> installed dep.1
-> retrieved downgrade.dev  (no changes)
-> removed   downgrade.dev
-> installed downgrade.dev
Done.
### :c: upgrade --show -a local package
### opam switch create downgrade-show-all-local --empty
### <pin:downgrade/opam>
opam-version: "2.0"
depends: "dep" {= "2"}
### opam pin add ./downgrade
[NOTE] Package downgrade does not exist in opam repositories registered in the current switch.
downgrade is now pinned to file://${BASEDIR}/downgrade (version dev)

The following actions will be performed:
=== install 2 packages
  - install dep       2            [required by downgrade]
  - install downgrade dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dep.2
-> retrieved downgrade.dev  (file://${BASEDIR}/downgrade)
-> installed downgrade.dev
Done.
### <pin:downgrade/opam>
opam-version: "2.0"
depends: "dep" {= "1"}
### opam upgrade --show -a ./downgrade

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[downgrade.dev] synchronised (file://${BASEDIR}/downgrade)
[downgrade] Installing new package description from upstream file://${BASEDIR}/downgrade

The following actions would be performed:
=== downgrade 1 package
  - downgrade dep       2 to 1       [required by downgrade]
=== recompile 1 package
  - recompile downgrade dev (pinned)
### :d: upgrade --show local package
### opam switch create downgrade-show-local --empty
### <pin:downgrade/opam>
opam-version: "2.0"
depends: "dep" {= "2"}
### opam pin add ./downgrade
[NOTE] Package downgrade does not exist in opam repositories registered in the current switch.
downgrade is now pinned to file://${BASEDIR}/downgrade (version dev)

The following actions will be performed:
=== install 2 packages
  - install dep       2            [required by downgrade]
  - install downgrade dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dep.2
-> retrieved downgrade.dev  (file://${BASEDIR}/downgrade)
-> installed downgrade.dev
Done.
### <pin:downgrade/opam>
opam-version: "2.0"
depends: "dep" {= "1"}
### opam upgrade --show ./downgrade

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[downgrade.dev] synchronised (file://${BASEDIR}/downgrade)
[downgrade] Installing new package description from upstream file://${BASEDIR}/downgrade

The following actions would be performed:
=== downgrade 1 package
  - downgrade dep       2 to 1       [required by downgrade]
=== recompile 1 package
  - recompile downgrade dev (pinned)
### :e: upgrade [-a|--show] repo-pkg
### opam switch create downgrade-repo-pkg --empty
### <pkg:pkg.1>
opam-version: "2.0"
depends: "dep" {= "2"}
### opam install pkg
The following actions will be performed:
=== install 2 packages
  - install dep 2 [required by pkg]
  - install pkg 1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed dep.2
-> installed pkg.1
Done.
### <pkg:pkg.1>
opam-version: "2.0"
depends: "dep" {= "1"}
### opam upgrade --show pkg
The following actions would be performed:
=== downgrade 1 package
  - downgrade dep 2 to 1 [required by pkg]
=== recompile 1 package
  - recompile pkg 1
### opam upgrade --all --no pkg
The following actions will be performed:
=== downgrade 1 package
  - downgrade dep 2 to 1 [required by pkg]
=== recompile 1 package
  - recompile pkg 1

Proceed with 1 downgrade and 1 recompilation? [Y/n] n
# Return code 10 #
### opam upgrade --no pkg
The following actions will be performed:
=== downgrade 1 package
  - downgrade dep 2 to 1 [required by pkg]
=== recompile 1 package
  - recompile pkg 1

Proceed with 1 downgrade and 1 recompilation? [Y/n] n
# Return code 10 #
### opam upgrade
The following actions will be performed:
=== downgrade 1 package
  - downgrade dep 2 to 1
=== recompile 1 package
  - recompile pkg 1      [uses dep]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> removed   dep.2
-> removed   pkg.1
-> installed dep.1
-> installed pkg.1
Done.
### :::::::::::::::::::::::
### : Make sure packages with empty-but-present build/run-test/install/remove
### : don't recompile unnecessarily
### :::::::::::::::::::::::
### opam switch create no-recompile --empty
### <pkg:ocaml.5>
opam-version: "2.0"
### : WARN: Do NOT use "<pin:...>" for the following line
### : See: https://github.com/ocaml/opam-file-format/issues/63
### <no-recompile/opam>
opam-version: "2.0"
synopsis: "A word"
description: "Two words."
authors: "the testing team"
homepage: "egapemoh"
maintainer: "maint@tain.er"
license: "MIT"
dev-repo: "hg+https://pkg@op.am"
bug-reports: "https://nobug"
build: []
run-test: []
install: []
remove: []
### opam install ./no-recompile
[NOTE] Package no-recompile does not exist in opam repositories registered in the current switch.
no-recompile is now pinned to file://${BASEDIR}/no-recompile (version dev)
The following actions will be performed:
=== install 1 package
  - install no-recompile dev (pinned)

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved no-recompile.dev  (file://${BASEDIR}/no-recompile)
-> installed no-recompile.dev
Done.
### opam upgrade
Already up-to-date.
Nothing to do.
