[opam-devel] Determining all required versions of all packages

David Allsopp dra-news at metastack.com
Tue Nov 10 09:12:08 GMT 2015


I'm starting to assemble high quality Windows amendments[1] for
opam-repository in dra27/opam-repository/opam-windows. OPAM's age and the
speed at which OCaml development moves means lots of packages have many
versions (see, for example,
https://github.com/dra27/opam-repository/commit/b7269d2ac853aeb45b1096ec0dba
7febbad149f2).

Patching them all is tedious (and actually testing the installation of each
version even more so!), especially as it's not that likely that too many
people will ever bother installing older versions. Is there already a clever
way where given a repository I can query all dependent packages of a
specific version of each package. Most (probably all) packages depend just
on ocamlfind, for example, not on ocamlfind 1.4.x?

So I'd be looking at a something which would tell me that only
ocamlfind.1.5.6 would ever be installed by any given package. Then I can
apply patches to the latest version of a given package and any older
versions which the metadata indicate might be required and then I can
(automatically) tag other opam files "windows-untested".

Thanks!


David



[1] That's a highly subjective opinion, obviously :o) "High-quality" to me
means:
1) as few non-upstream'd patches as possible
2) available for all Windows ports, not just some of them!
3) Remaining compatible with other OSes already supported by OPAM!



More information about the opam-devel mailing list