4.4BSD/usr/src/contrib/news/trn3/INSTALL

Installation Instructions for trn 3.0:

1)  Decide what package you want to use to solve your news database
    needs.  There's currently two supported by trn:  mthreads and
    news overview.  Mthreads creates smaller files that load faster
    each time you enter a group, however it is more taxing on your
    cpu and disk bandwidth because it keeps the files in thread order.
    Overview files are larger, but they are less taxing on your system
    because the format is pretty "raw" and the files are maintained by
    your news software (either a modified C news or INN 1.3 and above).
    Though they load slower than .thread files, they have subject and
    author headers that are not truncated (unlike mthreads headers)
    which means that trn won't have to "freshen" these headers during
    its idle time.  The final choice is to not store a database.  If
    you go this route it will take significantly longer to start up
    a group in threaded mode, but you could chose to read one or more
    groups unthreaded.

2)  If you are going to make a version of trn that uses NNTP to get its
    news remotely, be sure you have installed some version of inews that
    sends articles to your news server.  The reference NNTP (v1.5.11)
    comes with a version of inews that you can use, and C news and INN
    both have versions that can be used remotely.

3)  Run Configure.  This will figure out various things about your system.
    Some things Configure will figure out for itself, other things it will
    ask you about.  It will then proceed to make config.h, config.sh, the
    Makefile, and a bunch of shell scripts.  It will also do a make depend
    for you, or let you start one in the background.  You might possibly
    have to trim # comments from the front of Configure if your sh doesn't
    handle them, but all other # comments will be taken care of.

4)  Glance through config.h and common.h to make sure system dependencies
    are correct.  Most of them should have been taken care of by running
    the Configure script.

    If you have any additional changes to make to the C definitions, they
    can be done in the Makefile, in config.h, or in common.h.  If you have
    strange mailboxes on your system you should modify mbox.saver to correctly
    append an article to a mailbox or folder.

    If you are on a machine with limited address space, you probably don't
    want to be using trn.  Feel free to give it a try, though -- there are
    some defines in common.h that can be turned off to try to make trn fit
    (see the System Dependencies section).  You should run "make depend"
    again to be safe.

5)  make

    This will attempt to make trn in the current directory.

6)  make install

    This will put trn, newsetup, newsgroups, Pnews, and Rnmail into a
    public directory (normally /usr/local/bin), and put a number of
    files into the private trn library (e.g. /usr/local/lib/trn).  It
    also tries to put the trn man page in a reasonable place.

7)  Read the manual entry before running trn, or at least read the file
    NEW if you are already familiar with trn.  Those that are brand new
    to trn can get a quick idea of what's different from rn by reading
    the WHAT'S NEW section of the man page.  Also check out the HINTS
    file for some ways to get the most out of using trn.

8)  Try trn, and play with some of the switches (use -x and -X if you told
    Configure to leave these options off by default).  Any options you find
    that you want to make the default for everyone can be placed into the
    INIT file in the trn library.  Personal defaults can be put in a file
    and the environment variable TRNINIT defined to point to it.

9)  Once trn is running ok, make sure any database software you've installed
    is going ok and interfacing properly with trn.  Read the documentation
    that comes with the package of your choosing.

10) IMPORTANT!  Help save the world!  Communicate any problems and suggested
    patches to Wayne Davison <davison@borland.com> so we can keep the world
    in sync.  If you have a problem, there's someone else out there who
    either has had or will have the same problem.  If the problem affects
    regular rn, code, I will pass it on to Stan Barber.

    If possible, send in patches such that the patch program will apply them.
    Unified or regular context diffs are the best, then normal diffs.  Don't
    send ed scripts--I've probably changed my copy since the version you have.

    Watch for trn patches in news.software.readers.  Patches will always be
    in the unified context diff format, for application by the patch program.
    If you don't have a patch program that handles unified context diffs,
    you'll probably want to get one (such as patch version 12g8).  Otherwise,
    you can use the (included) filter "unipatch", which can be generated with
    the command "make unipatch".  To apply patches, use the command:

	unipatch <patchfile | patch -p

12) If you are going to hack on trn, please refer to rn's HACKERSGUIDE first.