[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Versioning OCaml in Debian [Was: Re: Buglet in ocaml-ldconf]



On Mon, May 27, 2002 at 11:48:11AM +0200, Stefano Zacchiroli wrote:
> On Mon, May 27, 2002 at 12:28:46AM +0200, Denis Barbier wrote:
> > Caml ML, and believe that you all forgot one point: some users may want
> > to handle OCaml files without knowledge of OCaml and OCaml tools.  This
> 
> Could you state more precisely what you mean with "handle OCaml files"?
> IMO, these are the cases:
> - use an ocaml program that requires the installation of a third part

Biiiip.  Here is the bug (and it's my fault), I was not refering to
'using' an ocaml program, but installing it.  Consider an admin who
is told to install by hand a program Foo which depends upon program Bar
and library Baz.  How will he go through documentation and find if and
how he can install this OCaml program?

I encountered similar situations in an industrial environment, with Perl
or TeX, admins have to install programs without knowledge of subjacent
language, and do not want to learn basics.
So I was wondering if some simple ideas could prevent those guys from being
reluctant to deal with OCaml programs.

[...]
> > IMO Perl versioning system is helpful because if an admin wants to know
> > if Perl module Foo is installed, he runs
> >     $ locate Foo
> >     /usr/local/lib/perl/5.6.0/Foo.pm
> 
> So, the requirements you are talking about include an easy way to know
> the version of an installed ocaml module, right?

No, I was talking about OCaml version this module has been compiled with,
but knowing the version of an installed module is also a user-friendly
feature, and this version number should appear in module documentation when
it exists.

> This is a good point but IMHO versioning ocaml is a too big effort to
> achieve this result.

Why?  One only has to install non-Debianized programs into
/usr/local/lib/ocaml/3.04/ instead of /usr/local/lib/ocaml/, that's
all.  He then knows that library or program has been compiled with
OCaml 3.04, without any knowledge of OCaml tools.

Debianized programs can certainly live without versioning, dependencies are
already contained in the control file.

> Anyway we have to think about a solution to this problem, the current
> best solution we have is "ocamlfind list", but:
> - we have to mention it somewhere
> - we can evaluate the idea to 'force' ocaml debian packages (via debian
>   ocaml policy) to support findlib including a META file that we can
>   write and send to upstream authors where it isn't available.

Where could I find documentation for these META files?

>   IMO this is a really good idea and I like comments on this.
> 
> Even if we will choose a versioned solution, the locate way doesn't work
> with ocaml, because a library may ship a lot of .cmo .cma files and not
> a single .pm file as the majority of perl modules do. So you can't infer
> that an OCaml library is installed only because one of the .cmo
> installed match with the name of the library.

Sure, but an admin will use it anyway because he is not aware of these
intrinsics.

> > But again, admin might not be an OCaml user.  He must be told precisely
> > what to do when upgrading OCaml core or installing a package.  
> 
> Only if they are installing a non debianized ocaml library package and
> again, if we mention /usr/lib/ocaml in ocamlfind.conf and ld.conf by
> default they have to change no configuration files!

But when he later installs ocaml 3.05, he will be unable to know which
(non debianized) ocaml libraries have been compiled with ocaml 3.04 and 3.05.

Denis


-- 
To UNSUBSCRIBE, email to debian-ocaml-maint-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: