#! /bin/sh # initialise overview files first time # =()<. ${NEWSCONFIG-@@}>()= . ${NEWSCONFIG-/usr/local/libexec/cnews/config} PATH=$NEWSCTL/bin:$NEWSBIN/nov:$NEWSBIN:$NEWSPATH ; export PATH umask $NEWSUMASK stamp=$NEWSCTL/time.stamp verbose=n case "$1" in -v) verbose=y ;; esac lock LOCK $$ trap '' 1 2 15 sleep 2 touch $stamp # anything newer we'll get from relaynews sleep 2 >$NEWSCTL/headers # avoid duplicates unlock LOCK trap 1 2 15 # after unlocking, relaynews may write new headers, to be processed later # by domkov lock LOCKoverview $$ trap "rm -f $stamp ; unlock LOCKoverview ; trap 0 ; exit" 0 1 2 15 # 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 $NEWSARTS if test ! -d $d then continue fi cd $d test " $verbose" = " y" && echo $d o=$NEWSOV/$d if test ! -d $o then mkpdir $o fi # sort -n ensures numeric article order ls -f | sort -n | mkov -aio $stamp >$NEWSOV/$d/.overview done