[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A. Where GNATS lives

We use a few conventions when referring to the installation structure GNATS uses. These values are adjustable when you build and install GNATS (see section Installing GNATS).

A.1 prefix  
A.2 exec-prefix  
A.3 The `gnats-adm' directory  
A.4 Default installation locations  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.1 prefix

prefix corresponds to the variable `prefix' for configure, which passes it on to the `Makefile' it creates. prefix sets the root installation directory for host-independent files as follows:

database-specific configuration and database contents
`prefix/com'

site-wide configuration files
`prefix/etc/gnats'

man pages
`prefix/man'

info documents
`prefix/info'

include files
`prefix/include'

etc...

The default value for prefix is `/usr/local', which can be changed on the command line to configure using

 
configure --prefix=prefix ...

See section Configuring and compiling the software.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.2 exec-prefix

exec-prefix corresponds to the variable `exec-prefix' for configure, which passes it on to the `Makefile' it creates. exec-prefix sets the root installation for host-dependent files as follows:

GNATS user tools
`exec-prefix/bin'

administrative and support utilities
`exec-prefix/libexec/gnats'

compiled libraries
`exec-prefix/lib'

etc...

configure supports several more options which allow you to specify in great detail where different files are installed. The locations given in this appendix do not take into account highly customized installations, but fairly ordinary GNATS installations should be covered by the material here. For a complete list of options accepted by configure, run ./configure --help in the `gnats' subdirectory of the distribution.

Since most installations are not intended to be distributed around a network, the default value for exec-prefix is the value of `prefix', i.e., `/usr/local'. However, using exec-prefix saves space when you are installing a package on several different platforms for which many files are identical; rather than duplicate them for each host, these files can be shared in a common repository, and you can use symbolic links on each host to find the host-dependent files.

Use exec-prefix in conjunction with prefix to share host-independent files, like libraries and info documents. For example:

 
   for each host:
configure --prefix=/usr/gnu --exec-prefix=/usr/gnu/H-host
make all install ...

Using this paradigm, all host-dependent binary files are installed into `/usr/gnu/H-host/bin', while files which do not depend on the host type for which they were configured are installed into `/usr/gnu'.

You can then use a different symbolic link for `/usr/gnu' on each host (`/usr' is usually specific to a particular machine; it is always specific to a particular architecture).

 
  on host-1:
ln -s /usr/gnu/H-host-1 /usr/gnu
  on host-2:
ln -s /usr/gnu/H-host-2 /usr/gnu

To the end user, then, placing `/usr/gnu/bin' in her or his PATH simply works transparently for each host type.

You can change exec-prefix on the command line to configure using

 
configure --exec-prefix=exec-prefix ...

We recommend that you consult section `Using configure' in Cygnus configure, before attempting this.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.3 The `gnats-adm' directory

Each GNATS database located on a server has its own directory, as listed in the `databases' (see section The databases file and given when the mkdb utility is invoked to initialize the database (see section Initializing a new database). This directory has several subdirectories, one of which is named `gnats-adm'. This directory contains all configuration files related to this specific database, including the `categories', `submitters', `responsible', `states', `classes', `dbconfig', `addresses', `states' and `gnatsd.access', as well as two files generated and maintained by GNATS, `index' and `current'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

A.4 Default installation locations

prefix
defaults to `/usr/local'; change using configure (see section Configuring and compiling the software).

exec-prefix
defaults to prefix; change using configure (see section Configuring and compiling the software).

GNATS installs tools, utilities, and files into the following locations.

exec-prefix/bin

send-pr
See section Submitting Problem Reports.
edit-pr
See section Editing existing Problem Reports.
query-pr
See section Querying the database.

exec-prefix/libexec/gnats

at-pr
See section Timely reminders.

check-db
See section Checking database health.

delete-pr
Tool for deleting PRs. Deprecated. Use the --delete-pr option of pr-edit instead (see section The edit-pr driver).

diff-prs
See section The diff-prs tool.

file-pr
See section Interface to pr-edit for filing new PRs.

gen-index
See section Regenerating the index.

gnatsd
The GNATS daemon.

gnats-pwconv
See section Converting old password files.

mail-query
See section Setting up mail aliases.

mkcat
See section Adding a problem category.

mkdb
See section Script for creating new databases.

pr-age
See section The pr-age tool.

pr-edit
See section The main PR processor.

queue-pr
See section Handling incoming traffic.

rmcat
See section Removing categories.

exec-prefix/lib/libiberty.a
The GNU libiberty library.

prefix/etc/gnats

`databases'
The list of valid databases. For local databases it contains the pathname of the database directory, and for remote databases it has the hostname and port of the gnatsd server to connect to. (see section The databases file).

`defaults'
A directory containing the set of default files used when a new database is created with mkdb. (see section The dbconfig file).

`gnatsd.host_access'
The access-level settings for the different hosts that will be accessing the databases on your server. The settings in this file apply across all databases on the server. See section The `gnatsd.host_access' file.

`gnatsd.access'
The access-level settings for the users that will be accessing the databases on your server. The settings in this file apply across all databases on the server. See section The `gnatsd.access' file.

prefix/share/emacs/site-lisp

`gnats.el'
`gnats.elc'
The Emacs versions of the programs send-pr, query-pr, edit-pr, and view-pr. See section The GNATS user tools. To change this directory you must change the lispdir variable in `Makefile.in'; see Configuring and compiling the software.

prefix/info

`gnats.info'
`send-pr.info'
The GNATS manuals, in a form readable by info (the GNU hypertext browser). See section `Reading GNU Online Documentation' in GNU Online Documentation.

prefix/man/man1
prefix/man/man8

man pages for all the GNATS tools and utilities.
See section The GNATS user tools.

Per-database directory

`gnats-adm'
Administration and configuration data files that define behaviour of the particular database. The files

`categories'

`submitters'

`responsible'

`states'

`classes'

`dbconfig'

`addresses'

`states'

`gnatsd.access'

`index'
(This file is created by GNATS.)

`current'
(This file is created by GNATS.)

exist here. See section GNATS configuration, Administrative data files and Controlling access to databases.

`gnats-queue'
Incoming Problem Reports are queued here until the next iteration of `queue-pr -r' (see section Handling incoming traffic).

`pending'
If no default category is set, problem reports without a category are reassigned to the category `pending' and placed here pending intervention by GNATS administrators. See section GNATS administration.

`category'
Each valid category has a corresponding subdirectory in the database. All Problem Reports associated with that category are kept in that subdirectory.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Yngve Svendsen on January, 9 2002 using texi2html