Next: , Up: Installation

3.1 Configuring and compiling the software

  1. First, unpack your distribution. We provide source code in a tar file which was compressed using gzip. The code can be extracted into a directory unpackdir using
              cd unpackdir
              gunzip gnats-4.1.999.tar.gz
              tar xvf gnats-4.1.999.tar

    The sources reside in a directory called gnats-4.1.999 when unpacked. We call this the top level of the source directory, or srcdir. The sources for the gnats tools are in the subdirectory gnats-4.1.999/gnats/*. Lists of files included in the distribution are in each directory in the file MANIFEST.

  2. As of gnats version 4, having Emacs installed on the gnats server is no longer a requirement. If you do not have Emacs installed, disregard this step altogether.

    You may wish to alter the installation directory for the Emacs lisp files. If your Emacs lisp library is not in prefix/share/emacs/site-lisp, edit the file srcdir/gnats/ Change the variable lispdir from prefix/emacs/site-lisp to the directory containing your Emacs lisp library. For information on prefix, see prefix.

  3. Create an account for the gnats user. You can actually name this user whatever you want to, as long as it is a valid username on your system, but we strongly recommend that you call the user gnats. If you do decide to give it some other name, remember to use the option --enable-gnats-user when running configure below. Below, we will anyway refer to this user by the name gnats.

    This user must have an entry in the file /etc/passwd. As for ordinary users, create a standard home directory for the gnats user. The default PATH for this user should contain exec-prefix/bin and exec-prefix/libexec/gnats. The exec-prefix value is configurable with the --exec-prefix configure option described below, but for standard installations, these two directories correspond to /usr/local/bin and /usr/local/libexec/gnats.

  4. Run configure. You can nearly always run configure with the simple command

    and the “Right Thing” happens:

    The most common options to configure are listed below:

              configure [ --prefix=prefix ]
                        [ --exec-prefix=exec-prefix ]
                        [ --enable-gnats-service=service-name ]
                        [ --enable-gnats-user=username ]
                        [ --enable-gnatsd-user-access-file=path ]
                        [ --enable-gnatsd-host-access-file=path ]
                        [ --enable-gnats-dblist-file=path ]
                        [ --enable-gnats-default-db=path ]
                        [ --with-kerberos ] [ --with-krb4 ]
                        [ --verbose ]
    All host-independent programs and files are to be installed under prefix. (Host-dependent programs and files are also installed in prefix by default.) The default for prefix is /usr/local. See Where gnats lives.

    All host-dependent programs and files are to be installed under exec-prefix. The default for exec-prefix is prefix. See Where gnats lives.

    Set service-name to be the gnats network service. Default name is support.

    Set username to be the user name for gnats. Default username is gnats.

    Set global (across all databases) gnatsd user access file to path. Default is /usr/local/etc/gnats/gnatsd.user_access. Per-database user access permissions are set in a gnatsd.user_access file in the gnats-adm subdirectory of each database.

    Set global (across all databases) gnatsd host access file to path. Default is /usr/local/etc/gnats/gnatsd_host.access. There is currently no way to specify host access permissions on a per-database basis.

    Specify the file containing the list of databases.

    Default is prefix/etc/gnats/databases.

    Specify the default database to use when gnats tools are invoked without the -d or --databasename option, and when the GNATSDB envrionment variable hasn't been set. Default is /prefix/com/gnatsdb.

    Include code for Kerberos authentication.

    Support Kerberos 4.
    Give verbose output while configure runs.

    configure supports several more options which allow you to specify in great detail where files are installed. For a complete list of options, run ./configure --help in the source directory.

    You can build gnats in a different directory (objdir) from the source code by calling the configure program from the new directory, as in

              mkdir objdir
              cd objdir
              srcdir/configure ...

    By default, make compiles the programs in the same directory as the sources (srcdir).

  5. Make sure you have gnu make, then run
              make all info

    from the directory where configure created a Makefile (this is objdir if you used it, otherwise srcdir.) These targets indicate:

    Compile all programs
    Create info files using makeinfo.