DATE=`date +%d/%m/%y`
VERSION=slc56
VERNUM="5.6"
ARCH=`uname -i`
TREE=/scratch/$VERSION/$ARCH/
PROD=SL
NAME="\"Scientific Linux CERN\""
RELEASE="SLC"
COMPS="comps.xml"
UPDIMGSRC="$TREE/build/updates.img/"
UPDIMGDEST="/tmp/updates.img"
MNTPOINT="/tmp/rhupdates"
CREPO="/usr/bin/createrepo -d -g $TREE/$PROD/repodata/$COMPS"
BREPO="$CREPO $TREE/$PROD/"
VREPOBIN="/usr/bin/repoview"
VREPOURL="http://linuxsoft.cern.ch/cern/slc5X"
VREPOTPL="$TREE/build/repoview-templates/" 
BINST="/usr/lib/anaconda-runtime/buildinstall \
 --comps $TREE/$PROD/repodata/$COMPS --version $VERSION \
 --product $NAME --release $RELEASE --prodpath $PROD $TREE"

if [ -z $1 ]; then
   echo "say: $0 repo|install|updates|iso"
exit 1
fi


case $1 in
  "repo")
        /bin/cp -v $TREE/build/$COMPS $TREE/$PROD/repodata/
	echo "running: $BREPO"
	$BREPO
        echo "running: $VREPOBIN -k$VREPOTPL -u$VREPOURL/$ARCH/yum/os/ -c $TREE/$PROD/repodata/$COMPS $TREE/$PROD/ -t\"OS for $ARCH\""
        $VREPOBIN -k$VREPOTPL -u$VREPOURL/$ARCH/yum/os/ -c $TREE/$PROD/repodata/$COMPS $TREE/$PROD/ -t"OS for $ARCH" 
    ;;
  "install") 
	echo "running: $BINST"
        /bin/rm -rf $TREE/$PROD/repodata
        /bin/mkdir $TREE/$PROD/repodata 
        /bin/cp -v $TREE/build/$COMPS $TREE/$PROD/repodata/
	#$BINST
        /usr/lib/anaconda-runtime/buildinstall --comps $TREE/$PROD/repodata/$COMPS --version $VERSION --product "Scientific Linux CERN" --release $RELEASE --prodpath $PROD $TREE
    ;;
   "updates")
   	echo "building updates.img"
	/bin/dd if=/dev/zero of=$UPDIMGDEST bs=1k count=256
	/sbin/mke2fs -F -m 0 -q $UPDIMGDEST 
	/bin/rm -rf $MNTPOINT
	/bin/mkdir $MNTPOINT
	/bin/mount -o loop,sync -t ext2 $UPDIMGDEST $MNTPOINT
	/bin/rm -r $MNTPOINT/lost+found
	(cd $UPDIMGSRC ; /usr/bin/find | /bin/cpio -pvdum $MNTPOINT)
	/bin/sync
	umount $MNTPOINT
	/bin/cp -vf $UPDIMGDEST $TREE/images/
    ;; 
    "iso")
	echo "building ISO image"
        discinfo=`/usr/bin/head -1 $TREE/.discinfo`
        echo "media version from .discinfo: $discinfo"
        echo "removing unneeded repoview files"
        rm -rf $TREE/$PROD/repoview
        echo "building repo metadata for ISO image"
        $CREPO -u "media://$discinfo" $TREE/$PROD/
        /usr/bin/mkisofs -A "Scientific Linux CERN $VERNUM DVD ($DATE)" -V "Scientific Linux CERN $VERNUM" -R -l -v -J -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin -P "linux.support@cern.ch" -p "Jaroslaw.Polok@cern.ch" -o ../../SLC_${VERNUM}_${ARCH}_dvd.iso ../../$ARCH/
        /usr/lib/anaconda-runtime/implantisomd5  ../../SLC_${VERNUM}_${ARCH}_dvd.iso
        echo "rebuilding repo metadata for install tree"
        $BREPO 
        echo "rebuilding repoview"
        $VREPOBIN -k$VREPOTPL -u$VREPOURL/$ARCH/yum/os/ $TREE/$PROD/ -t"OS for $ARCH"
    ;;
   *)
   	echo "what ??" 
    ;; 	 	
esac  
