#!/bin/bash

ROOT=/home/ftp/pub/Linux/PLD
SRPMS=$ROOT/PLD-1.0/SRPMS
size=0
fileno=1
iso_size=`expr 1024 \* 1024 \* 650`
listd=/tmp/cd${fileno}.links

calc_size()
{
	local dir
	dir=$1

	mkdir -p $listd/$dir
	ls -lA $dir | grep -v ^total | awk '{print $5 " " $9}' | while read s name ; do
		if [ -d $dir/$name ] ; then
			calc_size $dir/$name
			continue
		fi
		fsize=`expr $s + \( \( $s + 2047 \) % 2048 \)`
		size=`expr $size + $fsize`
		if [ "$size" -ge "$iso_size" ] ; then
			size=0
			fileno=`expr $fileno + 1`
			listd=/tmp/cd${fileno}.links
			mkdir -p $listd/$dir
		fi
		ln -sf $SRPMS/$dir/$name $listd/$dir/$name
	done
}

rm -fr /tmp/cd*.links
cd $SRPMS
calc_size ./
for i in /tmp/cd*.links ; do
	num=`echo $i | sed 's/\/tmp\/cd\([0-9]\+\)\.links/\1/'`
	$ROOT/.stat/bin/mkisofs -o $ROOT/iso/ra/SRPMS/pld-SRPMS${num}.iso -f -r -J -f $i || rm -f $ROOT/iso/ra/SRPMS/pld-SRPMS${num}.iso
	(cd $ROOT/iso/ra/SRPMS ; md5sum pld-SRPMS${num}.iso > pld-SRPMS${num}.md5; $ROOT/.stat/bin/isoinfo -R -l -i pld-SRPMS${num}.iso > pld-SRPMS${num}.ls)
done
rm -fr /tmp/cd*.links
