ftp.nice.ch/pub/next/unix/network/news/CNews.2.1.NIHS.b.tar.gz#/CNews.pkg/_CNews/Info/CNews-READMEs

COPYRIGHT
 
README
 
README-ctlfiles
 
README.changes
 
README.install
 
quiz.def
 
update.ran
 

README

Cleanup Release of C News, with patch CR.E			Jan 1995

The current C News distribution can be retrieved by anonymous FTP from
ftp.cs.toronto.edu (file pub/c-news/c-news.tar.Z) or ftp.zoo.toronto.edu
(file pub/cnews.tar.Z).  Please avoid major use of FTP during our peak
hours (0800-1800 Eastern time, zone -0500).  Major archive sites such as
ftp.uu.net and ftp.funet.fi also usually have the latest distribution.

See README.changes for what's new and wonderful, README.install for
installation instructions, README.etc for general notes.

Warning:  the documentation in doc/ is somewhat out of date.

We are grateful for financial support of C News development by the
following, none of whom are to blame for the final result (some more
detailed information can be found in the "sponsors" directory):

UUNET Communications Services Inc.	(provider of Usenet news feeds)
ClariNet Communications Corp.	(publisher of a Usenet-format E-newspaper)

README-ctlfiles






The following files can appear in /usr/local/news/lib. There may be
others for the sake of local news readers, etc., but these are the
ones C News knows about.

active         Major control file: list of newsgroups recog-
               nized at this site, including current maximum
               and minimum article  numbers  and  moderation
               status.  Updated by relaynews and upact.

active.old     Previous active.  Created by upact.

active.times   List of created newsgroups and when they were
               created, aimed at making it possible for news
               readers to be smarter about  knowing  when  a
               group  is  new.  Only supported by some stan-
               dard news readers.

batchlog       Latest batcher log, created  by  sendbatches,
               showing backlogs.

batchlog.o*    Previous batcher logs.

batchparms     Control file for sendbatches, specifying  how
               to feed other sites.

bin            Master  override  directory   for   programs,
               searched  before  any  other  by  all  C News
               software.  Normally contains only the  config
               shell  file  specifying  where to find every-
               thing else.

errlog         Error log from relaynews.

errlog.o*      Previous errlogs.

explist        Control file for expire, specifying what gets
               expired,  and  when,  and  what  archiving is
               done.

history        List of  articles  currently  known  at  this
               site,  with  reception  dates  and pathnames.
               Updated by relaynews and expire.

history.dir    Part of the dbm index for history.

history.pag    Other part of the dbm index for history.

history.n      Temporary version of history, while expire is
               running;  can  be  left behind if expire ter-
               minates abnormally.

history.n.dir  Part of the dbm index for history.n.

history.n.pag  Other part of the dbm index for history.n.

history.o      Previous history.  Created by expire.

localgroups    List of local groups  and  descriptions,  for
               use  by  checkgroups  control-message handler
               (which uses it to decide what groups are leg-
               itimate  even  though the checkgroups message
               did not mention them).  Each line is a  group
               name,  a  tab, and a terse description of the
               group.  The descriptions  are  read  only  by
               humans.

log            Log file from relaynews, reporting  what  was
               received and when.

log.o*         Previous logs.

mailname       Name of the site for purposes of mail,  typi-
               cally  a  domainized  name.  Used in building
               ``From:'' lines in newly-posted news.  If not
               present, ``hostname.uucp'' is assumed.

mailpaths      Mailing routes for submissions  to  moderated
               newsgroups.

newsgroups     File created by checkgroups processing,  with
               names  and  descriptions  of newsgroups.  For
               human reading only.  Format identical to that
               of localgroups.

newsgroups.bac Previous newsgroups file.  Created by  check-
               groups processing.

organization   Name of the organization, for inews's use  in
               creating   the  Organization:  header  for  a
               posted article.

postdefltdist  Default   distribution   (if   any;   default
               ``world'') for postnews.

postdefltgroup Default newsgroup  (if  any;  default  is  to
               insist  on  the user supplying one) for post-
               news.

