README for Xarchie - X11 browser interface to Archie George Ferguson, ferguson@cs.rochester.edu Last Change: 12 Nov 1991 DISCLAIMER: This is release 1.3 of xarchie -- an X browser interface to the Archie Internet information system. This software is provided as is with no warranty expressed or implied. I hope you find it useful, but I won't be held responsible for any damage that may occur from reading, compiling, installing, using, or even thinking about it. You are free to use any parts of the code that I wrote for other purposes. It would be nice if you could keep my name on some part of whatever the final product is. Parts of the code that are derived from the Prospero archie client are subject to their own copyright, which is included in aquery.c and other files that were not written by me. See the file "copyright.h" for details. Examples of other things Prospero can do are in the file "README.PROSP" in this distribution. CREDITS: The original standalone archie client was written by Brendan Kehoe, (brendan@cs.widener.edu), based on the Prospero archie client by Clifford Neuman, (bcn@isi.edu). The file "README.FILES" describes the files that are shared with these clients. The archie service was conceived of and implemented by Alan Emtage (bajan@cs.mcgill.ca), Peter Deutsch (peterd@expresso.cc.mcgill.ca), and Bill Heelan (wheelan@cs.mcgill.ca). REPORTING BUGS/KUDOS: When reporting bugs, problems, suggestions or contributions, please be sure to send them to the right place. I (George Ferguson) am really only interested in the working of the X interface. Brendan Kehoe is is charge of the archie clients and the network stuff underlying xarchie, Cliff Neuman is in charge of Prospero, and Alan Emtage and the others are in charge of the Archie service itself. INSTALLATION: 1. Edit the Imakefile to reflect any changes for your site. These include setting BINDIR, LIBDIR, and MANDIR if needed, and checking CDEBUGFLAGS if debugging or optimization is desired. If your system doesn't have re_comp() and re_exec(), then you need to uncomment the appropriate section in the Imakefile to include those routines. Compiling this program requires the "ad2c" program. You should have received a copy of ad2c with this distribution, in the subdirectory "Ad2c". You should set the AD2C variable as required. Actually, ad2c is only required if you change Xarchie.ad and want the new defaults compiled in as fallback resources. If you don't have ad2c, you probably want to remove the line that adds Xarchie.ad.h to the "clean" target. You may want to change defaults in Xarchie.ad; consult the man page for details, and see above about ad2c. 2. Execute % xmkmf to create the Makefile. 3. Execute % make Makefiles to run xmkmf in the Ad2c and EzMenu subdirectories. Alternately, run it (or imake) in each subdirectory by hand. 4. Execute % make depend to add the dependencies to the Makefile. This is necessary to ensure that Xarchie.ad.h is created when needed. IMPORTANT: Ignore the error message from makedepend if Xarchie.ad.h is not found; it will be created automatically. 5. Make the package using % make or install it directly with % make install install.man Note that this will also "make install" in Ad2c and EzMenu by default. Since you may want to install xarchie without installing these other things, you can instead do % make install.xarchie to install xarchie, its resource file, and its man page only. DEBUGGING: The Prospero protocol that underlies xarchie requires that UDP traffic be enabled on your system. If you get nothing but timeouts from dirsend, then either the server is just too heavily loaded or UDP traffic is disabled. To test the latter hypothesis, compile udp.c and follow the directions at the top of the file. If UDP traffic is in fact disabled, talk to to your syadmins. Otherwise, if you're *sure* it isn't just a loaded server, report the situation in detail to brendan@cs.widener.edu. HISTORY: Version 1.1 - 4 Sep 1991 Released to comp.sources.x. Version 1.2 - 12 Sep 1991 - Changed LowerCase() in types.c (from Xt manual example) to XmuCopyISOLatin1Lowered() since the former was not always compiled into X. - Added resources "ftpDir" and "ftpType" and corresponding items on the Settings panel so the ftp service is a bit better. - From: beser@aplcomm.jhuapl.edu (Nick Beser) - Fixed regex support in Imakefile. Added regex.h which is included by support.c and actions.c. - From: Greg Lindahl ) - Changed strcasecmp() in types.c to XmuCompareISOLatin1() since some systems don't have the former. - Changed two leftover instances of isspace() to ISSPACE() in xarchie.c. - From: "(Simon Leinen)" and: Alan B Clegg - Changed some widget names in resource file since the Settings form wasn't being laid out correctly. Version 1.3 - 12 Nov 1991 - Separated EzMenu widget creation from others by adding .menus resource and slightly changing initWidgets() in xarchie.c. This hopefully prevents those annoying core dumps under old or otherwise strange version of X. Also renamed the "hostText" on the Settings form to "setHostText" again in hopes of avoiding the problem. - Added archie.sura.net to hostMenu and made it the default elsewhere. - "-debug" formerly didn't want an argument -- fixed. - Made dirsend() asynchronous by restructuring it, so xarchie will now refresh and can be interrupted during queries. Added "Abort" button to interrupt queries. - Removed comments about gcc from this file and the Imakefile since it's handled automatically in dirsend.c using SUN_GNU_FIX. - From the TODO file: Fixed default-settings() action so it uses as defaults the values of the application resources when xarchie starts up. - Added confirmation of quitting and -expert flag (and expert resource) to avoid it if desired. - Tweaked resources for better layout, better resizing, etc, etc. - From: bajan@cs.mcgill.ca - Updated man page and added Bill Heelan acknowledgement. - From: khushro@zip.eecs.umich.edu - Added "save-to-file()" action. - From: Dennis Shiao - ftp.c called alert0() rather than alert1(). - From: Lee M J McLoughlin - Added archie.doc.ic.ac.uk to hostMenu - From: Amos Shapira - Added cs.huji.ac.il to hostMenu. - From: brendan@cs.widener.edu (Brendan Kehoe) - Changes to many files from the "archie" distribution, including more portable #includes and Prospero warning message handling. Includes new file perrmesg.c. - Provide udp.c to test whether UDP traffic is enabled. - From bcn@isi.edu (Clifford Neuman) - Changed dirsend.c to compare connection id's rather than hostnames, based on an observation from Lee McLoughlin, among other Prospero stuff.