[opam-devel] opam 2 containers/building toplevel
anil at recoil.org
Tue May 31 14:50:13 BST 2016
> On 31 May 2016, at 14:36, Louis Gesbert <louis.gesbert at ocamlpro.com> wrote:
> Le mardi 31 mai 2016, 14:03:30 Anil Madhavapeddy a écrit :
>> I'm just building Docker containers for the OPAM 2 master tree to sit
>> alongside the existing 1.x containers. The build currently uses the
>> builtin libraries (make lib-ext), but this does not build the admin scripts
>> for some reason.
>> The admin scripts are needed for transitioning the 1.x repo to the 2.x
>> format -- is there any reason why this functionality shouldn't be
>> integrated into `opam admin` rather than requiring external scripts that
>> are difficult to build? It would really help with testing the 2.x
> I usually don't build them, but rather run them directly, and using them as
> scripts is quite convenient to test out various operations on the repo. Most
> of them are throw-away and don't justify to be added to a tool that gets
> installed everywhere. Doing it this way reduces the cost of testing out
> scripts as well as the maintenance cost (obsolete scripts may lag behind API
> changes, then either get updated when needed or removed).
Yeah, that makes sense.
> The issue with `make lib-ext` may be that `opam-admin.top` can't find the
> proper opam libraries installed. The Makefile in `admin-scripts/` has a quick
> hack to build bytecode versions, but that reiles on `ocamlfind` to locate the
> installed versions of the dependencies; it wouldn't be difficult to improve it
> to work with `lib-ext` though.
It would be very useful if they could work with lib-ext and the toplevel be built by default. Right now there is some oddness where the extlib interactive installer is run if I build `opam-admin.top` manually, so I gave up around there.
> Now, for scripts that get generally useful and somewhat stable, it's perfectly
> fine to migrate them to be part of opam-admin. Moving the scripts to their own
> repo would also be fine if they reach a critical weight.
> Should we improve compat of the Makefile and/or move the 1.2->2.0
> functionality to opam-admin ?
For the purposes of container-based testing, it would be great if we could move the essential functionality into `opam admin` directly. This will let me insert in the right `git clone / opam admin upgrade` runs into the CI scripts so that OPAM 2 is easy to test for end users.
More information about the opam-devel