Mercurial > hg > xemacs-beta
comparison man/gnats/p-inst.texi @ 112:48d667d6f17f r20-1b8
Import from CVS: tag r20-1b8
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:20:48 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
111:164ab62060bf | 112:48d667d6f17f |
---|---|
1 @c remember to put in the autoload stuff!!!! see the .el files | |
2 | |
3 @c This file is included as an appendix in gnats.texi. | |
4 | |
5 @cindex installing GNATS | |
6 @cindex configuring GNATS | |
7 @cindex setting up GNATS | |
8 @cindex building GNATS | |
9 | |
10 @xref{Locations,,Where the tools and utilities reside}. | |
11 | |
12 There are several steps you need to follow to fully configure and | |
13 install @sc{gnats} on your system. You need @code{root} access in order | |
14 to create a new account for @code{gnats} and to install the @sc{gnats} | |
15 utilities. You may need @code{root} access on some systems in order to | |
16 set mail aliases in place and to allow this new account access to | |
17 @code{cron} and @code{at}. | |
18 | |
19 If you are updating an older version of @sc{gnats} rather than installing | |
20 from scratch, see @ref{Upgrading,,Upgrading from older versions}. | |
21 | |
22 To build @sc{gnats}, you must: | |
23 | |
24 @itemize @bullet | |
25 @item | |
26 Run @code{configure}, with correct options if the defaults are | |
27 unsuitable for your site. @xref{Configure and make,,Configuring and | |
28 compiling the software}. Default installation locations are in | |
29 @ref{Locations,,Where @sc{gnats} lives}. | |
30 | |
31 @item | |
32 Compile the @sc{gnats} programs on your system. @xref{Configure and | |
33 make,,Configuring and compiling the software}. | |
34 | |
35 @item | |
36 Install the @sc{gnats} tools and utilities locally, and install the user | |
37 tools on every machine in your local network. @xref{Installing | |
38 utils,,Installing the utilities}. | |
39 | |
40 @item | |
41 Set up mail aliases for @sc{gnats}. @xref{Aliases,,Setting up mail | |
42 aliases}. | |
43 | |
44 @item | |
45 Install the @sc{gnats} user tools (@code{query-pr}, @code{nquery-pr}, @code{edit-pr}, | |
46 @code{send-pr}) around your network. @xref{Installing tools,,Installing | |
47 the user tools}. | |
48 | |
49 @item | |
50 Install the @sc{gnats} daemon @file{gnatsd}. | |
51 | |
52 @item | |
53 Update the local configuration files | |
54 | |
55 @smallexample | |
56 config categories submitters responsible gnatsd.conf | |
57 @end smallexample | |
58 | |
59 @noindent | |
60 in @w{@file{@var{GNATS_ROOT}/gnats-adm}}. @xref{Local | |
61 configuration,,Changing your local configuration}. | |
62 | |
63 @item | |
64 Create a distribution of @code{send-pr} for submitters outside your | |
65 organization. @xref{mkdist,,Configuring @code{send-pr} for the outside | |
66 world}. | |
67 @end itemize | |
68 | |
69 @menu | |
70 * Configure and make:: Configuring and compiling the software | |
71 * Installing utils:: Installing the utilities | |
72 * Aliases:: Setting up mail aliases | |
73 * Installing the daemon:: Installing the daemon | |
74 * Installing tools:: Installing the user tools | |
75 * Upgrading:: Upgrading from older versions | |
76 @end menu | |
77 | |
78 @node Configure and make | |
79 @section Configuring and compiling the software | |
80 @cindex unpacking the distribution | |
81 @cindex configuring and compiling the software | |
82 @cindex compiling the software | |
83 @cindex @code{configure} | |
84 @cindex @code{make} | |
85 | |
86 @enumerate 1 | |
87 @item | |
88 First, unpack your distribution. We provide source code in a @code{tar} | |
89 file which was compressed using @code{gzip}. The code can be extracted | |
90 into a directory @var{unpackdir} using | |
91 | |
92 @smallexample | |
93 mkdir @var{unpackdir} | |
94 cd @var{unpackdir} | |
95 tar zxvf gnats-@value{VERSION}.tar.z | |
96 @end smallexample | |
97 | |
98 The sources reside in a directory called @file{gnats-@value{VERSION}} | |
99 when unpacked. We call this the @dfn{top level} of the source | |
100 directory, or @dfn{srcdir}. The sources for the @sc{gnats} tools are in | |
101 the subdirectory @file{gnats-@value{VERSION}/gnats/*}. Lists of files | |
102 included in the distribution are in each directory in the file | |
103 @file{MANIFEST}. | |
104 | |
105 @cindex lisp file installation | |
106 @cindex Emacs lisp file installation | |
107 @item | |
108 You may wish to alter the installation directory for the Emacs lisp | |
109 files. If your Emacs lisp library is not in | |
110 @w{@file{@var{prefix}/lib/emacs/lisp}}, edit the files | |
111 | |
112 @smallexample | |
113 @var{srcdir}/gnats/Makefile.in @emph{and} | |
114 @var{srcdir}/send-pr/Makefile.in | |
115 @end smallexample | |
116 | |
117 @noindent | |
118 Change the variable @samp{lispdir} from @samp{$(datadir)/emacs/lisp} to | |
119 the directory containing your Emacs lisp library. For information on | |
120 @var{prefix}, see @ref{prefix,,@var{prefix}}. | |
121 | |
122 @item | |
123 Run @code{configure}. You can nearly always run @code{configure} with | |
124 the command | |
125 | |
126 @example | |
127 ./configure --with-full-gnats | |
128 @end example | |
129 | |
130 @noindent | |
131 and the ``Right Thing'' happens: | |
132 | |
133 @itemize @bullet | |
134 @item | |
135 @sc{gnats} is configured in the same directory you unpacked it in; | |
136 | |
137 @item | |
138 when built, @sc{gnats} runs on the machine you're building it on; | |
139 | |
140 @item | |
141 when installed, files are installed under @file{/usr/local} | |
142 (@pxref{Locations,,Where @sc{gnats} lives}). | |
143 | |
144 @item | |
145 @sc{gnats} operates by default behavior (@pxref{default behavior,,Default | |
146 behavior}). | |
147 @end itemize | |
148 | |
149 @cindex @code{configure} | |
150 The full usage for @code{configure} is: | |
151 | |
152 @smallexample | |
153 configure [ --with-full-gnats ] | |
154 [ --prefix=@var{prefix} ] | |
155 [ --exec-prefix=@var{exec-prefix} ] | |
156 [ --with-gnats-root=@w{@var{GNATS_ROOT}} ] | |
157 [ --with-gnats-server=@w{@var{hostname}} ] | |
158 [ --with-gnats-service=@w{@var{service-name}} ] | |
159 [ --with-gnats-user=@w{@var{username}} ] | |
160 [ --with-gnats-port=@w{@var{port-number}} ] | |
161 [ --verbose ] | |
162 @end smallexample | |
163 | |
164 @table @code | |
165 @cindex @code{with-full-gnats} | |
166 @item --with-full-gnats | |
167 All programs are to be built; this includes the user utilities, the | |
168 administrative utilities, and the internal utilities. Use this when | |
169 configuring the utilities for the machine where @sc{gnats} is to run. | |
170 Omit it when building only the user utilities for other machines on your | |
171 network; see @ref{Installing tools,,Installing the user tools}. | |
172 | |
173 @cindex @var{prefix} | |
174 @item --prefix=@var{prefix} | |
175 All host-independent programs and files are to be installed under | |
176 @var{prefix}. (Host-dependent programs and files are also installed in | |
177 @var{prefix} by default.) The default for @var{prefix} is | |
178 @w{@file{/usr/local}}. @xref{Locations,,Where @sc{gnats} lives}. | |
179 | |
180 @cindex @var{exec-prefix} | |
181 @item --exec-prefix=@var{exec-prefix} | |
182 All host-dependent programs and files are to be installed under | |
183 @var{exec-prefix}. The default for @var{exec-prefix} is @var{prefix}. | |
184 @xref{Locations,,Where @sc{gnats} lives}. | |
185 | |
186 @cindex @var{GNATS_ROOT} | |
187 @item --with-gnats-root=@w{@var{GNATS_ROOT}} | |
188 The database and its data files are to be installed into | |
189 @w{@var{GNATS_ROOT}}. The default for @w{@var{GNATS_ROOT}} is | |
190 @w{@file{@var{prefix}/lib/gnats/gnats-db}}. @xref{Locations,,Where | |
191 @sc{gnats} lives}. | |
192 | |
193 @cindex --with-gnats-server | |
194 @item --with-gnats-root=@w{hostname} | |
195 FIXME | |
196 | |
197 @cindex --with-gnats-service | |
198 @item --with-gnats-root=@w{@var{service-name}} | |
199 FIXME | |
200 | |
201 @cindex --with-gnats-user | |
202 @item --with-gnats-user=@w{@var{username}} | |
203 FIXME | |
204 | |
205 @cindex --with-gnats-port | |
206 @item --with-gnats-port=@w{@var{port-number}} | |
207 FIXME | |
208 | |
209 @item --verbose | |
210 Give verbose output while @code{configure} runs. | |
211 @end table | |
212 | |
213 @xref{Using configure,,Using @code{configure},configure,Cygnus | |
214 configure}. | |
215 | |
216 @cindex building in a different directory | |
217 @cindex @var{objdir} | |
218 You can build @sc{gnats} in a different directory (@var{objdir}) from the | |
219 source code by calling the @code{configure} program from the new | |
220 directory, as in | |
221 | |
222 @smallexample | |
223 mkdir @var{objdir} | |
224 cd @var{objdir} | |
225 @var{srcdir}/configure @dots{} | |
226 make all | |
227 @end smallexample | |
228 | |
229 By default, @code{configure} compiles the programs in the same directory | |
230 as the sources (@var{srcdir}). Emacs lisp files are byte-compiled if | |
231 @code{make} can find Emacs on your local system. | |
232 | |
233 @item | |
234 Run | |
235 | |
236 @smallexample | |
237 make all info | |
238 @end smallexample | |
239 | |
240 @noindent | |
241 from the directory where @code{configure} created a @file{Makefile}. | |
242 (This may not be the same directory as the source directory.) These | |
243 targets indicate: | |
244 | |
245 @table @code | |
246 @item all | |
247 Compile all programs | |
248 | |
249 @item info | |
250 Create @samp{info} files using @code{makeinfo}. | |
251 @end table | |
252 @end enumerate | |
253 | |
254 @node Installing utils | |
255 @section Installing the utilities | |
256 @cindex installing the utilities | |
257 | |
258 The following steps are necessary for a complete installation. You may | |
259 need @code{root} access for these. | |
260 | |
261 @enumerate 1 | |
262 @item | |
263 Install the utilities by | |
264 invoking | |
265 | |
266 @smallexample | |
267 make install install-info | |
268 @end smallexample | |
269 | |
270 These targets indicate: | |
271 | |
272 @table @code | |
273 @item install | |
274 Installs all programs into their configured locations | |
275 (@pxref{Locations,,Where @sc{gnats} lives}). | |
276 | |
277 @item install-info | |
278 Installs @samp{info} files into their configured locations | |
279 (@pxref{Locations,,Where @sc{gnats} lives}). | |
280 @end table | |
281 | |
282 After you have installed @sc{gnats}, you can remove the object files with | |
283 | |
284 @smallexample | |
285 make clean | |
286 @end smallexample | |
287 | |
288 @cindex @code{autoload} commands | |
289 @cindex loading @code{.el} files | |
290 @cindex Emacs functions | |
291 @item | |
292 Place the following lines in the file @file{default.el} in your Emacs | |
293 lisp library, or instruct your local responsible parties to place the | |
294 lines in their local editions of @file{.emacs}: | |
295 | |
296 @smallexample | |
297 (autoload 'edit-pr "gnats" | |
298 "Command to edit a problem report." t) | |
299 (autoload 'view-pr "gnats" | |
300 "Command to view a problem report." t) | |
301 (autoload 'unlock-pr "gnats" | |
302 "Unlock a problem report." t) | |
303 (autoload 'query-pr "gnats" | |
304 "Command to query information about problem reports." t) | |
305 (autoload 'send-pr-mode "send-pr" | |
306 "Major mode for sending problem reports." t) | |
307 (autoload 'send-pr "send-pr" | |
308 "Command to create and send a problem report." t) | |
309 @end smallexample | |
310 | |
311 Emacs lisp files are byte-compiled if @code{make} can find Emacs on your | |
312 local system. | |
313 | |
314 | |
315 @item | |
316 @cindex creating an account for @sc{gnats} | |
317 Create an account for a user named @sc{gnats}. This user must have an | |
318 entry in the file @file{/etc/passwd}. The home directory for this | |
319 account should be the same directory you specified for @var{GNATS_ROOT} | |
320 in the file @file{Makefile.in}. Also, the default @code{PATH} for this | |
321 user should contain @w{@file{@var{exec-prefix}/bin}} and | |
322 @w{@file{@var{exec-prefix}/lib/gnats}}. | |
323 | |
324 @cindex @code{cron} | |
325 @cindex @code{at} | |
326 @item | |
327 Allow the new user @code{gnats} access to @code{cron} and @code{at}. To | |
328 do this, add the name @code{gnats} to the files @w{@file{cron.allow}} and | |
329 @w{@file{at.allow}}, which normally reside in the directory | |
330 @w{@file{/var/spool/cron}}. If these files do not exist, make sure | |
331 @code{gnats} does not appear in either of the files @w{@file{cron.deny}} | |
332 and @w{@file{at.deny}} (in the same directory). | |
333 | |
334 @noindent | |
335 For the following steps, log in as @code{gnats}. | |
336 | |
337 @itemize @bullet | |
338 @item | |
339 Edit the files @file{categories}, @file{responsible}, and | |
340 @file{submitters} in the directory @w{@file{@var{GNATS_ROOT}/gnats-adm}} | |
341 (@pxref{Local configuration,,Changing your local configuration}) to | |
342 reflect your local needs. Be sure to run @code{mkcat} after you update | |
343 the @file{categories} file (@pxref{mkcat,,Adding a new problem | |
344 category}). @emph{Note:} these templates are not installed if they | |
345 already exist, i.e. if you are upgrading. @xref{Upgrading,,Upgrading | |
346 from older versions}. | |
347 | |
348 @item | |
349 If you wish to install the @sc{gnats} user tools on other machines on | |
350 your network, see @ref{Installing tools,,Installing the user tools}. | |
351 @end itemize | |
352 | |
353 @cindex @code{crontab} | |
354 @item | |
355 Create a @code{crontab} entry that periodically runs the program | |
356 @code{queue-pr} with the @samp{--run} option. For example, to run | |
357 @w{@samp{queue-pr --run}} every ten minutes, create a file called | |
358 @file{.mycron} in the home directory of the user @code{gnats} which | |
359 contains the line: | |
360 | |
361 @smallexample | |
362 0,10,20,30,40,50 * * * * @var{exec-prefix}/lib/gnats/queue-pr --run | |
363 @end smallexample | |
364 | |
365 @noindent | |
366 (Specify the full path name for @code{queue-pr}.) Then run | |
367 | |
368 @smallexample | |
369 crontab .mycron | |
370 @end smallexample | |
371 | |
372 @noindent | |
373 See the @code{man} pages for @code{cron} and @code{crontab} for details | |
374 on using @code{cron}. | |
375 @end enumerate | |
376 | |
377 @node Aliases | |
378 @section Setting up mail aliases | |
379 @cindex mail aliases | |
380 @cindex aliases | |
381 | |
382 The following mail aliases must be placed in the file | |
383 @w{@file{/etc/aliases}} on the same machine where the @sc{gnats} tools | |
384 are installed. You may need @code{root} access to add these aliases. | |
385 | |
386 @itemize @bullet | |
387 @item | |
388 @cindex @code{gnats-admin} alias | |
389 Create an alias for the @sc{gnats} administrator. This address should | |
390 point to the address of the person in charge of administrating | |
391 @sc{gnats}: | |
392 | |
393 @smallexample | |
394 gnats-admin: @var{address} | |
395 @end smallexample | |
396 | |
397 @item | |
398 @cindex bug alias | |
399 @cindex incoming alias for Problem Reports | |
400 @cindex alias for incoming Problem Reports | |
401 @cindex @code{queue-pr -q} | |
402 Create an alias to redirect incoming Problem Reports. This alias should | |
403 redirect incoming mail via a @dfn{pipe} to the program @w{@samp{queue-pr | |
404 -q}}. For example, if Problem Reports coming to your site are to arrive | |
405 at the address @samp{bugs@@your.company.com}, create an alias to the | |
406 effect of: | |
407 | |
408 @smallexample | |
409 bugs: "| @var{exec-prefix}/lib/gnats/queue-pr -q" | |
410 @end smallexample | |
411 | |
412 @noindent | |
413 This places incoming Problem Reports in | |
414 @w{@file{@var{GNATS_ROOT}/gnats-queue}}. | |
415 | |
416 @item | |
417 @cindex @var{site} alias | |
418 @cindex mail alias for your @emph{site} | |
419 @cindex alias for your @emph{site} | |
420 Create an alias for your site. This alias should be the same nametag | |
421 indicated by the variable @w{@samp{GNATS_SITE}} in the file | |
422 @w{@file{@var{GNATS_ROOT}/gnats-adm/config}} (@pxref{config,,The | |
423 @code{config} file}), with an added suffix @samp{-gnats}. This alias, | |
424 @w{@samp{@var{GNATS_SITE}-gnats}}, should point toward the local | |
425 submission address. For instance, if your site is Tofu Technologies, | |
426 the presence of @sc{gnats} on your @var{site} would be aliased as the | |
427 following (the previous example is also shown): | |
428 | |
429 @smallexample | |
430 bugs: "| @var{exec-prefix}/lib/gnats/queue-pr -q" | |
431 tofu-gnats: bugs | |
432 @end smallexample | |
433 | |
434 @noindent | |
435 The report submission utility @code{send-pr} automatically appends the | |
436 @samp{-gnats} to any arguments you specify (@pxref{send-pr,,Submitting | |
437 Problem Reports}). The @code{send-pr} which was installed when you | |
438 typed @w{@kbd{make install}} has a default argument of @var{GNATS_SITE}, | |
439 your site, so that when your local users simply type @kbd{send-pr} mail | |
440 is sent to your local @sc{gnats}. Part of the installation process a | |
441 Submitter Site follows when installing @code{send-pr} is to set up an | |
442 alias for the Support Site from whom this submitter received | |
443 @code{send-pr}. In other words, anyone you distribute @code{send-pr} to | |
444 is instructed to make an alias | |
445 | |
446 @smallexample | |
447 tofu-gnats: bugs@@tofu.com | |
448 @end smallexample | |
449 | |
450 @item | |
451 You may also wish to forward a copy of each incoming Problem Report to a | |
452 log. This can be accomplished with something like: | |
453 | |
454 @smallexample | |
455 bug-q: "| @var{exec-prefix}/lib/gnats/queue-pr -q" | |
456 bug-log: @var{GNATS_ROOT}/gnats-adm/bugs.log | |
457 bugs: bug-q, bug-log | |
458 @end smallexample | |
459 | |
460 @noindent | |
461 This configuration archives incoming Problem Reports in the file | |
462 @w{@file{@var{GNATS_ROOT}/gnats-adm/bug.log}}, and also feeds them to the | |
463 program @code{queue-pr}. (Remember, @file{bug.log} needs to be | |
464 world-writable, and should be pruned regularly; @pxref{Management,, | |
465 @sc{gnats} Administration}.) | |
466 | |
467 @item | |
468 If you want your users to be able to query the database by mail, use the | |
469 following alias: | |
470 | |
471 @smallexample | |
472 query-pr: "| @var{exec-prefix}/lib/gnats/mail-query" | |
473 @end smallexample | |
474 | |
475 @noindent | |
476 The @code{mail-query} program uses @samp{--restricted} to search on the | |
477 database, and by default only searches for PRs that aren't closed | |
478 (@pxref{query-pr,,Querying the database}). | |
479 | |
480 @end itemize | |
481 | |
482 @c --------------------------------------------------------------- | |
483 @node Installing the daemon | |
484 @section Installing the daemon | |
485 @cindex daemon | |
486 @cindex using @sc{gnats} over a network | |
487 | |
488 By default, the daemon and clients are set to use port 1529. Add the line | |
489 | |
490 @smallexample | |
491 support 1529/tcp # GNATS | |
492 @end smallexample | |
493 | |
494 @noindent | |
495 to your @file{/etc/services} file. If you want a different port, | |
496 or a different service name or port, configure @sc{gnats} with | |
497 | |
498 @smallexample | |
499 --with-gnats-service=@var{servicename} | |
500 --with-gnats-port=@var{portnumber} | |
501 @end smallexample | |
502 | |
503 In your @file{inetd.conf} file, add the line | |
504 | |
505 @smallexample | |
506 support stream tcp nowait gnats /usr/local/lib/gnats/gnatsd gnatsd | |
507 @end smallexample | |
508 | |
509 @noindent | |
510 adjusting the path accordingly. To make inetd start spawning the @sc{gnats} daemon | |
511 when connected on that port, send it a hangup signal (@code{HUP}). | |
512 | |
513 By default, the server for the @sc{gnats} daemon is assumed to be one with the | |
514 name of @samp{gnats}. If you'd like something else, use | |
515 | |
516 @smallexample | |
517 --with-gnats-server=@var{hostname} | |
518 @end smallexample | |
519 | |
520 In the @file{gnats-adm} directory, you'll want to edit @file{gnatsd.conf}. | |
521 It lists the hosts allowed to access your server. Or, if you're using | |
522 Kerberos, it shows the sites that don't require Kerberos authentication. | |
523 The format is reserved for future revision; only the first field is | |
524 actually used: | |
525 | |
526 @smallexample | |
527 site.com:: | |
528 @end smallexample | |
529 | |
530 @noindent | |
531 The second field may be used for things like controlling what | |
532 categories, submitter-id'd PRs, etc., can be accessed from that site. | |
533 In the file that logs syslog messages (@file{/var/adm/messages}, for | |
534 example) you'll find the notification of denied access. | |
535 | |
536 | |
537 @c --------------------------------------------------------------- | |
538 @node Installing tools | |
539 @section Installing the user tools | |
540 @cindex networks | |
541 @cindex using @sc{gnats} over a network | |
542 @cindex configuring @sc{gnats} on a network | |
543 | |
544 When you install the @sc{gnats} utilities, the user tools are installed | |
545 by default on the host machine. If your machine is part of a network, | |
546 however, you may wish to install the user tools on each machine in the | |
547 network so that responsible parties on those machines can submit new | |
548 Problem Reports, query the database, and edit existing PRs. To do this, | |
549 follow these steps @emph{on each new host}. You may need root access on | |
550 each machine. | |
551 | |
552 @enumerate 1 | |
553 @item | |
554 Make sure that the directory where @sc{gnats} resides is mounted to each | |
555 system that will need access to it, so @var{GNATS_ROOT} will be the same | |
556 for each host. (You can do this with symbolic links as well.) | |
557 | |
558 @item | |
559 Either mount the disk which contains your source directory, or make a | |
560 copy of the @sc{gnats} source code tree in a separate directory on each | |
561 system you wish to build on. | |
562 | |
563 @item | |
564 Run @code{configure}, @emph{without} specifying | |
565 @w{@samp{--with-full-gnats}}, and using the same argument (if any) for | |
566 the option | |
567 | |
568 @smallexample | |
569 --with-gnats-root=@var{GNATS_ROOT} | |
570 @end smallexample | |
571 | |
572 that you specified when building the @sc{gnats} utilites | |
573 (@pxref{Configure and make,,Configuring and compiling the software}). | |
574 You may use different values for the other options to @code{configure}. | |
575 Again, @emph{do not} use @w{@samp{--with-full-gnats}} at this point, as | |
576 that creates all the @sc{gnats} programs. Without this option, | |
577 @code{configure} only instructs the resulting @file{Makefile} to create | |
578 the user utilities. | |
579 | |
580 @exdent | |
581 @emph{You may need @code{root} access on each host for the following steps.} | |
582 | |
583 @item | |
584 @cindex creating an account for @sc{gnats} | |
585 Create an account for a user named @sc{gnats} on the new host. This user | |
586 must have an entry in the file @file{/etc/passwd}. The user ID for | |
587 @code{gnats} must be the same as on the main @sc{gnats} host. | |
588 | |
589 @item | |
590 Run | |
591 | |
592 @smallexample | |
593 make all info install install-info | |
594 @end smallexample | |
595 | |
596 @noindent | |
597 This builds and installs the @code{gnats} user tools @w{@code{query-pr}}, | |
598 @w{@code{edit-pr}}, and @w{@code{send-pr}} on the new host, and installs | |
599 them in @w{@file{@var{exec-prefix}/bin}} on the new host (@emph{Note:} | |
600 the value for @var{exec-prefix} on the new host may be different from | |
601 the value you used when building the @sc{gnats} utilities; | |
602 @pxref{exec-prefix,,@var{exec-prefix}}). The programs @code{pr-edit} | |
603 and @code{pr-addr} are installed into | |
604 @w{@file{@var{exec-prefix}/lib/gnats}}. | |
605 | |
606 @code{info} files are created as well, and are installed into | |
607 @w{@file{@var{prefix}/info}}. The Elisp files @file{gnats.el} and | |
608 @file{send-pr.el} (and possibly @file{gnats.elc} | |
609 if @code{make} was able to compile them using Emacs) are installed into | |
610 @w{@file{@var{prefix}/lib/emacs/lisp}} unless you change the | |
611 @samp{lispdir} variable in @file{Makefile.in} (@pxref{Configure and | |
612 make,,Configuring and compiling the software}). | |
613 | |
614 @cindex @code{autoload} commands | |
615 @cindex loading @code{.el} files | |
616 @cindex Emacs functions | |
617 @item | |
618 Add the following lines to the file @w{@file{default.el}} in the Emacs | |
619 lisp repository on the new host, or instruct your responsible parties | |
620 who use these hosts to add them to their @file{.emacs} files: | |
621 | |
622 @smallexample | |
623 (autoload 'edit-pr "gnats" | |
624 "Command to edit a problem report." t) | |
625 (autoload 'view-pr "gnats" | |
626 "Command to view a problem report." t) | |
627 (autoload 'unlock-pr "gnats" | |
628 "Unlock a problem report." t) | |
629 (autoload 'query-pr "gnats" | |
630 "Command to query information about problem reports." t) | |
631 (autoload 'send-pr-mode "send-pr" | |
632 "Major mode for sending problem reports." t) | |
633 (autoload 'send-pr "send-pr" | |
634 "Command to create and send a problem report." t) | |
635 @end smallexample | |
636 | |
637 @item | |
638 Copy the file @w{@file{@var{prefix}/lib/gnats/@var{site}}} from the | |
639 original host to the new host (which may have a different value for | |
640 @var{prefix}). This is the list of valid categories that | |
641 @w{@code{send-pr}} uses (@pxref{Locations,,Where @sc{gnats} lives}). | |
642 @var{site} is your local site, the value of @w{@samp{GNATS_SITE}} in the | |
643 @file{config} file (@pxref{config,,The @code{config} file}). | |
644 | |
645 @end enumerate | |
646 | |
647 @c --------------------------------------------------------------- | |
648 @node Upgrading | |
649 @section Upgrading from older versions | |
650 @cindex upgrading from older versions | |
651 | |
652 If you are upgrading from a previous release of @sc{gnats}, you probably | |
653 do not want to delete your current configuration files or your current | |
654 database. The new @sc{gnats} can be installed around the older version. | |
655 | |
656 You need to: | |
657 | |
658 @itemize @bullet | |
659 @item | |
660 Specify your current @var{GNATS_ROOT} on the command line to | |
661 @code{configure} when you build the new tools, with | |
662 | |
663 @smallexample | |
664 configure --with-full-gnats --with-gnats-root=@var{GNATS_ROOT} | |
665 @end smallexample | |
666 | |
667 @noindent | |
668 (@xref{Configure and make,,Configuring and compiling the software}.) | |
669 | |
670 @item | |
671 Remove the directory @w{@file{gnats-bin}} from @w{@var{GNATS_ROOT}}; it is | |
672 no longer used. | |
673 | |
674 @item | |
675 Update your current mail aliases to reflect that @w{@code{queue-pr}} now | |
676 resides in @w{@file{@var{exec-prefix}/lib/gnats}} rather than | |
677 @w{@file{@var{GNATS_ROOT}/gnats-bin}} (@pxref{Locations,,Where @sc{gnats} | |
678 lives}). | |
679 | |
680 @item | |
681 Change the default @code{PATH} for the @code{gnats} user to search the | |
682 directories @w{@file{@var{exec-prefix}/bin}} and | |
683 @w{@file{@var{exec-prefix}/lib/gnats}}. | |
684 | |
685 @item | |
686 Reinstall the @sc{gnats} user tools on all other hosts on your network | |
687 (@pxref{Installing tools,,Installing the user tools}). | |
688 | |
689 @item | |
690 Redistribute @code{send-pr} to your Submitter Sites | |
691 (@pxref{mkdist,,Configuring @code{send-pr} for the outside world}). | |
692 This is not absolutely necessary, as @sc{gnats} can read Problem Reports | |
693 generated by older versions of @code{send-pr}. It should be done | |
694 eventually, however, as @w{@code{send-pr}} is improved over older | |
695 verisons. | |
696 | |
697 @c FIXME - anything else? | |
698 @end itemize |