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