
On Thu, May 08, 2003 at 08:36:01AM +0200, Michael Weber wrote:
* "Brent A. Fulgham"
[2003-05-07T22:54-0700]: On Wednesday 07 May 2003 10:00 am, Ian Lynagh wrote:
Then, when a new library is installed it would be rebuilt for any implementations installed and registered, and when GHC is upgraded it would rebuild all the libraries installed and registered. This nicely solves the problem of changing binary formats. The only subtlety I can see is making sure things get built in the right order when installing multiple packages at once.
This sounds a lot like the Common Lisp compiler system.
This sounds a lot like what I proposed aeons ago on one of the ghc mailing lists - I think. It's long ago and I don't have a reference handy now, sorry. It got shot down for some technical reasons, or complexity or so, IIRC. SimonM might remember.
It is slightly more complex than other approaches, but I think it is significantly nicer from the sysadmin and user's point of view.
BTW: Brent, Ian - maybe something along the lines of what Debian does with kernel module packages?
For the the benefit of those not in the know, this would mean installing a library package would put the source in /source/path/mylibrary. The sysadmin would then have to come along and do "make-library ghc mylibrary" which would create mylibrary.deb which he would then install. When he upgraded GHC he would have to repeat the process (as any library debs would have to depend on the exact version of GHC for binary compatibility reasons) (although probably a single command to build all the debs) and similarly when he installed nhc98. This makes a lot more work for the sysadmin. I much prefer what I suggested before. Oh, one thing that would be nice is to have conflicts on implementation versions, so you can say "Conflicts: ghc < 5.04, hugs". Thanks Ian