#!/bin/bash
#
# Erik Troan <ewt@redhat.com> 
#
# Copyright 1998 Red Hat Software
#
# This software may be freely redistributed under the terms of the GNU
# public license.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#

WHEREWESTARTED=`pwd`
while [ $# -gt 0 ]; do
    case $1 in
	--arch)
	    shift
	    ARCH=$1
	    ;;

	--version)
	    shift
	    VERSION=$1
	    ;;

	*)
	    break
	    ;;
    esac

    shift
done

TREE=$1
if [ ! -d $1 ]; then
    echo "First parameter must be the directory to place at the root of the CD"
    exit 1
fi

DEST=$2
if [ -z "$2" ]; then
    echo "Second parameter must be the name of the final iso image."
    exit 1
fi

echo "Creating $2 from $1..."

if [ -z "$VERSION" ]; then
    if [ -f $TREE/RedHat/RPMS/redhat-release* ]; then
	VERSION=`rpm -qp --qf '%{VERSION}' $TREE/RedHat/RPMS/redhat-release*`
    elif [ -f $TREE/RedHat/RPMS/*fermi-release* ]; then
	VERSION=`rpm -qp --qf '%{VERSION}' $TREE/RedHat/RPMS/*fermi-release*`
    elif [ -f $TREE/RedHat/SRPMS/redhat-release* ]; then
	VERSION=`rpm -qp --qf '%{VERSION}' $TREE/RedHat/SRPMS/redhat-release*`
    fi
    VERSION=${VERSION}-`date +%m-%d-%Y`
fi

if [ -z "$ARCH" ]; then
    if [ -f $TREE/RedHat/RPMS/fileutils* ]; then
	ARCH=`rpm -qp --qf '%{ARCH}' $TREE/RedHat/RPMS/fileutils*`
    elif [ -d $TREE/SRPMS ]; then
	ARCH='Sources'
    fi
fi

#cp $TREE/misc/src/anaconda-9.0/scripts/fermiscripts/isolinux.bin $TREE/isolinux/ 
#cp $TREE/misc/src/anaconda-9.0/scripts/fermiscripts/isolinux.cfg.dvd $TREE/isolinux/isolinux.cfg 
cd $TREE
find . -name CVS -print > /tmp/free3rolling.exclude.dvd
mkisofs \
	-A "FREE Linux/$ARCH $VERSION DVD" \
	-V "FREE Linux/$ARCH $VERSION" \
	-b isolinux/isolinux.bin \
	-c isolinux/boot.cat \
        -no-emul-boot -boot-load-size 4 -boot-info-table \
        -R -l -J -v -T \
	-o $DEST \
	-x ./lost+found \
	-x ./RedHat/base/hdlist \
	-x ./RedHat/base/hdlist2 \
	-x ./RedHat/base/fileorder \
	-exclude-list /tmp/free3rolling.exclude.dvd \
        -graft-points \
	 . \
      RedHat/base/=/mnt/src/tmp/hdlistdir \
      SRPMS/=/mnt/src/3/done

#mkisofs \
#	-sort ./sort.dvd.order \
#	-A "Fermi Linux/$ARCH $VERSION DVD" \
#	-V "Fermi Linux/$ARCH $VERSION" \
#	-b isolinux/isolinux.bin \
#	-c isolinux/boot.cat \
#        -no-emul-boot -boot-load-size 4 -boot-info-table \
#        -R -J -V -T \
#	-o $DEST \
#	-x ./lost+found \
#	-x ./RedHat/base/hdlist \
#	-x ./RedHat/base/hdlist2 \
#	-x ./RedHat/base/fileorder \
#	-x ./RedHat/base/oldcomps \
#	-x ./RedHat/base/workgroups \
#	-x ./RHupdates \
#	-x ./Fermi/RPMS \
#	-exclude-list /tmp/90rolling.exclude.dvd \
#        -graft-points \
#	 . \
#      RedHat/base/=/mnt/src/tmp/hdlistdir \
#      SRPMS/=../SRPMS/ \
#      kernel-source/=/usr/src/linux-2.4.20-18.9 
