[CentOS] Custom CentOS iso's

Thu Jul 17 10:09:34 UTC 2008
Tracy R Reed <treed at ultraviolet.org>

I have a consulting client who has a Linux based storage appliance which 
is based on Fedora Core 2. I'll pause here while you laugh...

They need to upgrade to something more easily supported and CentOS is 
the chosen distro. They have the source RPM's for their old system 
stored in CVS and have a very weird/complicated build system to turn it 
all into an iso which I am still figuring out. They version control 
their source rpm's but don't really use CVS version numbers to number 
their distros. Instead they build an iso and name/number that and then 
have to keep the iso around forever.

I want to go through their CVS, pick out the stuff we want to port to 
CentOS and trash the rest. And keep it all version controlled at the 
same time. The current thinking is that we want to get off of CVS and 
move to Mercurial.

Given the above and that we want to customize our CentOS build what is 
the best way to do that? I am thinking we would like to work with the 
source rpm's. Putting binaries under version control which can just be 
built from the source seems silly. If we put the source rpm's and any 
associated build scripts in version control then given any particular 
repository version number we should be able to reproduce any installable 
ISO we created in the past.

I am imagining that we will have a huge source tree of exploded SRPMS 
and we will go through the old CVS and evaluate all of the 
customizations they made and whichever are worthy can be hacked into the 
SRPMS, RPM's get built out of these, and an ISO gets built out of the 
RPM's.

Does all of this sound feasible?

Does CentOS already have tools for automating a complete iso build from 
an SRPM repository?

Thanks!

-- 
Tracy R Reed                  Read my blog at http://ultraviolet.org
Key fingerprint = D4A8 4860 535C ABF8 BA97  25A6 F4F2 1829 9615 02AD
Non-GPG signed mail gets read only if I can find it among the spam.