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

Re: Upgrading libdbi-ocaml-dev in unstable brings in lots and lots of packages ...



On Mon, Aug 09, 2004 at 03:44:30PM +0100, Richard Jones wrote:
> On Mon, Aug 09, 2004 at 04:36:34PM +0200, Sven Luther wrote:
> > If you have libdbi-ocaml-dev installed, and no driver or only some
> > of them, will you still be able to use libdbi-ocaml-dev to develop
> > software ? to build mod-caml for example ?
> 
> In the particular instance of mod_caml, there is no actual dependency
> between mod_caml and ocamldbi any more.
> 
> mod_caml previously depended on a module called Dbi.Factory which was
> part of ocamldbi.  However, I removed Dbi.Factory from ocamldbi, and
> rewrite mod_caml to use a functor approach.  All mod_caml needs is a
> module which contains a 'type connection' and various functions like
> 'val connect : ... -> connection' and 'val rollback : connection ->
> unit'.  Modules that look like this happen to be supplied by ocamldbi,
> but there is no actual necessary dependency.
> 
> If you have libdbi-ocaml-dev installed, but didn't have any drivers
> installed, then the extent of your development work would be quite
> limited.  You could write programs which linked to dbi.cma, but they
> wouldn't do very much of interest.
> 
> As soon as you tried to use one of the drivers in libdbi-ocaml-dev,
> eg. if you tried to link your program with dbi_postgres.cmo, then
> you'd get an error.  You would need to install libpgsql-ocaml-dev to
> proceed with the linking.  This would be fairly obvious, because the
> way to link a PG program anyway is:
> 
>   ocamlc -I +pcre -I +postgres -I +dbi \
>     pcre.cma postgres.cma dbi.cma dbi_postgres.cmo program.ml
> 
> However, think of the alternative!  Which is that we have a
> libdbi-ocaml-dev with so many dependencies it needs half of X install
> to make it work!

Well, the correct way would be to either reduce the dependencies of
libmysql-ocaml[-dev] or even reduce the dependencies of the mysql stuff
itself, or split it in a nox package or something.

Friendly,

Sven Luther



Reply to: