caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Thomas Gazagnaire <thomas@ocamlpro.com>
To: Jon Ludlam <jonathan.ludlam@eu.citrix.com>
Cc: <caml-list@inria.fr>
Subject: Re: [Caml-list] opam and versions
Date: Sun, 28 Oct 2012 12:32:51 +0100	[thread overview]
Message-ID: <A07438B9-51A0-4342-AFA3-89BF39C5AB2B@ocamlpro.com> (raw)
In-Reply-To: <50854D34.4000301@eu.citrix.com>

Hi Jon,

> For our purposes, we need to be able to ensure that our builds are reproducible, and hence need to know exactly which versions are installed. We had hoped to achieve this by removing or disabling packages whose sources were got directly from a master branch in github. However, it turns out that some packages that are 'stable' are dependent upon these packages, which seems brittle. The question is how to fix it? Should the opam repository maintainers require that 'stable' packages aren't dependent on 'unstable' ones? Should opam itself be aware of the difference and enforce this policy? If someone really wants to release a stable version of their thing and it's dependent upon an upstream project with only a github repo, should the developer engage the upstream devs and request at least a tag, or should they make their own tarball/github fork?

Before the 1.0 release my plan is:
* to remove the unstable packages in the main opam-repository (ie. every packages should have a stable tarball with a fixed checksum) [1]
* add a way to specify commits/branches for unstable packages if needed. [2]

The current workaround is, as Anil pointed out, to clone opam-repository, use 'opam-mk-repo' at its root to generate a local mirror of opam.ocamlpro.com, and tell opam to add the local repository as a remote:  'opam remote -add local /path/to/your/local/repository'

Then 'opam remote -list' should display the list of repositories and their respective priority (higher is better). You can also tweak ~/.opam/repo/index manually to tell opam to use your local repository only for some packages, for instance the unstable ones (don't forget to run 'opam update' after changing the index file).

For [1], I'm gladly accepting external contributions (for [2] as well actually if someone really wants to hack into opam).

--
Thomas

[1] https://github.com/OCamlPro/opam-repository/issues/171
[2] https://github.com/OCamlPro/opam/issues/267

      parent reply	other threads:[~2012-10-28 11:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-22 13:42 Jon Ludlam
2012-10-22 14:58 ` Gabriel Kerneis
2012-10-22 15:16 ` Anil Madhavapeddy
2012-10-28 11:32 ` Thomas Gazagnaire [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=A07438B9-51A0-4342-AFA3-89BF39C5AB2B@ocamlpro.com \
    --to=thomas@ocamlpro.com \
    --cc=caml-list@inria.fr \
    --cc=jonathan.ludlam@eu.citrix.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).