|
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
|