replyusepath   This file should exist if  and  only  if  the
               local  ``mail''  command  is unable to handle
               `@' addresses, meaning that replies  to  con-
               trol  messages  (etc.) must use the ``Path:''
               line instead of ``From:''.  The contents  are
               ignored.

server         Host name  of  the  news  server,  where  all
               operations  (posting,  etc.)  should be done.
               If file  does  not  exist,  current  host  is
               assumed.

sys            Major control file specifying what groups are
               legitimate  here,  and what groups are fed to
               other sites.

watchtime      Last time newswatch was run.

whoami         Name of the system  for  news  purposes,  for
               newshostname.   If file does not exist, other
               sources (hostname etc.) are consulted.

README.changes

High points of patch CR.E:
This one is mostly fairly minor things.  The big changes are further work
on upact, to remove a race condition that would sometimes update the min
number incorrectly for low-traffic newsgroups, and revisions to inews's
interior to remove ersh and thus the last invocation of rsh, at the expense
of building somewhat longer message IDs when posting on a server from a
client.  Histinfo (used in mkhistory etc.) now ignores nonexistent articles
rather than croaking on them.  The newsflag command is now documented.  The
configuration setup used for regression tests has been revised to ignore
any NEWSCTL (etc.) environment variables that you may happen to have
in your environment (which may be right for production use, but are most
definitely wrong for the regression tests, which want to supply their own).
Quiz no longer offers to fake link(), which can't be done without breaking
the locking protocol (oops).  The expovguts messages have been improved.
More portability work in dostatfs.  And the usual minor fixes.

High points of patch CR.D:
This one's mostly a cleanup job on CR.B/CR.C.  The one really new item
is a queuelen appropriate to Taylor UUCP.  The master makefile has been
fixed to eliminate complaints from make, and to do the "patchchores"
checks itself so they can be done before fixing the subordinate makefiles.
The upact regression test has been fixed to pick up checkactive properly,
and to *pass* the resulting test; as a side effect, checkactive has acquired
a new option, -n.  A few more undesirable redeclarations of system functions
have been rooted out, and dostatfs.c has been beaten on a bit to make it
more likely to compile "straight out of the box" on Suns.  And I've started
what's going to be a long campaign of adding space around lines changed by
subst, so that they don't mess up patches.

High points of patch CR.C:
This is the second part of a two-part patch, the first being CR.B.  Install
both parts, this one second.  In this part...  A nasty bug in newsgroup
removal (which could wipe out a number of files in NEWSCTL) has been fixed.
There is a new command, checkactive, which does a fairly rigorous check of
the contents of the active file; several commands which modify the active
file now use checkactive to check their new version before installing it.
Mergeactive now adds directories for the new newsgroups.  The badexpiry
command, which looks for newsgroups with many articles with long expiry
dates, has been improved and is now documented.  The newsdb(5) manpage
now warns reader implementors about non-atomic updates.  Postnews retains
the user's PATH for use within the editor.  dostatfs.c has been made a bit
more portable (I hope), or at least easier to fix when it does break --
the statfs() system call is not very portable, it turns out.  queuelen.old
has been renamed queuelen.vo for internal reasons.  Plus the usual minor
cleanups and fixes.

High points of patch CR.B:
This is the first part of a two-part patch, the second being CR.C.  Install
both parts, this one first.  In this part...  The viauux -g option now accepts
multi-character grade names.  The batcher now works even if off_t is longer
than long.  Just plain "make" now balks if you haven't run quiz, or if you
need to re-run it.  Expire now grumbles if a line in explist applies to no
newsgroups.  Upact has been made more robust, does a much more rigorous
check of the new active file before installing it (using the new checkactive
program in CR.C), and has a more rigorous regression test.  Complaints from
the exploder (e.g. about batch files it cannot create) are now reported
properly.  Permissions on gunzip have been fixed.  Numeric filenames in
in.coming are now absolute dates, not relative to an undocumented origin
(this is possible since CR.A's changes to filenames avoid a 14-character
problem).  The makefile now spots whether you've incompletely installed a
multi-part patch (like this one) and removes files obsoleted by patches
(something "patch" itself cannot be convinced to do).  And the usual bits
of cleanup, portability, and minor bug fixes.

High points of patch CR.A:
Quiz now pays attention to the compiler-name and config-file-location
question answers.  The PATH bug in control-message handling has been fixed.
Upact now checks for duplicate newsgroups in active, which foul it up.
Doexpire -e means expire only, don't run upact and expov.  Newsrun uses
suffix .t, rather than .Z.t, for decompressed compressed batches.  Expov
reports articles with numbers below min (which mean something's wrong).
"make cmp" tests whether spacefor works.  The names of the batcher local
locks have changed.  Lots of little portability fixes and minor bug fixes.
Overviews are still mandatory, bash is still broken; fixes for these later.

High points of the Cleanup Release:

First, the source has been extensively reorganized, so don't bother diffing
against older releases.

Many things have been speeded up, fixed, or improved.  The regression tests
are much more comprehensive, and are now formally part of installation.

Overview support has been fully integrated and is faster than it used to be.
It includes support for putting the overview files somewhere other than the
article tree.

Included -- currently as contributed software, not fully tested or well
integrated -- is a small transport-only NNTP implementation.  Further work
on this stuff is anticipated.

The installation procedures have been revamped substantially, with much of
the work now done by makefiles.  The old conf/build is now quiz, and the
interrogation is rather shorter.  See README.install for details.  Among
other things, there is now some provision for checking correctness of an
install after it's done.

Batcher locking is much improved, some degree of parallel operation is
possible, THE FORMAT OF BATCHPARMS HAS CHANGED (for the better), absolute
limits on batch length are possible, and there are some preliminary hooks
for using the batcher to run outgoing NNTP transmission.

Newgroup/rmgroup processing is now controlled by the controlperm file,
directory removal after rmgroup is automatic (once the last articles
expire), newgroup is *much* fussier about group names, the newsgroups
file is properly maintained, and sendsys/version control messages are
ignored unless the return address is of the form "newsmap@...".

Expire is faster and smarter and can be told that history files are in a
different directory.  Doexpire runs upact and expov.  Upact is much faster
while remaining a shell file; updatemin is gone.

Inews/injnews error checking is better and it has provision for supplying
From addresses of the form user%site@do.main.

There is support for use of gzip for batch compression, and a generalized
facility for supporting other compressors.  Newsrun is generally smarter
and supports an option that says "process plain input but not compressed
input".

Dbz has been split into two parts:  dbz functionality, and dbm emulation
on top of it.  It has several new bits of functionality, including automatic
tag sizing (if you don't know what this means, don't worry about it).

The old "what kind of Unix do you have?" question is gone, replaced by a
few more "do you have feature xyz?" questions.

The getdate() routine, source of many compilation headaches, is gone.

For those who truly believe that bundling all sorts of control functions
into a single command is a Good Thing, there is now a cnewsdo command
which provides a bundled interface to the C News maintenance commands.
Of course, the individual commands are still available too.

There is a new setup command, mergeactive, for setting up your active
file based on someone else's.

Newswatch is smarter, can be run frequently without adverse effects, and
has a hook for running your own private command(s) for dealing with space
shortages.

We've started splitting the zillion-command manual pages down into smaller
ones, although this is by no means finished yet.

Relaynews, apart from being faster, now copes fully with article trees
split across file systems, doing symbolic links and/or data copying as
necessary.  RELAYNEWS OPTIONS HAVE CHANGED.

There is support for SVR4 statvfs() space checking and UUCP queue checking.
Shell-file locking has been organized and packaged up for cleanliness and
ease of change.  Trouble reporting now all goes through one command, "report",
which can be altered as necessary to suit local conventions.  (The NEWSMASTER
configuration variable no longer exists, as a consequence of this.)

The software has been built on BSDI and on a recent Solaris.

README.install

The installation procedure has changed, a lot.  It relies much more on
makefiles now.  Thusly:

1. Run "quiz".  This replaces "build".  One caution:  quiz says that a
	reasonable place to put NEWSCTL is /etc/news... this is doubtful
	advice because at least three of the files in there (headers,
	history, log) can get large and /etc is usually on a not-large
	root filesystem.

2. "make".  This will build all the software.  If you asked for the stdio
	speedups, it will check them out before actually deciding to rely
	on them; don't panic if you see a messy-looking failure but make
	charges onward -- it knows what it's doing.  Note:  getting the
	command search path set up properly for compiling is up to you --
	the search path which quiz asks about is used only for *running*
	the software.  Also, you need to get the umask set up so that the
	compiled binaries will have the right permissions -- again, the
	umask quiz asks about is used only for *running* the software.

3. (optional but recommended) "make r".  This will run regression tests.
	They take a while.  Errors that don't cause make to stop are not
	serious; ones that do, are.

4. Create the NEWSARTS, NEWSOV, NEWSBIN, and NEWSCTL directories, and set
	their ownerships correctly.  The makefiles won't do this for you.
	NEWSBIN can be owned by most anyone; the rest should be owned
	by the news-database owner.

5. Running as the NEWSBIN owner, "make install".  Note:  getting the
	umask set up properly for installation is up to you -- the umask
	which quiz asks about is used only for *running* the software.

6. Running as the news-database owner, "make setup".  These makes, by the
	way, are generally fairly careful not to step on existing files
	that should not be changed.

7. Running as whoever owns /usr/bin (or wherever you've decided to put
	inews etc.), "make ui".

8. (optional) If you want our readnews, postnews, and checknews, then
	running as whoever owns /usr/bin (or wherever you've decided to
	put inews etc.), "make readpostcheck".

9. Change NEWSBIN/input/newsspool to be owned (including group) by the
	news-database owner, and mode rwsr-sr-x (both s's are mandatory).

10. Go to NEWSCTL and edit some control files, at least:  batchparms,
	controlperm, explist, mailname, mailpaths, organization,
	postdefltgroup, readnews.ctl, sys, whoami.  Notably, editing mailname
	(to the name appropriate in From headers) and whoami (to the news
	name of the system) is MANDATORY at this point, unless you're
	updating an old system (in which case the old ones will still
	be there).

11. Back in the source directory, "make cmp".  If this finishes with a
	"no worrisome differences" message, it looks like everything is
	installed right.

12. Make any mail aliases necessary for trouble reporting, e.g. "newsmaster"
	and "newscrisis" if you used quiz's suggestions about reporting
	addresses.  Also, unless your site is engaged in network mapping,
	you should arrange for mail to "newsmap" to be discarded (not
	returned, not forwarded, just discarded) to minimize the effects
	of "sendsys bombing" by practical jokers.  We suggest you also
	arrange that mail to "news", "usenet", "newsmaster", and the
	news-database owner gets sent somewhere where it will be looked
	at regularly.

13. Put conf/crontab, or something like it, in as the news-database
	owner's crontab.

14. Arrange to have NEWSBIN/maint/newsboot run (as the news-database
	owner) when your system boots, to clear out any debris left
	around by crashes.

15. Install the manual pages, from man/, and perhaps the documentation,
	from doc/, as you wish.  This is too system-specific for the
	makefiles to attempt it.

16. Create a local newsgroup, if you don't have one already --
	"cnewsdo addgroup mysite.general y" will do the job -- and
	then run postnews and post an article to it.

17. It should show up, with headers spruced up, in NEWSARTS/in.coming.

18. The next time newsrun runs -- see the crontab -- the article should
	appear in the newsgroup, the history file, the log file, and
	NOT in the errlog file.  Run readnews (or some other reader) and
	try to read it.  If you can, then you did most everything right.

19. Get a feed from somebody, somehow, and see if batches from them are
	arriving in NEWSARTS/in.coming properly and being processed okay.
	Don't forget to add them to your sys file, and set up anything
	needed to feed your postings to them (e.g., batchparms).

20. Post a test article to a regional test newsgroup and see if it goes
	out to your feed site.

21. "make tidy" will get rid of most of the debris in the sources, leaving
	the C News library intact.  "make clean" will also get rid of the
	library.  "make veryclean" will also get rid of everything that any
	of the makes did (except that some changed files will remain changed).
	Going farther than this is NOT RECOMMENDED for normal cleanup.  If
	you must...  "make spotless" will also get rid of everything quiz
	did except for its recorded-answers file (which it will use as
	defaults next time you run it), and "make sterile" will get rid
	of even that.  Note that doing "make spotless" will disable most
	of the makefiles (until you run quiz again) by removing the header
	file that they rely on.

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.