On Mon, Oct 21, 2002 at 09:10:04AM +0200, Stefano Zacchiroli wrote: > On Sat, Oct 19, 2002 at 01:11:03PM +0200, Sven Luther wrote: > > > For example we can have a 'current debian ocaml version' of 3.06 and > > > currently installed also ocaml-3.04 and ocaml-3.07, having 'ocaml' > > > package provided by ocaml-3.06 and /usr/bin/ocaml -> > > > /usr/bin/ocaml-3.06. > > > > Mmm, i was thinking about the following : > > latest debian version -> /usr/bin/ocaml > > older debian version -> /usr/bin/ocaml-<older_version> > > cvs build -> /usr/bin/ocaml-cvs-<date> > > > > Or something such. > > Uhm ... IMO is better a schema based on symlink (which is the python > one): > > - each ocaml version: > /usr/bin/ocaml-<version> > > - an ocaml package which depends on the current debian ocaml version and > provides a symlink > /usr/bin/ocaml -> ocaml-<debian_ocaml_version> > > With this schema you have not to reupload the old ocaml version each > time a new version will be available. > You just have to package the new version and reupload the ocaml package > with the right dependency and the right symlink.
Yes, it has its merits, it is more work for me though. The advantage of my idea, was simply that people only interrested in the latest ocaml packages would not have any cruft one their system, the only difference with the current situation would have been the move of the ocamllib directory, and this would have been transparent to the user thanks to the -where option to ocamlc. And remember, we have to reupload anyway, because we have to change the name of the packages. Also, This only concerns packages which have binaries, like ocaml, but not most libraries, which only need to install into ocamlc -where. Another point in favor of your option is about the bytecode executables. If we upload a 3.04 package today, then we have to rebuild all packages which are using the virtual machine to be changed from using /usr/bin/ocamlrun to /usr/bin/ocamlrun-3.04. That said, if we use the symlink, we have also to make sure that ocamlc will add the original file and not the symlink to the bytecode executables. I believe this is done by copying a file generated at built time, so it should not be a problem. > > The constraint on our users is to do some creative makefile use (i can > > provide a sample makefile part to include), but i guess simply having > > something of the kind : > > > > OCAML_VERSION=3.06 > > > > OCAMLC=/usr/bin/ocamlc-$(OCAML_VERSION) > > With the symlink based approach, this is useless. Erm, and if you want to use the older or the cvs version, then you have to change the symlink each time. Remember, this was for the _old_ packages (i should have used 3.04 as example). > > I thought, once we have discussed it a bit, we may well ask for comment > > on the official ocaml mailing list also. > > Agreed! Ok ... There is really no urgency to this though. BTW, postgresql is buggy, and will not enter testing, so we will also not. Friendly, Sven Luther

