[CentOS] Door not hitting me on my way out

Mon Apr 4 17:03:45 UTC 2011
Marko Vojinovic <vvmarko at gmail.com>

On Monday 04 April 2011 12:25:06 Mister IT Guru wrote:
> The one thing I would love to be able to contribute my time to is
> helping test new code, and get it out the door so guys on the street can
> test it out.

Before you get flamed-off by people who are already extremely pissed by previous 
infinity of discussions on this topic, let me try to summarize the answers to 
your questions, collected from all previous flames that were going on for the 
past three months. ;-)

Hopefully, my answer could prevent yet another flame starting up... :-)

Also, I am not a developer of CentOS (or of anything else) myself, but just an 
ordinary user. So I am just going to rehash and summarize what I have read 
from more knowledgeable people on this list.
 
> Maybe it's my curiosity, but my brain tells me that Fedora is the
> forerunner for RHEL. And the Fedora code is out there. CentOS is built
> from the RHEL code, with all RHEL specific items removed. Ergo - If I
> replicate the build environment on some of my machines,

Herein lies the main problem: *there* *is* *no* *build* *environment* yet. In 
other words --- the Fedora environment is far too 
big/generic/unsuitable/whatever (am I right here?), and RedHat is not 
interested in giving details about their build environment.

So the main problem that CentOS team has to solve with each major release is 
to construct a build environment that will produce binaries that are bit-by-
bit equivalent to official RHEL (up to trademarks, branding and some other 
stuff).

From my naive understanding, this boils down to the proper order in which 
packages are supposed to be built. There is more than one possible ordering, 
and only one will give binary equivalent set of packages.

I am probably oversimplifying things, but it roughly goes as follows:

1) start from some build environment
2) compile the whole distro
3) compare the result bit-by-bit with RHEL binaries
4) if it matches you're done; if it doesn't match, modify the build 
environment and go back to 1).

AFAIU, the CentOS devs are currently in the above loop. Once they are done, 
testing will begin and CentOS 6 will probably be released shortly thereafter.

However, nobody knows how much time is it going to take to finish the loop. Not 
even the devs can estimate that, so better don't ask them! ;-)

I hope that this clears up some things.

> (KVM and XEN
> both running riot all over my systems, but not doing anything useful for
> me! :( ), then surley I should be able to get some postive results, and
> be able to contrib that back to the guys upstream.
> 
> That's what my brain tells me. I don't mind running build environments,
> or test environments or whatever - I guess what I'm saying is GIMME SOME
> OF YOUR WORKLOAD!!

As should be obvious from above, the problem is not in the workload. It's 
about reverse-engineering the build environment. More computing power (or 
manpower for that matter) will not help in a significant way.

In general it could help, but the devs need to invest some serious time to 
train you to do that job, and they don't have the time for that now. It's a 
good idea to report back with the "gimme some of your workload" statement a 
couple of months *after* the CentOS 6 is finally out, ie. when the devs do have 
some free time on their hands to teach you what and how to do. Then you'll be 
able to help with CentOS 7, for example.

The problem is that after the major release is out, users lose enthusiasm to 
provide help, and basically nobody wants to invest time to learn and train to 
build the distro. AFAIK, this is the experience from the time of building of 
CentOS 5. If I remember what Johnny said about this, out of a whole bunch of 
people who offered help during the C5 build, *only* *one* was interested to 
offer his help *after* the build. So people are not consistent in this.

My suggestion to you is to wait for C6 to be finished, and *then* offer your 
help and time to devs. I bet that they'll get you up to speed with everything 
you need to know, if you have proper skills to do the job. ;-) Then you could 
help for the build of CentOS 6.1 when it becomes relevant, or CentOS 7 later 
on.
 
> Or at least make it easy for other bored sysads to help you out. All
> this spare processing power and capable guys and girls eager to support
> our distro of choice to get the best bleeding edge stable code. It's
> almost like following a football team! How DARE debian get ahead of us!
> Gentoo!? Who the bleeding hell do you think you are!? Don't you know
> CENTOS is in the HOUSE!?
> 
> *calms down*
> Excuse my excitement. I could edit this email before I hit send, but
> then you guys wouldn't really know how I feel towards CentOS. How can
> the average guy get involved with testing, can we build the same
> environments as you guys? Do you have a standard way of operating that
> maybe some of us could learn, and contribute? Is it out there already
> out there and documented? How can we get our hands dirty?

See above. Also, you can get your hands dirty in other ways (testing, 
maintaining the website, mailing lists, etc.). Ask on the devel list for TODO 
jobs that you can help out with.

But don't ask to help with building C6, you're probably too late to offer help 
there. Instead offer your help in building C7, but early enough so that people 
can teach you what to do and how to do it.

As a final comment, note that RHEL has put out versions 5.6 and 6 basically 
simultaneously, so the CentOS devs decided to first build 5.6, and then to go 
to 6. The logic behind this is that people on 5.5 do need the update to 5.6 as 
soon as reasonably possible, while noone needs 6 so promptly, so it can wait. 
That is also one of the reasons why C6 is lagging behind RHEL6 for such a long 
time (not that there is any sane definition of "long" in this case...).

I sincerely hope that this will answer your questions and prevent yet another 
escalation of flame on this list... :-)

HTH, :-)
Marko