home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / wCNews_1.0.30.lha / man / gensys.man < prev    next >
Text File  |  1994-01-04  |  7KB  |  199 lines

  1.  
  2.  
  3.  
  4. GENSYS(8)                                               GENSYS(8)
  5.  
  6.  
  7. ¢1mNAME¢22m
  8.        gensys - compute which groups are needed from which feed
  9.  
  10. ¢1mSYNOPSIS¢22m
  11.        [uucp:c/]¢1mgensys¢22m [¡¢1mT¢22m] [¡¢1mx¢22mn]
  12.  
  13. ¢1mDESCRIPTION¢22m
  14.        This  program  computes which groups are fed to downstream
  15.        sites (as specified  in  ¢4muulib:news/sys¢24m),  optimizes  this
  16.        list and consults a second file (¢4muulib:news/feeds¢24m) to find
  17.        out which groups we can get from which feed.
  18.  
  19.        The format of the ¢4mfeeds¢24m file is a  simplified  version  of
  20.        the  ¢4msys¢24m  file (refer to ¢4mnews.man¢24m for further details), i.
  21.        e. only the name and newsgroups portions are used.
  22.  
  23.        After the lists have been computed, for any ¢4msystem¢24m a  pro¡
  24.        gram  gensys.¢4msystem¢24m is called which gets the needed groups
  25.        on its stdin. This program or ARexx¡script has to  perform
  26.        the  actual subscribtion, usually by sending an email in a
  27.        special format to an alias on the remote system  (such  as
  28.        changesys or autosys or MAF or CBMNET's newsserver).
  29.  
  30.        If  any error occures while compiling the lists or execut¡
  31.        ing the programs, ¢4mgensys¢24m quits with an error code  depend¡
  32.        ing on the place where this error occured.  It is an error
  33.        to specify a feed in the ¢4mfeeds¢24m file without having a  pro¡
  34.        gram/script  gensys.¢4mfeed¢24m  in  the current path (you should
  35.        place these programs in ¢4muucp:c¢24m).
  36.  
  37. ¢1mTHEORY¢22m ¢1mOF¢22m ¢1mOPERATION¢22m
  38.        First, all groups listed in any active entry  in  the  ¢4msys¢24m
  39.        file  are collected. The duplicate entries are deleted and
  40.        some  optimization  takes  place  (if  you  need   e.   g.
  41.        `news.all'  for  some site, you don't need to subscribe to
  42.        `news.list.ps¡maps' too, since the latter is  included  in
  43.        the first pattern).
  44.  
  45.        ¢1mNote¢22m  that  a  subscribtion  of `alt.tv,!alt.tv.mwc' makes
  46.        ¢4mgensys¢24m request the entire  `alt.tv'  tree  of  newsgroups:
  47.        exclusions are completely ignored since it's a non¡trivial
  48.        task to find out which  groups  are  actually  needed  and
  49.        which are not.  This may change in future, but currently I
  50.        don't need it; in the meantime,  get  your  downstream  to
  51.        subscribe  only  to  the  groups they want instead of sub¡
  52.        scribing to anything and unsubscribing  to  most  of  this
  53.        afterwards ;)
  54.        Furthermore, the group pattern `all' is also ignored, thus
  55.        if    you    have    a     ¢4msys¢24m     file     entry     like
  56.        `site:all/all,!local:F:',  for  this  site  ¢1mno¢22m  groups are
  57.        requested by ¢4mgensys¢24m. This is mainly to  prevent  you  from
  58.        getting 50 MB a day because of an accidental `all' in some
  59.        system's sys entry.
  60.  
  61.  
  62.  
  63.  
  64.                            18 Dec 1993                          1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. GENSYS(8)                                               GENSYS(8)
  71.  
  72.  
  73.        After the optimization, ¢4muulib:news/feeds¢24m is opened and for
  74.        any  valid entry any entry of it's newsgroups list is com¡
  75.        pared against the computed list; if an entry in the latter
  76.        matches  the former, this is put to the list of newsgroups
  77.        ¢4mgensys¢24m will  request  from  this  system.  If  the  matter
  78.        doesn't  match  the former, the check is reversed, thus if
  79.        we can receive partial groups of what we need, these  par¡
  80.        tial  groups  are requested. Let's elabotare on this: say,
  81.        ¢4mgensys¢24m finds out we need `alt.tv,de' and the current  feed
  82.        offers  `alt,de.admin'. In this case, `alt.tv' is included
  83.        in `alt' and thus this needed group is added to the to¡be¡
  84.        requested  list.  `de'  does not match `de.admin' (we need
  85.        more than the feed offers), but `de.admin' is included  in
  86.        `de'  ¡¡  therefore this is considered a partial match and
  87.        the offered group is added to the list of  to¡be¡requested
  88.        ones.  Thus,  out  of  the needed groups (`alt.tv,de') you
  89.        will request  `alt.tv,de.admin'  from  the  current  feed.
  90.        While  parsing  the  ¢4mfeeds¢24m  file,  the magic `all' ais not
  91.        excluded, thus you can easily specify `this feed is  will¡
  92.        ing  to  send  be  anything  I request' with an entry like
  93.        `feed:all/all::'.
  94.        I think you've got the idea ...
  95.  
  96.        After finishing that comparisons, the groups  we  sent  to
  97.        that  system  are  added  to  the list we request from it,
  98.        regardless of the contents of the respective entry in  the
  99.        ¢4mfeeds¢24m  file. The working theory is: any group we send some
  100.        remote system, that system usually wants to sent  back  to
  101.        us (i. e. bi¡directional exchange is assumed).
  102.        Thus,  even  if  you,  according  to the ¢4mfeeds¢24m file, can't
  103.        receive e. g. `zer' from that particular feed,  if  feed's
  104.        entry in your ¢4msys¢24m file denotes that he receives `zer' from
  105.        you, `zer' would be added to the list  of  to¡be¡requested
  106.        groups from feed.
  107.  
  108.        Finally  the program (or ARexx¡script) gensys.¢4mfeed¢24m is exe¡
  109.        cuted, on it's stdin, line by line, the groups  we  intend
  110.        to request from that feed. After successful execution, the
  111.        same procedure is executed for the next site according  to
  112.        the ¢4mfeeds¢24m file.
  113.  
  114. ¢1mFILES¢22m
  115.        uulib:news/sys         sys file, who gets which group from us?
  116.        uulib:news/feeds       feeds file, who can sent us which groups?
  117.        uucp:c/gensys.*    programs for remote¡subscription
  118.  
  119. ¢1mSEE¢22m ¢1mALSO¢22m
  120.        news(5), AREXX
  121.  
  122. ¢1mDIAGNOSTICS¢22m
  123.        -
  124.  
  125. ¢1mHISTORY¢22m
  126.        Written by Kai 'wusel' Siering in December 1993, utilizing
  127.  
  128.  
  129.  
  130.                            18 Dec 1993                          2
  131.  
  132.  
  133.  
  134.  
  135.  
  136. GENSYS(8)                                               GENSYS(8)
  137.  
  138.  
  139.        code written at U of Toronto by Henry  Spencer  and  Geoff
  140.        Collyer as part of C News.
  141.  
  142. ¢1mBUGS¢22m
  143.        ¢4mgensys¢24m  should  better cope with error conditions. Besides
  144.        this, it should be possible to specify exclusions  in  the
  145.        feeds file, which currently isn't.
  146.  
  147.        There   are   several  enchancements  planned  for  future
  148.        releases; unfortunately, my timetravel.device still  isn't
  149.        functional yet ...
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                            18 Dec 1993                          3
  197.  
  198.  
  199.