annotate man/gnats/p-admin.texi @ 132:757f1c4d15f7 xemacs-20-1

Added tag xemacs-20-1p4 for changeset 869e1851236b
author cvs
date Mon, 13 Aug 2007 09:29:09 +0200
parents 48d667d6f17f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
112
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1 @node Management
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
2 @chapter @sc{gnats} Administration
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
3 @cindex administering @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
4 @cindex managing @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
5 @cindex GNATS management
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
6 @cindex duties for @code{gnats-admin}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
7
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
8 In daily usage, @sc{gnats} is self-maintaining. However, there are
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
9 various administrative duties which need to be performed periodically:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
10
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
11 @table @emph
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
12 @item emptying the @code{pending} directory
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
13 @cindex emptying the @code{pending} directory
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
14 If a Problem Report arrives with a @samp{>Category:} value that is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
15 unrecognized by the @file{categories} file, or if that field is missing,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
16 @sc{gnats} places the PR in the @w{@file{pending}} directory
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
17 (@pxref{Locations,,Where the tools and utilities reside}). @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
18 has no way of knowing which subdirectory the PR should be filed under.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
19 @sc{gnats} sends a notice to the @code{gnats-admin} and to the party
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
20 responsible for that submitter (as listed in the @file{submitters} file)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
21 when this occurs.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
22
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
23 To file these PRs, simply use @code{edit-pr} to repair the problematic
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
24 fields in each file in the @file{pending} directory. Be sure to change
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
25 the @samp{>Category:} field of the PR from @samp{pending} to an
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
26 appropriate category. In many cases the culprit is simply a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
27 typographical error, although it may be necessary sometimes to contact
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
28 the submitter of the PR to decipher her or his intentions.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
29
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
30 Should you run out of disk space, there may be an empty PR in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
31 @file{pending} directory. In that case, look in the file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
32 @w{@file{@var{GNATS_ROOT}/gnats-adm/bug.log}}, which should still contain
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
33 the full message that was submitted.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
34
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
35 @item adding new categories
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
36 @cindex adding a problem category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
37 @cindex @code{mkcat}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
38 To add a new category, simply insert a new line in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
39 @w{@file{categories}} file and then run the program @code{mkcat}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
40
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
41 @emph{Note}: this causes all category lists for @code{send-pr} (except
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
42 the one on the local machine) to become outdated. Copy the new list on
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
43 to every machine on your network that has @code{send-pr} installed, and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
44 make sure you advise remote submitters that the category list has
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
45 changed. @xref{mkcat,,Adding a problem category}. Also
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
46 @ref{categories,,The @code{categories} file}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
47
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
48 @item removing categories
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
49 @cindex removing a problem category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
50 @cindex @code{rmcat}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
51 To remove a category, you need to make sure the relevant subdirectory is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
52 empty (in other words, make sure no PRs exist for the category you wish
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
53 to remove). You can then remove the category listing from the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
54 @file{categories} file, and invoke
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
55
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
56 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
57 rmcat @var{category@dots{}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
58 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
59
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
60 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
61 to remove @var{category} (any number of categories may be specified on
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
62 the command line to @code{rmcat}, so long as they abide by the above
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
63 constraints).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
64
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
65 @emph{Note}: this causes all category lists for @code{send-pr} (except
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
66 the one on the local machine) to become outdated. Copy the new list on
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
67 to every machine on your network that has @code{send-pr} installed, and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
68 make sure you advise remote submitters that the category list has
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
69 changed. @xref{rmcat,,Removing a problem category}. Also
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
70 @ref{categories,,The @code{categories} file}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
71
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
72 @item adding and removing maintainers
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
73 @cindex adding and removing maintainers
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
74 Edit the @file{responsible} file to add a new maintainer or to remove an
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
75 existing maintainer. @xref{responsible,,The @code{responsible} file}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
76
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
77 @item building a distribution of @code{send-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
78 @cindex building a distribution of @code{send-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
79 @cindex @code{mkdist}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
80 You can build a distribution of @code{send-pr} which contains valid
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
81 information for your site by invoking the command @code{mkdist}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
82 @xref{mkdist,,Configuring @code{send-pr} for the outside world}. You
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
83 can then distribute your customized @w{@code{send-pr}} to your
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
84 customers, friends, relatives, etc., so that they can submit Problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
85 Reports to your database.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
86
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
87 @item building a new index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
88 @cindex building a new index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
89 @cindex @code{gen-index}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
90 If your index becomes corrupted, or if you wish to generate a new one
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
91 for some reason, use the program @code{gen-index}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
92 (@pxref{gen-index,,Regenerating the index}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
93
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
94 @item pruning log files
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
95 @cindex pruning log files
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
96 Log files often grow to unfathomable proportions. As with gardening, it
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
97 is best to prune these as they grow, lest they take over your disk and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
98 leave you with no room to gather more Problem Reports. If you keep log
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
99 files, be sure to keep an eye on them. (@xref{Aliases,,Setting up mail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
100 aliases}.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
101 @c "gather ye rosebugs while ye may..."
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
102
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
103 @item BACKING UP YOUR DATA
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
104 @cindex BACK UP YOUR DATA
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
105 Any database is only useful if its data remains uncorrupted and safe.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
106 Performing periodic backups ensures that problems like disk crashes and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
107 data corruption are reversible.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
108
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
109 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
110
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
111 @xref{Locations,,Where @sc{gnats} lives}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
112
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
113 @menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
114 * Networked management:: Managing GNATS over a network
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
115 * Local configuration:: Changing your local configuration
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
116 * Admin files:: Administrative data files
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
117 * Admin utils:: Administrative utilities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
118 * Internal utils:: Internal utilities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
119 @end menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
120
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
121 @node Networked management
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
122 @section Managing @sc{gnats} over a network
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
123 @cindex networked management
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
124 @cindex managing @sc{gnats} over a network
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
125
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
126 If you have installed the @sc{gnats} user tools on machines around your
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
127 local network, there are a few things you need to remember.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
128
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
129 @code{mkcat} and @code{rmcat} do not update the categories list for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
130 other machines on your network which have @code{send-pr} installed,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
131 unless those machines share @var{prefix} with the host machine). To
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
132 update these lists, copy the @code{send-pr} categories list to each of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
133 the other hosts. This categories list is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
134 @w{@file{@var{prefix}/lib/gnats/@var{site}}}, where @var{site} is the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
135 name tag for your local site, as specified in the @file{config} file as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
136 @samp{GNATS_SITE} (@pxref{config,,The @code{config} file}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
137
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
138 It is also important to note that only your local @code{send-pr} has
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
139 access to this new information; any copies of @code{send-pr} which you
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
140 have distributed to outside submitters now have outdated category lists.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
141 You must either contact your submitters and instruct them to update
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
142 their copy of the categories list, which they installed in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
143 @w{@file{@var{prefix}/lib/gnats/@var{support-site}}} from the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
144 distribution you provided, or you must build another distribution of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
145 @code{send-pr} with this new information and redistribute it.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
146
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
147 If you need to use @sc{gnats} utilities, like @code{query-pr} and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
148 @code{edit-pr}, on other systems besides the one where @sc{gnats} itself
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
149 resides, @pxref{Installing tools,,Installing the user tools}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
150
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
151 @c FIXME - anything else?
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
152
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
153 @node Local configuration
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
154 @section Changing your local configuration
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
155 @cindex local configuration
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
156 @cindex changing your local configuration
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
157
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
158 @xref{Locations,,Where @sc{gnats} lives}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
159
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
160 Your local configuration is determined by the data files in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
161 directory @w{@file{@var{GNATS_ROOT}/gnats-adm}}. These can be altered at
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
162 any time by editing the pertinent file.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
163
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
164 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
165 @cindex @code{config} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
166 @item config
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
167 Variables which control certain behavior. @xref{config,,The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
168 @code{config} file}. Behaviors you can change here include
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
169
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
170 @itemize @bullet
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
171 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
172 The address where your site receives Problem Reports.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
173
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
174 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
175 The address of the @sc{gnats} administrator.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
176
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
177 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
178 The nametag for your Support Site (your organization, company,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
179 group, etc.).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
180
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
181 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
182 The nametag for your local Submitter Site.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
183
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
184 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
185 The default release for your site.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
186
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
187 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
188 The default value for the @samp{>Organization:} field (this value
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
189 appears as the default when you run @code{send-pr}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
190
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
191 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
192 Whether or not to remind maintainers if a requisite time period has
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
193 passed before they change the state of a Problem Report to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
194 @samp{analyzed}. (Also see @ref{submitters,,The @code{submitters}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
195 file}, and @ref{at-pr,,Timely Reminders}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
196
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
197 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
198 Whether or not to send an automatic acknowledgement to the originator of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
199 a problem report when the @sc{gnats} first receives the PR.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
200
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
201 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
202 The value @sc{gnats} assigns to PRs which come in with missing or unknown
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
203 values for the @samp{>Submitter-Id:} field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
204
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
205 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
206 Whether or not @sc{gnats} should retain @samp{Received:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
207 mail headers from incoming mail.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
208
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
209 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
210 Whether or not @sc{gnats} is in a mode for debugging.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
211
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
212 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
213 The values which define business hours.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
214 @end itemize
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
215
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
216 @cindex @code{categories} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
217 @item categories
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
218 The list of categories that @sc{gnats} accepts as valid for the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
219 @samp{>Category:} field, and the maintainers responsible for each
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
220 category. Update this file whenever you have a new category, or
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
221 whenever a category is no longer valid. You must also update this file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
222 whenever responsiblility for a category changes, or if a maintainer is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
223 no longer valid. @xref{categories,,The @code{categories} file}. Also
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
224 see @ref{mkcat,,Adding a new problem category}, and @ref{rmcat,,Removing
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
225 a problem category}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
226
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
227 @cindex @code{responsible} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
228 @item responsible
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
229 The list of maintainers. Update this file whenever you have a new
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
230 maintainer, or whenever a maintainer is no longer valid.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
231 @xref{responsible,,The @code{responsible} file}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
232
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
233 @cindex @code{submitters} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
234 @item submitters
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
235 The list of Submitter Sites from whom @sc{gnats} accepts Problem Reports.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
236 This file is mandatory, although the feature it provides is not; see
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
237 @ref{submitters,,The @code{submitters} file}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
238 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
239
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
240 @menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
241 * default behavior::
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
242 * config:: The `config' file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
243 * categories:: The `categories' file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
244 * responsible:: The `responsible' file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
245 * submitters:: The `submitters' file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
246 @end menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
247
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
248 @node default behavior
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
249 @subsection Default behavior
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
250
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
251 The default behavior for @sc{gnats} is as follows:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
252
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
253 @cindex default behavior
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
254 @itemize @bullet
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
255 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
256 The address where your site receives Problem Reports is @samp{bugs} (a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
257 local address).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
258
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
259 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
260 The address of the @sc{gnats} administrator is @samp{gnats-admin} (a local
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
261 address).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
262
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
263 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
264 The nametag for your Support Site (your organization, company, group,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
265 etc.) is the second-to-last field in your domain name.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
266
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
267 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
268 The nametag for your local Submitter Site is the nametag for your
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
269 Support Site.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
270
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
271 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
272 The default release for your site is @samp{unknown-1.0}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
273
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
274 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
275 The default value for the @samp{>Organization:} field (this value appears as the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
276 default when you run @code{send-pr}) is the nametag for your Support
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
277 Site.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
278
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
279 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
280 @sc{gnats} reminds maintainers if a requisite time period has passed
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
281 before they change the state of a Problem Report to @samp{analyzed}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
282
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
283 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
284 An automatic acknowledgement is sent to the originator of a problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
285 report when the @sc{gnats} first receives the PR.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
286
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
287 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
288 The value @sc{gnats} assigns to the @samp{>Submitter-Id:} field in PRs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
289 which arrive with missing or unknown values for that field is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
290 @samp{unknown}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
291
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
292 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
293 @samp{Received@dots{}} mail headers are retained.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
294
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
295 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
296 @sc{gnats} is not in a debugging mode.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
297
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
298 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
299 @dfn{business hours} are defined as 8:00am to 5:00pm, Monday through
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
300 Friday.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
301 @end itemize
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
302
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
303
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
304 @node config
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
305 @subsection The @code{config} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
306 @cindex @code{config} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
307
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
308 Much of the behavior @sc{gnats} exhibits depends on the values of fields
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
309 in the file @w{@file{@var{GNATS_ROOT}/gnats-adm/config}}. The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
310 @file{config} file contains a list of variables (using Bourne-shell
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
311 syntax) which control the following behavior. These values can be
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
312 changed at any time; the new values take effect for all subsequent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
313 iterations of the tools.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
314
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
315 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
316 @cindex @code{GNATS_ADDR}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
317 @item GNATS_ADDR="@var{address}"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
318 The address where your site receives Problem Reports. This address is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
319 aliased in the file @w{@file{/etc/aliases}} so that it directs incoming
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
320 mail into @code{queue-pr} (@pxref{Installing utils,,Installing the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
321 utilities}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
322
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
323 The default is @samp{bugs} (a local address).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
324
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
325 @cindex @code{GNATS_ADMIN}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
326 @item GNATS_ADMIN="@var{address}"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
327 The address of the @sc{gnats} administrator. Normally this is set to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
328 @samp{gnats-admin}, which is an alias in @file{/etc/aliases} that points
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
329 toward the person responsible for administrating @sc{gnats}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
330 @xref{Installing utils,,Installing the utilities}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
331
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
332 The default is @samp{gnats-admin} (a local address).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
333
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
334 @cindex @code{GNATS_SITE}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
335 @item GNATS_SITE="@var{site}"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
336 The nametag for your Support Site (your organization, company, group,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
337 etc.). This nametag should also appear in the @file{submitters} file,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
338 so that users at your site can submit Problem Reports locally.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
339
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
340 @var{site} is also used as the name of the file containing a valid
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
341 category list for your site. This file is installed locally as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
342 @w{@file{@var{prefix}/lib/gnats/@var{site}}}. @emph{Warning:} if you
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
343 change this variable after @sc{gnats} is installed, you must also change
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
344 the name of this file, as well as the name of the alias for your local
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
345 submitters (@pxref{Aliases,,Setting up mail aliases}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
346
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
347 The default is the second-to-last field in your domain name. For
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
348 example, if your domain name is @w{@samp{unleaded.truckstop.org}}, your
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
349 default @var{site} is @w{@samp{truckstop}}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
350
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
351 @cindex @code{SUBMITTER}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
352 @item SUBMITTER="@var{submitter-id}"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
353 The nametag for your local Submitter Site (this value appears as the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
354 default value for @samp{>Submitter-Id} when you run @code{send-pr}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
355 Even though you are a Support Site, if you submit Problem Reports to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
356 your own organization you become a Submitter Site. The value
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
357 @var{submitter-id} is the default value for the @samp{>Submitter-Id:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
358 field that your maintainers see when they submit Problem Reports
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
359 locally.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
360
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
361 The default is the value of @samp{GNATS_SITE}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
362
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
363 @cindex @code{DEFAULT_RELEASE}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
364 @item DEFAULT_RELEASE="@var{release}"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
365 The default release for your site (this value appears as the default
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
366 value for @samp{>Release:} when you run @code{send-pr}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
367
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
368 The default is @samp{unknown-1.0}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
369
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
370 @cindex @code{DEFAULT_ORGANIZATION}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
371 @item DEFAULT_ORGANIZATION="@var{text}"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
372 The default value for the @samp{>Organization:} field (this value
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
373 appears as the default when you run @code{send-pr}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
374
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
375 The default is the value of @samp{GNATS_SITE}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
376
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
377 @c FIXME - where else to mention this stuff?
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
378 @cindex @code{NOTIFY}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
379 @item NOTIFY=@var{boolean}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
380 Determines whether or not to remind maintainers if a requisite time
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
381 period has passed before they change the state of a Problem Report to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
382 @samp{analyzed}. This feature uses the program @code{at-pr}; see
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
383 @ref{at-pr,,Timely Reminders}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
384
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
385 This requisite time is determined for each submitter individually; see
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
386 @ref{submitters,,The @code{submitters} file}. The time is measured in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
387 @dfn{business hours}, which by default are 8:00am to 5:00pm, Monday
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
388 through Friday. Business hours can be redefined by changing the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
389 variables @code{BDAY_START}, @code{BDAY_END}, @code{BWEEK_START}, and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
390 @code{BWEEK_END} in the @file{config} file (see below).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
391
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
392 If @var{boolean} is @samp{1}, this feature is active. If @var{boolean}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
393 is @samp{0}, the feature is turned off. The default value for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
394 @samp{NOTIFY} is @samp{1}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
395
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
396 @cindex @code{ACKNOWLEDGE}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
397 @item ACKNOWLEDGE=@var{boolean}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
398 Determines whether or not to send an automatic acknowledgement to the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
399 originator of a problem report when the @sc{gnats} first receives the PR.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
400
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
401 If @var{boolean} is @samp{1}, this feature is active. If @var{boolean}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
402 is @samp{0}, the feature is turned off. The default for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
403 @samp{ACKNOWLEDGE} is @samp{1}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
404
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
405 The acknowledgment is of the form:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
406
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
407 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
408 @group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
409 To: @var{your-address}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
410 From: gnats
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
411 Subject: Re: @var{category}/@var{gnats-id}:@var{Synopsis}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
412 In-Reply-To: Your message of @var{date}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
413
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
414 Thank you very much for your problem report.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
415 It has the internal identification: @var{category}/@var{gnats-id}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
416 The individual assigned to look at your bug is:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
417 @var{responsible}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
418
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
419 Category: @var{category of the PR}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
420 Responsible: @var{responsible}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
421 Synopsis: @var{Synopsis from submitted PR}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
422 Arrival-Date: @var{arrival date}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
423 @end group
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
424 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
425
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
426 @cindex @code{DEFAULT_SUBMITTER}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
427 @item DEFAULT_SUBMITTER="submitter-id"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
428 The value @sc{gnats} assigns to PRs which come in with missing or unknown
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
429 values for the @samp{>Submitter-Id:} field. This value must also appear
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
430 in the @file{submitters} file; see @ref{submitters,,The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
431 @code{submitters} file}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
432
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
433 @cindex disabling @var{submitter-id}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
434 To disable the feature of @sc{gnats} which tracks the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
435 @samp{>Submitter-Id:}, simply alter the @file{submitters} file to only
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
436 contain the @var{submitter-id} value which appears in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
437 @w{@code{DEFAULT_SUBMITTER}}, and and instruct your submitters to ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
438 the field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
439
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
440 The default value for @samp{DEFAULT_SUBMITTER} is @samp{unknown}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
441
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
442 @cindex @code{KEEP_RECEIVED_HEADERS}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
443 @item KEEP_RECEIVED_HEADERS=@var{boolean}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
444 Determines whether or not @sc{gnats} should retain the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
445 @w{@samp{Received:}} mail headers from incoming mail. These headers
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
446 often take up a lot of space, and they are seldom used.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
447
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
448 If @var{boolean} is @samp{1}, this feature is active. If @var{boolean}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
449 is @samp{0}, the feature is turned off. The default value for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
450 @samp{KEEP_RECEIVED_HEADERS} is @samp{1}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
451
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
452 @item DEBUG_MODE=@var{boolean}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
453 Determines whether or not @sc{gnats} is operating in a mode for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
454 debugging. When @var{boolean} is @samp{1}, @sc{gnats} fowards all mail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
455 to the @sc{gnats} administrator, @w{@code{gnats-admin}}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
456
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
457 @cindex business hours
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
458 @item BDAY_START=@var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
459 @itemx BDAY_END=@var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
460 @itemx BWEEK_START=@var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
461 @itemx BWEEK_END=@var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
462 The definition of @dfn{business hours}. These values are only used if
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
463 @code{NOTIFY} is set to @samp{1} in the @file{config} file (see above).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
464
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
465 By default, business hours are 8:00am to 5:00pm Monday through Friday,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
466 local time.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
467
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
468 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
469 @item BDAY_START=@var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
470 Defines the hour of the day when business hours begin. @var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
471 values must fall between @samp{0} (midnight) and @samp{23} (11:00pm).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
472 The default is @samp{8} (8:00am).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
473
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
474 @item BDAY_END=@var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
475 Defines the hour of the day when business hours end. @var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
476 values must fall between @samp{0} (midnight) and @samp{23} (11:00pm).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
477 The default is @samp{17} (5:00pm).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
478
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
479 @item BWEEK_START=@var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
480 Defines the beginning day of the business week. @var{integer} values
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
481 must fall between @samp{0} (Sunday) and @samp{6} (Saturday). The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
482 default is @samp{1} (Monday).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
483
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
484 @item BWEEK_END=@var{integer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
485 Defines the ending day of the business week. @var{integer} values must
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
486 fall between @samp{0} (Sunday) and @samp{6} (Saturday). The default is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
487 @samp{5} (Friday).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
488 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
489
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
490 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
491
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
492 @node categories
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
493 @subsection The @code{categories} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
494 @cindex @code{categories} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
495
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
496 The @file{categories} file contains a list of problem categories,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
497 specific to your site, which @sc{gnats} tracks. This file also matches
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
498 responsible people with these categories. You must edit this file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
499 initially, creating valid categories and then running @code{mkcat} to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
500 create the corresponding subdirectories of @w{@code{@var{GNATS_ROOT}}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
501 and update the valid categories list for @w{@code{send-pr}}. For
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
502 instructions on running @code{mkcat}, see @ref{mkcat,,Adding a problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
503 category}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
504
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
505 To create a new category, log in as @sc{gnats}, add a line to this file,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
506 and run @code{mkcat}. Lines beginning with @samp{#} are ignored.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
507
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
508 A line in the @file{categories} file consists of four fields delimited
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
509 by colons, as follows:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
510
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
511 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
512 @var{category}:@var{description}:@var{responsible}:@var{notify}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
513 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
514
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
515 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
516 @table @var
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
517 @item category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
518 A unique category name, made up of text characters. This name cannot
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
519 contain spaces or any of the following characters:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
520
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
521 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
522 ! $ & * ( ) @{ @} [ ] ` ' " ; : < > ~
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
523 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
524
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
525 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
526 Ideally, category names should not contain commas or begin with periods.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
527 Each line has a corresponding subdirectory in the main @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
528 directory (@var{GNATS_ROOT}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
529
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
530 @ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
531 It is possible that if you set up the database with categories
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
532 which contain characters that describe subdirectories, such as a slash
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
533 (@key{/}) in @sc{Unix}, you could effectively build subdirectories
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
534 within each category, and @sc{gnats} would read and write to these
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
535 files as it would any other. This is not recommended. It doesn't
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
536 break any of the existing tools, and is a fine way to keep category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
537 directories from growing too large. It is, however, quite untested.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
538 @end ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
539
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
540 @item description
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
541 A terse textual description of the category.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
542
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
543 @item responsible
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
544 The name tag of the party responsible for this category of problems, as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
545 listed in the @file{responsible} file (@pxref{responsible,,The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
546 @code{responsible} file}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
547
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
548 @item notify
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
549 One or more other parties which should be notified when a Problem Report
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
550 with this category arrives, such as a project manager, other members of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
551 the same project, other interested parties, or even log files. These
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
552 should be separated with commas.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
553 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
554
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
555 A good strategy for configuring this file is to have a different
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
556 category for each product your organization supports or wishes to track
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
557 information for, or perhaps with sub-categories within each category.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
558 For instance, if you wish to track documentation problems in a variety of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
559 areas, you could have entries such as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
560
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
561 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
562 doc:General Doc Questions:myboss:me,barney
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
563 doc-rock:Doc for ROCK program:me:myboss
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
564 doc-stone:Docs for STONE utils:barney:fred
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
565 doc-local:in-house documentation:me:doc-local-log
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
566 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
567
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
568 In the above example, the nametags @samp{myboss}, @samp{me},
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
569 @samp{fred}, and @samp{barney} must be defined in the @file{responsible}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
570 file (@pxref{responsible,,The @code{responsible} file}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
571
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
572 Problem Reports with a category of @samp{doc} are sent to the local mail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
573 address (or alias) @samp{myboss}, and also sent to the addresses
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
574 @samp{me} and @samp{barney}. PRs with a category of @samp{doc-rock} are
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
575 sent to the local addresses @samp{me} and @samp{myboss} only, while PRs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
576 with the category @samp{doc-stone} are sent to @samp{fred} as well as to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
577 @samp{barney}. PRs with a category of @samp{doc-local} are sent only to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
578 @samp{me}, and are also filed in @code{doc-local-log} (in this case, an
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
579 alias should be set up in @file{/etc/aliases} to reflect a location for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
580 the log file, such as @w{@samp{doc-local-log: /users/me/local-log}}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
581
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
582 Whenever you add a new category, be sure to run @code{mkcat} to create a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
583 subdirectory for it and update the local categories list.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
584
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
585 Only one category must be present for @sc{gnats} to function:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
586
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
587 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
588 pending:Category for faulty PRs: gnats-admin:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
589 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
590
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
591 @cindex @code{pending} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
592 The @file{pending} directory is created automatically when you run
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
593 @w{@samp{make install}} (@pxref{Configure and make,,Configuring and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
594 compiling the software}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
595
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
596 @node responsible
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
597 @subsection The @code{responsible} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
598 @cindex @code{responsible} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
599
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
600 This file contains a list of the responsible parties. Lines beginning
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
601 with @samp{#} are ignored. Each entry contains three fields, separated
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
602 by colons:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
603
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
604 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
605 @var{responsible}:@var{full-name}:@var{mail-address}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
606 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
607
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
608 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
609 @table @var
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
610 @item responsible
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
611 A name-tag description of the party in question, such as her or his user
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
612 name, or the name of the group. This name is listed in the PR in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
613 the @samp{>Responsible:} field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
614
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
615 @item full-name
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
616 The full name of the party (``Charlotte Bronte''; ``Compiler Group'').
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
617
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
618 @item mail-address
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
619 The full, valid mail address of the party. This field is only necessary
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
620 if the responsible party has no local mail address or alias.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
621 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
622
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
623 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
624 A sample @file{responsible} listing might be:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
625
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
626 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
627 ren:Ren Hoek:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
628 stimpy:Stimpson J. Cat:stimpy@@lederhosen.org
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
629 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
630
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
631 Here, @code{ren} is a local user. @code{stimpy} is remote, so his full
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
632 address must be specified.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
633
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
634 The following entry must be present for @sc{gnats} to function:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
635
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
636 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
637 gnats-admin: GNATS administrator:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
638 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
639
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
640 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
641 (@code{gnats-admin} is a mail alias, so for this purpose
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
642 @code{gnats-admin} is a local address.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
643
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
644 @node submitters
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
645 @subsection The @code{submitters} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
646 @cindex @code{submitters} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
647
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
648 This is a database of sites which submit bugs to your support site. It
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
649 contains six fields delineated by colons. Lines beginning with @samp{#}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
650 will be ignored.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
651
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
652 Entries are of the format:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
653
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
654 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
655 @var{submitter-id}:@var{name}:@var{type}:@var{resp-time}:@var{contact}:@var{notify}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
656 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
657
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
658 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
659 @table @var
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
660 @item submitter-id
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
661 A unique identifier for a specific site or other entity who submits
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
662 Problem Reports.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
663
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
664 @item name
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
665 A textual description of this entity.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
666
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
667 @item type
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
668 Optional description for the type of relationship this submitter to your
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
669 support site. This could indicate a contract type, a level of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
670 expertise, etc., or it can remain blank.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
671
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
672 @item resp-time
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
673 Optional quoted response time, in @dfn{business hours}. @sc{gnats} is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
674 capable of reminding responsible parties when Problem Reports marked
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
675 with a @samp{>Severity} value of @samp{critical}, or those with a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
676 @samp{>Severity} of @samp{serious} and a @samp{>Priority} value of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
677 @samp{high}, are neglected for a certain period. This argument defines
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
678 that response period for each @var{submitter-id}. Business hours are
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
679 defined by default as 8:00am to 5:00pm, Monday through Friday. For
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
680 example, three business days would be equal to 24 business hours.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
681
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
682 This function is active if the @code{NOTIFY} field is defined as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
683 @samp{1} in the @file{config} file (@pxref{Local configuration,,Changing
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
684 your local configuration}). If @code{NOTIFY} is @samp{0}, this field is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
685 ignored. For information on @code{at-pr}, the program which sends out
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
686 this reminder, see @ref{at-pr,,Timely Reminders}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
687
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
688 @item contact
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
689 The name tag of the main @dfn{contact} at the Support Site for this
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
690 submitter. This contact should be in the @file{responsible} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
691 (@pxref{responsible,,The @code{responsible} file}). Incoming bugs from
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
692 @var{submitter} are sent to this contact. Optionally, this field can be
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
693 left blank.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
694
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
695 @item notify
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
696 Any other parties who should receive copies of Problem Reports sent in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
697 by @var{submitter}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
698 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
699
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
700 A few example entries in the @file{submitters} file:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
701
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
702 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
703 univ-hell: University of Hades:eternal:3:beelzebub:lucifer
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
704 tta: Telephones and Telegraphs of America:support:720:dave:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
705 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
706
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
707 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
708 In this example, when a PR comes in from the University of Hades (who
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
709 has an eternal contract), it should have @samp{univ-hell} in its
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
710 @samp{Submitter-Id} field. This Problem Report goes to @code{beelzebub}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
711 (who should be in the @file{responsible} file), and if it is not
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
712 analyzed within three business hours a reminder message is sent.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
713 @code{lucifer} also receives a copy of the bug, and a copy of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
714 reminder message as well (if it is sent). When Telephones and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
715 Telegraphs of America utilizes their support contract and submits a bug,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
716 a copy is sent only to @code{dave}, who has 720 business hours to return
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
717 an analysis before a reminder is sent.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
718
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
719 @cindex disabling @var{submitter-id}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
720 To disable the feature of @sc{gnats} which tracks the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
721 @samp{>Submitter-Id:}, simply alter the @file{submitters} file to only
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
722 contain the @var{submitter-id} value which appears as the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
723 @samp{DEFAULT_SUBMITTER} value in the @file{config} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
724 (@pxref{config,,The @code{config} file}), and instruct your submitters
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
725 to ignore the field.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
726
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
727 @node Admin files
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
728 @section Administrative data files
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
729 @cindex admin files
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
730 @cindex files used for @sc{gnats} administration
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
731
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
732 The following files are located in @file{@var{GNATS_ROOT}/gnats-adm},
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
733 where @var{GNATS_ROOT} is the resident directory of @sc{gnats}. These
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
734 files are maintained by @sc{gnats}; you should never touch them.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
735
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
736 @menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
737 * index file:: The `index' file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
738 * current file:: The `current' file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
739 @end menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
740
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
741 @node index file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
742 @subsection The @code{index} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
743 @cindex @code{index} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
744
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
745 The index is used to accelerate searches on the database by
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
746 @code{query-pr} and @code{edit-pr}. This file is not created until the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
747 first PR comes in. It is then kept up to date by @sc{gnats}; you should
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
748 never touch this file.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
749
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
750 Any searches on subjects contained in the index are much faster than
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
751 searches which depend on data not in the index. The index contains
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
752 single-line entries for the following fields, in order, separated by
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
753 colons (@samp{:}) except for @samp{>Category:} and @samp{>Number:},
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
754 which are separated by a slash (@samp{/}) (the @samp{>} and @samp{:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
755 Problem Report fieldname delimiters have been removed for the sake of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
756 brevity and readability)::
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
757
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
758 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
759 Category Number Submitter-Id
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
760 Responsible State Confidential
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
761 Severity Priority
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
762 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
763
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
764 To see an example index, run @code{gen-index} without any options
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
765 (@pxref{gen-index,,Regenerating the index}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
766
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
767 @node current file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
768 @subsection The @code{current} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
769 @cindex @code{current} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
770
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
771 This file contains the last serial number assigned to an incoming PR.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
772 It is used internally by @sc{gnats}; you need never touch this file.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
773
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
774 @node Admin utils
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
775 @section Administrative utilities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
776 @cindex administrative utilities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
777
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
778 These tools are used by the @sc{gnats} administrator as part of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
779 periodic maintenance and configuration of @sc{gnats}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
780 @xref{Management,,@sc{gnats} Administration}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
781
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
782 @menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
783 * mkcat:: Adding a problem category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
784 * rmcat:: Removing a problem category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
785 * gen-index:: Regenerating the index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
786 * mkdist:: Configuring send-pr for the outside world
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
787 @end menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
788
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
789 @node mkcat
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
790 @subsection Adding a problem category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
791 @cindex @code{mkcat}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
792 @cindex adding a problem category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
793 @cindex new problem categories
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
794 @cindex @code{categories} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
795
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
796 To add new categories to the database:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
797
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
798 @enumerate 1
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
799 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
800 Add a line to the @file{categories} file under
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
801 @w{@file{@var{GNATS_ROOT}/gnats-adm}} for each new category.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
802 @xref{categories,,The @code{categories} file}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
803
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
804 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
805 Run @code{mkcat}. @code{mkcat} creates a directory under
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
806 @w{@var{GNATS_ROOT}} for any new categories which appear in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
807 @file{categories} file. @code{mkcat} also recreates the list of valid
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
808 categories for both your locally installed @code{send-pr} and for the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
809 @code{send-pr} distribution template in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
810 @w{@file{@var{prefix}/lib/gnats/dist}} (@pxref{Locations,,Where @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
811 lives}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
812 @end enumerate
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
813
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
814 @emph{Note:} @code{mkcat} does not update the categories list for other
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
815 machines on your network which have @code{send-pr} installed (unless
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
816 the two machines share the directory @var{prefix}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
817 @xref{Networked management,,Managing @sc{gnats} over a network}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
818
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
819 It is also important to note that only your local @code{send-pr} has
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
820 access to this new information; any copies of @code{send-pr} which you
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
821 have distributed to outside submitters now have outdated category lists.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
822 You must either contact your submitters and instruct them to update
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
823 their copy of the categories list, which they installed in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
824 @w{@file{@var{prefix}/lib/gnats/@var{support-site}}} (@emph{Note:} the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
825 value for @var{prefix} may be different from yours) from the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
826 distribution you provided, or you must build another distribution of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
827 @code{send-pr} with this new information and redistribute it
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
828 (@pxref{mkdist,,Configuring @code{send-pr} for the outside world}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
829
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
830 @node rmcat
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
831 @subsection Removing a problem category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
832 @cindex @code{rmcat}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
833 @cindex removing a problem category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
834 @cindex @code{categories} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
835
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
836 To remove a category from the database:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
837
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
838 @enumerate 1
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
839 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
840 Remove the Problem Reports from the subdirectories corresponding to the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
841 categories you wish to remove, or assign the PRs to new categories. All
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
842 PRs for a given category reside in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
843 @w{@file{@var{GNATS_ROOT}/@var{category}}}. Make sure you do this for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
844 each category you wish to remove.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
845
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
846 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
847 Run @code{rmcat} using
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
848
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
849 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
850 rmcat @var{category} [ @var{category@dots{}} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
851 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
852
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
853 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
854 where @var{category} is the category you wish to remove. You can
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
855 specify as many categories as you wish as long as each category has no
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
856 PRs associated with it. @code{rmcat} removes the directory under
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
857 @w{@var{GNATS_ROOT}} where the Problem Reports for that category had been
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
858 stored. @code{rmcat} also deletes the category from the list of valid
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
859 categories for both your locally installed @code{send-pr} and for the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
860 @code{send-pr} distribution template in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
861 @w{@file{@var{prefix}/lib/gnats/dist}} (@pxref{Locations,,Where @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
862 lives}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
863 @end enumerate
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
864
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
865 @emph{Note:} @code{rmcat} does not update the categories list for other
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
866 machines on your network which have @code{send-pr} installed.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
867 @xref{Networked management,,Managing @sc{gnats} over a network}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
868
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
869 It is also important to note that only your local @code{send-pr} has
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
870 access to this new information; any copies of @code{send-pr} which you
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
871 have distributed to outside submitters now have outdated category lists.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
872 You must either contact your submitters and instruct them to update
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
873 their copy of the categories list, which they installed in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
874 @w{@file{@var{prefix}/lib/gnats/@var{support-site}}} (@emph{Note:} the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
875 value for @var{prefix} may be different from yours) from the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
876 distribution you provided, or you must build another distribution of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
877 @code{send-pr} with this new information and redistribute it
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
878 (@pxref{mkdist,,Configuring @code{send-pr} for the outside world}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
879
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
880 @c FIXME! Should we suggest this?
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
881 @ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
882 To reassign a group of categories....
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
883
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
884 (The idea is to call "query-pr --full", run the output through sed, and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
885 then throw it at pr-edit. This approach is untested, and may be unhealthy.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
886
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
887 @end ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
888
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
889 @node gen-index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
890 @subsection Regenerating the index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
891 @cindex @code{gen-index}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
892 @cindex @code{index} file
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
893
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
894 If your @file{index} file becomes corrupted, or if you need a copy of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
895 the current index for some reason, use
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
896
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
897 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
898 gen-index [ -n | --numeric ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
899 [ -d @var{directory} | --directory=@var{directory} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
900 [ -c @var{filename} | --catfile=@var{filename} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
901 [ -o @var{filename} | --outfile=@var{filename} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
902 [ -h | --help] [ -V | --version ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
903 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
904
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
905 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
906 With no options, @code{gen-index} generates an index that is ordered the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
907 same as the order of the categories as they appear in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
908 @file{categories} file, and prints it to standard output. The options
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
909 are:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
910
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
911 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
912 @item -n
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
913 @itemx --numeric
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
914 Sorts index entries numerically.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
915
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
916 @item -d @var{directory}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
917 @itemx --directory=@var{directory}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
918 Uses @var{directory} as the directory containing the database, by
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
919 default @w{@var{GNATS_ROOT}} (@pxref{Locations,,Where @sc{gnats} lives}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
920
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
921 @item -o @var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
922 @itemx --outfile=@var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
923 Places output in @var{filename} rather than sending it to standard
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
924 output.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
925
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
926 @item -c @var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
927 @itemx --catfile=@var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
928 Point to @var{filename}, the file listing the valid categories.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
929
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
930 @item -h
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
931 @itemx --help
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
932 Prints the usage for @code{gen-index}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
933
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
934 @item -V
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
935 @itemx --version
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
936 Prints the version number for @code{gen-index}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
937 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
938
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
939 @node mkdist
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
940 @subsection Configuring @code{send-pr} for the outside world
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
941 @cindex configuring @code{send-pr} for the outside world
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
942 @cindex invoking @code{mkdist}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
943 @cindex using @code{mkdist}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
944
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
945 Now that @sc{gnats} is up and running on your system, you probably want
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
946 to distribute @code{send-pr} to all your friends, relatives, enemies,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
947 etc. so they can more easily submit bugs to your organization. To do
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
948 this, create a new directory @var{dist-directory} to hold the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
949 distribution. Then run the program
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
950
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
951 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
952 mkdist --release=@var{release} @var{dist-directory}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
953 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
954
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
955 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
956 This populates @var{dist-directory} with a full distribution of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
957 program @code{send-pr}, including a @file{Makefile} and all the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
958 @code{send-pr} documentation. You can then simply package up this
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
959 directory and send it to your bug report submitters. For example,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
960 when logged in as @code{gnats} you can do the following:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
961
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
962 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
963 mkdir new-dist
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
964 mkdist --release=tools-1.2 new-dist
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
965 tar cvf send-pr.tar new-dist
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
966 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
967
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
968 This creates a file called @file{send-pr.tar} which contains a full
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
969 distribution of @code{send-pr} customized for your site, with a default
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
970 release number of @samp{tools-1.2}. You can then place this onto a disk
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
971 or tape and send it to your submitters, or instruct your submitters to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
972 download it using @code{ftp}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
973
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
974 If you only have one submitter, you can set the Submitter ID in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
975 send-pr script by specifying the --submitter option to mkdist. If you
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
976 do this, the submitter will not have to run install-sid.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
977
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
978 @node Internal utils
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
979 @section Internal utilities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
980 @cindex internal utilities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
981
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
982 These tools are used internally by @sc{gnats}. You should never need to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
983 run these by hand; however, a complete understanding may help you locate
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
984 problems with the @sc{gnats} tools or with your local implementation.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
985
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
986 @menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
987 * queue-pr:: Handling incoming traffic
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
988 * file-pr:: Processing incoming traffic
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
989 * at-pr:: Timely reminders
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
990 * pr-edit:: The edit-pr driver
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
991 * pr-addr:: Address retrieval
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
992 @end menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
993
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
994 @node queue-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
995 @subsection Handling incoming traffic
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
996 @cindex @code{queue-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
997 @cindex handling incoming traffic
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
998
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
999 The program @code{queue-pr} handles traffic coming into @sc{gnats}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1000 @code{queue-pr} queues incoming Problem Reports in the directory
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1001 @w{@file{@var{GNATS_ROOT}/gnats-queue}}, and then periodically (via
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1002 @code{cron}) passes them on to @code{file-pr} to be filed in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1003 @sc{gnats} database. @xref{Installation,,Installing @sc{gnats}}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1004
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1005 The usage for @code{queue-pr} is as follows:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1006
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1007 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1008 queue-pr [ -q | --queue ] [ -r | --run ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1009 [ -f @var{filename} | --file=@var{filename} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1010 [ -d @var{directory} | --directory=@var{directory} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1011 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1012
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1013 One of @samp{-q} or @samp{-r} (or their longer-named counterparts) must
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1014 be present upon each call to @code{queue-pr}. These options provide
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1015 different functions, as described below.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1016
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1017 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1018 @item -q
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1019 @itemx --queue
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1020 Accepts standard input as an incoming mail message, placing this message
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1021 in an incrementally numbered file in the @w{@file{gnats-queue}} directory
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1022 under @w{@code{@var{GNATS_ROOT}}} (@pxref{Locations,,Where @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1023 lives}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1024
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1025 @item -r
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1026 @itemx --run
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1027 Redirects files in the @file{gnats-queue} directory into the program
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1028 @code{file-pr} one by one.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1029
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1030 @item -f @var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1031 @itemx --file=@var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1032 Used with @samp{-q} (or @samp{--queue}), accepts the file denoted by
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1033 @var{filename} as input rather than reading from standard input.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1034
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1035 @item -d @var{directory}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1036 @itemx --directory=@var{directory}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1037 Resets the default @var{directory} value, which is by default
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1038 @w{@file{@var{GNATS_ROOT}/gnats-queue}}. When @w{@samp{-d
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1039 @var{directory}}} is used in conjunction with the @samp{-q} (or
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1040 @samp{--queue}) option, @w{@code{queue-pr}} files incoming messages into
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1041 @var{directory} rather than the @file{gnats-queue} directory. When
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1042 @w{@samp{-d @var{directory}}} is used in conjunction with the @samp{-r}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1043 (or @samp{--run}) option, @code{queue-pr} redirects into
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1044 @w{@code{file-pr}} files from @var{directory} rather than from the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1045 @w{@file{gnats-queue}} directory.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1046 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1047
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1048 @node file-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1049 @subsection Processing incoming traffic
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1050 @cindex @code{file-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1051 @cindex processing incoming traffic
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1052
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1053 @code{queue-pr} hands off queued Problem Reports to @code{file-pr} one
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1054 at a time. @code{file-pr} checks each Problem Report for correct
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1055 information in its fields (particularly a correct @samp{>Category:}),
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1056 assigns it an identification number, and files it in the database under
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1057 the appropriate category.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1058
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1059 If the @samp{>Category:} field does not contain a valid category value
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1060 (i.e., matching a line in the @code{categories} file;
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1061 @pxref{categories,,The @code{categories} file}), the PR is given a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1062 @samp{>Category:} value of @samp{pending} and is placed in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1063 @file{pending} directory. The @sc{gnats} administrator is notified of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1064 the unplaceable PR.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1065
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1066 @code{file-pr} assigns the Problem Report an identification number,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1067 files it in the @sc{gnats} database (under @w{@samp{pending}}, if the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1068 @samp{>Category:} field contains an invalid category), and sends
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1069 acknowledgements to appropriate parties. The person responsible for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1070 that category of problem (@pxref{categories,,The @code{categories}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1071 file}) and the person responsible for the submitter site where the PR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1072 originated (@pxref{submitters,,The @code{submitters} file}) receive a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1073 copy of the PR in its entirety. Optionally, the originator of the PR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1074 receives an acknowledgement that the PR arrived and was filed
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1075 (@pxref{Local configuration,,Changing your local configuration}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1076
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1077 The usage for @code{file-pr} is as follows:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1078
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1079 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1080 file-pr [ -f @var{filename} | --file=@var{filename} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1081 [ -d @var{directory} | --directory=@var{directory}b ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1082 [ -D | --debug ] [ -h | --help ] [ -V | --version ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1083 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1084
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1085 @code{file-pr} requires no options in order to operate, and takes input
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1086 from standard input (normally, the output of @w{@samp{queue-pr -r}})
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1087 unless otherwise specified. The options include:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1088
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1089 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1090 @item -f @var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1091 @itemx --filename=@var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1092 Uses @var{filename} as input rather than standard input.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1093
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1094 @item -d @var{directory}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1095 @itemx --directory=@var{directory}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1096 Performs refiling operations in @var{directory} rather than in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1097 @w{@code{@var{GNATS_ROOT}}}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1098
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1099 @item -D
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1100 @itemx --debug
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1101 Give debugging output while @code{file-pr} is running.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1102
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1103 @item -h
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1104 @itemx --help
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1105 Prints the usage for @code{file-pr}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1106
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1107 @item -V
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1108 @itemx --version
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1109 Prints the version number for @code{file-pr}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1110 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1111
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1112 @node at-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1113 @subsection Timely reminders
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1114 @cindex @code{at-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1115 @cindex timely reminders
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1116 @cindex automatic notification
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1117 @cindex notification of overdue PRs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1118
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1119 @code{at-pr} creates a queued job using @code{at} which, after an
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1120 allotted @dfn{response time} is past, checks the PR to see if its state
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1121 has changed from @samp{open}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1122
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1123 The @file{submitters} file contains the response time for each
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1124 @w{@code{>Submitter-Id:}} (@pxref{submitters,,The @code{submitters} file}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1125 The time is determined in @dfn{business hours}, which are defined by
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1126 default as 8:00am to 5:00pm Monday through Friday, local time. These
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1127 hours are defined in the @file{config} file (@pxref{config,,The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1128 @code{config} file}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1129
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1130 If the PR is still open after the requisite time period has passed,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1131 @code{at-pr} sends a reminder to the @sc{gnats} administrator, to the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1132 maintainer responsible for that submitter, and to the maintainer
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1133 responsible for the PR with the following message:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1134
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1135 @cindex reminder message
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1136 @cindex @code{at-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1137 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1138 To: @var{submitter-contact} @var{responsible} @var{gnats-admin}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1139 Subject: PR @var{gnats-id} not analyzed in @var{#hours} hours
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1140
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1141 PR @var{gnats-id} was not analyzed within the acknowledgment period
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1142 of @var{#hours} business hours. The pertinent information is:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1143
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1144 Submitter-Id: @var{submitter}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1145 Originator: @var{full name of the submitter}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1146 Synopsis: @var{synopsis}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1147 Person responsible for the PR: @var{responsible}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1148
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1149 --
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1150 The GNU Problem Report Management System (GNATS)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1151 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1152
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1153 @node pr-edit
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1154 @subsection The @code{edit-pr} driver
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1155 @cindex @code{pr-edit}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1156 @cindex @code{edit-pr} driver
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1157 @cindex driver for @code{edit-pr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1158
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1159 @code{pr-edit} does the background work for @code{edit-pr}, including
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1160 error-checking and refiling newly edited Problem Reports and handling
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1161 file locks. It can be called interactively, though it has no useable
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1162 editing interface.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1163
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1164 The usage for @code{pr-edit} is:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1165
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1166 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1167 pr-edit [ -l @var{maintainer} --lock=@var{maintainer} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1168 [ -u | --unlock ] [ -c | --check ] [ -F ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1169 [ -L | --lockdb ] [ -U | --unlockdb ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1170 [ -f @var{filename} | --filename=@var{filename} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1171 [ -d @var{directory} | --directory=@var{directory} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1172 [ -h | --help ] [ -V | --version ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1173 [ @var{gnats-id} ]
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1174 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1175
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1176 @cindex PR locks
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1177 @cindex locks
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1178 A @dfn{lock} is placed on a Problem Report while the PR is being edited.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1179 The lock is simply a file in the same directory as the PR, with the name
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1180 @w{@file{@var{gnats-id}.lock}}, which contains the name of the maintainer
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1181 who created the lock. @var{maintainer} then ``owns'' the lock, and must
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1182 remove it before the PR can be locked again, even by the same
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1183 @var{maintainer}@footnote{This approach may seem heavy-handed, but it
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1184 ensures that changes are not overwritten.}. If a PR is already locked
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1185 when you attempt to edit it, @code{pr-edit} prints an error message
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1186 giving the name of the maintainer who is currently editing the PR.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1187
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1188 If you do not specify @w{@var{gnats-id}}, @code{pr-edit} reads from
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1189 standard input. You must specify @w{@var{gnats-id}} for the functions
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1190 which affect PR locks, @samp{--lock=@var{maintainer}} and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1191 @samp{--unlock}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1192
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1193 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1194 @item -l @var{maintainer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1195 @itemx --lock=@var{maintainer}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1196 Locks Problem Report @w{@var{gnats-id}}, failing (and returning an error
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1197 message) if @w{@var{gnats-id}} is already locked, or if @w{@var{gnats-id}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1198 does not exist. @code{pr-edit} requires that you specify
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1199 @w{@var{gnats-id}} when using this option.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1200
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1201 @item -u
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1202 @itemx --unlock
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1203 Unlocks Problem Report @w{@var{gnats-id}}. @code{pr-edit} requires that
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1204 you specify @w{@var{gnats-id}} when using this option. You must own a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1205 file lock to remove it.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1206
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1207 @item -L
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1208 @itemx --lockdb
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1209 Locks the GNATS database as a whole. This will prevent any modification
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1210 to any part of the system while it's locked.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1211
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1212 @item -U
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1213 @itemx --unlockdb
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1214 Unlocks the GNATS database as a whole, allowing modification of its
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1215 files.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1216
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1217 @item -c
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1218 @itemx --check
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1219 Checks the Problem Report in @w{@var{gnats-id}} (or standard input, if
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1220 @w{@var{gnats-id}} is not present) for correct information in its
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1221 @w{@sc{Enumerated}} fields. @code{pr-edit} complains about any bogus
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1222 information in the Problem Report.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1223
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1224 @item -F
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1225 Forces the PR to be submitted to the database, even if there is no
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1226 current index entry for it (i.e., even if the PR did not exist in the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1227 database previously).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1228
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1229 @emph{Warning: using this option may corrupt your index.} If you use
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1230 it, be sure you know what you are doing.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1231
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1232 @item -f @var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1233 @itemx --filename=@var{filename}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1234 Reads @var{filename} rather than standard input.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1235
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1236 @item -d @var{directory}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1237 @itemx --directory=@var{directory}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1238 Resets the operating directory (@w{@code{@var{GNATS_ROOT}}}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1239
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1240 @item -h
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1241 @itemx --help
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1242 Prints the usage for @code{pr-edit}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1243
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1244 @item -V
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1245 @itemx --version
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1246 Prints the version number for @code{pr-edit}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1247 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1248 @node pr-addr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1249 @subsection Address retrieval
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1250 @cindex address retrieval
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1251 @cindex @code{pr-addr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1252
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1253 Returns an electronic mail address when given a valid @dfn{nametag}, as
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1254 it appears in the @file{responsible} file (@pxref{responsible,,The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1255 @code{responsible} file}). If @var{nametag} is not valid, @code{pr-addr}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1256 will tell the user that it could not find the requested address.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1257
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1258 Usage is simply:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1259
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1260 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1261 pr-addr @var{name}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
1262 @end smallexample