#! /bin/sh
# batmkov batchfile... - update all relevant .overview files from files
#	named in batchfile(s) (not the ideally-fast way to update the database)
nawk=/usr/local/bin/gawk
NEWSCTL=/usr/lib/news; export NEWSCTL
NEWSBIN=/usr/lib/newsbin; export NEWSBIN
NEWSARTS=/usr/spool/news; export NEWSARTS
PATH=$NEWSCTL/bin:$NEWSBIN:$NEWSBIN/maint:$NEWSBIN/relay:/bin:/usr/bin:/usr/ucb; export PATH
temp=$NEWSCTL/L.$$
lock=$NEWSCTL/LOCKoverview

sort $* |
(
	cd $NEWSCTL
	echo $$ >$temp
	trap "rm -f $temp; exit" 1 2 15
	until newslock $temp $lock; do
		sleep 5
	done
	trap "rm -f $temp $lock; exit" 1 2 15
	(
		cd $NEWSARTS
		xargs mkov -an | sort -t'	' +0 -1 +1n -2 |
			$nawk -F'	' '
# split input and append to .overview files
BEGIN	{ OFS="\t" }
$1 != dir {
	if (dir != "")
		close(dir "/.overview")
	dir = $1
}
{
	line = $2
	for (f = 3; f <= NF; f++)
		line = line "\t" $f
	print line >> (dir "/.overview")
}
'
		rm -f $temp $lock
	)
)
