
On 20 December 2005 16:19, Ross Paterson wrote:
On Tue, Dec 20, 2005 at 03:50:02PM +0000, John Goerzen wrote:
On 2005-12-19, Malcolm Wallace
wrote: Ross Paterson
writes: But how about having a separate repository for each library package?
Seconded.
Simon, any thoughts?
Also, if the library packages are separate, the rest of the stuff in the libraries directory would be part of GHC's build system (nhc98 too at the moment, but it sounds like Malcolm will be changing that) so might as well be part of the ghc repository.
The time to mention this would have been a few weeks ago when I proposed the current scheme :-) I think it /would/ actually be nicer to split up the repository into separate packages. However, of the two ways to do this that John mentioned, only the second is practical IMO - that is, generate the repositories from CVS. So it's entirely up to John whether he wants to put the effort in or not. I don't think the current situation is bad - we had planned to split the packages into separate repositories eventually anyway, but we would lose the history at that point. Splitting them now means we keep the history, which is good. Cheers, Simon

"Simon Marlow"
But how about having a separate repository for each library package?
The time to mention this would have been a few weeks ago when I proposed the current scheme :-)
Err, I think I did...
I think it /would/ actually be nicer to split up the repository into separate packages. However, of the two ways to do this that John mentioned, only the second is practical IMO - that is, generate the repositories from CVS. So it's entirely up to John whether he wants to put the effort in or not.
Is there more to this job than just running either cvs2darcs or tailor, then waiting a few days (:-) for it to finish? Regards, Malcolm

On 2005-12-23, Malcolm Wallace
Is there more to this job than just running either cvs2darcs or tailor, then waiting a few days (:-) for it to finish?
There is quite some time involved in bootstrapping things, especially when branches are concerned. About 30-60 minutes without branches, or 2 hours with branches, per new (darcs) repo. As a fan of laziness, I prefer not to do this any more than absolutely necessary. ;-) There is also an incremental cost; for instance, when (if?) the libraries branch for GHC 6.6, there will have to be new branches of each individual component now. (Though once it is in darcs, this is a 15-second thing) -- John

John Goerzen wrote:
On 2005-12-23, Malcolm Wallace
wrote: Is there more to this job than just running either cvs2darcs or tailor, then waiting a few days (:-) for it to finish?
There is quite some time involved in bootstrapping things, especially when branches are concerned. About 30-60 minutes without branches, or 2 hours with branches, per new (darcs) repo.
As a fan of laziness, I prefer not to do this any more than absolutely necessary. ;-)
There is also an incremental cost; for instance, when (if?) the libraries branch for GHC 6.6, there will have to be new branches of each individual component now. (Though once it is in darcs, this is a 15-second thing)
I'm leaning towards doing this now. We might as well do it right now, since we won't get the chance again. (Malcolm - sorry for missing your suggestion the first time around, I did track it down in the first round of discussions.) John - I'm happy to help if you let me know what needs to be done. As far as making new branches for 6.6 goes, I'm assuming we'll deal with this. Having both repos is starting to hurt now, it's a fiddle to move patches from darcs to CVS to commit them. So I want to throw the switch ASAP; I'm pretty certain we've dealt with any blocking problems now. So once we've got the libraries re-tailored, and tested the nightly builds with the new setup, I think we could switch. Cheers, Simon

On 2006-01-10, Simon Marlow
Having both repos is starting to hurt now, it's a fiddle to move patches from darcs to CVS to commit them. So I want to throw the switch ASAP; I'm pretty certain we've dealt with any blocking problems now. So once we've got the libraries re-tailored, and tested the nightly builds with the new setup, I think we could switch.
I've talked to Simon about this, and here's what we've agreed I will do: * I will re-convert all of the top-level directories in the current libraries darcs repo, except for: doc, mk, and Cabal * Each new repo will be under darcs.haskell.org/packages * I will convert HEAD only and not the ghc-6.4 branch. Simon plans to continue using CVS for ghc-6.4 anyway. * Simon will integrate the few remaining top-level files into the GHC repo. * Someone (maybe me) will write some scripts to automate checking out and updating all these repos at once. I hope to get this all done within the next few days, maybe even today. -- John

On 2006-01-11, John Goerzen
I've talked to Simon about this, and here's what we've agreed I will do:
* I will re-convert all of the top-level directories in the current libraries darcs repo, except for: doc, mk, and Cabal * Each new repo will be under darcs.haskell.org/packages * I will convert HEAD only and not the ghc-6.4 branch. Simon plans to continue using CVS for ghc-6.4 anyway.
These steps are now done. See all the new repos under http://darcs.haskell.org/packages. libraries and libraries.ghc-6.4 are now gone. -- John

