#!/bin/bash # Script written by: Nicolas "Pilot" BUILD=/home/FLY/build/source/BUILD.log EMERGE=/home/FLY/build/source/EMERGE.log VERSION="0.7.0" AUTOBUILD="20091013" cd /home/FLY/ mkdir finished/$VERSION touch tmpBUILD.log tmpEMERGE.log echo "==== START OF BUILD LOG ===================================================" >> tmpBUILD.log echo "==== START OF EMERGE LOG ==================================================" >> tmpEMERGE.log date >> tmpBUILD.log date >> tmpEMERGE.log mkdir -pv build/source/{newroot,usr/portage,etc/portage} cd build/source mv -v ../../tmpBUILD.log BUILD.log mv -v ../../tmpEMERGE.log EMERGE.log tar jxvpf ../FILES/stage3-i686-$AUTOBUILD.tar.bz2 2>> $BUILD mount -v -t proc none proc/ mount -v --bind /dev dev/ mount -v --bind /sys sys/ mount -v --bind /usr/portage/ usr/portage/ cp -v /etc/resolv.conf etc/resolv.conf cp -v ../MAKE_c_NEW . cp -vr ../FILES/MAKE . mv -v MAKE/etc/portage/* etc/portage/ mv -v MAKE/etc/{locale.gen,make.conf} etc/ date +%m%d%H%M%Y > date.stamp chroot . /bin/bash --login ./MAKE_c_NEW ############################################################################## env-update && source /etc/profile rm -rfv MAKE umount -fv sys dev usr/portage /home/FLY/build/source/proc cd .. mv source/installdata* . rsync -avzdrhP --exclude={usr/{portage,src,local,i486-pc-linux-gnu,share/{doc,gtk-doc,man},lib/{portage,gcc/i486-pc-linux-gnu}},etc/portage,var/{tmp/*,run/*,lock/*,lib/clamav/*},tmp/*} source/ source.new/ cd source.new rm -rfv boot/{initramfs,initramfs.cpio,boot} etc/mtab root/.bash_history MAKE_c_NEW var/db var/cache touch etc/mtab mkdir -pv ../target/files cp -av boot ../target/ cd etc/ tar cvpzf ../../target/files/etc.tar.gz * .[[:alnum:]]* 2>> $BUILD cd ../home/ tar cvpzf ../../target/files/home.tar.gz * .[[:alnum:]]* 2>> $BUILD cd ../mnt/ tar cvpzf ../../target/files/mnt.tar.gz * .[[:alnum:]]* 2>> $BUILD cd ../root/ tar cvpzf ../../target/files/root.tar.gz * .[[:alnum:]]* 2>> $BUILD cd ../var/ tar cvpzf ../../target/files/var.tar.gz * .[[:alnum:]]* 2>> $BUILD cd ../.. mv -v source.new/BUILD.log ../finished/$VERSION/BUILD.log mv -v source.new/EMERGE.log ../finished/$VERSION/EMERGE.log mksquashfs source.new/ target/files/source.img mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -iso-level 4 -hide boot.catalog -o ../finished/$VERSION/FLY-$VERSION.iso target/ >> ../finished/$VERSION/BUILD.log echo "==== GENERATING MD5SUM ====================================================" >> ../finished/$VERSION/BUILD.log cd ../finished/$VERSION/ md5sum FLY-$VERSION.iso >> BUILD.log md5sum FLY-$VERSION.iso > FLY-$VERSION.iso.md5 md5sum -c FLY-$VERSION.iso.md5 >> BUILD.log cp -rfp ../../build/{FILES/,MAKE*} . 2>> BUILD.log mv ../../build/{source*,target,installdata*} . 2>> BUILD.log echo "==== PASS OR FAIL =========================================================" >> BUILD.log failure=`grep "FAIL!" BUILD.log | wc -l` if [ "$failure" = "0" ]; then echo "Autobuild OK!" >> BUILD.log else echo "Autobuild FAIL! with $failure failure(s):" >> BUILD.log echo >> BUILD.log grep 'FAIL!' BUILD.log | grep -v Autobuild >> BUILD.log fi date >> BUILD.log date >> EMERGE.log