#! /bin/sh # explode master batch files into normal batch files # =()<. ${NEWSCONFIG-@@}>()= . ${NEWSCONFIG-/usr/local/libexec/cnews/config} PATH=$NEWSCTL/bin:$NEWSBIN/relay:$NEWSBIN:$NEWSPATH ; export PATH umask $NEWSUMASK lock LOCKexplode $$ || exit 1 status=1 trap "unlock LOCKexplode ; trap 0 ; exit \$status" 0 1 2 15 cd $NEWSARTS for f in `ls out.master | egrep '^[0-9][^.]*$'` do fsize=`sizeof out.master/$f` roomfor=`spacefor $fsize batchfiles` if test " $roomfor" -lt 10 # good general rule of thumb then echo "no room to explode out.master/$f" | report -u 'exploder short of space' exit fi work=$f.tmp lock LOCK $$ || exit mv out.master/$f out.master/$work st=$? unlock LOCK if test " $st" -ne 0 then echo "\`mv out.master/$f out.master/$work' gave status $st" | report -u "explode unable to rename file" exit fi if explode out.master/$work 2>/tmp/ex$$ && test ! -s /tmp/ex$$ then rm -f out.master/$work else bad=$f.`now` mv out.master/$work out.master/$bad report -u "explode failed on out.master/$bad"