#!/bin/bash

set -o errexit
set -o nounset

# $1 : package filename
# $2 : sum of delta size to go from this package to the database one
cleanup_aux() {
	grep "${1}$" ${dir}/deltas | while read delta md5sum dsize spkg tpkg
	do
		sizesum=$(( ${2} + ${dsize} ))
		if cleanup_aux ${spkg} ${sizesum}
		then
			echo "${limitsize} > ${sizesum} : Adding ${1}"
#			echo "${delta} ${md5sum} ${dsize} ${spkg} ${tpkg}" >> ${newrepo}/${dir}/deltas
		else
			echo "${limitsize} < ${sizesum} : Ignoring ${1}"
		fi
	done
   # bail out if we are to big
	[ ${2} -gt ${limitsize} ] && return 1
   return 0
}

# list contents of repo from the root of it
ls -1 | while read dir
do
	if [ ! -f ${dir}/desc -o ! -f ${dir}/deltas ]
	then
		continue
	fi
	pkgfile=$(grep -A1 FILENAME ${dir}/desc | tail -n1)
	pkgsize=$(grep -A1 CSIZE ${dir}/desc | tail -n1)
	limitsize=$(( ${pkgsize} * 7 / 10 ))
	cleanup_aux ${pkgfile} 0
done
