home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
back2roots/padua
/
padua.7z
/
padua
/
uucp
/
gensys0.11.lha
/
gensys.man
< prev
next >
Wrap
Text File
|
1993-12-19
|
7KB
|
199 lines
GENSYS(8) GENSYS(8)
¢1mNAME¢22m
gensys - compute which groups are needed from which feed
¢1mSYNOPSIS¢22m
[uucp:c/]¢1mgensys¢22m [¡¢1mT¢22m] [¡¢1mx¢22mn]
¢1mDESCRIPTION¢22m
This program computes which groups are fed to downstream
sites (as specified in ¢4muulib:news/sys¢24m), optimizes this
list and consults a second file (¢4muulib:news/feeds¢24m) to find
out which groups we can get from which feed.
The format of the ¢4mfeeds¢24m file is a simplified version of
the ¢4msys¢24m file (refer to ¢4mnews.man¢24m for further details), i.
e. only the name and newsgroups portions are used.
After the lists have been computed, for any ¢4msystem¢24m a pro¡
gram gensys.¢4msystem¢24m is called which gets the needed groups
on its stdin. This program or ARexx¡script has to perform
the actual subscribtion, usually by sending an email in a
special format to an alias on the remote system (such as
changesys or autosys or MAF or CBMNET's newsserver).
If any error occures while compiling the lists or execut¡
ing the programs, ¢4mgensys¢24m quits with an error code depend¡
ing on the place where this error occured. It is an error
to specify a feed in the ¢4mfeeds¢24m file without having a pro¡
gram/script gensys.¢4mfeed¢24m in the current path (you should
place these programs in ¢4muucp:c¢24m).
¢1mTHEORY¢22m ¢1mOF¢22m ¢1mOPERATION¢22m
First, all groups listed in any active entry in the ¢4msys¢24m
file are collected. The duplicate entries are deleted and
some optimization takes place (if you need e. g.
`news.all' for some site, you don't need to subscribe to
`news.list.ps¡maps' too, since the latter is included in
the first pattern).
¢1mNote¢22m that a subscribtion of `alt.tv,!alt.tv.mwc' makes
¢4mgensys¢24m request the entire `alt.tv' tree of newsgroups:
exclusions are completely ignored since it's a non¡trivial
task to find out which groups are actually needed and
which are not. This may change in future, but currently I
don't need it; in the meantime, get your downstream to
subscribe only to the groups they want instead of sub¡
scribing to anything and unsubscribing to most of this
afterwards ;)
Furthermore, the group pattern `all' is also ignored, thus
if you have a ¢4msys¢24m file entry like
`site:all/all,!local:F:', for this site ¢1mno¢22m groups are
requested by ¢4mgensys¢24m. This is mainly to prevent you from
getting 50 MB a day because of an accidental `all' in some
system's sys entry.
18 Dec 1993 1
GENSYS(8) GENSYS(8)
After the optimization, ¢4muulib:news/feeds¢24m is opened and for
any valid entry any entry of it's newsgroups list is com¡
pared against the computed list; if an entry in the latter
matches the former, this is put to the list of newsgroups
¢4mgensys¢24m will request from this system. If the matter
doesn't match the former, the check is reversed, thus if
we can receive partial groups of what we need, these par¡
tial groups are requested. Let's elabotare on this: say,
¢4mgensys¢24m finds out we need `alt.tv,de' and the current feed
offers `alt,de.admin'. In this case, `alt.tv' is included
in `alt' and thus this needed group is added to the to¡be¡
requested list. `de' does not match `de.admin' (we need
more than the feed offers), but `de.admin' is included in
`de' ¡¡ therefore this is considered a partial match and
the offered group is added to the list of to¡be¡requested
ones. Thus, out of the needed groups (`alt.tv,de') you
will request `alt.tv,de.admin' from the current feed.
While parsing the ¢4mfeeds¢24m file, the magic `all' ais not
excluded, thus you can easily specify `this feed is will¡
ing to send be anything I request' with an entry like
`feed:all/all::'.
I think you've got the idea ...
After finishing that comparisons, the groups we sent to
that system are added to the list we request from it,
regardless of the contents of the respective entry in the
¢4mfeeds¢24m file. The working theory is: any group we send some
remote system, that system usually wants to sent back to
us (i. e. bi¡directional exchange is assumed).
Thus, even if you, according to the ¢4mfeeds¢24m file, can't
receive e. g. `zer' from that particular feed, if feed's
entry in your ¢4msys¢24m file denotes that he receives `zer' from
you, `zer' would be added to the list of to¡be¡requested
groups from feed.
Finally the program (or ARexx¡script) gensys.¢4mfeed¢24m is exe¡
cuted, on it's stdin, line by line, the groups we intend
to request from that feed. After successful execution, the
same procedure is executed for the next site according to
the ¢4mfeeds¢24m file.
¢1mFILES¢22m
uulib:news/sys sys file, who gets which group from us?
uulib:news/feeds feeds file, who can sent us which groups?
uucp:c/gensys.* programs for remote¡subscription
¢1mSEE¢22m ¢1mALSO¢22m
news(5), AREXX
¢1mDIAGNOSTICS¢22m
-
¢1mHISTORY¢22m
Written by Kai 'wusel' Siering in December 1993, utilizing
18 Dec 1993 2
GENSYS(8) GENSYS(8)
code written at U of Toronto by Henry Spencer and Geoff
Collyer as part of C News.
¢1mBUGS¢22m
¢4mgensys¢24m should better cope with error conditions. Besides
this, it should be possible to specify exclusions in the
feeds file, which currently isn't.
There are several enchancements planned for future
releases; unfortunately, my timetravel.device still isn't
functional yet ...
18 Dec 1993 3