#! /bin/sh
# expov - expire obsolete overview entries
NEWSCTL=/usr/lib/news; export NEWSCTL
NEWSBIN=/usr/lib/newsbin; export NEWSBIN
NEWSARTS=/usr/spool/news; export NEWSARTS
PATH=$NEWSCTL/bin:$NEWSBIN:$NEWSBIN/maint:/bin:/usr/bin:/usr/ucb; export PATH
temp=$NEWSCTL/L.$$
lock=$NEWSCTL/LOCKoverview

echo $$ >$temp
trap "rm -f $temp; exit" 0 1 2 15
while newslock $temp $lock; test $? -ne 0; do
	sleep 15
done
trap "rm -f $temp $lock; exit" 0 1 2 15

cd $NEWSARTS
# prime shell hashing
sort /dev/null; ls / >/dev/null; sed 1q /dev/null; join /dev/null /dev/null
mv 2>/dev/null
# the sort is an attempt to maximise locality of reference in the file system
for d in ` awk '{print $1}' $NEWSCTL/active | tr . / | sort `
do
	(
	cd $d
	if test -s .overview; then
		sort .overview >.soverview # change from numeric to ascii order
		ls | sed -n '/^[0-9]*$/p' | join -t'	' - .soverview |
			sort -o .soverview -n	# change back to numeric order
		mv .soverview .overview
	fi
	)
done
