From: Sylvain Le Gall <sylvain@le-gall.net>
To: caml-list@inria.fr
Subject: Re: [OSR] Ports-like package management system
Date: Wed, 30 Jan 2008 09:53:34 +0000 (UTC) [thread overview]
Message-ID: <slrnfq0i8u.nki.sylvain@gallu.homelinux.org> (raw)
In-Reply-To: <47A045C1.7030603@exalead.com>
On 30-01-2008, Berke Durak <berke.durak@exalead.com> wrote:
> Sylvain Le Gall a écrit :
>> Please don't go into this. If you want to talk about PM, don't talk
>> about VCS. My point is that if you want to build something that last you
>> should keep focus on PM, which is not really bound to VCS (like content
>> of files is not bound to filesystem). There is no best VCS for doing PM.
>> We just should handle a way to :
>> * let anyone use a different VCS
>> * be able to download at least a version of each different packages
>
> > The most simple way to handle this, to my mind:
> > * distribute METADATA for packaging into ftp/http
> > * put a link to the VCS inside METADATA, to tell where you can find most
> > recent one
>
> We want to guarantee to the user that if she has installed Ocaml and the
> Ocaml package system, she will be able to use any component packaged in
> the system without having to install extra software.
>
> The Ocaml pakcage system must therefore include as a prerequisite all
> the tools required for fetching data. Hence if we want to use a VCS as
> part of the system, we must agree on one.
>
> The VCS selected, if any, doesn't have to be the one the developers use,
> of course. (But there exist many VCS-to-VCS bridges, so it's not really
> a problem.)
>
> Speed and portability are however important.
>
Using a simple wget/rsync (you can redevelop it in OCaml) is far more simple
than to use a VCS.
VCS-to-VCS is a dream. If have tried to use many, most of the times they
are complicated to setup and don't work well.
And of course wget/rsync are the fastest way to get data.
> Now why would we want to use a VCS?
>
> * As a data storage and distribution mechanism
> * For efficient updates
> * For the ability to check out any revision
>
> These functions could be emulated by having a directory with a lot of
> tarball snapshots and using wget. This may work for passive use of the
> software but even for this limited use case, use of a VCS is much more
> useful - efficient updates, storage of all intermediate revisions,
> branches, and the possibility for the upstream author to directly work
> on that VCS.
Use rsync!
>
> But the aim of the Ocaml packaging system should be to foster
> cooperation among Ocaml developers. That is why having a recommended
> VCS and a standardized build system (or at least set of build commands)
> is important.
>
> Assume we agree on a distributed VCS system S. Most Ocaml software will
> be developed in its own S repository, hosted by the author. So we will
> have programs P1, P2... with respective repositories S1, S2...
>
Assume that Mister Z don't want to use VCS S. Mister Z create a lot of
great OCaml libraries... What do you do?
> When you develop a program P you will have use programs P_{i1}, P_{i2},
> ... and thus have checkouts of repositories S_{i1}, S_{i2}, and so on.
> If you find a bug in P_{i1} you can directly edit the checked out
> version, recompile everything automatically by launching ocaml in P's
> directory and thus debug P_{i1}. You can then locally commit your
> changes to P_{i1} and then easily push the patch or send the diff to the
> upstream author.
>
Send a patch to author of P_{i1}. This is the easiest way.
<hint>
diff -Nurd P_{i1} P_{i1}.new
</hint>
> If we don't use a VCS, this becomes much more difficult and error-prone.
>
> The increase in collaboration and productivity could be tremendous.
> This requires close integration of the build and repository system and
> agreement on a common VCS.
>
This also lead to be stuck with one VCS for the rest of our lives. It
also prevents people who don't like/don't have time to learn VCS S, to
contribute.
> Now being able to use the software of your choice, plurality and
> multiplicity of solutions are all good, but in this particular case this
> hinders collaboration.
>
> It's as if everyone was using a different language!
>
> My intent was not to provoke VCS flame wars. But I think agreeing on a
> VCS is important and a flame war or two is acceptable collateral damage
> in the process of selecting one.
>
Looking at all the mail of this thread, i mainly read people talking
about VCS R being faster than VCS S...
> Now of course I don't have a precise idea of what the Ocaml packaging
> system would be like, but I think the way to go is to :
>
> - Use a common distributed VCS system for storage and distribution of
> source code, with multiple repositories
>
Lets choose a very simple storage system. Not a VCS. This too heavy and
create too many complicated case.
> - A build system integrated with the package management system,
>
Yes, if you do not force every software developers to use it and still
provide a way to integrate their software into your package management
system.
> - A package management system able to manage arbitrarily many
> versions or copies of the same software component, and compile any
> program using an arbitrary selection of the required versions,
Regards,
Sylvain Le Gall
next prev parent reply other threads:[~2008-01-30 9:53 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
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 [this message]
2008-01-30 10:50 ` 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=slrnfq0i8u.nki.sylvain@gallu.homelinux.org \
--to=sylvain@le-gall.net \
--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