From 4dcc8bd94c1c3d6c247dd7edf2a019de6321550e Mon Sep 17 00:00:00 2001 From: Steve McIntyre Date: Mon, 7 Sep 2015 15:53:45 +0100 Subject: [PATCH] Check for file size on update CD/DVD generation --- update-cd | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/update-cd b/update-cd index cdddd28f..f83b2b46 100755 --- a/update-cd +++ b/update-cd @@ -310,21 +310,27 @@ do BACKOUT_FILE="" fi - add_file $file + size=$(stat -c %s $MIRROR/$file) + size_kib=$(($size / 1024)) + if [ $size_kib -gt $CDSIZE ] ; then + echo "Ignoring file $file - it won't fit!" + else + add_file $file - SIZE_USED=`du -sk $UPD/CD$CDNUM | awk '{print $1}'` - if [ $SIZE_USED -gt $CDSIZE ] ; then - # Back out the last file added - size=`stat -c %s $UPD/CD$CDNUM/$file` - rm -f $UPD/CD$CDNUM/$file - echo - echo " Overfull: back out $file ($size bytes)" - DIR=`dirname $file` - rmdir $DIR > /dev/null 2>&1 || true - BACKOUT_FILE=$file - make_cd $CDNUM $THISNUM $THISARCH $SRCFILES $ARCHFILES $ALLFILES - CDNUM=$(($CDNUM + 1)) - continue + SIZE_USED=`du -sk $UPD/CD$CDNUM | awk '{print $1}'` + if [ $SIZE_USED -gt $CDSIZE ] ; then + # Back out the last file added + size=`stat -c %s $UPD/CD$CDNUM/$file` + rm -f $UPD/CD$CDNUM/$file + echo + echo " Overfull: back out $file ($size bytes)" + DIR=`dirname $file` + rmdir $DIR > /dev/null 2>&1 || true + BACKOUT_FILE=$file + make_cd $CDNUM $THISNUM $THISARCH $SRCFILES $ARCHFILES $ALLFILES + CDNUM=$(($CDNUM + 1)) + continue + fi fi done