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

Re: Counter proposal for the multiple ocaml installed



On Tue, Oct 22, 2002 at 09:59:08AM +0200, Jérôme Marant wrote:
> En réponse à Sven Luther <luther@dpt-info.u-strasbg.fr>:
>   If you guaranty that we'll never have more than one stable
>   ocaml (for the reasons I explained in previous mails), then
>   I'm OK with everything in your proposal.
> 
>   If this change is made in order to allow the installation
>   of a CVS snapshot, it doesn't make any problem for me.

Well, there may be another use for it, not really to have two versions
of ocaml installed at the same time, but to ease the transition.

Let me explain :

before a new release, we have :

  o ocaml 3.06 (let's take the future next release).
    => provides ocaml-3.06 & ocaml-base-3.06

  o libraries built with/for it.
    => depends on ocaml-3.06 & ocaml-base-3.06

  o bytecode executables needing ocamlrun.
    => depends on ocaml-base-3.06 (and some libraries).

If i introduce a new ocaml version, ocaml 3.07, without necessarily
removing the old one, then the new ocaml 3.07 packages can flow into
testing without breaking the old packages. The same goes for the
libraries and bytecode executbales, which little by little will flow
into testing. This ease the transition from one release to the next,
without a brutal change as we have now, which results in having to wait
for a fixed postgreSQL for ocaml 3.06 to enter testing, and we are now
many month after the ocaml 3.06 release. The possibility to easily
provide a CVS snapshot (which is a good thing, like a mail from jacques
in the caml list this morning shows you) is just an added benefit. The
second added benefit, is that user having installed stuff into the ocaml
3.06 libdir will not have their setup broken by a ocaml 3.07 upload.
Sure, in the future, they should install to /usr/local/lib/ocaml/3.06,
but this is not yet practical with the current ocaml which knows only
about one path.

Then, when the transition is complete, we just phase out the older ocaml
version, or something such.

> >   - We move the libdir to /usr/lib/ocaml/<version_number>
> >   - If we package ocaml-cvs, the libdir will be
> >     /usr/lib/ocaml/cvs-<date> and the binaries will go into
> >     /usr/bin/<name>-cvs-<date>. We can even remove the date if needed.
> >     Naturally, no libraries will be built for the cvs version of
> > ocaml.
> 
>   Without the date would be better.

But this would mean only one available cvs snapshot. But it would be
cleaner and easier all right.

> > Would this, if you compare it point to point to your proposal, not
> > sound
> > more clean and logical ?
> 
>   Under the conditions I mentioned, yes.

And what about my counter proposal to your conditions ?

> > The only difficulty is moving libraries to the new ocamllib dir, and
> > this can be done by simply rebuilding the libraries with the new ocaml
> > package. Since i will bump the ocaml-3.06 virtual package, it will not
> > be possible for old libraries to install alongside this new package.
> 
>   Remember that Cameleon has not entered unstable yet.

What has that to do with it ?

> > Total change for libraries :
> > 
> >   o need to change dependencies by bumping it to 3.06.1
> 
> Huh?

So that the packages built for ocaml 3.06 with the old libdir will not
be installable alongside the new ocaml 3.06 with the new libdir.

Also consider, i could use the exact same scheme mentioned above for the
old libdir -> new libdir transition. I simply upload ocaml-3.06, and
ocaml providing ocaml-3.06.1, and you will never even notice.

> >   o need to rebuild the package.
> 
> Of course.

Ideally, a debian/rules for libraries where you could change the default
ocaml to use by one variable only will allow users to rebuild for their
use (with the cvs snapshot for example) without needing to much change.

> > Is this too much asking ?
> > 
> > That said, even if we don't have multiple versions of ocaml installed,
> > then we still gain by doing this, in making things easier for the
> > people hand installing stuff.
> 
> I agree.

:)))

Friendly,

Sven Luther



Reply to: