Hi, On Mon, 9 Jul 2007, Peter Czanik wrote:
> I made a (very) ugly hack to get it to cross compile and reduce compile > times significantly, but that's really not the way it should be solved. FWIW our internal build script (which uses internal stuff, so I'm not sure it's of any help to you) does it like this: 1) Inside the changeroot, build an distinct identifier for the toolchain in use. We can use the MD5 sum over the changelogs of the gcc package, binutils and glibc for that: changes_md5sum=`LC_ALL=C chroot $BUILD_ROOT rpm -q --changelog $gcc_package_name binutils glibc | sed -e '/\*/d' -e '/^$/d' | md5sum | cut -d' ' -f1` 2) We have a directory containing all unpacked cross-icecream-*-backend rpms, named per the above md5 sum in subdirs per architecture: % ls -l /mounts/work2/CDs/icecream/envs/f2bf24c90aeb3ecddf955d977b3de95f/s390 total 31178 -rw-r--r-- 1 root root 31497 2007-06-29 00:20 binutils.changes -rw-r--r-- 1 root root 4599 2007-06-29 00:20 gcc.changes -rw-r--r-- 1 root root 80380 2007-06-29 00:20 glibc.changes -rw-r--r-- 1 root root 5313444 2007-06-29 01:00 i386.tar.gz -rw-r--r-- 1 root root 9217515 2007-06-29 01:40 ia64.tar.gz -rw-r--r-- 1 root root 5807840 2007-06-29 07:00 ppc64.tar.gz -rw-r--r-- 1 root root 5766936 2007-06-29 05:40 ppc.tar.gz -rw-r--r-- 1 root root 5658685 2007-06-29 00:20 x86_64.tar.gz I.e. here we have five cross compilers to s390 (from i386,ia64,ppc,ppc64,x86_64), it's just a random example. So after building the above md5 sum in (1), we look for them in a directory: $BASE/icecream/envs/$MD5/$MY_ARCHITECTURE/*.tar.gz and copy them to the /var/cache/icecream dir in addition to the native environment. We further set ICECC_VERSION to hold the right value for whatever *.tar.gz we found (i.e. they are named according to the host architecture all the time). There's a periodic job which collects new cross-icecream-* packages and unpacks them into the above directories. I.e. it also involves some shell hackery ;-) Ciao, Michael. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]