Installation PROCEDURE FOR THE MAN_DB 2.1 BETA PACKAGE.

0) Delete some old files if necessary:

The install directories of these files have been moved with this version.

  /var/catman/manpath.config /usr/manpath.config /usr/lib/manpath.config
  /var/catman/makewhatis /usr/makewhatis /usr/lib/makewhatis

1) RUN ./configure [--enable-dups] [--enable-altsystems] 
		   [--enable-setuid[=<owner>]] [--disable-setuid]
		   [--disable-FSSTND] [--enable-debug]
		   [--prefix=<dir>] [--verbose] [--help] [...]

The defaults are as follows:

* Compress cat files using gzip, if found, otherwise compress.
* Install as setuid 'man'.
* Do not allow duplicates of manpages with the same filename in
  different manpage hierarchies.
* Look at the filesystem to decide which sections to support.
	
The script ./configure no longer requires user intervention. The
drawback is that to change section ordering, you'll need to play with
config.h. Also, man now assumes that you will want it to be setuid (it
really isn't sensible to allow users to mess with the global database
and/or the catpages that other users will read). If however you still
don't want it to be setuid, use '--disable-setuid'.

As the script looks for all necessary programs, it makes some
assumptions: If it finds gzip, it uses this as the default compressor
and .gz as the default extension and passes it the '-7' flag (compress
better than default but don't take all day like '-9'). If it doesn't
find gzip but finds compress, this will be the default compressor and
.Z the default extension. To change these, edit a couple of lines in
config.h.

The following man_db specific options can be passed to ./configure:

  --enable-dups forces duplicates to be accepted. (This is needed if
    alternate systems support is required, it may also be useful in
    other circumstances.)

  --enable-altsystems implies --enable-dups and leaves the default 
    sections alone (otherwise, the default sections are guessed).

  --enable-setuid=<owner> prepares man for installation as setuid
    <owner>. If <owner> is 'no' then man will not be installed setuid.
    An alias for '--enable-setuid=no' is '--disable-setuid'. The
    default is to install man as setuid man.

  --disable-FSSTND causes man to ignore the new FSSTND file placement.

  --enable-debug just produces a non-production Makefile and should
    not be used under normal circumstances.

To access general features of the autoconf produced configure script, use

  --help which will provide you with a list of general options. Some
    of the more useful options are mentioned below.

  --prefix=<dir> sets the directory under which the binaries and
    manpages will be installed. The Default for <dir> is determined
    by the current location of the man executable.
    
  --verbose is just a little bit louder than normal and displays the
    values it auto-configures.

2) EDIT manpath.config

This will now be necessary, as you have to provide information about
what man paths to include in the global database and where you would 
like the catpages to go. If you already have one, it won't be 
overwritten, but make sure that it is up to date. See manpath(5).

3) RUN make

This should build the binaries without any warnings.

4) RUN su

If you elected to install man setuid, make sure that the user exists
and, if not, create it now.

5) RUN make install

After the installation of the binaries and manpages you have to set up
the cat tree under /var/catman. You can do this by hand or use the
utility script mkcatdir.sh.

If you decide to do this by hand, create for each man tree its
equivalent cat tree: Strip a leading /usr from the path and replace
it by /var/catman. Eg. for /usr/X386/man, create /var/catman/X386.

In all of the above directories, you will then have to create the
relevant cat subtree, ie. cat1, cat2, ..., cat9, ..., catxyz.

All directories should belong to <owner> and have a standard group eg.
bin, root or wheel. Read(r) and transition(x) permissions are necessary 
for all, write(w) access is only needed by the owner.

Next, you will need to sort out the permissions. If you went with the
setuid option earlier (highly recommended), you should do something
like:

	chown -R man.root /var/catman
	chmod -R u+w,go-w /var/catman

All these steps are also provided by the mkcatdirs.sh script.

You are now set up for cat production but need to remain as root for a
little while yet:

6) RUN mandb [ -m <all alternate systems you have> ]

This will create the global database and warn you of any oddities
lurking in your man tree. It is advisable to delete or rename bogus,
duplicate or possible duplicate man files before progressing. You
could then run mandb once more, to ensure that there are no more 
warnings. Bogus files are not harmful to man, but will be of no use
and may occupy valuable disk space.

7) RUN straycats

This will scan your cat directories for stray cats. If you have no
stray cats, good - proceed to step 9). If you have stray cats, they
need to be registered in the relevant man source tree, so that man can
find them. READ THE STRAYCATS MANUAL PAGE (./man -l straycats.8 may
help you if you still have problems in accessing the database).
Straycats will create and delete for you so it is important to know
what you are doing first! The default action is just to look. The
default WRITE action is to delete non-relative stray cats and create
place-holders for any real stray cats.

8) RUN mandb [ -m <all alternate systems you have> ]

This step is advised (but not needed as man will do it for you), if
you added place-holders in step 7). You can then deal with any
warnings again.

9) RUN makewhatis

Makewhatis will look through all of your source nroff for whatis
descriptions. If it encounters a place-holder, it will look at the
straycat instead.

It takes an optional argument of a single man tree for which it will
produce a whatis file. Otherwise it will (try to) produce whatis'
files for all of your manpath trees.
 
10) Give up your root permissions and try it out.
