[CentOS-devel] progress?

Thu Feb 24 18:37:51 UTC 2011
Lamar Owen <lowen at pari.edu>

On Thursday, February 24, 2011 11:49:41 am Les Mikesell wrote:
> So you want me to build gcc starting from nothing but SRPMs? I think the 
> premise is wrong here.

But that is exactly what has to be done, here.  Not only does gcc have to be rebuilt from source RPM, it has to be built with the same build dependencies and binary linkages as upstream, without patching the source RPM.  Multiply the effort by the number of packages in EL6, including glibc, kernel, etc.  ALL of the packages require a from-source rebuild, and different ones apparently require some finagling of the contents of the buildroot or of the repos from which the buildroot is populated.  This is hard, sequential, work.  Once the full dep tree is built, then it can be analyzed to see how it can be paralleled; and so C6.x where x>0 won't be quite as big of a task.  Getting the sequence correct *is* the hard part, and a fully rebuilt system happens to be the side-effect of getting the sequence correct.

And I'll be honest about it; it's just been in the last two weeks that I really started grasping the full magnitude of what bootstrapping from SRPM-only (with a bare minimum buildroot to start with) would be like.  Oh, believe you me, I *thought* I understood.  

And maybe I still don't fully grasp it; but, if nothing else, the last couple of weeks of threads on this list have given me the motivation and maybe even the tools and a start at the skillset to bootstrap my own EL6 rebuild on SPARC; to the point that I just finished grabbing a little over 160GB of various versions of Aurora, Fedora/SPARC, and the two betas of CentOS SPARC (4.2 and a 5.x) lying around to seed things.  We'll see how it goes, but I don't expect it to go fast.  Even on the E6500 here, with 16 CPU's and 18GB of RAM, I expect the builds themselves to take a long time.....

And I'm going to do the grunt work of it for my own educational benefit; if that produces a useful rebuild, that will allow me to put our cache of SPARC boxen to good use, that will be a nice side-effect; essentially, I want to do it so that I can, well, say that I've done it.  And unless I miss my guess, everything I need to do it is now out there; it's my turn to figure out how the pieces go together.

> If I've gotten that wrong, that still doesn't change my belief that 
> either someone, somewhere is smart enough to come up with an automated 
> approach or that a lot of people using a trial-and-error approach on a 
> larger number of machines could do it faster.  

The more automated approach is out there, and it's called koji, but the hard work of figuring out what binary packages from which repo are required in the buildroot is still not automatic, as can be seen on Troy's SL pages.  The SL folk have been working on the buildsystem since June (IIRC).

Honestly, I don't know enough about the behind-the-scenes SL work to be able to speculate on how close to binary-compatible SL is or will be, so I'll not comment on that.