		lbgm	Original from Alan S. Watt
			Modified by David Barto
    
    lbgm, with associated routines to allow the user to maintain
    a complete archive of sources as posted to net.sources, and
    mod.sources.

    Only one thing need be done by the news administrator.  This
    is to add the line

	SOURCES:!all,mod.sources,net.sources:B:SAVESOURCE

    where SAVESOURCE is the location of the savesource program.

    After this, the sources will be automatically archived, and
    can be administered by the programs in this package.

SYSTEM V USERS TAKE NOTE:
------ - ----- ---- ----
    Current is the directory, and the month is created at the end.  I
    have not implemented this, and If someone out there is kind enough,
    I would accept the changes.  Note as well that if you use the
    system it relies on the fact that file names can grow 'without
    bound'.  Please look at the code which extracts the name to the
    files, and modify for short names.  REMEMBER - files which are too
    large will be passed through split until they are small enough for
    64k mailers.


A description of the programs and the files:
- ----------- -- --- -------- --- --- -----
    There is no VOLUME1 as the files were not release with any
    volume/issue marker prior to volume 2
    
    There is no VOLUME2, as they got wedged at about issue 36,
    thus making it impossible to determine what goes where.

    VOLUME3:
	The list of volume numbers, and the mod.sources quick
	name for each, as posted by the moderator, for volume
	3 of the archive
    
    VOLUME4:
	The current list of volume numbers, and the mod.sources
	quick name for each, as posted by the moderator, for
	volume 4 of the archive.

    Add-bugs:
	Look through the ALL-TOC file, find bug/fix reports, and
	check to see if any could be bug/fix reports for files
	posted to mod.sources.  VERY CRUDE. (But it works)

    Bld_quick:
	Make the quicklist update from the Volume report output and
	the index as posted by the mod.sources moderator.  Very
	nice.  Must be hand integrated into the quicklist.

    Makefile:
	How to build all of these wonderfule sources

    RNmacros:
	Macros for using RN to assist you in the maintanence of
	the archive.

    SETUP:
	establish the basis of the archive from the current sources
	in the directories 'mod.sources' and 'net.sources*'.
    
    Volume:
	Generate the volume numbers for the items posted to mod.sources.

    all-mod-req:
	for given requests, extract the sources from the archive, 
	and mail them to the requestor.  Can be modified to allow
	for general requests. (Requires interaction in the editor
	of your choice.  NOT RECOMMENDED FOR USE IN 'automatic'
	retrieval of sources.)
    
    all-quick-req:
	used exclusively for the mod.sources 'automatic' retrieval.

    ckarch:
	sets up the call to 'lbgmCK'.  Adds in necessary code to add
	the file into the archive if it is missing.  (nice to trap
	code posted to newsgroups other than those you are trapping
	in the sys file...).  Also nice to 'validate' that the
	savesource routine is working.  (sometimes it drops things.)
    
    clean:
	installed in the archive 'Current' directory, this is
	to prevent typing mistakes.

    do-mail:
	does the work of mailing the requested and retrieved
	files.  Will break up files if they are too large.
    
    fix-path:
	if you have a pathalias datbase, this will shorten the
	paths in the LOGFILE.
    
    get:
	extract sources from the archive.  Runs as suid to the
	maintainer of the archive (typically news).
    
    get-mod-req:
	performs the work requested by all-mod-req

    get-std-req:
	experimental.  Used to extract standard sources in a quick
	fashion.  Requires LOTS of human intervention.

    lbgmCK:
	check to validate that a given message (as defined by message id)
	is in the archive.
    
    lbgmX:
	delete a given message (as defined by message id) from the
	archive.
    
    mv-current-to:
	move the Current directory to a month, create a new 'Current'
	directory. (calls rm-cancel, squish)

    process:
	to run the commands at a later time (default 1800).  This
	lightens the load during the day.

    quick-mod-req:
	Using the data generated from Volume, and Add-bugs, this
	will look in the file 'quicklist' and extract the files
	for processing by 'do-mail'. (called from all-quick-req)

    quicklist:
	File used to do the automatic mailing of the files from
	mod.sources.  Maintained using Volume, and Add-bugs.

	The distributed quicklist is specific to my site.  I will
	consider distribution of my archive to persons who want it
	on a case by case basis.  If I get too many requests for it
	I will not do it at all....

    rm-cancel:
	remove the 'cancel' and 'newgroup' messages from the archive.

    rmarch:
	sets up call to 'lbgmX', in the file '~/tozap'.
    
    savesource:
	does the actual archiving.
    
    shrink-log:
	remove un-necessary headers from the LOGFILE, uses fix-path
	to clean and shorten the paths.

    skip-words:
	for old uses of the all-mod-req program.  This is a list of
	words which should not be searched for.  OBSLETE.

    squish:
	run compress over the files in a directory, to save space
	calls shrink-log

    toc:
	Generate a table of contents for a single directory.  Called
	from all-toc.

	Those which have been listed as coming from 'mod.sources' have
	'*', those from 'other' news groups have 'x', and those from
	'net.sources*' have nothing after there names.

    toc-all:
	Generate the total table of contents.

    tozap:
	runs 'lbgmX' and 'lbgmCK' strings as generated by 'ckarch' and
	'rmarch'.
    
    valid-log:
	Check to see if the logfile is valid.  OBSOLETE

The makeup of the ARCHIVE directory looks like this:
lrwxr-xr-x  1 news            6 Jan 31 11:40 Current -> Feb_86
drwx------  2 news         4608 Jan 28 14:13 Dec_85
drwx------  2 news         2560 Feb 12 12:27 Feb_86
drwx------  2 news         5120 Jan 31 12:54 Jan_86
-rwsr-sr-x  1 news         1382 Feb 12 12:13 get

only the user 'news' is allowed into the archive sources, and any user
can run 'get' to aquire sources.  (examine get, and notice that it
mails the maintainer a letter about source aquisition.)  This is done
to maintain who gets sources, and if LOTS of people ask for the same
thing, you can install it in /usr/local{/bin} and then remove the
multiple local copies.

Most of the programs live in a central directory, as most are used
for maintainence of the archive.

I have been running this for over 3 months, and it works wonderfully.
If you have any problems, Please let me know, and if you fix them
please send the fixes.

-- 
David Barto, Celerity Computing, San Diego Ca, (619) 271-9940
decvax-\    bang-\			ARPA: celerity!barto@sdcsvax.ARPA
ucbvax--\   akgua-\
ihnp4----\-sdcsvax-\-celerity!barto

	"Moderation in all things, including moderation"