John Goerzen wrote:
On 2006-01-11, John Goerzen
wrote: I've talked to Simon about this, and here's what we've agreed I will do:
* I will re-convert all of the top-level directories in the current libraries darcs repo, except for: doc, mk, and Cabal * Each new repo will be under darcs.haskell.org/packages * I will convert HEAD only and not the ghc-6.4 branch. Simon plans to continue using CVS for ghc-6.4 anyway.
These steps are now done.
See all the new repos under http://darcs.haskell.org/packages.
libraries and libraries.ghc-6.4 are now gone.
And GHC is now usable from the new darcs setup. I've updated the instructions on the wiki: http://cvs.haskell.org/trac/ghc/wiki/GhcDarcs All of the packages are sync'd from CVS except for Cabal - it seemed more sensible to use the existing Cabal repo directly. However I've taken a branch of that Cabal repo to add the fptools Makefiles for now; the branch is in http://darcs.haskell.org/packages/Cabal. I added a script darcs-all at the top-level of the ghc tree which automates invoking darcs on the various sub-repos. To get a whole tree, do this: $ darcs get --partial http://darcs.haskell.org/ghc $ cd ghc $ chmod +x ./darcs-all $ ./darcs-all get and to pull new changes: $ ./darcs-all pull Please test, as we'd like to switch over as soon as possible. Cheers, Simon

