From: "Bünzli Daniel" <daniel.buenzli@erratique.ch>
To: Berke Durak <berke.durak@exalead.com>
Cc: Caml-list List <caml-list@inria.fr>
Subject: Re: [Caml-list] [OSR] Ports-like package management system
Date: Tue, 29 Jan 2008 18:56:37 +0100 [thread overview]
Message-ID: <CFC55C55-A7F0-41FD-8D86-C1ED3321CF93@erratique.ch> (raw)
In-Reply-To: <479F0664.2070706@exalead.com>
Le 29 janv. 08 à 11:56, Berke Durak a écrit :
> We thus need versions, and lots of them! We need to base our
> developer packages on a version control system, in the style of BSD
> ports. BSD ports are usually based on CVS, sometimes on Subversion.
My experience with bsd-like port systems (at least darwinports) is
that _port description files_ are versioned. But the bits they compile
are tarball releases, they do not pull directly out of the projects'
vcs to install your local copy.
I would be all in favor of using somehting like darcs2 because it is
what I use. However I don't think it is a good idea to impose a vcs to
developers, they should be free to use their own. I don't understand
why you don't want to rely on tarballs, one per version, with a
facility to quickly create and upload them.
> As we are looking to increase collaboration, having a single point of
> contention is a serious limitations of these centralized systems;
> we'll prefer more recent "distributed" version control system.
You are right everyone should be able to publish its package on its
own server and mirrors (it also solves the problem of who is going to
pay for the infrastructure). But this has nothing to do with
distributed vcs.
> Assume you are writing a program FOO and want to use a package BAR
> available from bar.org. You tell ocamlbuild by adding some tag such
> as
>
> <mytarget.native>: require(http://bar.org/repository/)
This is good, FOO's dependencies are explicit. However I'm not sure a
direct uri is a good thing, you'll need something to be able to
specify alternate download sites. The package name + version
specification should be decoupled from the uri you use to access it.
Even if you do that nothing prevents you to implement this over plain
http. E.g. you have download locations uri1 uri2, and a package-name
and version-name then you try to download from uri1/package-name/
version-name and then if it fails uri2/... Of course in that case
you'll need digests.
> Of course it should be possible to specify a particular revision...
For me this is too fine grained -- and this is also the reason why you
want to integrate a vcs to your system. I would like to be able to
specify a version that the developer of the package deemed stable
enough to distribute, not a random revision. I strongly think that
tarball releases are enough, if there are simple and efficient tools
to produce them. Going down to the revision is overkill.
> I know there is Omake,
Having used ocamlbuild for caml projects, for me it is out of question
to return to something make-like.
Le 29 janv. 08 à 14:11, Yaron Minsky a écrit :
> It would also be nice to have a set of versions of the various
> libraries that hang together, as GODI does. Otherwise, problems in
> the case where there are packages A, B and C where A depends on B
> and C and B depends on C. You need a version of C that works with
> your versions of A and B, or you're sunk. So some central repo
> where you can maintain a set of "safe" versions would allow for a
> developer to ask for a easily pull a collection of working libraries.
These are the kind problem you get when you go distributed. For
emergencies you need at least an override mechanism (use this version
instead of that one to build all packages). The rest should be solved
by cooperation between developers. But nothing prevents someone to
construct a cathedral, godi-like, collection of packages well tested
to work toghether and that you will use as your only source. It is
easy to build a centralized system on a distributed one, but the
converse is not true.
At the risk of repeating myself I'll point again to my partial mod
proposal [1], some of the ideas there could be recast more thightly
with ocamlbuild as is propose above. This would certainly also
simplify the proposal (which was supposed to be a tool really
separated from ocamlbuild).
Best,
Daniel
[1] http://erratique.ch/writings/mod.pdf
next prev parent reply other threads:[~2008-01-29 17:56 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-29 10:56 Berke Durak
2008-01-29 11:12 ` [Caml-list] " David Teller
2008-01-29 13:11 ` Yaron Minsky
2008-01-29 14:04 ` Nicolas Pouillard
2008-01-29 17:35 ` Berke Durak
2008-01-29 18:02 ` Bünzli Daniel
2008-01-29 18:10 ` Paul Pelzl
2008-01-29 22:26 ` Paolo Donadeo
2008-01-30 1:55 ` Bünzli Daniel
2008-01-29 22:46 ` Paolo Donadeo
2008-01-29 13:47 ` Yaron Minsky
2008-01-29 14:04 ` Nicolas Pouillard
2008-01-29 16:00 ` Alain Frisch
2008-01-30 6:58 ` Yaron Minsky
2008-01-30 8:56 ` Nicolas Pouillard
2008-01-29 17:56 ` Bünzli Daniel [this message]
2008-01-29 18:17 ` Nicolas Pouillard
2008-01-29 19:13 ` Bünzli Daniel
2008-01-30 8:49 ` Nicolas Pouillard
2008-01-30 11:15 ` Bünzli Daniel
2008-01-30 11:52 ` Nicolas Pouillard
2008-01-29 18:47 ` Hezekiah M. Carty
2008-01-30 9:06 ` Sylvain Le Gall
2008-01-30 9:39 ` [Caml-list] " Berke Durak
2008-01-30 9:53 ` Sylvain Le Gall
2008-01-30 10:50 ` [Caml-list] " Nicolas Pouillard
2008-01-30 11:15 ` Bünzli Daniel
2008-01-30 11:54 ` Nicolas Pouillard
2008-01-30 13:58 ` Sylvain Le Gall
2008-01-30 14:08 ` [Caml-list] " Nicolas Pouillard
2008-01-30 11:15 ` Berke Durak
2008-01-30 11:47 ` Bünzli Daniel
2008-01-30 13:55 ` Sylvain Le Gall
2008-01-30 13:54 ` Sylvain Le Gall
2008-01-30 14:24 ` [Caml-list] " Berke Durak
2008-01-30 14:35 ` Sylvain Le Gall
2008-01-30 19:48 ` [Caml-list] " Bünzli Daniel
2008-01-30 18:12 ` Vlad Skvortsov
2008-01-30 16:32 ` Michael Ekstrand
2008-01-30 16:44 ` Sylvain Le Gall
2008-01-30 18:03 ` [Caml-list] " Nicolas Pouillard
2008-01-30 19:45 ` Olivier Andrieu
2008-01-30 19:53 ` Vlad Skvortsov
2008-01-30 10:45 ` Sylvain Le Gall
2008-01-30 9:51 ` [Caml-list] " Jon Harrop
2008-01-30 10:18 ` Sylvain Le Gall
2008-01-30 10:43 ` [Caml-list] " Jon Harrop
2008-01-30 12:00 ` Nicolas Pouillard
2008-01-30 13:25 ` Jon Harrop
2008-01-30 14:06 ` Nicolas Pouillard
2008-01-30 12:37 ` Pietro Abate
2008-01-30 13:26 ` Stefano Zacchiroli
2008-01-30 14:07 ` Gerd Stolpmann
2008-01-30 13:37 ` Stefano Zacchiroli
2008-01-30 15:12 ` Gerd Stolpmann
2008-01-31 9:02 ` Stefano Zacchiroli
2008-02-01 15:03 ` Gerd Stolpmann
2008-02-03 20:21 ` Stefano Zacchiroli
2008-02-04 3:40 ` Matthew Hannigan
2008-02-04 18:42 ` Nathaniel Gray
2008-01-30 17:42 ` David Allsopp
2008-01-30 14:13 ` Sylvain Le Gall
2008-01-30 20:22 ` [Caml-list] " Bünzli Daniel
2008-02-08 22:24 ` N. Owen Gunden
2008-01-30 15:15 ` Jon Harrop
2008-01-30 12:37 ` [Caml-list] " Berke Durak
2008-02-13 8:45 ` David Teller
2008-02-13 10:02 ` Sylvain Le Gall
2008-02-13 10:48 ` [Caml-list] " Berke Durak
2008-02-13 13:51 ` Sylvain Le Gall
2008-02-13 14:10 ` [Caml-list] " Richard Jones
2008-02-13 14:22 ` Sylvain Le Gall
2008-02-13 17:57 ` [Caml-list] " Richard Jones
2008-02-15 8:13 ` Maxence Guesdon
2008-02-15 9:47 ` Berke Durak
2008-02-15 10:24 ` Maxence Guesdon
2008-02-15 10:59 ` Stefano Zacchiroli
2008-02-15 15:45 ` Maxence Guesdon
2008-02-15 13:35 ` Ralph Douglass
2008-02-15 14:08 ` Christophe TROESTLER
2008-02-13 12:13 ` David Teller
2008-02-13 13:48 ` Sylvain Le Gall
2008-02-13 13:58 ` [Caml-list] " David Teller
2008-02-13 14:20 ` Sylvain Le Gall
2008-02-13 14:28 ` [Caml-list] " David Teller
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=CFC55C55-A7F0-41FD-8D86-C1ED3321CF93@erratique.ch \
--to=daniel.buenzli@erratique.ch \
--cc=berke.durak@exalead.com \
--cc=caml-list@inria.fr \
/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