From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by sympa.inria.fr (Postfix) with ESMTPS id 865C37EEDB for ; Sun, 28 Oct 2012 12:33:01 +0100 (CET) Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of thomas.gazagnaire@gmail.com) identity=pra; client-ip=74.125.82.182; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="thomas.gazagnaire@gmail.com"; x-sender="thomas.gazagnaire@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail1-smtp-roc.national.inria.fr: domain of thomas.gazagnaire@gmail.com designates 74.125.82.182 as permitted sender) identity=mailfrom; client-ip=74.125.82.182; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="thomas.gazagnaire@gmail.com"; x-sender="thomas.gazagnaire@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-we0-f182.google.com) identity=helo; client-ip=74.125.82.182; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="thomas.gazagnaire@gmail.com"; x-sender="postmaster@mail-we0-f182.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhcBAEYXjVBKfVK2kGdsb2JhbABEwlcIIwEBAQEJCQ0HFAQjgh4BAQEDARICJgYBOAEDAQsBBQVGNAEFARwGNYdSAwkGBAecSmIJA48mhDEnDYlOAQEEDJFlYQObXYh4P4FYgjo X-IronPort-AV: E=Sophos;i="4.80,665,1344204000"; d="scan'208";a="179265245" Received: from mail-we0-f182.google.com ([74.125.82.182]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 28 Oct 2012 12:33:01 +0100 Received: by mail-we0-f182.google.com with SMTP id x43so3342404wey.27 for ; Sun, 28 Oct 2012 04:33:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; bh=BGsqQzpH7VaStUaESFGt5bG+BNddXPrb0EllG+OYrOA=; b=0jL9sRNtG5vIXHRU4owVnWcs8XtcWGdBJn1tO3RGrIu42RVCLC1IFZwnZ47BAi+54s ds7Q1kgcONNK7UBXnJ5F11qcENO92+tr2boPC6L7kjVZBeAHwKVHEq6TvHge1ovb5dyg i28Hn+AO15/e6ch/D44B5SNBUjddb/pfb1Nd2rRY6NnUqZ8v1TA3bS44WhSXr24XxXuw LkwebaJzNb4Fm2PQMH/UF6OSWWPof/vn2lCBYI/sWKmNGXWBagqWRzPuHM2e+tFPXyMy g5qJQCaaPfoM9NYGf3l0nvvYzycZaNMD3SvmM44APsw4CUWEbnSZ/LzSLqGgiAWcOPpc jraw== Received: by 10.216.145.32 with SMTP id o32mr13986300wej.215.1351423980838; Sun, 28 Oct 2012 04:33:00 -0700 (PDT) Received: from [192.168.1.119] (152.red-80-28-221.adsl.static.ccgg.telefonica.net. [80.28.221.152]) by mx.google.com with ESMTPS id o3sm2459242wiz.9.2012.10.28.04.32.54 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 28 Oct 2012 04:32:57 -0700 (PDT) Sender: Thomas Gazagnaire Mime-Version: 1.0 (Apple Message framework v1085) Content-Type: text/plain; charset=us-ascii From: Thomas Gazagnaire In-Reply-To: <50854D34.4000301@eu.citrix.com> Date: Sun, 28 Oct 2012 12:32:51 +0100 Cc: Content-Transfer-Encoding: quoted-printable Message-Id: References: <50854D34.4000301@eu.citrix.com> To: Jon Ludlam X-Mailer: Apple Mail (2.1085) Subject: Re: [Caml-list] opam and versions Hi Jon, > For our purposes, we need to be able to ensure that our builds are reprod= ucible, 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 so= me packages that are 'stable' are dependent upon these packages, which seem= s brittle. The question is how to fix it? Should the opam repository mainta= iners require that 'stable' packages aren't dependent on 'unstable' ones? S= hould opam itself be aware of the difference and enforce this policy? If so= meone really wants to release a stable version of their thing and it's depe= ndent upon an upstream project with only a github repo, should the develope= r 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 pa= ckages 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, u= se 'opam-mk-repo' at its root to generate a local mirror of opam.ocamlpro.c= om, and tell opam to add the local repository as a remote: 'opam remote -a= dd 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/ind= ex manually to tell opam to use your local repository only for some package= s, 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 actua= lly 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=