On Fri, Jan 13, 2006 at 04:43:47PM +0000, Simon Marlow wrote:
All of the packages are sync'd from CVS except for Cabal - it seemed more sensible to use the existing Cabal repo directly. However I've taken a branch of that Cabal repo to add the fptools Makefiles for now; the branch is in http://darcs.haskell.org/packages/Cabal.
Is the plan that they eventually be merged (preferably as http://darcs.haskell.org/packages/Cabal)?

Ross Paterson wrote:
On Fri, Jan 13, 2006 at 04:43:47PM +0000, Simon Marlow wrote:
All of the packages are sync'd from CVS except for Cabal - it seemed more sensible to use the existing Cabal repo directly. However I've taken a branch of that Cabal repo to add the fptools Makefiles for now; the branch is in http://darcs.haskell.org/packages/Cabal.
Is the plan that they eventually be merged (preferably as http://darcs.haskell.org/packages/Cabal)?
Yes, either Isaac or I will do this shortly. Cheers, Simon

On 1/13/06, Simon Marlow
John Goerzen wrote:
On 2006-01-11, John Goerzen
wrote: I've talked to Simon about this, and here's what we've agreed I will do:
* I will re-convert all of the top-level directories in the current libraries darcs repo, except for: doc, mk, and Cabal * Each new repo will be under darcs.haskell.org/packages * I will convert HEAD only and not the ghc-6.4 branch. Simon plans to continue using CVS for ghc-6.4 anyway.
These steps are now done.
See all the new repos under http://darcs.haskell.org/packages.
libraries and libraries.ghc-6.4 are now gone.
And GHC is now usable from the new darcs setup. I've updated the instructions on the wiki:
http://cvs.haskell.org/trac/ghc/wiki/GhcDarcs
All of the packages are sync'd from CVS except for Cabal - it seemed more sensible to use the existing Cabal repo directly. However I've taken a branch of that Cabal repo to add the fptools Makefiles for now; the branch is in http://darcs.haskell.org/packages/Cabal.
I added a script darcs-all at the top-level of the ghc tree which automates invoking darcs on the various sub-repos. To get a whole tree, do this:
$ darcs get --partial http://darcs.haskell.org/ghc $ cd ghc $ chmod +x ./darcs-all $ ./darcs-all get
and to pull new changes:
$ ./darcs-all pull
Please test, as we'd like to switch over as soon as possible.
Cheers, Simon
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
After I completed the above procedure to get the source, and then $autoreconf $./configure $make the build always stuck at: ==fptools== make all -wr; in /login/haskell/public/ghc/ghc/compiler ------------------------------------------------------------------------ /bin/sh: line 0: test: 2.20051206: integer expression expected /bin/sh: line 0: test: 2.20051206: integer expression expected /bin/sh: line 0: test: 2.20051206: integer expression expected Any ideas? I am using Debian (testing). - Quan

On Sat, Jan 14, 2006 at 11:42:11AM -0600, T.C. Andrew wrote:
After I completed the above procedure to get the source, and then $autoreconf $./configure $make
the build always stuck at: ==fptools== make all -wr; in /login/haskell/public/ghc/ghc/compiler ------------------------------------------------------------------------ /bin/sh: line 0: test: 2.20051206: integer expression expected /bin/sh: line 0: test: 2.20051206: integer expression expected /bin/sh: line 0: test: 2.20051206: integer expression expected
Any ideas? I am using Debian (testing).
"stuck" as in make uses lots of CPU with no visible progress? If so, it sounds like http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=346248 Thanks Ian

On 1/14/06, Ian Lynagh
On Sat, Jan 14, 2006 at 11:42:11AM -0600, T.C. Andrew wrote:
After I completed the above procedure to get the source, and then $autoreconf $./configure $make
the build always stuck at: ==fptools== make all -wr; in /login/haskell/public/ghc/ghc/compiler ------------------------------------------------------------------------ /bin/sh: line 0: test: 2.20051206: integer expression expected /bin/sh: line 0: test: 2.20051206: integer expression expected /bin/sh: line 0: test: 2.20051206: integer expression expected
Any ideas? I am using Debian (testing).
"stuck" as in make uses lots of CPU with no visible progress?
If so, it sounds like http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=346248
Thanks Ian
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Yes, at that point make is comsuming 99% CPU, but it doesn't seem to be doing anything. So this is a problem with Make on Debian-Test (?). The "> /bin/sh: line 0: test: 2.20051206: integer expression expected" appears to comes from this line in the make file: bootstrapped = $(shell if (test $(GhcCanonVersion) -eq $(ProjectVersionInt) -a $(GhcPatchLevel) -eq $(ProjectPatchLevel)); then echo YES; else echo NO; fi) Should it be changed to: bootstrapped = $(shell if (test $(GhcCanonVersion) -eq $(ProjectVersionInt) -a "$(GhcPatchLevel)" == "$(ProjectPatchLevel)"); then echo YES; else echo NO; fi) quoting and comparing GhcPatchLevel as string. - Quan

John Goerzen wrote:
* I will re-convert all of the top-level directories in the current libraries darcs repo, except for: doc, mk, and Cabal * Each new repo will be under darcs.haskell.org/packages
Inspired by the new browsable interface to the libraries repo at http://darcs.haskell.org/darcsweb/ I have installed a similar darcsweb interface for the software currently distributed through darcs at York: http://www.cs.york.ac.uk/fp/darcs/ including cpphs, hoogle, yhc, Blobs and so on. Meanwhile, I noted that the HaXml repo on darcs.haskell.org seems to be a verbatim copy of the darcs repo at York. This this right? I was slightly disappointed, since I think I made a bit of a mess of the CVS -> darcs conversion of HaXml, and was secretly hoping that when the fptools conversion happened, it would make a cleaner job of it, based on the full CVS history... Just wondering? Regards, Malcolm

On 2006-01-17, Malcolm Wallace
Meanwhile, I noted that the HaXml repo on darcs.haskell.org seems to be a verbatim copy of the darcs repo at York. This this right? I was slightly disappointed, since I think I made a bit of a mess of the CVS -> darcs conversion of HaXml, and was secretly hoping that when the fptools conversion happened, it would make a cleaner job of it, based on the full CVS history... Just wondering?
Ahh. You are correct. I noticed that you had a HaXml repository, and believed that the copy in fptools was actually a converted-to-CVS version of that. In any case, I thought it would be unwise to have a darcs repo without common history with the upstream darcs repo, so indeed HaXml is just the fruit of "darcs get" from yours. Re-converting now, since you've presumably committed patches to the darcs side, is probably not going to be practical. -- John

John Goerzen
Meanwhile, I noted that the HaXml repo on darcs.haskell.org seems to be a verbatim copy of the darcs repo at York.
Ahh. You are correct.
Re-converting now, since you've presumably committed patches to the darcs side, is probably not going to be practical.
Actually, the way I have been working is to commit changes to CVS first, then to (forget to) propagate them into darcs. AFAIK, the two repositories are in synch right now, but if there is ever any discrepancy, I always treat the CVS one as correct. Thus, now would be an excellent time to re-convert, and I would then throw away my own darcs repo and switch to treating the darcs.haskell.org repo as the master. I can't remember where the rest of the ghc conversion process has reached - is it also about ready to switch over to darcs-as-master yet? Regards, Malcolm

Malcolm Wallace wrote:
I can't remember where the rest of the ghc conversion process has reached - is it also about ready to switch over to darcs-as-master yet?
I was going to send a mail out about this, yes. We're ready to switch now, I believe. Is this going to cause difficulties for anyone? John - we need to turn on commit mails from darcs when the switchover happens, did you have a plan for doing this? Cheers, Simon

Nobody shouted, so I propose we throw the final switch now. If you have uncommitted patches in CVS, just move them over to a darcs tree and continue from there. Just to be clear, this is what's happening: - the darcs repositories listed at http://hackage.haskell.org/trac/ghc/wiki/GhcDarcs will be the main repositories for the GHC HEAD - changes from CVS will no longer be propagated to darcs (John, can you run that script one final time and then turn it off? Let's set the cutoff time for 1700 GMT today, if that's possible). - The 6.4 branch will remain in CVS, I'll be merging patches by hand until this branch comes to the end of its life after the 6.4.2 release. - commit mails for ghc, testsuite, and nofib are being sent to cvs-ghc@haskell.org. commit mails for all the packages are being sent to cvs-libraries@haskell.org. (at some point I'll rename these lists, or at least set up aliases). Please join me in thanking John Goerzen for all his hard work in setting up these repositories. Cheers, Simon
participants (7)
-
Ian Lynagh
-
John Goerzen
-
Malcolm Wallace
-
Ross Paterson
-
Simon Marlow
-
Simon Marlow
-
T.C. Andrew