We now have opamCompiler.ml which contains compiler name, version and alias and opamVersion.ml which contains OPAM versions.
So now, one can write: ocaml-version: [ >= 3.12.1 & <= 4.00.0 ]
The API is now much cleaner. There are still some work to do to clean-up OpamClient.ml, this can be fixed later.
Since a lot of modules are now part of a library, they should be renamed to avoid clashes. I propose to use OpamXXX instead of XXX, from now on. Since I already get a clash for File, I just renamed it for now, but this should be done for all modules in opam-lib.
… repository Futur works : take into account comments (* *) so that the output does not delete them...
Now everything is in one file for each backend, with the same BACKEND signature to satisfy - this means it's easier to deploy (as you don't have dozains of binaries to copy at the right place), it's easier to reason about (as you have type constraints, instead of having to read on stdout after calling a script) and it's easier to evolve, as you can easily add new functions if needed. Currenlty, only the curl and the rsync backend are ported over the new interface, and rsync is passing the test-suite.
This tool aims to convert 0.3 repositories to the new 0.4 hierarchy
Now the curl backend uses md5 checksums, which make it looks like very much the rsync backend, so this commit refactor a lot of common functionnalities. As a side effect, it also fix the rule "if the archive is not there, then download by reading what's in url/", which make the behavior exactly the same for rsync/curl and opam-mk-repo (which incidentaly fix some bugs there which were present in the rsync backend there). Note: the checksum support is not yet complete, as OPAM doesn't (yet) store checksums of external archives; but that's now quite easy to add.
Now the rsync backend looks for index.tar.gz which should contain all the opam, descr, (url) and compiler files
… over HTTP doesn't work ... Cannot upload anything with that, and need an urls.txt file describing the site contents
- fold on available compilers to update the $oversion/reinstall - the "reinstall" file is consulted by the solver only when we 'opam upgrade'
It compiles, but untested. Morever 'opam-server-download' and 'opam-server-upload' are missing. Most of the code is here, need to test it and finish to write more boring script stuff...
It compiles, but untested. The basic idea is to have a git repository storing OPAM, description files and git urls of dev packages: * opam-git-init clones the repository at the right place * opam-git-download clones the git repository for the right pacakge, and call git-archive to create a .tar.gz which is copied at the right place (to follow the OPAM repository pluggin protocol) * opam-git-update updates the main repository to look for new packages and then updates each already cloned packages to see if they need to be updated