Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[OSR] Ports-like package management system
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-01-30 (11:53)
From: Nicolas Pouillard <nicolas.pouillard@g...>
Subject: Re: [Caml-list] [OSR] Ports-like package management system
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

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