#!/bin/sh

# Size of spool area in Kilobytes
prefix=/
CACHE_SPOOLDIR=`egrep '^SpoolDirectory' ${prefix}/etc/newscache.conf | cut -d ' ' -f 2`
CACHE_SPOOLSIZE=`egrep '^SpoolSize' ${prefix}/etc/newscache.conf | cut -d ' ' -f
 2`
TEMPFILE=/tmp/expire.$$
TEMPFILE2=/tmp/expire2.$$

while [ "$#" -gt 0 ]; do
  if [ "X$1" = "X-s" ]; then
    CACHE_SPOOLSIZE=$2
    shift; shift
  else
    echo "Usage: $0 [-s #]"
    exit 1
  fi
done

CACHE_CURRSIZE=`du -sk $CACHE_SPOOLDIR | awk '{print $1}'`
find . -name .db -type f -printf "%A@ %h\n" | sort -n >$TEMPFILE

while [ "$CACHE_CURRSIZE" -gt "$CACHE_SPOOLSIZE" ]; do
  GROUP=`head -1 $TEMPFILE | awk '{print $2}'`
  if [ "X$GROUP" = "X" ]; then
    break
  fi
#  echo $GROUP/.db
#  echo $GROUP/.art*
  
  rm -f $GROUP/.db
  rm -f $GROUP/.art*
  tail +2 $TEMPFILE >$TEMPFILE2
  mv $TEMPFILE2 $TEMPFILE
  CACHE_CURRSIZE=`du -sk $CACHE_SPOOLDIR | awk '{print $1}'`
done

rm -f $TEMPFILE
