Index of /itools/INFOSERV/GOPHER/UNIX/GOPHERTO/JUGHEAD

      Name                    Last modified       Size  Description

[DIR] Parent Directory 19-Apr-2005 00:26 - [TXT] JUGHEAD.REA 24-May-1993 03:51 13k [   ] JUGHEAD0.TAR 25-Mar-1993 00:40 104k [   ] JUGHEAD1.TAR 28-Mar-1993 07:07 108k [   ] JUGHEAD2.TAR 03-Apr-1993 08:11 136k [   ] JUGHEAD3.TAR 08-Apr-1993 23:27 144k [   ] JUGHEAD4.TAR 06-May-1993 15:22 156k [   ] JUGHEAD5.TAR 08-May-1993 10:34 156k [   ] JUGHEAD6.TAR 19-May-1993 18:32 168k [   ] JUGHEAD7.TAR 24-May-1993 03:51 188k

jughead is copyright 1993, University of Utah Computer Center.
This source may be freely distributed as long as this copyright
notice remains intact, and distribution is in no way used for any
monetary gain, by any institution, business, person, or persons.

jughead is a tool for getting menu information from various gopher
servers, and is an acronym for:
	Jonzy's Universal Gopher Hierarchy Excavation And Display

jughead was written in ANSI C, developed on an IBM RS6000, and
should port easily to any ANSI C conformant environment.

It is anticipated this program will be a tool for administrators
in gopherspace.  If you make any changes to the sources, please
send me a copy.

Release: version 0.5_beta, released:.
Modified the code to support a secondary hash table.  The table that
gets read into memory is much smaller than previously, while the time
to do the boolean operations and search the tables takes slightly longer, however, I doubt users will notice the difference.
Note:  This is a major change with the index tables.  When running
jughead with the -B flag, you no longer direct stdout to a file.
What happens now is 2 files automaticlly get created, 1 with a ".ix" and
the other with a ".ih" extention on the file created with the -b option.
Furthermore when invoking jughead as a search engine with the -S flag
you only need to give the name of the database file created with the -b 
flag.

Release: version 0.4_beta, released: April 3, 1993.
Added support for the 'a', 'A', and 't' options, which print the
port host number of directories, port, host, the directories, and
the time required to process a menu or build the index table or
load the index table into memory respectively.
Added the code from Mic Kaczmarczik: mic@bongo.cc.utexas.edu, which
supports an optional -p port flag when running as a search engine.
When using the -b option the datafile now gets sorted to remove all
duplicates, and no longer gets written to datafile.sorted.
The -o and -O flags are now meaningless and may soon disappear.

Release: version 0.3.1_beta, released: March 28, 1993.
  Fixed a problem using vsprintf compiled on sun.

Release: version 0.3_beta, released: March 28, 1993.
  Modifications include consolidating various #defines into the
  Makefile.  Now keeps track of hosts we can't connect to and will
  not attempt to connect to these hosts again.
  Added support for compilation on a sun.

Initial release: version 0.2_beta, released: March 25, 1993.

jughead can be acquired via gopher by gophering to gopher.cc.utah.edu
and looking in:
   About U of U Gopher
      Gopher Tools
         jughead
            as ReadMe and jughead.VERS.tar.Z
or via anonymous ftp from ftp.cc.utah.edu in /pub/gopher/GopherTools
as ReadMe and jughead.VERS.tar.Z, where ".VERS" is the current version.

The file jughead.VERS.tar.Z is a compressed tar file which contains:
	dirTree.c
	Makefile
	jughead.1
	jughead.c
	search.c
	sockets.c
	dirTree.h
	tree.c
	tree.h
	utils.c
	utils.h

Create yourself a directory for jughead, which should not be in a
gopher data directory, and download the file jughead.VERS.tar.Z.

Once you have downloaded jughead.VERS.tar.Z, where "VERS" is the version
of jughead, the following command will uncompress and untar the files:
	uncompress -c < jughead.VERS.tar.Z | tar xfv -

To view the man page, prior to running make install you can:
	make viewman

To make the jughead application you should edit the Makefile and verify
the following values are correct:
  THEVERSION      The version of jughead, only edit this if you make changes.
  THECATCOMMAND   The cat system command, the %s is required.
  THERMCOMMAND    The rm system command, the %s is required.
  THESORTCOMMAND  The sort system command, the %s is required.
  THETMPFILENAME  The location and name of jughead's temporary file.
  THEPORT2USE     The port to use when jughead is a search engine.
  DESTDIR         The location of the jughead executable.  You may not want
		  this to be publicly accessible.
  DESTMAN         The location of the jughead man page.
  VARARGS	  Commented out if you have <stdarg.h>.
  VSPRINTTYPE	  The type vsprintf() returns.
  PROTOTYPES	  Uncommented if you want to use prototypes.
  NOWARNINGS	  Uncommented if you don't want to see any compiler warnings.
  OPTIMIZATION	  Any optimization flags you want to have.


Now do a "make", "make all", or "make install" to compile jughead.  If
you get any compilation errors please inform me of the problem.
 
The steps I did to get jughead running as a server follow:
 jughead -tb data gopher.cc.utah.edu -x apogee.cc.utah.edu 3000 .utah.edu
 jughead -tB data
 jughead -tS data -l data.log &

Create a link file somewhere in your gopher data directory.  Mine looks like:
  Name=Search all UofU menus using jughead
  Numb=4
  Type=7
  Port=3000
  Path=
  Host=gopher.cc.utah.edu


There exists a mailing list for discussion about jughead called:
jughead-news@lists.utah.edu    To get on this mailing list send
mail to: jughead-news-request@lists.utah.edu

Things still to do:
  1)	Allow a list of host exceptions, the hosts not to traverse.

  2)	Use the Path field in the link file to specify which database
	to use, load the database into memory, do the search, and
	release the memory.  Maybe have this as an option.
	How about initialy start up with no tables cached in memory,
	when we receive a query read the appropriate table into memory
	if there is none, and only release the memory if a new query
	refers to an alternate database?

  3)	Add the ability to query other jugheads.

  4)	Consolidate the tree.c and dirTree.c files.

  5)	Either reenable or remove support for the -o and -O flags?

  6)	Clean up the code dealing with the hash tables or create a
	flag that does not utilize the secondary hash table?

  7)	Use vfork() instead of fork() when acting as a search engine
	to eliminate, as much as possible, any memory duplication.

  8)	Implement a no feed back flag which will give no feed back when
	building the hash tables, which will make the creation of the
	hash tables speed up by approximately 20 percent.

Please email source changes, complaints, or suggestions to:
	Rhett "Jonzy" Jones
	jonzy@cc.utah.edu