[opam-devel] How to manage a package manager (Was: Re: [opam] Build clarification (#1149))

Anil Madhavapeddy anil at recoil.org
Mon Feb 3 15:33:37 GMT 2014


On 3 Feb 2014, at 14:29, Roberto Di Cosmo <roberto at dicosmo.org> wrote:

> As for the sources of potential confusion between the "global" and "local"
> installation of an opam client, I do suspect they are still present today as
> soon as one mixes up two opam installations (for example, a version distributed
> as a distribution-specific package, and a version installed "by hand"), so
> this is basically a problem orthogonal to having opam as an opam package.

This isn't quite the same as having opam-as-an-opam package.  If you manually
install clashing OPAM versions, you probably have a stable PATH pointing to
just one copy, and it won't change.

We cannot make the same guarantee of `opam config env` being executed due to
the vagaries of interactive-vs-non-interactive shells.  I'm pretty sure that
our behaviour for some shells such as Fish or Ksh is currently incorrect, but
I've not had a chance to test them personally.

One defensive feature to add in this case is to stamp the required OPAM client
version in ~/.opam and refuse to run if it's too low.  Thomas, Louis, this
check is only per-remote at the moment and not enforced globally within the
OPAM state is it?

-anil


More information about the opam-devel mailing list