[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
3.1.1 How do I add a new database? | How to create a new database | |
3.1.2 How do I rename a category? | How to rename categories | |
3.1.3 How do I add, remove, or rename a PR field? | Add, remove, or rename a PR field |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A: (GNATS 3.1xx) (Please consider upgrading to GNATS 4.0 or greater.)
Note that there must be a category named pending
. It is
used when no category is given in a report, and when a report names an
invalid category.
Also note that each database needs its own mail address for submissions (see also step 8 below), and that you must enter it in the file ‘config’.
Run the program gen-index
to create the index file
(see (gnats)gen-index section ‘Regenerating the index’ in Keeping Track).
Find the greatest report number and put it (or any larger number) into ‘/usr/local/gnats/db2/gnats-adm/current’.
Caution: E-mail updates to the PRs you moved to the new database may still arrive at the old database. You may want to contact everybody who knows about these PRs, asking them to use the mail address of the new database when sending a follow-up.
/usr/local/gnats/db2:GreatNewDB
Gnatsd reads it on startup (and as it is started by inetd, this means it becomes effective with the next connection to gnatsd). Gnatsweb (see Gnatsweb) learns the database list from gnatsd, so it will offer you the new database "GreatNewDB" when it is invoked next time.
If you do not know where ‘gnats-db.conf’ lives, run:
‘strings /where/ever/gnatsd | grep gnats-db.conf’
‘/usr/local/lib/gnats/queue-pr -d /usr/local/gnats/db2 -r’
or, if you prefer the long options,
‘/usr/local/lib/gnats/queue-pr --directory=/usr/local/gnats/db2 --run’
GreatNewDB-bugs: "|/usr/local/lib/gnats/queue-pr -d /usr/local/gnats/db2 -q" GreatNewDB-query: "|/usr/local/lib/gnats/mail-query -d /usr/local/gnats/db2" |
If you do not want to allow querying the database by mail, omit the ‘GreatNewDB-query’ alias.
You usually need the cooperation of a system administrator for this step (if you are not a system administrator yourself, of course).
Make sure that ‘/usr/local/gnats/db2/gnats-adm/config’ gives the correct mail addresses for GNATS_ADDR (this must be different for each database) and for GNATS_ADMIN (this is probably the same for all databases).
GNATS_ADDR="GreatNewDB-bugs@bugs.example.com" GNATS_ADMIN="gnats-admin@bugs.example.com" |
If your GNATS sits behind a firewall and needs to exchange mails with the outside world, see also Outgoing mail bounces.
A: (GNATS 4.x) With version 4, this has become much easier (see (gnats)mkdb section ‘Adding another database’ in Keeping Track):
GreatNewDB:Our great tools:/usr/local/gnats/db2
Then, as the GNATS user, run ‘mkdb GreatNewDB’ to create the database. Make sure that the directory (in our example, ‘/usr/local/gnats/db2’) can be created by the GNATS user.
(Note that there must be a database named default
. It
is used as a fallback by some tools if no database is specified. You
need not use it actively, but you should have run ‘mkdb default’.)
Gnatsd reads the file ‘databases’ on startup (and as it is started by inetd, this means it becomes effective with the next connection to gnatsd). Gnatsweb (see Gnatsweb) learns the database list from gnatsd, so it will offer you the new database "GreatNewDB" when it is invoked next time.
If you do not know where ‘databases’ lives, run:
‘strings /where/ever/gnatsd | grep databases’
mkcat
anymore in order to
create new category directories in your database—GNATS 4
creates them automatically when they are missing. See (gnats)dbconfig file section ‘The dbconfig
file’ in Keeping Track, for details.
‘/usr/local/libexec/gnats/queue-pr -d GreatNewDB -r’
or, if you prefer the long options,
‘/usr/local/libexec/gnats/queue-pr --database=GreatNewDB --run’
GreatNewDB-bugs: "|/usr/local/libexec/gnats/queue-pr -d GreatNewDB -q" GreatNewDB-query: "|/usr/local/libexec/gnats/mail-query -d GreatNewDB" |
If you are updating from GNATS 3.1xx, note that the ‘-d’ option has changed its meaning: it does not give the directory of the database, but its name. (In case you prefer the long form of the option, it is now ‘--database’ instead of ‘--directory’.)
If your GNATS sits behind a firewall and needs to exchange mails with the outside world, see also Outgoing mail bounces.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Renaming a category requires to touch every PR in that category, because each report contains the name of its category.
To rename category A
to B
, proceed as follows:
B
.
A
, changing its category to
B
.
This can be done with any GNATS client; check the archives
of the HELP-GNATS mailing list for hints about automating
this step.
gen-index
(see (gnats)gen-index section ‘Regenerating the index’ in Keeping Track) to refresh the ‘index’ file.
A
. When a follow-up to an
existing PR arrives via e-mail, GNATS 4.x checks that both
the category and the PR number indicated in the mail exist (this
is a sanity check).
To reduce the risk of new reports being filed to category
A
, change its description in the ‘categories’ file to
something like ‘obsolete, use category B
instead’.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A: (GNATS 3.1xx) The fields and their names are fixed in GNATS 3.1xx, so this is not possible.
A: (GNATS 4.x) Edit the file ‘dbconfig’ to reflect your changes.
Note that the PR fields with the builtin-names severity
,
priority
and state
are required if you want automatic
reminders (notify-about-expired-prs = true
). In this case, the
file ‘submitters’ must also contain a response time.
The severity
field is checked for values critical
and
serious
, and priority
for value high
.
This is currently not configurable.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Chad Walstrom on March 3, 2015 using texi2html 1.82.