home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume4 / alt-clean < prev    next >
Internet Message Format  |  1989-02-03  |  10KB

  1. Path: xanth!mcnc!rutgers!mailrus!husc6!linus!necntc!ncoast!allbery
  2. From: vix@ubvax.UB.Com (Paul Vixie)
  3. Newsgroups: comp.sources.misc
  4. Subject: v04i078: A bilge pump for the ALT hierarchy
  5. Message-ID: <11937@ubvax.UB.Com>
  6. Date: 19 Sep 88 01:42:59 GMT
  7. Sender: allbery@ncoast.UUCP
  8. Reply-To: vix@ubvax.UB.Com (Paul Vixie)
  9. Organization: none in particular
  10. Lines: 214
  11. Approved: allbery@ncoast.UUCP
  12.  
  13. Posting-number: Volume 4, Issue 78
  14. Submitted-by: "Paul Vixie" <vix@ubvax.UB.Com>
  15. Archive-name: alt-clean
  16.  
  17. Though I'm no longer a contractor, I still maintain NetNews for Ubvax as a
  18. service to the sites they feed news to (i.e., I don't get paid for this).
  19.  
  20. Alt is a sewer and this is my way of dealing with it.  Have fun, everybody.
  21.  
  22. #! /bin/sh
  23. ##  This is a shell archive.  Remove anything before this line, then unpack
  24. ##  it by saving it into a file and typing "sh file".  To overwrite existing
  25. ##  files, type "sh file -c".  You can also feed this as standard input via
  26. ##  unshar, or by typing "sh <file".  If this archive is complete, you will
  27. ##  see the following message at the end:
  28. #        "End of shell archive."
  29. # Contents:  README-sys.m4 Makefile sys.m4
  30. # Wrapped by vix@ubvax.ub.com on Sat Sep  3 13:40:35 1988
  31. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  32. if test -f README-sys.m4 -a "${1}" != "-c" ; then 
  33.   echo shar: Will not over-write existing file \"README-sys.m4\"
  34. else
  35. echo shar: Extracting \"README-sys.m4\" \(3894 characters\)
  36. sed "s/^X//" >README-sys.m4 <<'END_OF_README-sys.m4'
  37. XPaul Vixie
  38. X3-Sept-88
  39. Xsys.m4
  40. X
  41. XRATIONALE
  42. X
  43. XAs of a few months ago, the "alt" hierarchy has become the dung heap of
  44. XUsenet.  Because there are no rules on group creation, "trash" groups
  45. Xare added and deleted constantly.
  46. X
  47. XMy usual policy in Usenet site administration is to carry all the groups
  48. XI can get my hands on, even if I only read a very small fraction of them.
  49. XI.e., the fact that many "alt" groups are not interesting to me is not
  50. Xmy reason for calling them "trash".
  51. X
  52. XIn the main categories of Usenet (comp, news, misc, talk, and so on), I
  53. Xhave been able to safely carry all groups in the various hierarchies since
  54. Xthe "trash" contingent was kept to a minimum.  I run my B News software
  55. Xwith the option that automatically accepts incoming "newgroup" control
  56. Xmessages.
  57. X
  58. XAlt, however, cannot be so "trusted".  I have no reason to expect that a
  59. Xnew "alt" group will be anything but trash, and my /usr/lib/news/sys file
  60. Xhas become very messy as a result: rather than allowing all of "alt" and
  61. Xthen disallowing the groups I do not favor, as in
  62. X
  63. X    site:alt,!alt.weemba,!alt.california,...:
  64. X
  65. X...I have taken to disallowing all of alt and then allowing the groups I
  66. X_do_ favor, as in:
  67. X
  68. X    site:alt,!alt.all,alt.gourmand,alt.individualism,...:
  69. X
  70. XPutting these restrictions on my own "sys" line is of limited effectiveness,
  71. Xsince the articles seem to land in "junk" and in fact are sometimes sent on
  72. Xto my neighbors.  Putting these restrictions on every neighbor's sys line
  73. Xmakes a disasterous mess of my "sys" file.  Asking my neighbors to only
  74. Xforward the groups I approve of is a big pain for them and for me.
  75. X
  76. XEnter "sys.m4".  M4 is a macro preprocessor, somewhat more general than the
  77. XC preprocessor although more arcane in its directives.  What I've done is to
  78. Xdefine my feelings about the "alt" hierarchy and then include them in every
  79. Xline of my "sys.m4" file.  When M4 processes the sys.m4 file and creates the
  80. X"sys" file, the list of approved groups appears everywhere, in all its
  81. Xglorious ugliness.  But this doesn't get in my face, since I don't ever
  82. Xedit the "sys" file - I edit "sys.m4" and rerun M4.
  83. X
  84. XINSTALLATION
  85. X
  86. XIf you aren't familiar with M4, go read the man page.  If you can find the
  87. Xpaper on M4 in your "supplementary documents", read that too.  You will not
  88. Xneed to be an M4 wizard, but you will have to understand what it is and what
  89. Xit does.
  90. X
  91. XThis package consists of these files:
  92. X
  93. X    README-sys.m4    you're reading it
  94. X    Makefile    runs M4 on "sys.m4", creates "sys".
  95. X    sys.m4        my sys.m4 file, you can use it as a prototype
  96. X
  97. XInstallation is simple but _not_ automatic.  First you should check to
  98. Xsee that these file names aren't already in use in your /usr/lib/news;
  99. Xif they are, you'll have to be creative and good luck.  If not, move
  100. Xthe files into /usr/lib/news.  Make a backup copy of your "sys" file,
  101. Xcalled "sys.backup" or "sys.save" or whatever you call such things.
  102. XThen edit "sys.m4" and examine carefully until you understand what's
  103. Xgoing on.  Delete all the inapplicable stuff, append your "sys.save"
  104. Xfile, and edit the result until you are using the new features of M4.
  105. X
  106. XNote that the next step will destroy your "sys" file, which is why we
  107. Xbacked it up above.  If you misunderstood the details of "M4" or of
  108. Xmy use of its features, you will have to recover your "sys" file from
  109. Xthe backup.
  110. X
  111. XSo with that in mind, get to /usr/lib/news and say "make sys".  Examine
  112. Xthe resultant "sys" file to see if it's what you wanted.  If not, go
  113. Xback and edit "sys.m4" and try again.  Repeat until you get what you
  114. Xwant or until you have to give up and restore your old "sys" file.
  115. X
  116. XCONCLUSION
  117. X
  118. XI hope C News and News 3.0 make this easier to do.  I think "inews" has
  119. Xto read and parse the whole "sys" file for every article you receive in
  120. XB News 2.11, so this hack slows things down a lot.  But if I can pump
  121. Xbilge out of my system at the expense of some extra CPU cycles, it's
  122. Xworth it.
  123. END_OF_README-sys.m4
  124. if test 3894 -ne `wc -c <README-sys.m4`; then
  125.     echo shar: \"README-sys.m4\" unpacked with wrong size!
  126. fi
  127. # end of overwriting check
  128. fi
  129. if test -f Makefile -a "${1}" != "-c" ; then 
  130.   echo shar: Will not over-write existing file \"Makefile\"
  131. else
  132. echo shar: Extracting \"Makefile\" \(191 characters\)
  133. sed "s/^X//" >Makefile <<'END_OF_Makefile'
  134. X# Makefile for /usr/lib/news/sys, created from sys.m4
  135. X# vix 03sep88 [written]
  136. X
  137. XSYS=    sys
  138. X
  139. Xall:;    @-echo "make what? try 'make sys' if that's what you mean."
  140. X
  141. X$(SYS):    sys.m4
  142. X    m4 sys.m4 > $(SYS)
  143. END_OF_Makefile
  144. if test 191 -ne `wc -c <Makefile`; then
  145.     echo shar: \"Makefile\" unpacked with wrong size!
  146. fi
  147. # end of overwriting check
  148. fi
  149. if test -f sys.m4 -a "${1}" != "-c" ; then 
  150.   echo shar: Will not over-write existing file \"sys.m4\"
  151. else
  152. echo shar: Extracting \"sys.m4\" \(2692 characters\)
  153. sed "s/^X//" >sys.m4 <<'END_OF_sys.m4'
  154. X# the source for this is /usr/lib/news/sys.m4.  Do not edit this file, edit
  155. X# the M4 version and then while in /usr/lib/news say "make sys".  Note that
  156. X# in order for this text to appear in the "sys" file, you will see it when
  157. X# you edit the "sys.m4" file as well.        Paul Vixie, 3-Sept-88
  158. X#
  159. X# Notes for M4 novices: strings are quoted `like this', and quotes are
  160. X# very much needed around the arguments to `define', see man page for
  161. X# details.  The `dnl' is also helpful.  Putting a single newsgroup on
  162. X# the last line of the `ALT' define makes the output look nicer, you'll see.
  163. X
  164. Xundefine(`unix')dnl
  165. Xdefine(`ALT',`alt,!alt.all,alt.config,alt.test,\
  166. X    alt.gourmand,alt.sources,alt.sources.amiga,\
  167. X    alt.hypertext,alt.aquaria,\
  168. X    alt.individualism,alt.recovery,\
  169. X    alt.sex,alt.drugs,alt.rock-n-roll,\
  170. X    alt.sca,alt.emusic,alt.cult-movies,\
  171. X    alt.cyberpunk')dnl
  172. X
  173. X#
  174. X# localhost
  175. X#
  176. Xubvax:world,comp,news,sci,rec,misc,soc,talk,na,ba,ca,usa,su,to,ub,\
  177. X    ALT,biz,pubnet,inet,bionet,unix-pc,usrgroup,gnu::
  178. Xmaps:world,comp.mail.maps:F:/usr/spool/uucpmap/comp.mail.maps/Batch
  179. X#
  180. X# partial feeds to decrease propagation delay
  181. X#
  182. Xuunet:world,ALT,comp,news,sci,rec,misc,soc,talk,inet,gnu,ba,ca,to.uunet:L1F:
  183. Xcae780:world,ALT,comp,news,sci,rec,misc,soc,talk,inet,ba,ca,to.cae780:L1F:
  184. Xweitek:world,ALT,comp,news,sci,rec,misc,soc,talk,inet,ba,ca,to.weitek:L1F:
  185. Xlll-winken:biz,pubnet,usrgroup,bionet,unix-pc,inet,ALT,gnu,\
  186. X    world,comp,news,sci,rec,misc,soc,talk,na,ba,ca,usa,to.lll-winken:L2F:
  187. Xamdahl:ba,ca,gnu,ALT,to.amdahl:F:
  188. X#
  189. X# full feeds
  190. Xvsi1/ames:inet,ALT,world,comp,news,sci,rec,misc,soc,talk,na,ba,ca,usa,gnu,\
  191. X    to.vsi1,bionet,unix-pc,usrgroup,biz:F:
  192. Xardent:inet,ALT,world,comp,news,sci,rec,misc,soc,na,ba,ca,usa,gnu,\
  193. X    to.ardent,bionet,unix-pc,usrgroup:F:
  194. Xmrspoc:inet,ALT,world,comp,news,sci,rec,misc,soc,talk,na,ba,ca,usa,gnu,\
  195. X    to.mrspoc,bionet,unix-pc,usrgroup,biz:F:
  196. Xpyramid/ames:ALT,world,comp,news,sci,rec,misc,soc,talk,na,ba,ca,usa,su,to.pyramid:IF:
  197. Xames/vsi1:inet,world,comp,news,sci,rec,misc,soc,talk,na,ba,ca,usa,su,gnu,\
  198. X    alt,!alt.all,alt.config,alt.test,alt.sources,alt.gourmand,\
  199. X    to.ames,bionet,unix-pc,usrgroup:F:
  200. X#
  201. X# dalek is Seth Bradley's machine in Sunnyvale
  202. X#
  203. Xdalek:ba,ca,na,usa,world,news,ALT,misc,rec,!rec.music,!rec.aviation,\
  204. X!rec.ham-radio,sci.electronics,sci.math,sci.med,sci.physics,news,comp.dcom,\
  205. Xcomp.mail,comp.org,comp.periphs,comp.sources,comp.sys.atari.8bit,comp.doc,\
  206. Xcomp.sys.dec,comp.sys.ibm.pc,comp.binaries.ibm,comp.newprod,talk.origins,\
  207. Xcomp.lang,comp.text,comp.unix,to.dalek:F:/usr/spool/batch/dalek
  208. X#
  209. X# vixie is Paul's home machine
  210. X#
  211. Xvixie:world,na,ba,ca,!ba.all,!ca.all,alt,!alt.all,alt.sex,\
  212. X    comp.windows.x,alt.individualism,talk.politics.theory,all.philosophy:F:
  213. X#
  214. END_OF_sys.m4
  215. if test 2692 -ne `wc -c <sys.m4`; then
  216.     echo shar: \"sys.m4\" unpacked with wrong size!
  217. fi
  218. # end of overwriting check
  219. fi
  220. echo shar: End of shell archive.
  221. exit 0
  222. -- 
  223. Paul Vixie
  224. Consultant        Work: 408-562-7798    vix@ub.com    vix%ubvax@uunet.uu.net
  225. Ungermann-Bass    Home: 415-647-7023    {amdahl,ptsfa,pyramid,uunet}!ubvax!vix
  226. Santa Clara, CA              <<I do not speak for Ungermann-Bass>>
  227.