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

Anil Madhavapeddy anil at recoil.org
Sat Feb 1 13:53:06 GMT 2014

On 1 Feb 2014, at 14:40, Roberto Di Cosmo <roberto at dicosmo.org> wrote:
>> This is a very tricky interaction to get right, 
> Really? I would like to know more about this; please add the factual elements
> to #1150

I think the overall problem element is obvious: the opam binary within the
opam installation will be picked up very suddenly during package installation
and upgrades.

Rather than me listing why every single feature of OPAM would potentially break
(consider the 'repo upgrade' step that OPAM 1.0 -> 1.1 does), I would again
suggest that you provide a strong motivation for why you want the feature in the
first place.

> Now, that's a tricky issue: with dozens of platforms to support, getting the
> opam platform-specific package rolled out in a timely manner, and without
> too much skew is definitely far from easy.

Yes, which is why we should focus on getting it done smoothly, rather than
worry about updating OPAM from within OPAM. I've already started on Launchpad,
and have investigated the excellent SUSE open build farm.  My efforts there
have stalled due to the complexity of packaging the existing OPAM tree with
ocp-build, and also because we now essentially depend on aspcud (which is
also rather challenging to package on non-Linux, non-x86, although that is

> Again, I'd like to see more precise arguments about this: I'm surely too
> optimistic, but it might just be a matter of adding some specific metadata
> for the opam package.

"some specific metadata"?  That's a very long way from a patch :-)

>> and the new one will disappear if the
>> ~/.opam is destroyed by the user, therefore downgrading their version of OPAM).
> Sure, but if I shoot myself in the foot and destroy ~/.opam, that's my proble, right?

No, it'll turn out to be our problem when the user sends us bug reports.
There were a number of these going from the OPAM beta to 1.0, which you should
be able to find against the relevant closed milestones on the bug tracker.
OPAM upgrading OPAM is very confusing behaviour without an explicit 'dist-upgrade'


More information about the opam-devel mailing list