[opam-devel] OPAM Roadmap -- what next ?

Thomas Leonard talex5 at gmail.com
Sun Dec 21 13:37:34 GMT 2014

On 21 December 2014 at 13:26, Peter Zotov <whitequark at whitequark.org> wrote:
> On 2014-12-21 16:19, Daniel Bünzli wrote:
>> Le dimanche, 21 décembre 2014 à 13:43, Peter Zotov a écrit :
>>> Imagine four packages installed:
>>> * B.1
>>> * B.2
>>> * A.1 depends: B<2
>>> * A.2 depends B>=2
>>> Now if you request A.1, the wrong version of B will get pulled in.
>> Request through what ? I think your scenario is underspecified. If
>> A.1's META file specifies that it requires B.1 then B.1 will be pulled
>> in.
> Through ocamlfind, of course, there's nothing else now.
> Sure. But note that ocamlfind explicitly refuses to deal with versioning
> constraints; it's even in the manual. So the dependencies of neither
> A.1 nor A.2 are not expressible in META.
> Additionally, this requires more work from package maintainers, and
> I can't imagine how to convince them to do it. (I do not think
> it is possible to automatically infer those from opam fields.)

If the information can't be inferred from opam fields, then how can
things even work now? Somehow, there must be valid and invalid
combinations, and it must be possible to know what they are. e.g. a
valid (per-build) combination in a world of parallel installs is any
combination that could be installed now.

FWIW, 0install has always done parallel installs and it hasn't been a
problem, except that you always have to start your build from a
0install-aware tool (or an environment created by one). The problem is
mainly that people want to continue with their current habbits (e.g.
unpack source archive and run make). Some change in tools or habits is

Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

More information about the opam-devel mailing list