Re: [CentOS] Custom CentOS iso's

2008-07-17 Thread Tracy R Reed

Johnny Hughes wrote:
First, the reason we take them out ... svn does not do well with big 
files like tarballs in it's file system.


That makes sense.

The spec file calls out all the sources ... so you can look for them 
first in SVN (or CVS, Hg, etc.), then use something like wget to look 
for them.


first export the files in the sources directory from SVN ...


But since you keep the tarballs outside of the svn on a webserver 
somewhere you wouldn't normally expect the script to find the tarball, 
right? Unless you had already run this build once and downloaded it perhaps.


And when you are done you check in any of changes then delete the 
working directory where you had the sources checked out and tarball 
downloaded into? Or do you just leave it all alone? I guess anyone 
working on it would know not to check in the tarball.


--
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.
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Custom CentOS iso's

2008-07-17 Thread Johnny Hughes

Tracy R Reed wrote:

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?


First, the reason we take them out ... svn does not do well with big 
files like tarballs in it's file system.


The spec file calls out all the sources ... so you can look for them 
first in SVN (or CVS, Hg, etc.), then use something like wget to look 
for them.


first export the files in the sources directory from SVN ...

we use a package called rpmdevtools from fedora that has a script called 
spectool which can be called like this:


#==
for f in `spectool -n -S -P *.spec | awk '{FS=" ";print $2}' \
 | sed -e "s/.*\///g"`

 do
  # some source files are already here, so only download missing
  # (compressed) ones.
  if [ ! -e $rpmroot/SOURCES/$f ]; then

   wget --http-user=$wget_user --http-password=$wget_passwd \
   -P ../SOURCES http://$SERVER_NAME/sources/$f

  fi

 done
#=




For CentOS-5, building an ISO uses the anaconda runtime and the 
buildinstall command.  Here is documentation on the buildinstall command:


Thanks!






signature.asc
Description: OpenPGP digital signature
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Custom CentOS iso's

2008-07-17 Thread Tracy R Reed

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.
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


Re: [CentOS] Custom CentOS iso's

2008-07-17 Thread Johnny Hughes

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



signature.asc
Description: OpenPGP digital signature
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


[CentOS] Custom CentOS iso's

2008-07-17 Thread Tracy R Reed


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.
___
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos