        Skeletal instructions for using the contents of this tar file
		(for libupd 1.3.  WJS.  May 09)

	The installation procedure (below) for libupd 1.3 has not 
changed from the libupd 1.0 installation procedure

	libupd 1.3 contains a new routine; varnames_in_selection.

	libupd 1.1d separated the parsing subsystem from the outer
module.  In libupd 1.3, the selection parsing subsystem has been 
further split into separate parsing and testing modules, and 
these modules have been renamed.  THE OLD MODULE parse.o MUST BE 
REMOVED FROM THE LIBRARY if it is present, either by use of the command
		 ar -d jgofsroot/src/lib/jgofs.a parse.o
or anything else that accomplishes the same aim (such as the
removal of the whole library via   rm jgofsroot/src/lib/jgofs.a  )
	The presence of the parse.o module can be determined with the
ar "table of contents" command
		ar -t jgofsroot/src/lib/jgofs.a
Don't confuse the HTParse.o module with the parse.o module.  They
are different things.
	It is recommended that the replaced files, parse.c and parse.o,
be removed from jgofsroot/src/lib.

	The routine un_trigram has been modified so that it will
refuse to untrigram a binary 0 (%00).  Because the c language treats
a binary 0 as a string terminator, all characters following an
untrigrammed binary 0 would be ignored, which is unlikely to be
the user intent.  Several attempted security compromises attempt
to take advantage of this peculiarity.


Files:
	This tar file contains most of the files released with jgofs 1.5,
as well as files which seem to have ended up in jgofs.a anyway.  The only
2 .c files I know of that are in jgofs.a and NOT in libupd are HTParse.c
and HTString.c.  A list of the libupd .c files is included at the end of
this file.  Note: although HTParse.c and HTString.c are not distributed
in libupd, the distributed make file will attempt to make them.
	This tar file also contains 2 "stub" files containing 
rudimentary err routines.  Most of the jgofs.a routines now call err to
report their problems.  It is intended that main programs calling the
library provide an err entry to handle problems reported by the
library (as well as, presumably, their own).  For old programs whose
source we may not want to change, err_stub.o or err_stub_methods.o
can be added into the appropriate make file.  err_stub_methods should
be used w/inners; err_stub w/stand-alone programs.  See their .c files
for more comments, etc.
	_makefile_.jgofs can be used to build a test jgofs.a file where
desired.  A sample that builds ./jgofs.a on the globec data server is
included as c shell script make_testjgofs.csh.  The name, directory, or
both, of the output library can be changed by specifying 
LIBNAME, LIBDIR, or LIB, respectively, on the make command.
	HTTCP.c is included as httcp.c.  The make file renames things
appropriately if the dates work.  If HTTCP.c "arrived" via cp, its
date may be newer than that of httcp.c in a tar file, despite the
contents being older.
	This tar file also contains core.h, parse.h,
path_info_routines.h, query_string_routines.h and
utils.h.  The make file included in this tar file will place these
.h files in ../include (unless existing files in ../include are newer)
To complete a usable library, the system maintainer is responsible for
the creation and contents of ../include/default.h and 
../include/inner.h

	There are test and documentation files for path_info_routines
that are not included in libupd.  They are included in the path_info
package, typically installed on option servers.  The path_info
package may be installed on a data server without negative effect
(other than installing some unused main programs).

Most straightforward way to update jgofs.a & various include files:

	1) cd to the library directory (usually jgofsroot/src/lib)
	2) backup this directory to your satisfaction.
	3) backup ../include to your satisfaction.
	4) unpack this tar file.  It will replace versions of .c
	   and .h files, as well as replace earlier versions of
	   support files that may have been included in previous
	   libupd releases
	5) check the dates on httcp.c (which came from the tar file)
	   and HTTCP.c.  If the content of httcp.c is in fact newer 
	   (eg, no local changes have been made to HTTCP.c), be sure the 
	   httcp.c date is more recent (touch httcp.c if necessary)
	   The description of the tar file contents (above) gives another
	   way the dates can be a problem.
	6) compare _makefile_.jgofs with makefile.jgofs
	   Note that _makefile_.jgofs compiles everything w/debug support
	      You may wish to change this
	   The 2 make files should be functionally the same unless:
	      a) a file in your jgofs.a library is not included in
		 libupd
	      b) a file in your jgofs.a library is compiled differently
	 	 from the way libupd compiles its version
	   I believe a) is not a fatal problem because my understanding
	      of ar, the program which builds jgofs.a, is that with
	      the switches typically set in jgofsroot/build-env.pl, ar
	      will update jgofs.a, overwriting modules if needed.
	   b) is a problem
	7) replace makefile.jgofs with _makefile_.jgofs after suitable
	   modification
	8) If upgrading from libupd 1.1d, 1.2, or 1.2a,
		ar -d jgofs.a parse.o
	   (See libupd 1.3 release notes)
	   If unsure of the previous libupd version, issue the command.
	   If the command was not needed, it will fail with a 
		"not found" message
	9) jgofsroot/build.pl lib
		or
	   jgofsroot/build-env.pl -sh > /tmp/envvars
	   source /tmp/envvars
	   make -f src/lib/makefile.jgofs

  library .c files included in libupd 1.3
dct.c
httcp.c
jdb.c
jgofs_selection_parser.c
jgofs_selection_tester.c
outer_utils.c
path_info_routines.c
query_string_routines.c
startchild.c
utils.c
varnames_in_selection.c
