#!/bin/sh


           RPM_DIR="/usr/src/redhat"
   RPM_SOURCES_DIR="$RPM_DIR/SOURCES"
     RPM_SRPMS_DIR="$RPM_DIR/SRPMS"
 RPM_RPMS_i386_DIR="$RPM_DIR/RPMS/i386"


 SOURCES_RELEASE="20070927"

 SOURCES_LIST=""
 SOURCES_LIST="$SOURCES_LIST hurricane-2.4.$SOURCES_RELEASE.tar.gz"
 SOURCES_LIST="$SOURCES_LIST crlcore-1.0.$SOURCES_RELEASE.tar.gz"
 SOURCES_LIST="$SOURCES_LIST cyclop-1.0.$SOURCES_RELEASE.tar.gz"
 SOURCES_LIST="$SOURCES_LIST isobar-1.1.$SOURCES_RELEASE.tar.gz"
 SOURCES_LIST="$SOURCES_LIST nimbus-1.1.$SOURCES_RELEASE.tar.gz"
 SOURCES_LIST="$SOURCES_LIST mistral-1.1.$SOURCES_RELEASE.tar.gz"
 SOURCES_LIST="$SOURCES_LIST pycoriolis-1.0.$SOURCES_RELEASE.tar.gz"
 SOURCES_LIST="$SOURCES_LIST stratus-3.1.$SOURCES_RELEASE.tar.gz"
 SOURCES_LIST="$SOURCES_LIST benchs-1.2.$SOURCES_RELEASE.tar.gz"


 rebuildPackage ()
 {
   TARGZ="$1"
   if [ ! -f "$RPM_SOURCES_DIR/$TARGZ" ]; then
     echo "[ERROR] Compressed archive not found :"
     echo "        \"$RPM_SOURCES_DIR/$TARGZ\"."
     exit 1
   fi

   LOGFILE="`basename \"$TARGZ\" .tar.gz`.log"
   rpmbuild -ta --clean "$RPM_SOURCES_DIR/$TARGZ" | tee "$LOGFILE" 2>&1

   if [ $? -ne 0 ]; then
     echo "[ERROR] rpmbuild failed, please have a look at \"$LOGFILE\"."
     echo "        \"rpmbuild -ta --clean $RPM_SOURCES_DIR/$TARGZ\"."
     exit 1
   fi

   allRPMs=`awk '/^Wrote: +.*\.rpm$/ { print $2 }' "$LOGFILE"`
   binRPMS=""
   for RPM in $allRPMs; do
     echo "$RPM" | grep 'src.rpm$'  > /dev/null 2>&1 && continue
     echo "$RPM" | grep 'debuginfo' > /dev/null 2>&1 && continue
     echo "$RPM" | grep 'source'    > /dev/null 2>&1 && continue
     binRPMS="$binRPMS $RPM"
   done

   if [ -z "$binRPMS" ]; then
     echo "[ERROR] Cannot fing generated RPMs in \"$LOGFILE\"."
     exit 1
   fi

   rpm -ivh $binRPMS
   hash -r
 }


 export CORIOLIS_TOP=/opt/coriolis
 export PATH=${CORIOLIS_TOP}/bin:$PATH

 for targz in $SOURCES_LIST; do
   rebuildPackage "$targz"
 done


 exit 0
