GNATS(7) GNATS @VERSION@ GNATS(7)
Problem Report Management System Problem Report Management System
April 1993
NAME
GNATS - Problem Report Management System
DESCRIPTION
GNATS is a bug-tracking tool designed for use at a central support
site. Software users who experience problems use electronic mail to
communicate these problems to the the maintainers of that software;
GNATS partially automates the tracking of these problems by:
+ organizing problem reports into a database and notifying
responsible parties of suspected bugs;
+ allowing support personnel and their managers to edit, query and
report on accumulated bugs; and
+ providing a reliable archive of problems with a given program and
a history of the life of the program by preserving its reported
problems and their subsequent solutions. GNATS offers many of
the same features offered by more generic databases. You can
query and edit existing problem reports (PRs) as well as obtain
reports on groups of PRs. The database itself is simply an
ordered repository for problem reports; each PR receives a
unique, incremental PRnumber, which identifies it throughout its
lifetime. Many of the primary functions available with GNATS are
accessible from within GNU Emacs.
PROBLEM REPORT STATES
PRs go through several defined states in their lifetimes.
open the initial state of every PR; this means the PR
has been filed and the person or group responsible
for it has been notified of the suspected problem
analyzed the problem has been examined and work toward a
solution has begun
feedback a solution has been found and tested at the
support site, and sent to the party who reported
the problem; that party is testing the solution
closed the solution has been confirmed by the party which
reported it In some cases, it may be necessary to
suspend work on a bug; in this case, its state
changes to suspended rather than closed.
STRUCTURE
Incoming PRs are assigned an incremental serial number and filed
according to category. An index is kept concurrently to accelerate
- 1 - Formatted: December 20, 2025
GNATS(7) GNATS @VERSION@ GNATS(7)
Problem Report Management System Problem Report Management System
April 1993
searches of the database. All GNATS administration and database files
are located in subdirectories of a top-level directory signified with
the variable GNATS_ROOT. The directory has been set on this site to
xGNATS_ROOTx and contains all Problem Reports segregated into
subdirectories by category. For example, problems submitted with a
category of gcc will be filed in the directory xGNATS_ROOTx/gcc.
GNATS administration files are kept in xGNATS_ROOTx/gnats-adm:
categories table of valid categories and parties responsible for
them
responsible table of responsible parties and their email addresses
submitters database of sites which submit PRs
current keeps track of incremental PR numbers assigned; do not
touch this file
index database index which is managed internally; do not
touch this file Administrative programs and programs
internal to GNATS are kept in the directory
@PREFIX@/libexec/gnats while those meant for public use
are installed in @PREFIX@/bin. @PREFIX@/libexec/gnats
contains the programs:
mkcat used by the GNATS administrator to create new
categories
rmcat used by the GNATS administrator to remove outdated
categories
gen-index used by the GNATS administrator to obtain a copy of the
index
mkdist used by the GNATS administrator to create a
distribution of send-pr
queue-pr mail control program which accepts incoming messages
and periodically submits them to the database via cron
by feeding them through the program file-pr(8)
file-pr main administrative program which files incoming PRs
and controls the index
at-pr automatically notifies responsible parties if a PR is
not analyzed within a requisite period defined in the
submitters file.
driver for edit-pr. @PREFIX@/bin contains the programs
- 2 - Formatted: December 20, 2025
GNATS(7) GNATS @VERSION@ GNATS(7)
Problem Report Management System Problem Report Management System
April 1993
query-pr used to query the database
edit-pr used to edit individual PRs
send-pr used to submit problems to GNATS Documentation exists
for all programs associated with GNATS.
SEE ALSO
Keeping Track: Managing Messages With GNATS (also installed as the GNU
Info file gnats.info) and Reporting Problems Using send-pr (also
installed as the GNU Info file send-pr.info). gnats(7), send-pr(1),
edit-pr(1), query-pr(1), file-pr(8), queue-pr(8), rmcat(8), gen-
index(8), mkdist(8). send-pr(1), query-pr(1), edit-pr(1), file-pr(8),
queue-pr(8), mkcat(8), rmcat(8), gen-index(8), mkdist(8).
HISTORY
GNATS was greatly inspired by the BSD sendbug(1) and bugfiler(8)
programs. It was originally written in C++, Elisp, shell script, and
awk. It presently consists of utilities written in C, shell script,
and Elisp.
AUTHORS
GNATS was originally written by Heinz G. Seidl (Cygnus Support).
Subsequent iterations were developed by Brendan Kehoe (Cygnus Support)
and Jason Merrill (Cygnus Support), with help from Tim Wicinski.
Documentation was developed by Jeffrey Osier (Cygnus Support) and
Brendan Kehoe (Cygnus Support).
COPYING
Copyright (c) 1992, 1993 Free Software Foundation
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in
the original English.
- 3 - Formatted: December 20, 2025