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

Re: proposal: new ocaml dirs schema



On Sun, Oct 20, 2002 at 11:13:26PM +0200, Jérôme Marant wrote:
> jmarant@nerim.net (Jérôme Marant) writes:
> 
> 
> >   Well, keep in mind the problems Debian had with multiple Perl installed
> >   at a time and reasons why it changed. Python provides multiple versions
> >   but it also provides a dummy package pointing to the standard version of
> >   Python. I have a pretty good idea of problems that can arise since I
> >   followed such transitions.
> >
> >   What must be dealt with: all ocaml binaries must be in sync: you
> >   must ensure that you'll never have ocamlc 3.04 with ocamlrun 3.06
> >   for instance ; you must *not* use alternatives, it was the cause of
> >   many problems with Perl.  The best way is the Python way as
> >   explained Stefano with a dummy ocaml and ocaml-base pointing to
> >   the standard version of ocaml.
> 
>   Well, let me add an extra example:
> 
>   A depends on B, and B provides dll.so from 3.04.
>   Rebuilding B for 3.06 will break A since it will
>   no longer find dll.so.
>   So A have to depend on B-3.04.

Yes, ...

But not so much as you think.

 o if A is a library, then it lives in the 3.04 sphere, and it will
 break if B for 3.04 is no more provided. We can solve this if we
 provide B-3.04 like you said. That said, if the dependencies are done
 right, and we still need a scheme for that, then A for 3.04 will also
 have to be removed, and more importantly, B for 3.06 will not enter
 testing unless there is a B for 3.04.

 o if A is an (bytecode) executable, then it only needs the 3.04
 ocamlrun, and the dll.so. Same problem as above.

So, we need a propper dependency scheme. This can be solved either by
using virtual packages including dependencies like i do for ocaml-3.06,
or by fixing dpkg to support versioned virtual dependencies.

Mmm, maybe i should subscribe to the dpkg list or whatever, and see what
they have to say or so.

Anyway, notice that by providing versions of ocaml other than the last
one, this is work for me, and i am ready to do it, but then i will not
force it upon you to provide libraries for alternative versions of
ocaml.

That said, i think it would not be too difficult to set the rules, so
that the older packages will be built automatically. Other packages do
it. It would need two runs of the build scripts though.

Friendly,

Sven Luther



Reply to: