[ocaml-platform] Dev Version as Package?

Trevor Smith trevorsummerssmith at gmail.com
Mon May 11 00:55:15 BST 2015

Thanks Thomas.

Would there be interest in making a feature to "always update this
dependency"? Suggested solution:

A keyword in the version could trigger "always update". This would then
apply to both normal packages as well as pins. "Dev" already has meaning in
opam, perhaps "-alpha". This would then allow me to internally have a
single repo with normal versions alongside versions that are actively being
developed and changing multiple times per day. Eg:

src: "ssh://somewhere/my-package.git"

A dependent package (ie reverse dependency) "program" on: "my-package" {=
"1.0-alpha" } would then always check for updates and upgrade my-package
before doing anything with program. A build server could get the behavior
I'm looking for by "opam install --deps-only program" and getting whatever
is at head of my-package (or of the given branch as the case may be).

I think this solution would be a nice composition of the ideas that opam
already has, and, I think, would be a strict improvement over the current
situation and does not introduce any incidental complexity. This thread
seems to indicate that others are interested in such a feature.

Thoughts? Thanks!


On Sun, May 10, 2015 at 5:50 PM, Thomas Gazagnaire <thomas at gazagnaire.org>

> Consider two packages: lib and program. program depends upon lib.
> opam install lib
> # Make a new commit to lib and push it
> # Lib is now one commit newer
> # NB I am making _no_ changes to the internal opam repo
> opam install program
> lib does _not_ get recompiled.
> Is that the information you wanted?
> yes, when pin/dev packages are modified, you need to tell opam that you
> want to use the updated version (if available), so you need to run `opam
> update -u` before `opam install program`. Opam will check if there are new
> commits and recompile what needs to be recompiled.
> Thomas
> Also: I just tried opam update program and that also did not pick up the
> fact that lib is git pinned.
> Thoughts? Thanks.
> Trevor
> On Sun, May 10, 2015 at 1:17 PM, Thomas Gazagnaire <thomas at gazagnaire.org>
> wrote:
>> I tried setting up the "option 1" -- using a repo url. This works fine
>> for clean installs, however it does not work for my use case for updates. I
>> didn't realize until I tried it out that this won't update upon any
>> dependent installation. As noted by Louis, pinning also does not reinstall
>> from a repo url when a dependent install happens -- it only updates the
>> meta-data.
>> What I would like is a way (ideally within opam) to say "when this
>> package dependend-upon it should always be checked for update and upgrade".
>> Am I correct in stating that currently there is no way to mark a package
>> as "update and upgrade this package whenever something that depends upon it
>> is installed"?
>> did you run `opam update -u <package>`? If a or dev or pinned package
>> changes it should normally trigger a recompilation of all the reverse
>> dependencies. how did you specify the packages in your repo?
>> Thomas
>> Thanks.
>> Trevor
>> On Fri, May 8, 2015 at 2:24 PM, Daniel Bünzli <
>> daniel.buenzli at erratique.ch> wrote:
>>> Le vendredi, 8 mai 2015 à 20:09, Ashish Agarwal a écrit :
>>> > Louis, thanks for your suggestions. I'm trying them out, but one quick
>>> question: how can you query with tags. I tried `opam list -e foobar`, and I
>>> seem to get the same output no matter what I write for foobar.
>>> This is not opam tags this is depexts tags (that correspond to
>>> platform). You can do for example:
>>>   opam search -s org:erratique
>>> But it may not be entirely precise since opam-search matches not only in
>>> tags. I think opam-list should be able to filter by tags (I actually
>>> thought this was possible).
>>> Best,
>>> Daniel
>>> _______________________________________________
>>> Platform mailing list
>>> Platform at lists.ocaml.org
>>> http://lists.ocaml.org/listinfo/platform
>> _______________________________________________
>> Platform mailing list
>> Platform at lists.ocaml.org
>> http://lists.ocaml.org/listinfo/platform
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ocaml.org/pipermail/platform/attachments/20150510/798bd431/attachment.html>

More information about the Platform mailing list