home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume23 / trn / part13 / newsgroups.SH < prev    next >
Text File  |  1991-08-22  |  3KB  |  99 lines

  1. case $CONFIG in
  2.     '') . ./config.sh ;;
  3. esac
  4. echo "Extracting newsgroups (with variable substitutions)"
  5. $spitshell >newsgroups <<!GROK!THIS!
  6. $startsh
  7. # $Header: newsgroups.SH,v 4.3.3.1 91/01/16 03:18:14 davison Trn $
  8. # $Log:    newsgroups.SH,v $
  9. # Revision 4.3.3.1  91/01/16  03:18:14  davison
  10. # Integrated rn patches 48-54.
  11. # Revision 4.3.2.7  90/04/23  19:30:41  sob
  12. # Extra space removed to make second part of newsgroups work.
  13. # Sigh.
  14. # Revision 4.3.2.6  90/04/06  20:35:37  sob
  15. # Added fixes for SCO Xenix sent by ronald@robobar.co.uk.
  16. # Revision 4.3.2.5  90/03/17  17:27:00  sob
  17. # System V sed and BSD sed don't work quite alike. This change uses a
  18. # syntax that is common between them.
  19. # Revision 4.3.2.4  89/11/08  01:13:35  sob
  20. # Finished modifications to make work with RN and RRN
  21. # Revision 4.3.2.3  89/11/07  22:58:04  sob
  22. # Added final changes to allow rn and rrn to be built from same sources.
  23. # Revision 4.3.2.2  89/11/07  22:52:22  sob
  24. # Added prelimiary support to allow both rrn and rn to be built from same
  25. # sources.
  26. # Revision 4.3.2.1  89/11/06  01:04:39  sob
  27. # Added RRN support from NNTP 1.5
  28. # Revision 4.3  85/05/01  11:43:27  lwall
  29. # Baseline for release with 4.3bsd.
  30.  
  31. export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh \$0; kill \$\$)
  32.  
  33. : syntax: newsgroups [pattern] [pipeflag]
  34.  
  35. : System Dependencies
  36.  
  37. : You might want to change pager to a "make column" program if you have one.
  38. : On the other hand, if your kernel does paging, cat would probably do.
  39. pager="${pager-/usr/ucb/more}"
  40. #NORMALactive="${active-/usr/lib/news/active}"
  41.  
  42. #NORMALcase \$active in
  43. #NORMAL~*) active=\`$filexp \$active\` ;;
  44. #NORMALesac
  45.  
  46. #NNTPactive="/tmp/active.\$\$"
  47.  
  48. : End of system dependencies, hopefully
  49.  
  50. #NNTP$rnlib/getactive \$active
  51.  
  52. if $test \$# -ge 2 ; then
  53.     pager=$cat
  54. else
  55.     $echo "Completely unsubscribed newsgroups:"
  56. fi
  57.  
  58. dotdir=\${DOTDIR-\${HOME-\$LOGDIR}}
  59.  
  60. : Throwing .newsrc into the pot twice is a lovely hack to prevent
  61. : bogus newsgroups from showing up as unsubscribed.
  62.  
  63. $cat \$dotdir/.newsrc \$dotdir/.newsrc \$active | \\
  64. $sed -n    -e '/^options/d' \\
  65.     -e '/^[     ]/d' \\
  66.     -e '/^control/d' \\
  67.     -e '/^to\./d' \\
  68.     -e 's/^\([^ !:]*\)[ !:].*\$/\1/' \\
  69.     -e "/.*\$1/p" | \\
  70. $sort | $uniq -u | \$pager
  71. if $test \$# -ge 2 ; then
  72.     exit
  73. fi
  74. $echo $n "[Type return to continue] $c"
  75. read tmp
  76. $echo ""
  77. $echo "Unsubscribed but mentioned in .newsrc:"
  78. $sed -n < \$dotdir/.newsrc \\
  79.     -e "/\$1.*!/"'s/^\([^!]*\)!.*\$/\1/p' | \\
  80. $sort | \$pager
  81. !GROK!THIS!
  82. case "$isrrn" in
  83. define)  sed < newsgroups -e '/^#NNTP/s/^#NNTP//' -e '/^#NORMAL/d' > newsgroups.new ;;
  84. *) sed < newsgroups -e '/^#NNTP/d' -e '/^#NORMAL/s/^#NORMAL//' > newsgroups.new ;;
  85. esac
  86. mv newsgroups.new newsgroups
  87. $eunicefix newsgroups
  88. chmod 755 newsgroups
  89.