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.
Tracy R Reed wrote:> > 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. >We install the SRPMS and move all the tar files out of SVN and into a directory, keeping all the patches and text files in SVN. We put the tarballs in a webdav directory (in a subdirectory under SRPM name)> Does all of this sound feasible? >yes> Does CentOS already have tools for automating a complete iso build from > an SRPM repository?No ... we maintain a package tree, and build the ISO from that. For CentOS-5, building an ISO uses the anaconda runtime and the buildinstall command. Here is documentation on the buildinstall command: https://fedoraproject.org/wiki/Anaconda/BuildInstall -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 251 bytes Desc: OpenPGP digital signature URL: <http://lists.centos.org/pipermail/centos/attachments/20080717/e7956535/attachment-0001.sig>
Johnny Hughes wrote:> We install the SRPMS and move all the tar files out of SVN and into a > directory, keeping all the patches and text files in SVN. We put the > tarballs in a webdav directory (in a subdirectory under SRPM name)How do you know which tarballs go with which SRPMS and then how do you put them back into place so you can build the RPM?> For CentOS-5, building an ISO uses the anaconda runtime and the > buildinstall command. Here is documentation on the buildinstall command: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.