From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 36CAABC6C for ; Wed, 30 Jan 2008 12:53:39 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAIbrn0fAXQImh2dsb2JhbACQJwEBAQgKKZ9B X-IronPort-AV: E=Sophos;i="4.25,277,1199660400"; d="asc'?scan'208";a="7425912" Received: from discorde.inria.fr ([192.93.2.38]) by mail1-smtp-roc.national.inria.fr with ESMTP; 30 Jan 2008 12:53:39 +0100 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m0UBrcuQ014145 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Wed, 30 Jan 2008 12:53:38 +0100 X-IronPort-AV: E=Sophos;i="4.25,277,1199660400"; d="asc'?scan'208";a="21974579" Received: from peray.inria.fr (HELO ausone.inria.fr) ([128.93.8.98]) by mail4-relais-sop.national.inria.fr with SMTP; 30 Jan 2008 12:53:38 +0100 Received: by ausone.inria.fr (sSMTP sendmail emulation); Wed, _d Jan 2008 12:52:34 +0100 From: "Nicolas Pouillard" Cc: caml-list Subject: Re: [Caml-list] [OSR] Ports-like package management system To: "daniel.buenzli" References: <479F0664.2070706@exalead.com> <1201629992-sup-8035@ausone.local> <1201682550-sup-1783@ausone.inria.fr> In-Reply-To: Date: Wed, 30 Jan 2008 12:52:34 +0100 Message-Id: <1201693587-sup-7538@ausone.inria.fr> User-Agent: Sup/git Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=-1201693954-356145-27517-915-13-="; micalg="pgp-sha1" MIME-Version: 1.0 X-Miltered: at discorde with ID 47A06542.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; versioned:01 gentoo:01 ocaml:01 gentoo:01 usr:01 ocaml:01 usr:01 ocaml-:01 ocaml-:01 flags:01 dependencies:01 dependencies:01 libfoo:01 libfoo:01 caml-list:01 X-Attachments: cset="UTF-8" type="application/pgp-signature" name="signature.asc" name="signature.asc" --=-1201693954-356145-27517-915-13-= Content-Type: text/plain; charset=UTF-8 Excerpts from daniel.buenzli's message of Wed Jan 30 12:15:01 +0100 2008: > > Le 30 janv. 08 à 09:49, Nicolas Pouillard a écrit : > > > You have a local branch of the whole port hierarchy, that's why > > we're talking > > about DVCS. > > Ok I understand now. So the port hierarchy is centralized and > versioned that's exactly what I don't like because it is not flexible > enough, you have to wait for things to update (e.g. like waiting for > the 3.10 branch in godi) because package description files support > only one version. Not necessarily, in Gentoo, there is all installable versions in the directory of the project. Here is the OCaml package in Gentoo: $ find /usr/portage/dev-lang/ocaml /usr/portage/dev-lang/ocaml /usr/portage/dev-lang/ocaml/Manifest /usr/portage/dev-lang/ocaml/files /usr/portage/dev-lang/ocaml/files/ocaml-rebuild.sh /usr/portage/dev-lang/ocaml/files/ocaml-3.09.3-exec-stack-fixes.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.09.3-Makefile.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.09.3-configure.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.10.0-exec-stack-fixes.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.09.3-execheap.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.09.3-automagic.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.09.3-hppa-optimize-for-size-ocamlp4.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.09.3-call_ld_with_proper_flags.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.10.0-automagic.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.10.0-configure.patch /usr/portage/dev-lang/ocaml/files/ocaml-3.10.0-call-ld-with-proper-ldflags.patch /usr/portage/dev-lang/ocaml/ocaml-3.08.4.ebuild /usr/portage/dev-lang/ocaml/ocaml-3.09.2.ebuild /usr/portage/dev-lang/ocaml/ChangeLog /usr/portage/dev-lang/ocaml/metadata.xml /usr/portage/dev-lang/ocaml/ocaml-3.09.3-r1.ebuild /usr/portage/dev-lang/ocaml/ocaml-3.09.3.ebuild /usr/portage/dev-lang/ocaml/ocaml-3.10.0.ebuild /usr/portage/dev-lang/ocaml/ocaml-3.09.3-r2.ebuild /usr/portage/dev-lang/ocaml/ocaml-3.10.1.ebuild You can see that there is multiple versions, but not necessarily all versions. There regularly garbage-collect some versions. > I don't like the idea of one version per description file, it is not > flexible enough and having the port hierarchy under vcs doesn't help > to select a particular version of a port. As you can see, that's wrong in the case of portage. > The way I see it is > > - a package is a list of versions > - a version is a list of files that build themselves with ocamlbuild > and a specification of dependencies. > > Now the tool I seek allows me to specify package dependencies in > ocamlbuild and take care of their install. Yes and such a list of package, can be hosted in a hierarchy in a VCS. > > That's not a baroque case, I mean if you are responsible of > > libFoo and > > progBar, you perhaps want to quickly package progBar using the > > last version > > of libFoo. > > If you don't have a centralized port hierarchy, you don't get these > problems because you manage your own package description file. In that > case just add a new version to your package description file and > publish it. Decentralize the system let anyone publish their own > package descriptions on their website, use the web. In this system anyone can publish it's variant of the ports hierarchy. -- Nicolas Pouillard aka Ertai --=-1201693954-356145-27517-915-13-= Content-Disposition: attachment; filename="signature.asc" Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (Darwin) iD8DBQFHoGUCj+FCNw9dwLkRAuPkAJ47aKFaD5pNEqEmKjisIZAQxF+KrQCghwaP mHLBT7whfwkLSgs0IjnKP/I= =Gd4z -----END PGP SIGNATURE----- --=-1201693954-356145-27517-915-13-=--