. ../locations.include
ISOBINSAVEDIR=$TREE/build/isolinux/
DATE=`date "+%m%d%y"`
ANACONDADIR="$TREE/build/scripts/buildisoimages/"
NOTNEEDEDDIR="$TREE/SLEXTRA"
TMPREPODIR=/tmp/repodir
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
if [ -d $CDISOAREA ] ; then
  echo "Creating CD iso images in $CDISOAREA"
else
  mkdir -p $CDISOAREA 
fi
BOOTIMG="isolinux/isolinux.bin"
BOOTCAT="isolinux/boot.cat"
BOOTOPTS="-no-emul-boot -boot-load-size 4 -boot-info-table"
#
CDNUM=1
CDNAME=$CDISOAREA/$DEFAULT-$VERSION-$DATE-$ARCH
DEST="$CDNAME-DVD.iso"

mkdir $NOTNEEDEDDIR 
tail -130 $TREE/build/base/pkgorder-SL > $TREE/build/scripts/buildisoimages/slextra.list
echo "moving the slextra rpms out"
for i in `cat $TREE/build/scripts/buildisoimages/slextra.list`
do
	mv $TREE/SL/$i $NOTNEEDEDDIR 
done
echo "Running createrepo against $TREE/$DEFAULT and $NOTNEEDEDDIR"

cd $TREE
ME=`basename $NOTNEEDEDDIR`
TMPBINAREA="$DEFAULT $ME"
if [ -d $TMPREPODIR ] ; then
        /bin/rm -r $TMPREPODIR 
fi
mkdir $TMPREPODIR 
MDATE=`date "+%s"`
echo "/usr/bin/createrepo " \
     "--groupfile $TREE/$DEFAULT/repodata/comps-sl.xml " \
     "--baseurl media://$MDATE.65432 " \
     "--outputdir $TMPREPODIR " \
     "--basedir $TREE " \
     "--split $TMPBINAREA"
cd $RELEASEDIR
/usr/bin/createrepo \
   --groupfile $TREE/$DEFAULT/repodata/comps-sl.xml \
   --baseurl media://$MDATE.65432 \
   --outputdir $TMPREPODIR \
   --basedir $TREE \
   --split $TMPBINAREA

  echo "Creating $DEST from $TREE ..."
  cd $CDISOAREA
  if [ -d /mnt/src/tmp/work ] ; then
     rm -r /mnt/src/tmp/work
  fi
  mkdir -p /mnt/src/tmp/work
  cd /mnt/src/tmp/work
  mkdir isolinux
  cp -af $TREE/isolinux/* isolinux/
  if [ -s $BOOTCAT ] ; then
  	rm $BOOTCAT
  fi
  if [ -s $TREE/build/isolinux/isolinux.cfg.cd ] ; then
  	cp -af $TREE/build/isolinux/isolinux.cfg.cd isolinux/isolinux.cfg
  fi
  cp -af $ISOBINSAVEDIR/isolinux.bin isolinux/
  mkdir images
  cp -af $TREE/images/* images/
#  rm images/boot.iso
#  rm images/diskboot.img
  rm images/pxeboot/initrd.img
  rm images/pxeboot/vmlinuz
  ln $TREE/isolinux/initrd.img images/pxeboot/initrd.img
  ln $TREE/isolinux/vmlinuz images/pxeboot/vmlinuz
  cat $TREE/.discinfo | sed 's/^1,2,3,4,5/2/'   > $NOTNEEDEDDIR/.discinfo
  cat $TREE/.discinfo | sed 's/^1,2,3,4,5/1/'   > $TMPREPODIR/.discinfo
  RPMS="$DEFAULT=$TREE/SL "
  REPODATA="$DEFAULT/repodata=$TMPREPODIR/repodata"
  FILES="/=$TREE/GPL /=$TREE/$DEFAULT.releasenote /=$TREE/README "
  SECURITY="updates/security=$TREE/updates/security/"
  DIRS1="$DEFAULT.documentation=$TREE/$DEFAULT.documentation RPM-GPG-KEYs=$TREE/RPM-GPG-KEYs "
  SLFASTBUGS="fastbugs=$TREE/updates/fastbugs/"
  SRPMS="SRPMS=$RELEASEDIR/SRPMS/SL/" 
  FASTBUGS="updates/fastbugs=$TREE/updates/fastbugs/"
  CONTRIB="contrib=$TREE/contrib/"
  DIRS2="build=$TREE/build build/RHupdates=$TREE/RHupdates/"
#we do not have space on the dvd so they will just have to make a cd for these
  if [ ! -d $TREE/sites/example ] ; then
  	SITESEXAMPLE="sites=$RELEASEDIR/temp/$ARCH/sites/" 
  else
	SITESEXAMPLE="sites=$TREE/sites/"
	SITESEXAMPLE=""
  fi 
  echo "Boot image is" $BOOTIMG
mkdir -p /mnt/src/tmp/saverepodata
mv $TREE/$DEFAULT/repodata /mnt/src/tmp/saverepodata
# Create the image (This is for disk 1)

  mkisofs \
	-A "$VERSION DVD" \
	-V "$DEFAULT $VERSION $ARCH" \
	-R -l -v -J \
	-x ./lost+found \
        -c $BOOTCAT $BOOTOPTS \
 	-b $BOOTIMG \
	-o $DEST \
        -graft-points isolinux=./isolinux  images=./images /=$TMPREPODIR/.discinfo $REPODATA $RPMS $FILES $DIRS1 
mv /mnt/src/tmp/saverepodata/repodata $TREE/$DEFAULT/
  echo "implanting md5sum in $DEST now"
  /usr/lib/anaconda-runtime/implantisomd5 $DEST
  dd if=/dev/zero count=2 bs=2048 >> $DEST
  if [ $ARCH = "x86_64" ] ; then
#Need to make the cd with all the extra stuff for x86_64
  echo "Creating $DEST from $TREE ..."
  cd $CDISOAREA
  NOTNEEDEDRPMS="SL=$NOTNEEDEDDIR"
	DEST="$CDNAME-DVD-extrarpms-security-contrib-srpms.iso"
  	if [ ! -d $TREE/sites/example ] ; then
  		SITESEXAMPLE="sites=$RELEASEDIR/temp/$ARCH/sites/" 
  	else
		SITESEXAMPLE="sites=$TREE/sites/"
  	fi 
  	mkisofs \
		-A "$VERSION DVD-2" \
		-V "$DEFAULT $VERSION $ARCH" \
		-R -l -v -J \
		-x ./lost+found \
		-o $DEST \
        	-graft-points /=$NOTNEEDEDDIR/.discinfo $NOTNEEDEDRPMS $SECURITY $FASTBUGS $CONTRIB $DIRS2 $SRPMS $SITESEXAMPLE
  fi
  echo "implanting md5sum in $DEST now"
  /usr/lib/anaconda-runtime/implantisomd5 $DEST
  dd if=/dev/zero count=15 bs=2048 >> $DEST

  cd $CDISOAREA
  echo "Making SHA1SUMS now, this will take a while"
  sha1sum $DEFAULT-$VERSION-$DATE-$ARCH-*.iso > $DEFAULT-$VERSION-$DATE-$ARCH.SHA1SUM 
  sha1sum $DEST >> $DEFAULT-$VERSION-$DATE-$ARCH.SHA1SUM


echo "Putting the slextra rpms back"
for i in `cat $TREE/build/scripts/buildisoimages/slextra.list`
do
      echo $i
      mv $NOTNEEDEDDIR/$i $TREE/SL/ 
done
