<div dir="ltr">Thanks Thomas.<div><br></div><div>Would there be interest in making a feature to "always update this dependency"? Suggested solution:</div><div><br></div><div>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:</div><div><br></div><div>my-repo/my-package.1.0-alpha/url:</div><div>src: "ssh://somewhere/my-package.git"</div><div><br></div><div>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).</div><div><br></div><div>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.</div><div><br></div><div>Thoughts? Thanks!</div><div><br></div><div>Trevor<br><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 10, 2015 at 5:50 PM, Thomas Gazagnaire <span dir="ltr"><<a href="mailto:thomas@gazagnaire.org" target="_blank">thomas@gazagnaire.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span class=""><blockquote type="cite"><div dir="ltr"><div>Consider two packages: lib and program. program depends upon lib.</div></div></blockquote><br></span><span class=""><blockquote type="cite"><div dir="ltr"><div>opam install lib</div><div># Make a new commit to lib and push it</div><div># Lib is now one commit newer</div><div># NB I am making _no_ changes to the internal opam repo</div><div>opam install program</div><div><br></div><div>lib does _not_ get recompiled.</div><div><br></div><div>Is that the information you wanted?</div></div></blockquote><div><br></div></span>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.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Thomas</div></font></span><div><div class="h5"><div><br><blockquote type="cite"><div dir="ltr"><div><br></div><div>Also: I just tried opam update program and that also did not pick up the fact that lib is git pinned.</div><div><br></div><div>Thoughts? Thanks.</div><div><br></div><div>Trevor</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 10, 2015 at 1:17 PM, Thomas Gazagnaire <span dir="ltr"><<a href="mailto:thomas@gazagnaire.org" target="_blank">thomas@gazagnaire.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span><blockquote type="cite"><div><div dir="ltr">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.<div><br></div><div>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".</div><div><br></div><div>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"?</div></div></div></blockquote><div><br></div></span><div>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?</div></div><span><font color="#888888"><div><br></div><div>Thomas</div></font></span><span><div><br><blockquote type="cite"><div><div dir="ltr"><div><br></div><div>Thanks.</div><div><br></div><div>Trevor</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 8, 2015 at 2:24 PM, Daniel Bünzli <span dir="ltr"><<a href="mailto:daniel.buenzli@erratique.ch" target="_blank">daniel.buenzli@erratique.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>Le vendredi, 8 mai 2015 à 20:09, Ashish Agarwal a écrit :<br>
> 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.<br>
<br>
</span>This is not opam tags this is depexts tags (that correspond to platform). You can do for example:<br>
<br>
opam search -s org:erratique<br>
<br>
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).<br>
<br>
Best,<br>
<br>
Daniel<br>
<div><div><br>
<br>
_______________________________________________<br>
Platform mailing list<br>
<a href="mailto:Platform@lists.ocaml.org" target="_blank">Platform@lists.ocaml.org</a><br>
<a href="http://lists.ocaml.org/listinfo/platform" target="_blank">http://lists.ocaml.org/listinfo/platform</a><br>
</div></div></blockquote></div><br></div>
_______________________________________________<br>Platform mailing list<br><a href="mailto:Platform@lists.ocaml.org" target="_blank">Platform@lists.ocaml.org</a><br><a href="http://lists.ocaml.org/listinfo/platform" target="_blank">http://lists.ocaml.org/listinfo/platform</a><br></div></blockquote></div><br></span></div></blockquote></div><br></div>
</blockquote></div><br></div></div></div></blockquote></div><br></div>