home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / news / cnews.tar / nov / initov < prev    next >
Text File  |  1994-08-28  |  1KB  |  49 lines

  1. #! /bin/sh
  2. # initialise overview files first time
  3.  
  4. # =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()=
  5. . ${NEWSCONFIG-/etc/news/bin/config}
  6.  
  7. PATH=$NEWSCTL/bin:$NEWSBIN/nov:$NEWSBIN:$NEWSPATH ; export PATH
  8. umask $NEWSUMASK
  9.  
  10. stamp=$NEWSCTL/time.stamp
  11.  
  12. verbose=n
  13. case "$1" in
  14. -v)    verbose=y    ;;
  15. esac
  16.  
  17. lock LOCK $$
  18. trap '' 1 2 15
  19. sleep 2
  20. touch $stamp        # anything newer we'll get from relaynews
  21. sleep 2
  22. >$NEWSCTL/headers    # avoid duplicates
  23. unlock LOCK
  24. trap 1 2 15
  25. # after unlocking, relaynews may write new headers, to be processed later
  26. # by domkov
  27.  
  28. lock LOCKoverview $$
  29. trap "rm -f $stamp ; unlock LOCKoverview ; trap 0 ; exit" 0 1 2 15
  30.  
  31. # the sort is an attempt to maximise locality of reference in the file system
  32. for d in ` awk '{print $1}' $NEWSCTL/active | tr . / | sort `
  33. do
  34.     cd $NEWSARTS
  35.     if test ! -d $d
  36.     then
  37.         continue
  38.     fi
  39.     cd $d
  40.     test " $verbose" = " y" && echo $d
  41.     o=$NEWSOV/$d
  42.     if test ! -d $o
  43.     then
  44.         mkpdir $o
  45.     fi
  46.     # sort -n ensures numeric article order
  47.     ls -f | sort -n | mkov -aio $stamp >$NEWSOV/$d/.overview
  48. done
  49.