Installation of shak 

-------------------------------------------------

CONFIGURATION LOCATIONS AND FILES:

	Static builtin: 
		proper/lib/shak.sh
			
			see the SHAK_CFG_DIR* variables, they
			must point to the config files.

	Compile time:	
		proper/src/config.h
			
			The macro SHAKPATH in config.h should be set to
			the same value as in the runtime config files
			"shakpath" item.

		./Makefile
			(proper/src/config.h is used in the build
			of proper/bin/shak.  This has a target in
			the top level Makefile called shak which
			allows you to make it alone.)
		
			see ./Makefile MANDIR BINDIR LIBDIR variables
			since you may want to change these.

	Runtime:	
		/etc/shak/shak.conf
		/usr/etc/shak/shak.conf	
			( i.e.  whereever specified in proper/lib/shak.sh )
			Edit these after installation. 

	* "Runtime" files certainly should be editted by you.
	
	* "Complile" time files may have to be editted by you.
	 
	* "Static builtin" items may  have to be editted by you.

	All configuration is done manually unless using choice 2 below.
	Runtime configuration can be done after installation.

-------------------------------------------------

TESTING SHAK
	Proper operation of shak depends heavily on its
        surroundings (i.e POSIX.2 conforming environment).
	The test suite runs many commands and records their
	output.  This output is then compared to a baseline
	output.

	To run the test suite:
           Step 1)   login as an non-root user.
           Step 2)   erase old test installation:  
	             type at the shell prompt:
	   	       /bin/rm -fr /usr/tmp/testshak
           
	   Step 3)   Unpack the archive in a location other
	             than /usr/tmp/testshak.

	   Step 4)   Run the AUTOMATIC INSTALLATION (below)
	             accept all the defaults and answer 'yes' when 
		     prompted to run tests.

                     Read the instructions that are displayed.

	The test is provided to catch bugs in
	the shell and utilities and bugs in shak.

	The output from the test, a file called test.out, should
	be identical (after hostnames are re-normalized) to the file 
	'proper/testing/test.baseline' included in the distribution.

        The tests take several minutes to complete and
	do not require a tape drive.  You should not have to
	be root user.

_________________________________________________

INSTALLING SHAK

There are 3 choices on how to install.
Only do one at a time and only one is required.

AUTOMATIC INSTALLATION is recommended for
evaluation purposes (default directory names presented
are non-FSSTND conforming and are chosen to create a
harmless installation in a temporary directory).


Choice 1: NORMAL INSTALLATION (via make)
       Inspect the Makefile to determine where shak will install
       then
   
   make install

   then edit the configuration file in
   /usr/etc/shak and /etc/shak.
   (single host sites need not use /usr/etc/).

Choice 2: AUTOMATIC INSTALLATION (Interactive script):

 as non-root user or root user

   make installx

 This runs the script install.sh which asks many
 questions and creates the config file and
 install the binaries and libraries.

 The default configuration values presented by the script 
 are based on your answer to SHAK_SHAKPATH. If you give something
 like /usr/tmp/lib/shak then the remaining defaults are set to 
 paths using SHAK_SHAKPATH as a base, this provides a way to install
 and run shak in temporay area if SHAK_SHAKPATH is a temporay area.
 (This configuration in not FSSTND conforming, it is only provided 
 for making installing for evaluation easy.)

 The shell script shak.sh will be editted to reflect the choice
 of location for the /etc config file. (The first question).  If you change 
 your configuration you might have to get a pristine copy of 
 proper/lib/shak.sh or edit it changing the SHAK_CFG_DIR_LC variable value.

Choice 3: MANUAL INSTALLATION OF SHAK PROPER


  Inspect/Edit  proper/src/config.h
                proper/lib/shak.sh

  After a successful 'make', the files can be copied
  manually, below are some suggested locations.

    proper/lib/shak* goes in /usr/lib/shak/lib or the like.
    proper/bin/sush  goes in /usr/lib/shak/lib or the like.
              (note permissions for sush which are documented
	       in the makefile proper/Makefile )
    proper/man/shak.5 goes in /usr/man/man5 or /usr/local/man/man8
    proper/man/shak.8 goes in /usr/man/man8 or /usr/local/man/man8
    proper/bin/shak goes in /usr/sbin or /sbin or /usr/bin or /bin
    proper/etc/shak.conf goes in /etc/shak/shak.conf and/or
             /usr/etc/shak/shak.conf

  Some Optional files (others not mentioned) :
    user/bin/mtimefilter goes in /usr/bin
    user/man/mtimefilter.1 goes in /usr/man/man1


  Note: The files of proper/lib must be pointed to
        by $SHAK_SHAKPATH/lib.  The variable
	SHAK_SHAKPATH is set by the config file(s)
	shak.conf

        The location of the config files are set in the
	source code and are not user configurable.
	They are:  /etc/shak/shak.conf
	           /usr/etc/shak/shak.conf

End of file INSTALL
