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.