annotate man/gnats/gnats.texi @ 149:538048ae2ab8 r20-3b1

Import from CVS: tag r20-3b1
author cvs
date Mon, 13 Aug 2007 09:36:16 +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 \input texinfo @c -*-texinfo-*-
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
2 @setfilename gnats.info
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
3
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
4 @include version.texi
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
5
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
6 @ifinfo
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
7 @format
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
8 START-INFO-DIR-ENTRY
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
9 * Keeping Track: (gnats). GNU Problem Report Management System
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
10 END-INFO-DIR-ENTRY
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
11 @end format
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
12 @end ifinfo
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
13
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
14 @ifinfo
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
15 Copyright @copyright{} 1993, 1995 Free Software Foundation, Inc.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
16
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
17 Permission is granted to make and distribute verbatim copies of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
18 this manual provided the copyright notice and this permission notice
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
19 are preserved on all copies.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
20
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
21 @ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
22 Permission is granted to process this file through TeX and print the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
23 results, provided the printed document carries a copying permission
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
24 notice identical to this one except for the removal of this paragraph
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
25 (this paragraph not being relevant to the printed manual).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
26 @end ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
27
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
28 Permission is granted to copy and distribute modified versions of this
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
29 manual under the conditions for verbatim copying, provided also that
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
30 the entire resulting derived work is distributed under the terms of a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
31 permission notice identical to this one.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
32
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
33 Permission is granted to copy and distribute translations of this manual
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
34 into another language, under the above conditions for modified versions.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
35 @end ifinfo
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
36
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
37 @c NOTE TO ANYONE FORMATTING THIS DOCUMENT FOR PRINTING...
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
38 @c Comment the following line out if you don't have access to a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
39 @c PostScript printer or viewer
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
40
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
41 @set POSTSCRIPT
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
42
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
43 @settitle Keeping Track
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
44 @setchapternewpage odd
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
45 @finalout
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
46 @titlepage
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
47 @title Keeping Track
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
48 @subtitle Managing Messages With GNATS
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
49 @subtitle The @sc{gnu} Problem Report Management System
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
50 @subtitle Version @value{VERSION}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
51 @subtitle January 1996
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
52 @author Jeffrey M. Osier
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
53 @author Brendan Kehoe
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
54 @author Cygnus Support
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
55 @page
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
56
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
57 @vskip 0pt plus 1filll
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
58 Copyright @copyright{} 1993, 1995 Free Software Foundation, Inc.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
59
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
60 Permission is granted to make and distribute verbatim copies of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
61 this manual provided the copyright notice and this permission notice
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
62 are preserved on all copies.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
63
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
64 Permission is granted to copy and distribute modified versions of this
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
65 manual under the conditions for verbatim copying, provided also that
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
66 the entire resulting derived work is distributed under the terms of a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
67 permission notice identical to this one.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
68
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
69 Permission is granted to copy and distribute translations of this manual
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
70 into another language, under the above conditions for modified versions.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
71
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
72 @end titlepage
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
73
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
74 @node Top
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
75 @top Overview
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
76 @cindex overview to GNATS
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
77 @cindex foreword
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
78
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
79 This manual documents @sc{gnats}, the @sc{gnu} Problem Report Management
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
80 System, version @value{VERSION}. @sc{gnats} is a bug-tracking tool
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
81 designed for use at a central @dfn{Support Site}. Users who experience
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
82 problems use electronic mail to communicate these problems to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
83 @dfn{maintainers} at that Support Site. @sc{gnats} partially automates
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
84 the tracking of these @dfn{Problem Reports} (@dfn{PR}s) by:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
85
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
86 @itemize @bullet
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
87 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
88 organizing problem reports into a database and notifying responsible
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
89 parties of suspected bugs;
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
90
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
91 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
92 allowing support personnel and their managers to edit and query
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
93 accumulated bugs; and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
94
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
95 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
96 providing a reliable archive of problems (and their subsequent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
97 solutions) with a given program.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
98 @end itemize
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
99
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
100 @sc{gnats} offers many of the same features offered by more generalized
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
101 databases, including editing, querying, and basic reporting. The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
102 @sc{gnats} database itself is an ordered repository for problem reports;
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
103 each PR receives a unique, incremental @dfn{PR number} which identifies
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
104 it throughout its lifetime. For a discussion on the working system
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
105 adopted by @sc{gnats}, see @ref{Paradigm,,The database paradigm}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
106
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
107 You can access the submitting, editing, and querying functions of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
108 @sc{gnats} from within @sc{gnu} Emacs. @xref{Invoking the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
109 tools,,Invoking the @sc{gnats} tools}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
110
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
111 @menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
112 * Introduction:: Introducing GNATS
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
113 * Invoking the tools:: Invoking the GNATS tools
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
114 * Management:: GNATS Administration
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
115 * Installation:: Installing GNATS
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
116 * Locations:: Where @sc{gnats} lives
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
117 * Regexps:: Querying using regular expressions
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
118 * Index::
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 @c ===============================================================
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
122 @node Introduction
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
123 @chapter Introducing @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
124 @cindex introduction to GNATS
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
125 @cindex rationale
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
126 @cindex database rationale
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
127
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
128 Any support organization realizes that a large amount of data flows back
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
129 and forth between the maintainers and the users of their products. This
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
130 data often takes the form of problem reports and communication via
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
131 electronic mail. @sc{gnats} addresses the problem of organizing this
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
132 communication by defining a database made up of archived and indexed
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
133 electronic mail messages.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
134
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
135 @sc{gnats} was designed as a tool for software maintainers. It consists
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
136 of several utilities which, when used in concert, formulate and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
137 administer a database of Problem Reports grouped by site-defined
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
138 @dfn{problem categories}. It allows a support organization to keep
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
139 track of problems (hence the term @dfn{Problem Report}) in an organized
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
140 fashion. Essentially, @sc{gnats} acts as an active archive for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
141 field-separated textual data submitted through electronic mail.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
142
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
143 @menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
144 * Paradigm:: The database paradigm
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
145 * Flowchart:: Flowchart of GNATS activities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
146 * States:: States of Problem Reports
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
147 * Fields:: Problem Report format
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
148 @end menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
149
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
150 @node Paradigm
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
151 @section The database paradigm
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
152 @cindex paradigm
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
153 @cindex database paradigm
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
154 @cindex why GNATS
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
155 @cindex support site
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
156 @cindex maintenance
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
157 @cindex so what does it do
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
158
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
159 It is in your best interest as the maintainer of a body of work to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
160 organize the feedback you receive on that work, and to make it easy for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
161 users of your work to report problems and suggestions.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
162
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
163 @sc{gnats} makes this easy by automatically filing incoming problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
164 reports into appropriate places, by notifying responsible parties of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
165 existence of the problem and (optionally) sending an acknowledgement to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
166 the submitter that the report was received, and by making these Problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
167 Reports accessible to queries and easily editable. @sc{gnats} is a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
168 database specialized for a specific task.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
169
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
170 @sc{gnats} was designed for use at a Support Site that handles a high
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
171 level of problem-related traffic though electronic mail. It maintains
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
172 Problem Reports in the form of text files with defined @dfn{fields}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
173 (@pxref{Fields,,@sc{gnats} data fields}). The location of the database,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
174 as well as the categories it accepts as valid, the maintainers for whom
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
175 it provides service, and the submitters from whom it accepts Problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
176 Reports, are all definable by the @dfn{Support Site}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
177 @xref{Management,,@sc{gnats} administration}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
178
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
179 @cindex what is a PR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
180 Each PR is a separate file within a main repository
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
181 (@pxref{Locations,,Where @sc{gnats} lives}). Editing access to the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
182 database is regulated to maintain consistency, but anyone with
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
183 electronic mail access may submit Problem Reports. To make queries on
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
184 the database faster, an index is kept automatically (@pxref{index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
185 file,,The @code{index} file}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
186
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
187 We provide several software tools so that users may submit new Problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
188 Reports, edit existing Problem Reports, and query the database.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
189
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
190 @itemize @bullet
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 @w{@code{send-pr}} is used by both product maintainers and the end users
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
193 of the products they support to submit PRs to the database.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
194
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
195 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
196 @w{@code{edit-pr}} is used by maintainers to use when editing problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
197 reports in the database.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
198
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
199 @item
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
200 Maintainers, managers and administrators can use @w{@code{query-pr}} to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
201 make inquiries about indidvidual PRs or groups of PRs.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
202
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
203 @end itemize
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
204
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
205 @code{send-pr} can also be packaged by itself and distributed to anyone
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
206 you wish to receive Problem Reports from; see @ref{mkdist,,Configuring
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
207 @code{send-pr} for the outside world}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
208
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
209 @cindex GNATS administrator
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
210 At the Support Site, a @sc{gnats} @dfn{administrator} is charged with the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
211 duty of maintaining @sc{gnats}. These duties are discussed in detail in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
212 @ref{Management,,@sc{gnats} Administration}, and generally include
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
213 configuring @sc{gnats} for the Support Site, editing PRs that @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
214 cannot process, pruning log files, setting up new problem categories,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
215 backing up the database, and distributing @code{send-pr} so that others
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
216 may submit Problem Reports.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
217
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
218 Responsibility for a given Problem Report depends on the category of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
219 problem. Optionally, an automated reminder can be sent to the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
220 responsible person if a problem report is neglected for a requisite time
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
221 period. @xref{Local configuration,,Changing your local configuration}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
222
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
223 @cindex @code{pending} directory
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
224 @cindex unparseable incoming PRs
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
225 @cindex incoming PRs that @sc{gnats} cannot parse
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
226 @sc{gnats} does not have the ability to decipher random text, so any
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
227 problem reports which arrive in a format @sc{gnats} does not recognize
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
228 are placed in a separate directory pending investigation by the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
229 @sc{gnats} administrator (@pxref{Management,,@sc{gnats} Administration}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
230
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
231 Once a problem is recorded in the database, work can begin toward a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
232 solution. A problem's initial @dfn{state} is @samp{open}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
233 (@pxref{States,,States of Problem Reports}). An acknowledgement is sent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
234 to the originator of the bug report (if that feature of @sc{gnats} is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
235 activated). @sc{gnats} forwards copies of the report to the party
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
236 responsible for that problem category and to the person responsible for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
237 problems arriving from that @dfn{Submitter Site}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
238 @c (@pxref{Glossary,,Glossary}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
239
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
240 When a problem has been identified, the maintainer can change its state
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
241 to @samp{analyzed}, and then to @samp{feedback} when a solution is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
242 found. Each time the state of a PR changes, the submitter of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
243 problem report is notified of the reason for the change. If the party
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
244 responsible for the PR changes, the previous responsible party and the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
245 new responsible party receive notice of the change. The change and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
246 reason are also recorded in the @samp{>Audit-Trail:} field of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
247 Problem Report. (@xref{edit-pr,,Editing existing Problem Reports}. For
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
248 information on the @samp{>Audit-Trail:} field, see @ref{Fields,,Problem
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
249 Report format}.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
250
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
251 When the originator of the Problem Report confirms that the solution
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
252 works, the maintainer can change the state to @dfn{closed}. If the PR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
253 cannot be closed, the maintainer can change its state to @dfn{suspended}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
254 as a last resort. (For a more detailed description of these states, see
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
255 @ref{States,,States of Problem Reports}.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
256
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
257 @node Flowchart
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
258 @section Flowchart of @sc{gnats} activities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
259 @cindex flowchart of GNATS activities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
260 @cindex visual map of data flow
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
261
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
262 This informal flowchart shows the relationships of the @sc{gnats} tools
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
263 to each other and to the files with which they interoperate.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
264
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
265 @sp 2
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
266
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
267 @ifset POSTSCRIPT
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
268 @tex
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
269 \input epsf
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
270 \epsffile{flowchart.eps}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
271 @end tex
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
272 @end ifset
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
273
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
274 @ifinfo
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
275 @clear POSTSCRIPT
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
276 @end ifinfo
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
277
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
278 @ifclear POSTSCRIPT
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
279 @cartouche
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
280 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
281 @include flowchart.txt
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
282 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
283 @end cartouche
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
284
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
285 @end ifclear
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
286
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
287 @sp 2
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
288
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
289 @c ---------------------------------------------------------------
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
290
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
291 @include states.texi
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
292
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
293 @c ---------------------------------------------------------------
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
294 @include fields.texi
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
295
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
296 @c ===============================================================
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
297
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
298 @include p-usage.texi
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
299
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
300 @c ===============================================================
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
301
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
302 @include p-admin.texi
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
303
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
304 @c ===============================================================
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
305
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
306 @node Installation
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
307 @appendix Installing @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
308
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
309 @include p-inst.texi
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
310
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
311 @c ===============================================================
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
312
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
313 @node Locations
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
314 @appendix Where @sc{gnats} lives
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
315 @cindex locations
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
316 @cindex where GNATS lives
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
317 @cindex default installation locations
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
318
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
319 We use a few conventions when referring to the installation structure
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
320 @sc{gnats} uses. These values are adjustable when you build and install
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
321 @sc{gnats} (@pxref{Installation,,Installing @sc{gnats}}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
322
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
323 @menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
324 * prefix::
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
325 * exec-prefix::
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
326 * GNATS_ROOT::
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
327 * defaults:: Default installation locations
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
328 @end menu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
329
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
330 @node prefix
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
331 @section @var{prefix}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
332 @cindex @var{prefix}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
333
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
334 @var{prefix} corresponds to the variable @samp{prefix} for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
335 @code{configure}, which passes it on to the @file{Makefile} it creates.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
336 @var{prefix} sets the root installation directory for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
337 @dfn{host-independent} files as follows:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
338
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
339 @c FIXME - check these
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
340 @table @asis
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
341 @item libraries
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
342 @file{@var{prefix}/lib}@*
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
343
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
344 @item @code{man} pages
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
345 @file{@var{prefix}/man}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
346
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
347 @item @code{info} documents
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
348 @file{@var{prefix}/info}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
349
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
350 @item @code{include} files
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
351 @file{@var{prefix}/include}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
352
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
353 @item @emph{etc@dots{}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
354 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
355
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
356 The default value for @var{prefix} is @w{@file{/usr/local}}, which can
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
357 be changed on the command line to @code{configure} using
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
358
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
359 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
360 configure --prefix=@var{prefix} @dots{}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
361 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
362
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
363 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
364 @xref{Configure and make,,Configuring and compiling the software}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
365
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
366 @node exec-prefix
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
367 @section @var{exec-prefix}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
368 @cindex @var{exec-prefix}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
369
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
370 @var{exec-prefix} corresponds to the variable @samp{exec_prefix} for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
371 @code{configure}, which passes it on to the @file{Makefile} it creates.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
372 @w{@var{exec-prefix}} sets the root installation for
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
373 @dfn{host-dependent} files as follows:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
374
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
375 @c FIXME - check these
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
376 @table @asis
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
377 @item binary tools
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
378 @file{@var{exec-prefix}/bin}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
379
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
380 @item binary support utilities
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
381 @file{@var{exec-prefix}/lib/gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
382
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
383 @item compiled libraries
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
384 @file{@var{exec-prefix}/lib}@*
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
385
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
386 @item @emph{etc@dots{}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
387 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
388
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
389 Since most installations are not intended to be distributed around a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
390 network, the default value for @w{@var{exec-prefix}} is the value of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
391 @samp{prefix}, i.e., @w{@file{/usr/local}}. However, using
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
392 @var{exec-prefix} saves space when you are installing a package on
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
393 several different platforms for which many files are identical; rather
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
394 than duplicate them for each host, these files can be shared in a common
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
395 repository, and you can use symbolic links on each host to find the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
396 host-dependent files. @emph{It is not necessary to use this paradigm
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
397 when building the @sc{gnats} tools}. @xref{Configure and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
398 make,,Configuring and compiling the software}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
399
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
400 Use @var{exec-prefix} in conjunction with @var{prefix} to share
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
401 host-independent files, like libraries and @code{info} documents. For
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
402 example:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
403
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
404 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
405 @emph{for each host:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
406 configure --prefix=/usr/gnu --exec-prefix=/usr/gnu/H-@var{host}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
407 make all install @dots{}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
408 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
409
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
410 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
411 Using this paradigm, all host-dependent binary files are installed into
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
412 @w{@file{/usr/gnu/H-@var{host}/bin}}, while files which do not depend on
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
413 the host type for which they were configured are installed into
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
414 @w{@file{/usr/gnu}}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
415
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
416 You can then use a different symbolic link for @w{@file{/usr/gnu}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
417 on each host (@file{/usr} is usually specific to a particular machine;
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
418 it is always specific to a particular architecture).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
419
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
420 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
421 @emph{on host-1:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
422 ln -s /usr/gnu/H-@var{host-1} /usr/gnu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
423 @emph{on host-2:}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
424 ln -s /usr/gnu/H-@var{host-2} /usr/gnu
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
425 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
426
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
427 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
428 To the end user, then, placing @w{@file{/usr/gnu/bin}} in her or his
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
429 @code{PATH} simply works transparently for each @var{host} type.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
430
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
431 You can change @w{@var{exec-prefix}} on the command line to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
432 @code{configure} using
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
433
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
434 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
435 configure --exec-prefix=@var{exec-prefix} @dots{}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
436 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
437
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
438 We recommend that you consult @ref{Using configure,,Using
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
439 @code{configure},configure,Cygnus configure}, before attempting this.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
440 Again, @emph{it is not necessary to use this paradigm when building the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
441 @sc{gnats} tools}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
442
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
443 @node GNATS_ROOT
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
444 @section @var{GNATS_ROOT}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
445 @cindex @var{GNATS_ROOT}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
446
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
447 The location of the database and the administrative data files, by
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
448 default @w{@file{@var{prefix}/lib/gnats/gnats-db}}. You can change this
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
449 value on the command line to @code{configure} using
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
450
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
451 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
452 configure --with-gnats-root=@w{@var{GNATS_ROOT}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
453 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
454
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
455 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
456 Administrative data files reside in @w{@file{@var{GNATS_ROOT}/gnats-adm}}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
457 These include @file{categories}, @file{submitters}, @file{responsible},
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
458 and @file{config}, as well as two files generated and maintained by
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
459 @sc{gnats}, @file{index} and @file{current}. @xref{Local configuration,,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
460 Changing your local configuration}, and @ref{Admin files,,Administrative
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
461 data files}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
462
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
463 @node defaults
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
464 @section Default installation locations
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
465 @cindex default installation locations
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
466
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
467 @table @asis
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
468 @item @var{prefix}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
469 defaults to @file{/usr/local}; change using @code{configure}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
470 (@pxref{Configure and make,,Configuring and compiling the software}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
471
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
472 @item @var{exec-prefix}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
473 defaults to @var{prefix}; change using @code{configure}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
474 (@pxref{Configure and make,,Configuring and compiling the software}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
475
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
476 @item @w{@var{GNATS_ROOT}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
477 defaults to @w{@file{@var{prefix}/lib/gnats/gnats-db}}; change using
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
478 @code{configure} (@pxref{Configure and make,,Configuring and compiling
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
479 the software}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
480 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
481
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
482 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
483 @sc{gnats} installs tools, utilities, and files into the following
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
484 locations.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
485
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
486 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
487
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
488 @item @var{exec-prefix}/bin
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
489
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
490 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
491 @item send-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
492 @xref{send-pr,,Submitting Problem Reports}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
493 @item edit-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
494 @xref{edit-pr,,Editing existing Problem Reports}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
495 @item query-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
496 @xref{query-pr,,Querying the database}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
497 @item nquery-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
498 @xref{query-pr,,Querying the database over the network}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
499 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
500
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
501 @item @var{exec-prefix}/lib/gnats
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
502
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
503 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
504 @item mkcat
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
505 @xref{mkcat,,Adding a problem category}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
506 @item rmcat
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
507 @xref{rmcat,,Removing a problem category}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
508 @item mkdist
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
509 @xref{mkdist,,Configuring @code{send-pr} for the outside world}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
510 @item gen-index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
511 @xref{gen-index,,Regenerating the index}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
512 @item queue-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
513 @xref{queue-pr,,Handling incoming traffic}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
514 @item file-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
515 @xref{file-pr,,Processing incoming traffic}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
516 @ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
517 @item gnatsd
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
518 @xref{gnats,,Remote @sc{gnats} daemon}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
519 @end ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
520 @item at-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
521 @xref{at-pr,,Timely reminders}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
522 @item pr-edit
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
523 @xref{pr-edit,,The @code{edit-pr} driver}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
524 @ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
525 @item npr-edit
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
526 @xref{npr-edit,,The remote @code{edit-pr} driver}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
527 @end ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
528 @item pr-addr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
529 @xref{pr-addr,,Address retrieval}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
530 @item libiberty.a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
531 The @sc{gnu} @code{libiberty} library.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
532 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
533
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
534 @item @var{prefix}/lib/gnats/dist
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
535
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
536 @table @asis
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
537 @item A packageable distribution of @code{send-pr}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
538 @xref{mkdist,,Configuring @code{send-pr} for the outside world}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
539 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
540
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
541 @item @var{prefix}/lib/gnats
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
542
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
543 @table @var
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
544 @item site
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
545 The local list of valid categories, used by @code{send-pr}; @var{site}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
546 is the value of @samp{GNATS_SITE} (@pxref{config,,The @code{config}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
547 file}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
548 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
549
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
550 @item @var{prefix}/lib/emacs/lisp
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
551
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
552 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
553 @item gnats.el
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
554 @itemx gnats.elc
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
555 The Emacs versions of the programs @code{query-pr}, @code{edit-pr}, and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
556 @code{view-pr}. @xref{Invoking the tools,,Invoking the @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
557 tools}. To change this directory you must alter @file{Makefile.in}; see
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
558 @ref{Configure and make,,Configuring and compiling the software}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
559 @item send-pr.el
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
560 The Emacs version of the program @code{send-pr}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
561 @xref{send-pr,,Submitting Problem Reports}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
562 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
563
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
564 @item @var{prefix}/info
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
565
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
566 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
567 @item gnats.info
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
568 @itemx send-pr.info
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
569 The @sc{gnats} manuals, in a form readable by @code{info} (the @sc{gnu}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
570 hypertext browser). @xref{Info,,Reading GNU Online
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
571 Documentation,infoman,GNU Online Documentation}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
572 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
573
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
574 @item @var{prefix}/man/man1
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
575 @itemx @var{prefix}/man/man8
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
576
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
577 @table @asis
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
578 @item @code{man} pages for all the @sc{gnats} tools and utilities.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
579 @xref{Invoking the tools,,Invoking the @sc{gnats} tools}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
580 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
581
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
582 @c FIXME - does this happen?
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
583 @item @var{prefix}/src
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
584
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
585 @table @asis
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
586 @item Source code for @sc{gnats}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
587 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
588
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
589 @item @var{prefix}/sample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
590
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
591 @table @asis
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
592 @item Example administrative files, including @file{categories},
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
593 @file{submitters}, @file{responsible}, and @file{config}. @xref{Local
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
594 configuration,,Changing your local configuration}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
595 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
596
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
597 @item @w{@var{GNATS_ROOT}}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
598
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
599 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
600 @item gnats-adm
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
601 Administration and configuration data files. The files
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
602 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
603 @item config
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
604 @item categories
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
605 @item submitters
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
606 @item responsible
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
607 @item gnatsd.conf
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
608 @item index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
609 (@emph{This file is created by @sc{gnats}.})
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
610 @item current
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
611 (@emph{This file is created by @sc{gnats}.})
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
612 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
613 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
614 exist here. @xref{Local configuration,,Changing your local
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
615 configuration}, and @ref{Admin files,,Administrative data files}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
616 @item gnats-queue
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
617 Incoming Problem Reports are queued here until the next iteration of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
618 @w{@samp{queue-pr -r}} (@pxref{queue-pr,,Handling incoming traffic}).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
619 @item pending
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
620 Problem Reports which arrive without a valid category value are
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
621 reassigned to the category @samp{pending} and placed here pending
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
622 intervention by the @sc{gnats} administrator.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
623 @xref{Management,,@sc{gnats} administration}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
624 @item @var{category}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
625 Each valid category has a corresponding subdirectory in the database.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
626 All Problem Reports associated with that category are kept in that
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
627 subdirectory, along with lock files for PRs which are being edited.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
628 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
629
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
630 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
631
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
632 @c ===============================================================
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
633 @node Regexps
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
634 @appendix Querying using regular expressions
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
635 @cindex querying using regexps
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
636 @cindex regular expressions
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
637 @cindex syntax of regexps
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
638
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
639 @c FIXME - all my examples just use . and *
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
640 @sc{gnats} uses @sc{gnu} regular expression syntax with these settings:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
641
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
642 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
643 RE_SYNTAX_POSIX_EXTENDED | RE_BK_PLUS_QM & RE_DOT_NEWLINE
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
644 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
645
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
646 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
647 This means that parentheses (@samp{(} and @samp{)}) and pipe symbols
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
648 (@samp{|}) do not need to be used with the escape symbol @samp{\}. The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
649 tokens @samp{+} and @samp{?} do need the escape symbol, however.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
650
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
651 Unfortunately, we do not have room in this manual for an adequate
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
652 tutorial on regular expressions. The following is a basic summary of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
653 some regular expressions you might wish to use.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
654
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
655 @xref{Regular Expression Syntax,,Regular Expression Syntax,regex,Regex},
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
656 for details on regular expression syntax. Also see @ref{Regexps,,Syntax
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
657 of Regular Expressions,emacs,GNU Emacs Manual}, but beware that the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
658 syntax for regular expressions in Emacs is slightly different.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
659
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
660 All search criteria options to @code{query-pr} rely on regular
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
661 expression syntax to construct their search patterns. For example,
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
662
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
663 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
664 query-pr --state=open
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
665 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
666
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
667 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
668 matches all PRs whose @samp{>State:} values match with the regular
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
669 expression @samp{open}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
670
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
671 We can substitute the expression @samp{o} for @samp{open}, according
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
672 to @sc{gnu} regular expression syntax. This matches all values of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
673 @samp{>State:} which begin with the letter @samp{o}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
674
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
675 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
676 query-pr --state=o
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
677 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
678
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
679 is equivalent to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
680
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
681 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
682 query-pr --state=open
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
683 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
684
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
685 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
686 in this case, since the only value for @samp{>State:} which matches the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
687 expression @samp{o} is @samp{open}. (Double quotes (@kbd{"}) are used
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
688 to protect the asterix (@kbd{*}) from the shell.) @samp{--state=o} also
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
689 matches @samp{o}, @samp{oswald}, and even @samp{oooooo}, but none of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
690 those values are valid states for a Problem Report.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
691
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
692 Regular expression syntax considers a regexp token surrounded with
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
693 parentheses, as in @w{@samp{(@var{regexp})}}, to be a @dfn{group}. This
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
694 means that @w{@samp{(ab)*}} matches any number of contiguous instances
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
695 of @samp{ab}, including zero. Matches include @samp{}, @samp{ab}, and
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
696 @samp{ababab}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
697
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
698 Regular expression syntax considers a regexp token surrounded with
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
699 square brackets, as in @w{@samp{[@var{regexp}]}}, to be a @dfn{list}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
700 This means that @w{@samp{Char[(ley)(lene)(broiled)}} matches any of the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
701 words @samp{Charley}, @samp{Charlene}, or @samp{Charbroiled} (case is
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
702 significant; @samp{charbroiled} is not matched).
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
703
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
704 Using groups and lists, we see that
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
705
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
706 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
707 query-pr --category="gcc|gdb|gas"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
708 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
709
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
710 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
711 is equivalent to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
712
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
713 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
714 query-pr --category="g(cc|db|as)"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
715 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
716
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
717 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
718 and is also very similar to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
719
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
720 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
721 query-pr --category="g[cda]"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
722 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
723
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
724 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
725 with the exception that this last search matches any values which begin
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
726 with @samp{gc}, @samp{gd}, or @samp{ga}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
727
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
728 The @samp{.} character is known as a @dfn{wildcard}. @samp{.} matches
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
729 on any single character. @samp{*} matches the previous character
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
730 (except newlines), list, or group any number of times, including zero.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
731 Therefore, we can understand @samp{.*} to mean ``match zero or more
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
732 instances of any character.'' For this reason, we never specify it at
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
733 the end of a regular expression, as that would be redundant. The
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
734 expression @samp{o} matches any instance of the letter @samp{o}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
735 (followed by anything) at the beginning of a line, while the expression
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
736 @samp{o.*} matches any instance of the letter @samp{o} at the beginning
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
737 of a line followed by any number (including zero) of any characters.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
738
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
739 We can also use the expression operator @samp{|} to signify a logical
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
740 @code{OR}, such that
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
741
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
742 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
743 query-pr --state="o|a"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
744 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
745
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
746 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
747 matches all @samp{open} or @samp{analyzed} Problem Reports. (Double
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
748 quotes (@kbd{"}) are used to protect the pipe symbol (@kbd{|}) from the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
749 shell.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
750
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
751 By the same token,@footnote{No pun intended.} using
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
752
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
753 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
754 query-pr --state=".*a"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
755 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
756
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
757 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
758 matches all values for @samp{>State:} which contain an @samp{a}. (These
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
759 include @samp{analyzed} and @samp{feedback}.)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
760
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
761 Another way to understand what wildcards do is to follow them on their
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
762 search for matching text. By our syntax, @samp{.*} matches any
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
763 character any number of times, including zero. Therefore, @samp{.*a}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
764 searches for any group of characters which end with @samp{a}, ignoring
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
765 the rest of the field. @samp{.*a} matches @samp{analyzed} (stopping at
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
766 the first @samp{a}) as well as @samp{feedback}.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
767
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
768 @emph{Note:} When using @samp{--text} or @samp{--multitext}, you do not
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
769 have to specify the token @samp{.*} at the beginning of @var{text} to
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
770 match the entire field. For the technically minded, this is because
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
771 @samp{--text} and @samp{--multitext} use @samp{re_search} rather than
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
772 @samp{re_match}. @samp{re_match} @dfn{anchors} the search at the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
773 beginning of the field, while @samp{re_search} does not anchor the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
774 search.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
775
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
776 For example, to search in the @code{>Description:} field for the text
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
777
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
778 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
779 The defrobulator component returns a nil value.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
780 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
781
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
782 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
783 we can use
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
784
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
785 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
786 query-pr --multitext="defrobulator.*nil"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
787 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
788
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
789 To also match newlines, we have to include the expression @samp{(.|^M)}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
790 instead of just a dot (@samp{.}). @samp{(.|^M)} matches ``any single
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
791 character except a newline (@samp{.}) @emph{or} (@samp{|}) any newline
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
792 (@samp{^M}).'' This means that to search for the text
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
793
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
794 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
795 The defrobulator component enters the bifrabulator routine
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
796 and returns a nil value.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
797 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
798
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
799 @noindent
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
800 we must use
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
801
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
802 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
803 query-pr --multitext="defrobulator(.|^M)*nil"
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
804 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
805
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
806 To generate the newline character @samp{^M}, type the following
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
807 depending on your shell:
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
808
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
809 @table @code
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
810 @item csh
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
811 @samp{@emph{control}-V @emph{control}-M}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
812
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
813 @item tcsh
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
814 @samp{@emph{control}-V @emph{control}-J}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
815
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
816 @item sh (@emph{or} bash)
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
817 Use the @key{RETURN} key, as in
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
818
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
819 @smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
820 (.|
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
821 )
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
822 @end smallexample
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
823 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
824
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
825 Again, see @ref{Regular Expression Syntax,,Regular Expression
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
826 Syntax,regex,Regex}, for a much more complete discussion on regular
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
827 expression syntax.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
828
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
829 @c ===============================================================
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
830
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
831 @ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
832 @c complete this someday...
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
833 @node Glossary
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
834 @unnumbered Glossary
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
835
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
836 @table @strong
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
837 @item PR
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
838 Short for ``Problem Report''. An electronic mail message which reports
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
839 a problem. A @dfn{record} in the @sc{gnats} database.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
840
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
841 @item Support Site
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
842 A central site that provides resources for maintainers of a body of
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
843 work, such as a software package. We refer to the Support Site as the
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
844 location where @sc{gnats} is installed and functional.
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 Database
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
847 An organized collection of information.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
848
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
849 @item @sc{gnats}
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
850 The @sc{gnu} Problem Report Management System.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
851
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
852 @item Field
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
853 A location for specific information. A group of fields make up a
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
854 Problem Report.
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
855
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
856 @item Mail header
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
857 Defined by the Internet Internet standard RFC-822
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
858
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
859 @item Category
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
860 @item Submitter
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
861 @item Originator
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
862 @item Query
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
863 @item Report
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
864 @item Site
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
865 @item Edit
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
866 @item Submit
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
867 @item Bug
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
868 @item State
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
869 @item ID Number
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
870 @item Synopsis
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
871 @item Confidential
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
872 @item Severity
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
873 @item Priority
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
874 @item Responsible
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
875 @item Configuration
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
876 @item Class
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
877 @item Environment
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
878 @item Description
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
879 @item Audit-Trail
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
880 @item Unformatted
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
881 @item Fix
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
882 @item Release
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
883 @item Makefile
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
884 @item gnats-admin
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
885 @item pending
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
886 @item send-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
887 @item edit-pr
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
888 @item Maintainers
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
889 @item timestamp
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
890 @item utility
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
891 @item tool
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
892
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
893 @end table
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
894
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
895 @end ignore
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
896
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
897 @node Index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
898 @unnumbered Index
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
899
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
900 @printindex cp
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
901
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
902 @contents
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
903
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
904 @bye
48d667d6f17f Import from CVS: tag r20-1b8
cvs
parents:
diff changeset
905