Switching images to opam 2.1 by default
- [ ]
set-opam-version.sh 2.1added to images. It's justsudo ln -f /usr/bin/opam-$1 /usr/bin/opam && rm -rf ~/.opam && opam init -k local -a /home/opam/opam-repository --bare(with error handling!) - [ ]
opam-depextneeds 2.1 support so that withOPAMCLI=2.0 opam depext packageworks - [ ] Images have
ENV OPAMCLI=2.0and/usr/bin/opamis/usr/bin/opam-2.1by default. The root is therefore opam 2.1
This presently blocked on the opam depext part, since there's no compatibility for previous versions. Switching to opam 2.1 will expose some uses to problems with opam's integrated depext on certain platforms.
I propose set-opam-version.sh does a re-init for consistency: it only does fractionally more than opam update would, but it's a more consistent thing to do when downgrading from 2.1 to 2.0.
Are there any updates on this? Since mirage 4 requires opam-version >= 2.1.0 this would be very convenient :-)
Ah, I see in #131 that /usr/bin/opam-2.1 is provided. Maybe the docker hub page can be updated to reflect this? Currently it claims the images come with the latest release of opam.
FWIW mirage expects opam in $PATH to be opam 2.1. Copying opam-2.1 to /usr/local/bin/opam works around this.
yes, most of our CI projects start with:
FROM ocaml/opam:<tag>
RUN sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam
RUN opam init --reinit -ni
There is also a dev version of opam available if you do this:
FROM ocaml/opam:<tag>
RUN ln -f ~/local/bin/opam-dev ~/local/bin/opam
RUN opam init --reinit -ni