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.  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.

    NOTE: This package allows the build to be performed in a directory
    other than where the sources are.  You will need a "make" that supports
    VPATH to do this.  Just create a directory where you want to do the
    build, cd into it, and run "path/Configure" from there where "path" is
    either a relative or absolute path reference to the trn source directory.

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 might run a "make depend"
    afterward just 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, Rnmail, trn-artchk, and
    nntplist 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.  One of
    the installed scripts is "newsetup", which creates a .newsrc for a
    user that doesn't have one.  This script reads the subscriptions
    file from your news library directory or sends a LIST SUBSCRIPTIONS
    command to your server to get the default list of newsgroups for a
    new user.  If you don't like this, customize the script as desired.

    NOTE: if you have an old installation of trn that put artcheck and
    getactive into the trn library directory, once you ensure that all
    your installed scripts are using the new files (trn-artchk and
    nntplist) you can delete the old ones from the lib directory.

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

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