Rn Kit, Version 4.3 Copyright (c) 1985, Larry Wall You may copy the rn kit in whole or in part as long as you don't try to make money off it, or pretend that you wrote it. -------------------------------------------------------------------------- Please read all the directions below before you proceed any further, and then follow them carefully. Failure to do so may void your warranty. :-) After you have unpacked your kit, you should have all the files listed in MANIFEST. Installation 1) 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, Makefile, and a bunch of shell scripts. It will also do a make depend for you. 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. 2) 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 may have to remove some of the special functions of rn to make it fit. This is easily done by undefining symbols in the System Dependencies section of common.h. You should run "make depend" again to be safe. 3) make This will attempt to make rn in the current directory. 4) make install This will put rn, newsetup, newsgroups, Pnews, and Rnmail into a public directory (normally /usr/local/bin), and put a number of files into the private rn library (normally /usr/lib/news/rn). It will also try to put the man pages in a reasonable place. 5) Read the manual entry before running rn. It's quite different from readnews. 6) Install the Xref patch to header.h, header.c, and inews.c. These patches are found in header.h.?.pat, header.c.?.pat, and inews.c.?.pat, where ? is either 1 for news 2.10.1 (or earlier) or 2 for 2.10.2. Last I heard, 2.10.3 was going to have the Xref patch built in. The purpose of the Xref patch is to put an Xref: line in the header of articles posted to more than one newsgroup. Rn uses this line to keep from showing such postings more than once. Other than that rn will work without this patch, so if you just want to try out rn you can delay putting in the patch. When you put in the patch and recompile inews, don't forget to define DOXREFS in the makefile for inews. Do NOT define LINKART unless you are a Eunice site and really want to do that. In fact, if you are not a Eunice site you needn't install the LINKART part of the patch. NOTE: the Makefile that comes with some of the older news systems does not have all the dependencies quite right. In particular, ifuncs.c may not recompile when you change header.h. If this happens when you install the Xref patch, inews will start dumping core. Make sure both inews.o and ifuncs.o depend on header.h in the Makefile. Eunice users: the inews.c patch contains both the Xref patch and a LINKART patch to put a form of "symbolic link" between articles posted to multiple newsgroups. What it does is to put the article into the first newsgroup on the Newsgroups line, and in subsequent newsgroups it just puts a little file containing the name of the article in the first newsgroup. Rn (when compiled with the LINKART option) is clever about these pseudo-articles, and ends up opening the right one. YOU WILL NOT be able to use readnews or vnews on your system without modification, though. If you do this, be sure to define both DOXREFS and LINKART in the makefile for inews.c. If you are using the option in inews that copies instead of linking, you will want to rip that out. NOTE: if you transmit articles to other systems using xfernews with the U flag, Xref's can leak out of your system, as can Date-Received's. This may make neighboring sites unhappy unless they also have the Xref patch installed. For now, either don't use the U flag, or fix the inews/xfernews interaction. 7) Try rn, and play with some of the switches. You may want to make -/ default on your system. This is done in common.h. You may want to modify which header lines are displayed by default--this is done in head.h. To change default values of enviroment variables on a system-wide basis without recompiling rn, put switches into file INIT in the rn library. 8) IMPORTANT! Help save the world! Communicate any problems and suggested patches to me, lwall@sdcrdcf.UUCP (Larry Wall), 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 possible, send in patches such that the patch program will apply them. 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 rn patches in net.sources.bugs. Patches will generally be applyable (is that a word?) by the patch program. If you are just now bringing up news and aren't sure how many patches there are, write to me and I'll send any you don't have. 9) If you are going to hack on rn, please read the HACKERSGUIDE first.