gnats1
Problem report management system
Overview
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 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 /var/lib/gnats/gnats-db 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 /var/lib/gnats/gnats-db/gcc.
GNATS administration files are kept in /var/lib/gnats/gnats-db/gnats-adm:
|
table of valid categories and parties responsible for them |
|---|---|
|
table of responsible parties and their email addresses |
|
database of sites which submit PRs |
|
keeps track of incremental PR numbers assigned; do not touch this file |
|
database index which is managed internally; do not touch this file |
Administrative programs and programs internal to GNATS are kept in the directory /usr/libexec/gnats while those meant for public use are installed in /usr/bin.
/usr/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
cronby 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
submittersfile.
- driver for
-
edit-pr.
/usr/bin contains the programs
|
used to query the database |
|---|---|
|
used to edit individual PRs |
|
used to submit problems to GNATS |
Documentation exists for all programs associated with GNATS.
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.