$Id: INSTALL 62 2009-08-11 09:19:00Z carlo $

Preamble

NoSQL takes the classical UNIX toolkit approach, that leverages
productivity, effectiveness and reliability by maximizing the reuse
of existing code. As such, the package relies upon several external
commands and utilities, most of which should be available in any
mainstream GNU/Linux distributions, as well as in the form of add-ons on
many commercial UNIX systems.

NoSQL is tailored to the Debian GNU/Linux O.S. but it should work with
most other Linux and UNIX systems, provided that the following other
programs are available:

* Perl 5

* Either Mike Brennan's mawk(1), version >= 1.3.3
  or GNU AWK (gawk), version >= 3.1.4

* The lockfile(1) utility, normally distributed with procmail(1)

* The mktemp(1) utility

* GNU textutils (grep, sort, join, etc.).

* Ulrich Drepper's iconv(1) utility (part of the GNU C Library).

Note: the indicated progam versions are those that have been used
during the tests. This does not mean that NoSQL necessarily won't work
with different/earlier versions of those programs, although that may
occasionally be the case.

For your convenience, the source code and man page for mktemp(1)
is also available in the extra/ directory of the NoSQL source tree,
although I do not support them.

Installation :

WARNING: if you are upgrading from an older NoSQL version make sure you
read also the NEWS file before continuing !!!

Un-tar the package in a work directory, then 'cd' into the latter
and run:

     ./install-sh 

The default installation path is /usr/local/nosql/, and you must usually
be 'root' to write to it. If you want to install the package into a
different place, say '/my/target/dir/', simply modify the above command
as follows:

     PREFIX=/my/target/dir/ ./install-sh

The installation program tries to pick what it thinks to be the most
lightweight Bourne shell among those available on your system. Shells
are searched in the following order: ash, ksh, bash.

If your Shell-Ware Utilities (SWU), if available, leave in other than
PREFIX/swu/ then you should change the above command as follows (for
example):

     SWUDIR=/path/to/swu/ ./install-sh

If you do not tell 'install-sh' where the SWU package can be found,
the script will try and auto-detect that piece of information. If
auto-detection fails, then a minimal stripped-out version of SWU will
be automatically installed. The stripped version and the (possibly
undetected) full-blown one may coexist without conflicts.

If you want the installation process to pick a Bourne shell other than
those listed above, say /bin/bsh, then you need to run 'install-sh' as
follows:

     BOURNE=/bin/bsh ./install-sh

Settings can be combined, i.e.:

     PREFIX=/my/target/dir/ BOURNE=/bin/bsh ./install-sh


Please report any installation problems to noseequel@strozzi.it

Notes:

* UNIX is a registered trademark of The Open Group

-------------------------- Tips and Tricks ----------------------------

If you use less(1) as your pager, you can tell it not to fold long lines
but rather allow you to scroll horizontally with the relevant arrow keys,
on a properly configured keyboard and terminal, by using "less -iCMsJN".

Likewise, you can get many vi(1)-compatible editors not to fold long lines
but rather allow for horizontal scrolling, by setting ":set nowrap",
":set leftright", ore something similar; see the man page of your "vi"
clone of choice for more information.

For example, to interactively work on a table with the NoSQL interactive
interface "itable" I use the following Bourne shell function:

db ()
{
    EXINIT='set leftright number ruler' LESS= PAGER='less -iCMsJNS' itable "$@"
}

So by type "db sometable" I can work on "mytable" with comfortable settings.

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

If you want to use mawk and compile it from the sources, you can find it at:

ftp://ftp.fu-berlin.de/unix/languages/mawk/mawk-1.3.3.tar.gz

If the 'configure' script chokes on MATHLIB just add MATHLIB=-lm to
the bottom of config.user (not config-user) and all will be well.
Thanks to John Cowan for having found this.

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