. ../locations.include
ANACONDADIR="$TREE/build/scripts/buildisoimages/"
MYPWD=`pwd`
export MYPWD
if [ $ARCH != `uname -i` ] ; then
  echo "You seem to be trying to build arch $ARCH , on a `uname -i` system"
  echo "exiting"
  exit 1
fi
#clean up old ones
for i in 1 2 3 4 5 6 7 8
do
   if [ -d $RELEASEDIR/$ARCH-disc0-disc$i ] ; then
	rm -r $RELEASEDIR/$ARCH-disc0-disc$i
   fi
done
if [ -d $RELEASEDIR/$ARCH-disc0 ] ; then
	rm -r $RELEASEDIR/$ARCH-disc0
fi
# Make disc0
mkdir -vp $RELEASEDIR/$ARCH-disc0/$DEFAULT
#copy in the documentation
if [ -d $RELEASEDIR/$ARCH/$DEFAULT.documentation ] ; then
  mkdir $RELEASEDIR/$ARCH-disc0/$DEFAULT.documentation
  cp -ra $RELEASEDIR/$ARCH/$DEFAULT.documentation/ $RELEASEDIR/$ARCH-disc0/
fi
cp -p $RELEASEDIR/$ARCH/$DEFAULT.releasenote* $RELEASEDIR/$ARCH-disc0/
cp -p $RELEASEDIR/$ARCH/README $RELEASEDIR/$ARCH-disc0/
ln -f $RELEASEDIR/$ARCH/GPL $RELEASEDIR/$ARCH-disc0/
cp -p $RELEASEDIR/$ARCH/RELEASE-NOTES*.html $RELEASEDIR/$ARCH-disc0/
#copy in isolinux and special *.iso config files
#sh $MYPWD/subscripts/fix.isolinux.sh
mkdir $RELEASEDIR/$ARCH-disc0/isolinux
cp -fa $RELEASEDIR/$ARCH/isolinux/* $RELEASEDIR/$ARCH-disc0/isolinux/
if [ -f $RELEASEDIR/$ARCH/$DEFAULT/build/isolinux/isolinux.cfg.iso ] ; then
 cp -f $RELEASEDIR/$ARCH/$DEFAULT/build/isolinux/isolinux.cfg.iso $RELEASEDIR/$ARCH-disc0/isolinux/isolinux.cfg
fi
if [ -f $RELEASEDIR/$ARCH/$DEFAULT/build/isolinux/boot.msg.iso ] ; then
 cp -f $RELEASEDIR/$ARCH/$DEFAULT/build/isolinux/boot.msg.iso $RELEASEDIR/$ARCH-disc0/isolinux/boot.msg
fi
if [ -d $RELEASEDIR/$ARCH/RHupdates ] ; then
  cp -a $RELEASEDIR/$ARCH/RHupdates $RELEASEDIR/$ARCH-disc0/
fi
#make updates.img from original area and copy in
cd $MYPWD/..
./make.updates.img.sh 
#Copy over misc things
cd -
cp $RELEASEDIR/$ARCH/.discinfo $RELEASEDIR/$ARCH-disc0/
cp -a $RELEASEDIR/$ARCH/RPM-GPG-KEYs $RELEASEDIR/$ARCH-disc0/
#copy in $DEFAULT/RPMS which are RPMS 
ln $RELEASEDIR/$ARCH/$DEFAULT/*.noarch.rpm $RELEASEDIR/$ARCH-disc0/$DEFAULT/
ln $RELEASEDIR/$ARCH/$DEFAULT/[a-m]*.i386.rpm $RELEASEDIR/$ARCH-disc0/$DEFAULT/
ln $RELEASEDIR/$ARCH/$DEFAULT/[a-m]*.x86_64.rpm $RELEASEDIR/$ARCH-disc0/$DEFAULT/
ln $RELEASEDIR/$ARCH/$DEFAULT/[n-z]*.i386.rpm $RELEASEDIR/$ARCH-disc0/$DEFAULT/
ln $RELEASEDIR/$ARCH/$DEFAULT/[n-z]*.x86_64.rpm $RELEASEDIR/$ARCH-disc0/$DEFAULT/
ln $RELEASEDIR/$ARCH/$DEFAULT/*.i686.rpm $RELEASEDIR/$ARCH-disc0/$DEFAULT/
mkdir $RELEASEDIR/$ARCH-disc0/$DEFAULT/repodata/
mkdir -p $RELEASEDIR/$ARCH-disc0/build/base/
cp -a $RELEASEDIR/$ARCH/$DEFAULT/repodata/* $RELEASEDIR/$ARCH-disc0/$DEFAULT/repodata/
cp -a $RELEASEDIR/$ARCH/build/base/* $RELEASEDIR/$ARCH-disc0/build/base/
#
echo "Using $RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT as the fileorder file"
#echo "and not making a new one"
echo "and making a new one"
cd $RELEASEDIR/$ARCH-disc0
createrepo -g $RELEASEDIR/$ARCH-disc0/$DEFAULT/repodata/comps*xml .
cd -
$ANACONDADIR/pkgorder  $RELEASEDIR/$ARCH-disc0/ $ARCH $DEFAULT > $RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT
#Run splittree.py to split the $DEFAULT/RPMS onto multiple cd's
cd $MYPWD/subscripts
set `./calculate.num.cds.sh`
cd -
TOTBINCD=$1
TOTSRCCD=$2
TOTCD=$3 
#TOTBINCD=6
#TOTSRCCD=1
#TOTCD=7
export TOTBINCD TOTSRCCD TOTCD
echo "\$TOTBINCD=$TOTBINCD; \$TOTSRCCD=$TOTSRCCD; \$TOTCD=$TOTCD"

echo "Total Binary cds is $TOTBINCD, Total SRC cds is $TOTSRCCD"
echo "Running splittree to decide on how to span the cd images"
echo "$ANACONDADIR/splittree.py --arch=$ARCH --total-discs=$TOTCD " \
 "--bin-discs=$TOTBINCD --src-discs=$TOTSRCCD --release-string=$DEFAULT " \
 "--pkgorderfile=$RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT " \
 "--srcdir=$RELEASEDIR/SRPMS/SL/ --distdir=$RELEASEDIR/$ARCH-disc0 " \
 "--productpath=$DEFAULT --reserve-size=150000000"
$ANACONDADIR/splittree.py --arch=$ARCH --total-discs=$TOTCD \
  --bin-discs=$TOTBINCD --src-discs=$TOTSRCCD --release-string=$DEFAULT \
  --pkgorderfile=$RELEASEDIR/$ARCH-disc0/build/base/$FILEORDER-$DEFAULT \
  --srcdir=$RELEASEDIR/SRPMS/SL/ --distdir=$RELEASEDIR/$ARCH-disc0 \
  --productpath=$DEFAULT --reserve-size=150000000 

echo "Running createrepo against $RELEASEDIR/$ARCH-disc0-disc[1-$TOTBINCD]"


cd $RELEASEDIR
TMPBINAREA=`echo $ARCH-disc0-disc[1-$TOTBINCD]/$DEFAULT`
MDATE=`date "+%s"`
echo "/usr/bin/createrepo " \
     "--groupfile $RELEASEDIR/$ARCH/$DEFAULT/repodata/comps-sl.xml " \
     "--baseurl media://$MDATE.836690 " \
     "--outputdir $RELEASEDIR/$ARCH-disc0-disc1/$DEFAULT/ " \
     "--basedir $RELEASEDIR " \
     "--split $TMPBINAREA"
cd $RELEASEDIR
/usr/bin/createrepo \
   --groupfile $RELEASEDIR/$ARCH/$DEFAULT/repodata/comps-sl.xml \
   --baseurl media://$MDATE.836690 \
   --outputdir $RELEASEDIR/$ARCH-disc0-disc1/$DEFAULT/ \
   --basedir $RELEASEDIR \
   --split $TMPBINAREA

echo ""
mkdir -p $RELEASEDIR/$ARCH-disc0-disc1/images
echo "CCC"
if [ -d $TREE/images/$DEFAULT ] ; then
  echo "CCD"
  cd $TREE/images/$DEFAULT
  find . -print | cpio -pvdum $RELEASEDIR/$ARCH-disc1/images
  if [ -s $RELEASEDIR/$ARCH-disc1/images/SL.boot.superduper.51.i386.iso ] ; then
    rm $RELEASEDIR/$ARCH-disc1/images/SL.boot.superduper.51.i386.iso 
    rm $RELEASEDIR/$ARCH-disc1/images/SL.boot.superduper.51.i386.md5sum
  fi
else
  echo "CCE"
  cd $TREE/images
  find . -print | cpio -pvdum $RELEASEDIR/$ARCH-disc0-disc1/images
fi
echo $TREE

#if [ -d $TREE/updates/fastbugs/ ] ; then
#  mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/fastbugs/
#  cd $TREE/updates/fastbugs/
#  ln $TREE/updates/fastbugs/*.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTCD/fastbugs/
#  createrepo $RELEASEDIR/$ARCH-disc0-disc$TOTCD/fastbugs
#fi
#if [ -d $TREE/updates/security/ ] ; then
#  mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/security/
#  cd $TREE/updates/security/
#  ln $TREE/updates/security/*.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTCD/security/
#  createrepo $RELEASEDIR/$ARCH-disc0-disc$TOTCD/security
#fi
if [ -d $RELEASEDIR/$ARCH-disc0/build/ ] ; then
  mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/build/
  cp -a $TREE/build/*  $RELEASEDIR/$ARCH-disc0-disc$TOTCD/build/
  mv -f $RELEASEDIR/$ARCH-disc0/build/base/* $RELEASEDIR/$ARCH-disc0-disc$TOTCD/build/base/
  if [ -d $RELEASEDIR/$ARCH-disc0-disc1/build/base ] ; then
  	rm -r $RELEASEDIR/$ARCH-disc0-disc1/build/base
  	rmdir $RELEASEDIR/$ARCH-disc0-disc1/build
  fi
fi
#if [ -d $TREE/contrib/ ] ; then
#   mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/
#   mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/SRPMS
#   cd $TREE/contrib/
#   for i in *
#   do
#     if [ ! $i = "headers" ] ; then
#	if [ -d $i ] ; then
#        	mkdir $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/$i
#        	ln $TREE/contrib/$i/* $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/$i/
#	fi
#     fi
#   done
#   cd $TREE/contrib/SRPMS/
#   for i in *
#   do
#	if [ -d $i ] ; then
#     		mkdir $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/SRPMS/$i
#     		ln $TREE/contrib/SRPMS/$i/*.src.rpm $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib/$i/SRPMS/
#	fi
#   done
#   createrepo $RELEASEDIR/$ARCH-disc0-disc$TOTCD/contrib
#fi
#Just do not have enough space on last cd so making a new one for SRPMS
#if [ $ARCH = "i386" ] ; then
#	TOTCD=`expr $TOTCD + 1`
#	mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD
#fi
#if [ -d $RELEASEDIR/SRPMS/SL/ ] ; then
#  mkdir -p $RELEASEDIR/$ARCH-disc0-disc$TOTCD/SRPMS/
#  cd $RELEASEDIR/SRPMS/SL
#  ln $RELEASEDIR/SRPMS/SL/* $RELEASEDIR/$ARCH-disc0-disc$TOTCD/SRPMS/
#fi
#Clean up a few things
if [ -d $RELEASEDIR/$ARCH-disc0-disc1/repodata ] ; then
 	rm -r $RELEASEDIR/$ARCH-disc0-disc1/repodata
fi
