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 mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id F2BFDBC6C for ; Wed, 30 Jan 2008 19:04:26 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAGZKoEfAXQImh2dsb2JhbACQJwEBAQgKKZ9V X-IronPort-AV: E=Sophos;i="4.25,278,1199660400"; d="asc'?scan'208";a="21988852" Received: from discorde.inria.fr ([192.93.2.38]) by mail4-smtp-sop.national.inria.fr with ESMTP; 30 Jan 2008 19:04:26 +0100 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m0UI4QwR029301 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Wed, 30 Jan 2008 19:04:26 +0100 X-IronPort-AV: E=Sophos;i="4.25,278,1199660400"; d="asc'?scan'208";a="6753330" Received: from peray.inria.fr (HELO ausone.inria.fr) ([128.93.8.98]) by mail2-relais-roc.national.inria.fr with SMTP; 30 Jan 2008 19:04:25 +0100 Received: by ausone.inria.fr (sSMTP sendmail emulation); Wed, _d Jan 2008 19:03:21 +0100 From: "Nicolas Pouillard" Cc: caml-list Subject: Re: [Caml-list] Re: [OSR] Ports-like package management system To: Michael Ekstrand References: <479F0664.2070706@exalead.com> <47A045C1.7030603@exalead.com> <871w7zgtpn.fsf@jehiel.elehack.net> In-Reply-To: <871w7zgtpn.fsf@jehiel.elehack.net> Date: Wed, 30 Jan 2008 19:03:21 +0100 Message-Id: <1201715301-sup-2182@ausone.local> User-Agent: Sup/git Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=-1201716201-745057-27517-4883-26-="; micalg="pgp-sha1" MIME-Version: 1.0 X-Miltered: at discorde with ID 47A0BC2A.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; le-gall:01 wget:01 ocaml:01 cvs:01 tarballs:01 tarballs:01 berke:01 trivial:01 hacked:01 libfoo:01 libfoo:01 merit:98 4.5:98 4.5:98 caml-list:01 X-Attachments: cset="UTF-8" type="application/pgp-signature" name="signature.asc" name="signature.asc" --=-1201716201-745057-27517-4883-26-= Content-Type: text/plain; charset=UTF-8 Excerpts from Michael Ekstrand's message of Wed Jan 30 17:32:20 +0100 2008: > Sylvain Le Gall writes: > > Using a simple wget/rsync (you can redevelop it in OCaml) is far > > more simple than to use a VCS. > > Hear, hear. > > I think that it's somewhat strange to incorporate the source for all > packages into one massive VCS, and it looks like that's what's been > proposed. > > Forgive me if I'm rehashing things that have already been brought up, > but I think that some kind of hybrid thing is good, and that Sylvain > has some excellent points. For the general case of package > management, you need 2 things, metadata and source, and those two > should probably not be managed together. The Ports-like systems all > seem to do this well - you have a tree of metadata (usually managed > via some VCS [FreeBSD uses Perforce and CVS], but easily distributed > via rsync to end users). Metadata references tarballs. I don't see a > whole lot of merit for hooking into upstream VCS for the general case, > as most users will probably want to use released tarballs of > everything except the few modules they're working on. That's what I have in mind, but I think that Berke had the whole tree of sources idea in mind. But what's happen when you want to improve on some external package. Generally ports like systems have a directory where they store patches against upstream. This kind of system is perhaps not the best one when you've made a non trivial change on the upstream package. However you can point the URL field of the control file to your locally hacked version of the upstream package. Example, instead of: $ cd dev-ml/libfoo # make the patch $ diff -u ... ... > files/libfoo-4.5_with_feature_bar.patch # create a new control file, for this new version $ cp libfoo-4.5.opkg libfoo-4.5_with_feature_bar.opkg # add the patch to the list of patches in the .opkg Rather do: $ cd dev-ml/libfoo $ cp libfoo-4.5.opkg libfoo-4.5_with_feature_bar.opkg # replace the URL field in libfoo-4.5_with_feature_bar.opk # by URL: http://myhost.net/darcs/repos/libfoo@with_feature -- Nicolas Pouillard aka Ertai --=-1201716201-745057-27517-4883-26-= Content-Disposition: attachment; filename="signature.asc" Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (Darwin) iD8DBQFHoLvpj+FCNw9dwLkRAmy5AJ9x8qhVQG1qK3k9HlStQ7HA2Ws4MQCfQHLg K6M11TSLYuboUBYrmI+ztx4= =4Wkm -----END PGP SIGNATURE----- --=-1201716201-745057-27517-4883-26-=--