#!/bin/sh

. config_build
. "$SCRIPTS"/misc/lib/lib_fail

if [ "$COMPRESSEDFS" = "yes" ]; then
	Z="-z"
fi

if [ "$CRAMFS" = "yes"  ] || [ "$CLOOP" = "yes" ]; then
	exit 0
fi

echo "----------------------------------"
echo "     building the isofs image     "
echo "----------------------------------"
echo 
echo


# crompress the image
if [ "$COMPRESSEDFS" = "yes" ]; then
	echo "Compressing - that can take quiet a time ... "

	# if we use a compressed ISO9660 image prepare the system
	mkzftree $ROOTFS $ROOTFS.compressed || fail

	# $ROOTFS should contain the compressed tree, so let's switch
	# $ROOTFS.compressed to $ROOTFS and move the uncompressed one
	# to $ROOTFS.uncompressed
	mv $ROOTFS $ROOTFS.uncompressed || fail
	mv $ROOTFS.compressed $ROOTFS   || fail

	# the following files should not be compressed
	cp $ROOTFS.uncompressed/boot/boot.img $ROOTFS/boot/boot.img || fail
fi

# no copy the _cd tree to $TMPDIR
mkdir $TMPDIR/iso           || fail
mkdir $TMPDIR/iso/boot      || fail
mkdir $TMPDIR/_cd           || fail
cp -a $ROOTFS/* $TMPDIR/_cd || fail

# delete some files that are no longer needed
rm -rf $TMPDIR/_cd/var/*         || fail
rm -rf $TMPDIR/_cd/boot/boot.img || fail
rm -rf $TMPDIR/_cd/dev/*         || fail
mknod  $TMPDIR/_cd/dev/console c 5 1 || fail

cp $TMPDIR/_cd/README $TMPDIR/iso || fail

# now build the isofs image file
mkisofs $Z -R $TMPDIR/_cd > $TMPDIR/iso/boot/rootfs.isofs.img || fail

mv $ROOTFS/boot/boot.img $TMPDIR/iso/boot/boot.img || fail

# clean up
rm -rf $TMPDIR/_cd || fail

if test -d $ROOTFS.uncompressed; then
    # delete the compressed root fs and move the uncompressed 
    # one to $ROOTFS
    rm -r $ROOTFS                   || fail
    mv $ROOTFS.uncompressed $ROOTFS || fail

    # delete the torito image
    rm -f $ROOTFS/boot/boot.img
fi

echo
