home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 400-499 / ff473.lzh / CNewsSrc / cnews_src.lzh / misc / addfeed < prev    next >
Text File  |  1990-04-20  |  1KB  |  67 lines

  1. #! /bin/sh
  2. # addfeed - add an outbound feed
  3.  
  4. # =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()=
  5. . ${NEWSCONFIG-/usr/lib/news/bin/config}
  6.  
  7. PATH=$NEWSCTL/bin:$NEWSBIN/maint:$NEWSBIN/relay:$NEWSBIN:$NEWSPATH ; export PATH
  8. umask $NEWSUMASK
  9.  
  10. usage="Usage: $0 [-L] sitename groups"
  11.  
  12. local=
  13. case "$1" in
  14. -L)    local=L ; shift ;;
  15. esac
  16.  
  17. case $# in
  18. 2)    ;;
  19. *)    echo "$usage" >&2 ; exit 2    ;;
  20. esac
  21.  
  22. case "$1$2" in
  23. *:*)    echo "$usage" >&2 ; exit 2    ;;
  24. esac
  25. if egrep -s "^$1:" $NEWSCTL/sys >/dev/null
  26. then
  27.     echo "$0: sys-file entry for \`$1' already exists" >&2
  28.     exit 1
  29. fi
  30.  
  31. case "$2" in
  32. =*)    b="`echo $2 | sed 's/^=//'`"        # base system
  33.     groups="`awk -F: \"\\\$1 == \\\"$b\\\" {print \\\$2}\" $NEWSCTL/sys |
  34.                         sed \"s;to\\.$b;to.$1;\"`"
  35.     ;;
  36. *)    groups="$2"    ;;
  37. esac
  38. case "$groups" in
  39. */*)    ;;
  40. *)    groups="$groups/all"    ;;
  41. esac
  42.  
  43. lock="$NEWSCTL/LOCK"
  44. ltemp="$NEWSCTL/L.$$"
  45. echo $$ >$ltemp
  46. trap "rm -f $ltemp ; exit 0" 0 1 2 15
  47. while true
  48. do
  49.     if newslock $ltemp $lock
  50.     then
  51.         trap "rm -f $ltemp $lock ; exit 0" 0 1 2 15
  52.         break
  53.     fi
  54.     echo 'news system locked, waiting...'
  55.     sleep 5
  56. done
  57.  
  58. echo "$1:$groups:${local}f:" >>$NEWSCTL/sys
  59. mkdir "$NEWSARTS/out.going/$1"
  60.  
  61. if egrep -s "^($1|/default/)[     ]" $NEWSCTL/batchparms
  62. then
  63.     : okay
  64. else
  65.     echo "$0: remember to add a line to \`batchparms' for \`$1'"
  66. fi
  67.