Fix and doc-fix for `buffer-local-variables'.
[bpt/emacs.git] / admin / notes / bugtracker
1 NOTES ON THE EMACS BUG TRACKER -*- outline -*-
2
3 The Emacs Bug Tracker can be found at http://debbugs.gnu.org/
4
5 * Quick-start guide
6
7 This is 95% of all you will ever need to know.
8
9 ** How do I report a bug?
10 Use M-x report-emacs-bug, or send mail to bug-gnu-emacs@gnu.org.
11 If you want to Cc someone, use an "X-Debbugs-CC" header instead.
12
13 ** How do I comment on a bug?
14 Reply to a mail on the bug-gnu-emacs list in the normal way.
15 Or send a mail to 123@debbugs.gnu.org.
16
17 If the bug is old and closed, you may have to unarchive it first.
18 Send a mail to control@debbugs.gnu.org with
19 unarchive 123
20 on the first line of the body.
21
22 ** How do I close a bug?
23 Send a mail to 123-done@debbugs.gnu.org. In the body, explain
24 why the bug is being closed.
25
26 ** How do I set bug meta-data?
27 By mailing commands to control@debbugs.gnu.org. Place commands at the
28 start of the message body, one per line.
29
30 severity 123 serious|important|normal|minor|wishlist
31 tags 123 moreinfo|unreproducible|wontfix|patch
32
33 * More detailed information
34
35 For a list of all bugs, see http://debbugs.gnu.org/db/pa/lemacs.html
36 This is a static page, updated once a day. There is also a dynamic
37 list, generated on request. This accepts various options, eg to see
38 the most recent bugs:
39
40 http://debbugs.gnu.org/cgi/pkgreport.cgi?newest=100
41
42 Or follow the links on the front page http://debbugs.gnu.org .
43
44 ** How do I report a bug in Emacs now?
45 The same way as you always did. Send mail to bug-gnu-emacs@gnu.org,
46 or use M-x report-emacs-bug.
47
48 The only differences are:
49
50 i) Your report will be assigned a number and generate an automatic reply.
51
52 ii) Optionally, you can set some database parameters when you first
53 report a bug (see "Setting bug parameters" below).
54
55 iii) If you want to CC: someone, use X-Debbugs-CC: (this is important;
56 see below).
57
58 Once your report is filed and assigned a number, it is sent out to the
59 bug mailing list. In some cases, it may be appropriate to just file a
60 bug, without sending out a copy. To do this, send mail to
61 quiet@debbugs.gnu.org.
62
63 ** How do I reply to an existing bug report?
64 Reply to 123@debbugs.gnu.org, replacing 123 with the number
65 of the bug you are interested in. NB this only sends mail to the
66 bug-list, it does NOT send a CC to the original bug submitter.
67 So you need to explicitly CC him/her (and anyone else you like).
68 (This works the same way as all the Emacs mailing lists. We generally
69 don't assume anyone who posts to a list is subscribed to it, so we
70 cc everyone on replies.)
71
72 (Many people think the submitter SHOULD be automatically subscribed
73 to subsequent discussion, but this does not seem to be implemented.
74 See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=37078
75 See also http://debbugs.gnu.org/5439 )
76
77 Do NOT send a separate copy to the bug list address, since this may
78 generate a new report. The only time to send mail to the bug list
79 address is to create a new report.
80
81 Gnus users can add the following to message-dont-reply-to-names;
82 similarly with Rmail and rmail-dont-reply-to-names:
83
84 "\\(emacs-pretest-bug\\|bug-gnu-emacs\\|bug-\\(e\\|gnu\\)macs\\)@gnu\\.org\\|\
85 \\(submit\\|control\\|owner\\)@debbugs\\.gnu\\.org"
86
87 The "owner@debbugs.gnu.org" entry is there because it appears in the
88 "Resent-To" header. For a long time Rmail erroneously included such
89 headers in replies. If you correspond with an Rmail user on a bug,
90 these addresses may end up in the Cc. Mailing to them does nothing
91 but create duplicates and errors. (It is possible, but unlikely, that
92 you might want to have a dialog with the owner address, outside of
93 normal bug reporting.)
94
95 ** When reporting a bug, to send a Cc to another address
96 (e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header.
97 Instead, use "X-Debbugs-CC:". This ensures the Cc address will get a
98 mail with the bug report number in. If you do not do this, each reply
99 in the subsequent discussion will end up creating a new bug.
100 This is annoying.
101
102 (So annoying that a form of message-id tracking has been implemented
103 to hopefully stop this happening, but it is still better to use X-Debbugs-CC.)
104
105 If a new report contains X-Debbugs-CC in the input, this is
106 converted to a real Cc header in the output. (See Bug#1720).
107 It is also merged into the Resent-CC header (see below).
108
109 ** How does Debbugs send out mails?
110
111 The mails are sent out to the bug list by being resent. The From:
112 header is unchanged. In new reports only (at present), the To:
113 address is altered as follows. Any "bug-gnu-emacs",
114 "emacs-pretest-bug", or "submit@debbugs" address is replaced by
115 123@debbugs in the mail that gets sent out. (This also applies to any
116 Cc: header, though you should be using X-Debbugs-CC instead in new
117 reports). The original header is stored as X-Debbugs-Original-To, if
118 it was changed. Any X-Debbugs-CC is merged into the Cc.
119
120 Mails arriving at the bug list have the following Resent-* headers:
121
122 Resent-From: person who submitted the bug
123 Resent-To: owner@debbugs.gnu.org
124 Resent-CC: maintainer email address, plus any X-Debbugs-CC: entries
125
126 The "maintainer email address" is "bug-gnu-emacs@gnu.org" in most cases.
127
128 ** To not get acknowledgement mail from the tracker,
129 add an "X-Debbugs-No-Ack:" header (with any value). If you use Gnus,
130 you can add an element to gnus-posting-styles to do this automatically, eg:
131
132 ("gnu-emacs\\(-pretest\\)?-bug"
133 ("X-Debbugs-No-Ack" "yes"))
134
135 (adjust the regexp according to the name you use for the bug lists)
136
137 ** To record a bug in the tracker without sending mail to the bug list.
138 This can be useful to make a note of something discussed on
139 emacs-devel that needs fixing. In other words, this can be the
140 equivalent of adding something to FOR-RELEASE.
141
142 To: quiet@debbugs.gnu.org
143 [headers end]
144 Package: emacs
145 Version: 23.0.60
146 Severity: minor
147
148 Remember to fix FOO, as discussed on emacs-devel at http://... .
149
150 ** Not interested in tracker control messages (tags being set, etc)?
151 Discard mails matching:
152
153 ^X-GNU-PR-Message: (transcript|closed)
154
155 ** Not receiving messages in response to your control commands?
156 The messages debbugs sends out in response to control-server commands
157 always have headers To: your@email, and Cc: tracker@debbugs.gnu.org
158 (the latter is an alias for the emacs-bug-tracker mailing list).
159 These are also the addresses to which a copy of the response is sent.
160 (In general, there need not be any relation between the To: and Cc:
161 headers visible in a message and where debbugs actually sends it.)
162 If you used an X-Debbugs-No-Ack header, however, a copy is _not_ sent
163 to you, but the To: header is unchanged. If you are subscribed to the
164 emacs-bug-tracker mailing list and have duplicate suppression turned
165 on, the presence of your address in the To: header will cause Mailman
166 to not send you a list copy, because it thinks you have received a
167 direct copy. If you used X-Debbugs-No-Ack, this is not the case, and
168 you won't get any copy at all. If this bothers you, don't use both
169 X-Debbugs-No-Ack and Mailman duplicate suppression for the
170 emacs-bug-tracker mailing list, just pick one or the other.
171
172 ** How to avoid multiple copies of mails.
173 If you reply to reports in the normal way, this should work fine.
174 Basically, reply only to the numbered bug address (and any individual
175 people's addresses). Do not send mail direct to bug-gnu-emacs or
176 emacs-pretest-bug unless you are reporting a new bug.
177
178 ** To close bug #123 (for example), send mail
179
180 To: 123-done@debbugs.gnu.org
181
182 with a brief explanation in the body as to why the bug was closed.
183 There is no need to cc the address without the "-done" part or the
184 submitter; they get copies anyway so this will just result in more
185 duplicate mail.
186
187 ** Details of closing a bug.
188 (For information only)
189 Sending a mail to 123-done does the following:
190
191 1) Mark the bug as closed in the database.
192
193 2) Send a mail to the original submitter telling them that their bug
194 has been closed. This mail has a header:
195
196 X-GNU-PR-Message: they-closed 123
197
198 3) Send a mail to you and to the emacs-bug-tracker list confirming
199 that the bug has been closed. This mail has a header:
200
201 X-GNU-PR-Message: closed 123
202
203 4) Send a copy of your mail to the bug-gnu-emacs list in exactly the
204 same way as if you had sent mail to "123" (sans -done). This mail has
205 headers:
206
207 X-GNU-PR-Message: cc-closed 123
208 Mail-Followup-To: 123@debbugs.gnu.org, person-who-closed
209
210 (This is Emacs-specific. Normally the bug list gets the same mail as in 3).
211
212 ** Setting bug parameters.
213 There are two ways to set the parameters of bugs in the database
214 (tags, severity level, etc). When you report a new bug, you can
215 provide a "pseudo-header" at the start of the report, eg:
216
217 Package: emacs
218 Version: 23.0.60
219 Severity: minor
220
221 This can also include tags. Some things (e.g. submitter) don't seem to
222 work here.
223
224 Otherwise, send mail to the control server, control@debbugs.gnu.org.
225 At the start of the message body, supply the desired commands, one per
226 line:
227
228 command bug-number [arguments]
229 ...
230 quit|stop|thank|thanks|thankyou|thank you
231
232 The control server ignores anything after the last line above. So you
233 can place control commands at the beginning of a reply to a bug
234 report, and Bcc: the control server (note the commands have no effect
235 if you just send them to the bug-report number). Bcc: is better than Cc:
236 in case people use Reply-to-All in response.
237
238 Some useful control commands:
239
240 *** To reopen a closed bug:
241 reopen 123
242
243 *** Bugs can be tagged in various ways (eg wontfix, patch, etc).
244 The available tags are:
245 patch wontfix moreinfo unreproducible fixed notabug
246 See http://debbugs.gnu.org/Developer#tags
247 The list of tags can be prefixed with +, - or =, meaning to add (the
248 default), remove, or reset the tags. E.g.:
249
250 tags 123 + wontfix
251
252 ** URL shortcuts
253
254 http://debbugs.gnu.org/...
255
256 123 # given bug number
257 123;mbox=yes # mbox version of given bug
258 package # bugs in given package
259 from:submitter@email.address
260 severity:severity # all bugs of given severity
261 tag:tag # all bugs with given tag
262
263 ** Usertags
264
265 See <http://wiki.debian.org/bugs.debian.org/usertags>
266
267 "Usertags" are very similar to tags: a set of labels that can be added
268 to a bug. There are two differences between normal tags and user tags:
269
270 1) Anyone can define any valid usertag they like. In contrast, only a
271 limited, predefined set of normal tags are available (see above).
272
273 2) A usertag is associated with a specific email address.
274
275 You set usertags in the same way as tags, by talking to the control
276 server. One difference is that you can also specify the associated
277 email address. If you don't explicitly specify an address, then it
278 will use the one from which you send the control message. The address
279 must have the form of an email address (with an "@" sign and least 4
280 characters after the "@").
281
282 *** Setting usertags
283
284 a) In a control message:
285
286 user bug-gnu-emacs@gnu.org
287 usertags 1234 any-tag-you-like
288
289 This will add a usertag "any-tag-you-like" to bug 1234. The tag will
290 be associated with the address "bug-gnu-emacs@gnu.org". If you omit
291 the first line, the tag will be associated with your email address.
292
293 The syntax of the usertags command is the same as that of tags (eg wrt
294 the optional [=+-] argument).
295
296 b) In an initial submission, in the pseudo-header:
297
298 User: bug-gnu-emacs@gnu.org
299 Usertags: a-new-tag
300
301 Again, the "User" is optional.
302
303 *** Searching by usertags
304
305 The search interface is not as advanced as for normal tags. You need
306 to construct the relevant url yourself rather than just typing in a
307 search box. The only piece you really need to add is the "users"
308 portion, the rest has the same syntax as normal.
309
310 **** To browse bugs by usertag:
311 http://debbugs.gnu.org/cgi/pkgindex.cgi?indexon=users
312
313 **** To find all bugs usertagged by a given email address:
314
315 http://debbugs.gnu.org/cgi/pkgreport.cgi?users=bug-gnu-emacs@gnu.org
316
317 (Supposedly, the "users" field can be a comma-separated list of more
318 than one email address, but it does not seem to work for me.)
319
320 **** To find bugs tagged with a specific usertag:
321
322 This works just like a normal tags search, but with the addition of a
323 "users" field. Eg:
324
325 http://debbugs.gnu.org/cgi/pkgreport.cgi?users=bug-gnu-emacs@gnu.org;tag=calendar
326
327 *** To merge bugs:
328 Eg when bad replies create a bunch of new bugs for the same report.
329 Bugs must all be in the same state (e.g. same package(s) and severity
330 -- see `reassign' and `severity' below), but need not have the same
331 tags (tags are merged). E.g.:
332
333 merge 123 124 125 ...
334
335 Note that merging does not affect titles. In particular, a "retitle"
336 of merged bugs only affects individual bugs, not all of them.
337
338 *** Forcing a merge:
339 Like `merge', but bugs need not be in the same state. The packages
340 must still match though (see `reassign' below). The first one listed
341 is the master. E.g.:
342
343 forcemerge 123 124 125 ...
344
345 Note: you cannot merge with an archived bug - you must unarchive it first.
346
347 *** To unmerge bugs:
348 To disconnect a bug from all bugs it is merged with:
349
350 unmerge 123
351
352 This command accepts only one bug number.
353
354 *** To clone bugs:
355 Useful when one report refers to more than one bug.
356
357 clone 123 -1 [-2 ...]
358 retitle -1 second bug
359 retitle -2 third bug
360
361 The negative numbers provide a way to refer to the cloned bugs (which
362 will be assigned proper numbers).
363
364 NB you cannot clone a merged bug. You'd think that trying to do so
365 would just give you an unmerged copy of the specified bug number, but no:
366
367 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474742
368
369 You must unmerge, clone, then re-merge.
370
371 *** To set severity:
372 severity 123 critical|grave|serious|important|normal|minor|wishlist
373
374 See http://debbugs.gnu.org/Developer#severities for the meanings.
375
376 *** To set the owner of a bug:
377 owner 123 A Hacker <none@example.com>
378
379 The shorthand `!' means your own address.
380
381 *** To remove the owner of a bug:
382 noowner 123
383
384 *** To mark a bug as fixed in a particular version:
385 fixed 123 23.0.60
386
387 *** To remove a "fixed" mark:
388 notfixed 123 23.0.60
389
390 *** To make a bug as present in a particular version:
391 found 123 23.2
392 NB if there is no specified "fixed" version, or if there is one and it
393 is earlier than the found version, this reopens a closed bug.
394
395 The leading "23.1;" that M-x report-emacs-bug adds to bug subjects
396 automatically sets a found version (if none is explicitly specified).
397
398 *** To assign or reassign a bug to a package or list of packages:
399 reassign 1234 emacs
400
401 Note that reassigning clears the list of found versions, even if the
402 new packages includes the original one.
403
404 ** To remove spam from the tracker, move it to the `spam' pseudo-package:
405 reassign 123 spam
406
407 (Should not be necessary any more, now that the input is moderated.)
408
409 ** To change the title of a bug:
410 retitle 123 Some New Title
411
412 ** To change the submitter address:
413 submitter 123 none@example.com
414
415 Note that it does not seem to work to specify "Submitter:" in the
416 pseudo-header when first reporting a bug.
417
418 ** How does archiving work?
419 You can still send mail to a bug after it is closed. After 28 days with
420 no activity, the bug is archived, at which point no more changes can
421 be made. If you try to send mail to the bug after that (or merge with
422 it), it will be rejected. To make any changes, you must unarchive it first:
423
424 unarchive 123
425
426 The bug will be re-archived after the next 28 day period of no activity.
427
428 ** The web-page with the list of bugs is slow to load
429
430 It's a function of the number of displayed bugs. You can speed things
431 up by only looking at the newest 100 bugs:
432 http://debbugs.gnu.org/cgi-bin/pkgreport.cgi?newest=100;package=emacs
433
434 Or use the static index:
435 http://debbugs.gnu.org/db/ix/full.html
436
437 ** What are those "mbox folder" links on the bug report pages?
438
439 "mbox folder" = messages as they arrived at the tracker
440
441 "status mbox" = as above, but with a fake message at the start
442 summarizing the bug status
443
444 "maintainer mbox" = messages as sent out from the tracker to the
445 maintainers (ie, bug-gnu-emacs). These have some changed headers
446 (Resent-*, Subject, etc).
447
448 ** What do the pkgreport.cgi sort options mean?
449
450 "normal" = by open/closed status, then severity, then tag, then bug number
451
452 "oldview" = as above, but without the tag part
453
454 "age" = as normal, but sort in decreasing order of last modification
455 time, rather than by increasing bug number
456
457 "raw" = ?
458
459 ** ChangeLog issues
460
461 *** When you fix a bug, it can be helpful to put the bug number in the
462 ChangeLog entry, for example:
463
464 * foo.el (foofunc): Fix the `foo' case. (Bug#123)
465
466 Then the relevant bug can be found for easy reference. If it's an
467 obvious fix (e.g. a typo), there's no need to clutter the log with the
468 bug number.
469
470 Similarly, when you close a bug, it can be helpful to include the
471 relevant ChangeLog entry in the message to the bug tracker, so people
472 can see exactly what the fix was.
473
474 *** bug-reference-mode
475
476 Activate `bug-reference-mode' in ChangeLogs to get clickable links to
477 the bug web-pages.
478
479 *** Debian stuff
480
481 http://lists.gnu.org/archive/html/emacs-devel/2009-11/msg00440.html
482
483 ** Bazaar stuff
484
485 *** You can use `bzr commit --fixes debbugs:123' to mark that a commit fixes
486 Emacs bug 123. You will first need to add a line to one of your
487 configuration files, ~/.bazaar/bazaar.conf or ~/.bazaar/locations.conf:
488
489 bugtracker_debbugs_url = http://debbugs.gnu.org/{id}
490
491 Here "{id}" is a literal string, a placeholder that will be replaced
492 by the bug number you specify after `--fixes debbugs:' in the bzr
493 command line (123 in the example above).
494
495 In the bazaar.conf file, this setting should go into the [DEFAULT]
496 section.
497
498 In the locations.conf file, it should go into the branch-specific
499 configuration section for the branch where you want this to be in
500 effect. For example, if you want this to be in effect for the branch
501 located at `/home/projects/emacs/trunk', you need to have this in your
502 ~/.bazaar/locations.conf file:
503
504 [/home/projects/emacs/trunk]
505 bugtracker_debbugs_url = http://debbugs.gnu.org/{id}
506
507 If you want to use this in all Emacs branches whose common parent is
508 `/home/projects/emacs', put the setting in the [/home/projects/emacs]
509 section. See "bzr help configuration" for more information about
510 the *.conf files, their location and formats. See "bzr help bugs" for
511 more information about the bugtracker_debbugs_url setting.
512
513 See also log-edit-rewrite-fixes in .dir-locals.el.
514
515 Note that all this does is add some metadata to the commit, it doesn't
516 actually mark the bug as closed in the tracker. You can see this
517 information with `bzr log', and it will show up as a link in a recent
518 loggerhead installation, or with some of the graphical frontends to
519 `bzr log'.
520
521 ** Gnus-specific voodoo
522
523 *** Put point on a bug-number and try: M-x gnus-read-ephemeral-emacs-bug-group
524
525 *** If the above is not available:
526 (add-hook 'gnus-article-mode-hook
527 (lambda ()
528 (setq bug-reference-url-format "http://debbugs.gnu.org/%s")
529 (bug-reference-mode 1)))
530
531 and you can click on the bug number in the subject header.
532
533
534 * Technical Notes
535
536 The following are technical notes on how it works. These are just for
537 reference, you don't need to read these as a user of the system.
538
539 Getting mail from the Emacs bug list into the tracker requires the
540 assistance of sysadmin at gnu.org. The test tracker set-up was, I
541 think, [gnu.org #359140]:
542 http://lists.gnu.org/archive/html/savannah-hackers/2008-03/msg00074.html
543 http://lists.gnu.org/archive/html/savannah-hackers/2008-04/msg00034.html
544
545 ** The debbugs.gnu.org setup was handled in [gnu.org #510605].
546 There are two pieces (replace AT with @ in the following):
547
548 i) fencepost has an /etc/aliases entry:
549 emacs-pretest-bug: submit AT debbugs.gnu.org
550
551 ii) An exim router:
552 emacsbugs_router:
553 driver = redirect
554 senders = !Debian-debbugs AT debbugs.gnu.org
555 local_parts = bug-gnu-emacs
556 domains = gnu.org
557 data = submit AT debbugs.gnu.org
558
559 This says, for mail arriving at bug-gnu-emacs, only allow it through
560 to the list if it was sent from debbugs.gnu.org. Otherwise, send
561 it to the submit address at the bug-tracker.
562
563 FIXME There's probably an issue with the mail-news gateway here that
564 still needs to be addressed (bug#936).
565
566 ** fencepost's /etc/exim4/local_domains configuration needs a line
567 !debbugs.gnu.org adding [gnu.org #503532]. Otherwise people on
568 fencepost can't report bugs, since *.gnu.org addresses are assumed to
569 be handled locally on fencepost, unless otherwise specified.
570
571 ** All mail arriving at debbugs.gnu.org is first run through SpamAssassin.
572 Obvious spam is rejected, the rest is sent on to the moderated list
573 debbugs-submit. Approved mail is passed on to the tracker.
574 (Note this means that messages may appear out of sequence in the
575 tracker, since mail from whitelisted senders goes straight through.)
576
577 NOTE: An alternative to this would be to use listhelper AT nongnu.org
578 as a moderator address. Eg the emacs-bug-tracker list uses this.
579 It does basic spam processing on the moderator requests and
580 automatically rejects the obviously bogus ones. Someone still has to
581 accept the good ones though. The advantage of this would not be having
582 to run and tune our own spam filter. See
583 http://savannah.nongnu.org/projects/listhelper
584
585 An "X-Debbugs-Envelope-To" header is used to keep track of where the
586 mail was actually bound for:
587 http://lists.gnu.org/archive/html/emacs-devel/2009-11/msg01211.html
588
589 ** Mailing list recipient/sender filters.
590 The following mailman filters are useful to stop messages being
591 needlessly held for moderation:
592
593 *** debbugs-submit
594 (quiet|control|submit)@(debbugs\.gnu\.org|emacsbugs\.donarmstrong\.com)
595 [0-9]+(-done|-quiet|-subscribe)?@(debbugs\.gnu\.org|emacsbugs\.donarmstrong\.com)
596 (bug-gnu-emacs|emacs-pretest-bug|bug-(e|gnu)macs)@gnu\.org
597
598 bug-emacs and bug-gnumacs are lesser-used aliases from fencepost's
599 /etc/aliases file.
600
601 *** emacs-bug-tracker
602 sender: bug-gnu-emacs AT gnu.org
603 recipient: emacs-bug-tracker AT debbugs\.gnu\.org
604
605 The latter is because that is the address that debbugs actually sends to.
606 An /etc/aliases entry redirects it to the real emacs-bug-tracker address.
607
608 ** Recovering from moderation mistakes
609
610 All discarded messages are stored in /var/lib/mailman/spam.
611 If a non-spam message accidentally gets discarded, just do:
612
613 cat /var/lib/mailman/spam/not-really-spam.msg | /usr/lib/debbugs/receive
614 chown Debian-debbugs:Debian-debbugs /var/lib/debbugs/spool/incoming/*
615 ... check it works ...
616 mv /var/lib/mailman/spam/not-really-spam.msg /var/lib/mailman/not-spam/
617
618 Also check that the sender was not added to the auto-discard/reject list
619 in the debbugs-submit Mailman interface.
620
621 ** Administrivia
622
623 The debbugs-submit list should have the administrivia option off,
624 else it can by mistake filter out requests to subscribe to bugs.
625 But, this feature doesn't work anyway (see bug#5439).
626
627 ** How to test changes
628
629 Add an entry to /etc/debbugs/Maintainers like:
630
631 mytest my.email.address
632
633 Then if you do all your testing with 'Package: mytest', the resulting
634 mails should only go to your email address.
635
636 ** Adding new tags
637
638 Add them to @gTags in /etc/debbugs/config.
639 I think you also have to add them to 'tags' and 'tags_single_letter'
640 in /usr/share/perl5/Debbugs/Config.pm.
641 And update /var/www/Developer.html with a description of what the tag means.
642 And the "valid tags" list in /var/www/index.html.
643
644 ** Backups
645
646 The FSF sysadmins handle multi-generational backups of the filesystem
647 on debbugs.gnu.org. But if you really want to have your own backup of
648 the bug database, you can use rsync (this requires login access to
649 debbugs.gnu.org):
650
651 rsync -azvv -e ssh USER@debbugs.gnu.org:/var/lib/debbugs/ DEST
652
653 Note that this occupies well over 1G of disk space.