[opam-devel] [MirageOS-devel] Offline use of mirage?

Anil Madhavapeddy anil at recoil.org
Sat Feb 15 11:59:51 GMT 2014


On 14 Feb 2014, at 17:05, Louis Gesbert <gesbert at antislash.info> wrote:

> 
>> For this to work, though, we'll need to come up with a list of all the packages that will be needed to pass to `opam-admin make`.  I notice that "opam-admin make --help" tells me this:
>> 
>>       -r, --recursive
>>           Recurse among the transitive dependencies.
>> 
>>       --resolve
>>           A more advanced version of `--recursive': will attempt to resolve
>>           your installation with all dependencies in the best way possible
>>           and build the archives accordingly.
>> 
>> CCing opam-devel: what on earth does the latter entry mean? :-)  What's the downside of using --resolve for everything instead of -r?  If there's none, why not get rid of -r entirely?
> 
> True, `--recursive` is mostly here for historical reasons. It will actually download _all_ versions of the dependencies. `--resolve` is a bit less predictable but will give you one usable snapshot of the universe.
> 
> I've nothing against removing `--recursive`, it's probably not used.
> 
> A nice addition would be the ability to prune the repository of unneeded package definitions : for now it keeps them all, just downloads a subset of the archives. That wouldn't be difficult.

Thanks for clarifying this!  It sounds like `--resolve` (with just one version per package) would work fine for our needs to use Mirage offline.  I've sent a pull request to OPAM to (hopefully) clarify the man page wording.

https://github.com/ocaml/opam/pull/1178

-a



More information about the opam-devel mailing list