From: Michal M. <mal...@pl...> - 2003-06-13 21:22:29
|
On Thu, Jun 12, 2003 at 02:54:45PM +0900, Nicolas Cannasse wrote: > > I tried to do that once and users hated it :-) > > They wanted a plain old tarball. Still, software like Internet > > Explorer and Redhat Linux use this idea, but I suspect > > it would be more useful if it could update multiple packages, > > not just Extlib. > [...] > > You can make an executable which is put in, say > [...] > > extlib --help --version --test > > This is directly putting us back into the COAN thread. > Multiple packages, dependencies, patches, install , compile , link , update. > A lot of things to do , in a portable way. > > Right now some people from the Caml team and around have been talking about > such a tool. I might start implementing such a thing quite soon, based on > the statement they made and on several long talks I already have about it > with Jacques Garrigue. I'll keep informed people on this list of further > advances. When designing such tool, take into account that lots of ocaml users out there is using rpms and debs with ocaml related stuff. Installing packages from sources, and managing it using specialized tools is often not an option. So please separate software installation from querying compiler options for given package and the like. For example create few conceptually simple tools, one can be pkgconfig look-alike, other rpm (package manager that can handle package installation and removal) with limited functionality, and yet another apt-get (tool to automagically fetch deps for given package) with recompilation support. As a side-note: I really regret pkgconfig didn't come out earlier, since it allows to get rid of all (or almost all) autoconfig stuff, but only if your required packages support it. Anyhow: [malekith@roke ~]$ ls /usr/lib/pkgconfig|wc -l 79 [malekith@roke ~]$ It got quite popular, not only for gnome-related stuff. I believe one of sources of its success was conceptual simplicity. All you need to support pkgconfig, is to put simple foo.pc file in /usr/lib/pkgconfig. Example: #v+ prefix=/usr exec_prefix=/usr libdir=/usr/lib includedir=/usr/include/alsa Name: alsa Description: Advanced Linux Sound Architecture (ALSA) - Library Version: 0.9.3 Requires: Libs: -L${libdir} -lasound -lm -ldl -lpthread Cflags: -I${includedir} #v- Of course for ocaml we would need somewhat different lines, but you get the idea. And yes, there is findlib already. But it's far too complex for my taste -- it tries to handle too much. -- : Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv : PLD Linux ::::::::: Wroclaw University, CS Dept : {E-,w}-- {b++,e}>+++ h |