[opam-devel] OPAM Dockerfiles set OPAMSWITCH

David Sheets sheets at alum.mit.edu
Tue Feb 23 15:51:34 GMT 2016


On Tue, Feb 23, 2016 at 3:15 PM, Anil Madhavapeddy <anil at recoil.org> wrote:
> On 23 Feb 2016, at 15:00, David Sheets <sheets at alum.mit.edu> wrote:
>>
>> On Tue, Feb 23, 2016 at 12:33 PM, Anil Madhavapeddy <anil at recoil.org> wrote:
>>> On 23 Feb 2016, at 12:28, David Sheets <sheets at alum.mit.edu> wrote:
>>>>
>>>> The Docker containers described by
>>>> https://github.com/ocaml/opam-dockerfiles somehow set the OPAMSWITCH
>>>> environment variable. I haven't been able to find where or why this
>>>> variable has been set and it causes many opam commands to be more
>>>> heavyweight than necessary which makes interactive use annoying. For
>>>> instance, after switching compilers, you must run something like
>>>>
>>>> ```
>>>> eval `opam config env --switch=system`
>>>> ```
>>>>
>>>> if OPAMSWITCH is set. When is OPAMSWITCH necessary? Why? What sets it?
>>>
>>> One possibility is that the entrypoint to the container passes the
>>> command through "opam config exec --", which ensures that the local
>>> OPAM context is available when you run the command.
>>
>> Ah, yes, that does look like the culprit. I've submitted
>> <https://github.com/ocaml/opam/pull/2444> to change this behavior.
>
> If you can submit the patch against the ocaml/opam:1.2 branch and
> Louis merges it, it will show up magically in the next container
> rebuild.  OPAM is built from source against 1.2-dev there.

https://github.com/ocaml/opam/pull/2445 is the backport.

David


More information about the opam-devel mailing list