1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2010-06-20 09:23-0400\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=utf-8\n"
16 "Content-Transfer-Encoding: ENCODING"
18 #. type: Content of: <chapter><title>
19 #: beyond-pkging.dbk:7
20 msgid "Beyond Packaging"
23 #. type: Content of: <chapter><para>
24 #: beyond-pkging.dbk:9
26 "Debian is about a lot more than just packaging software and maintaining "
27 "those packages. This chapter contains information about ways, often really "
28 "critical ways, to contribute to Debian beyond simply creating and "
29 "maintaining packages."
32 #. type: Content of: <chapter><para>
33 #: beyond-pkging.dbk:14
35 "As a volunteer organization, Debian relies on the discretion of its members "
36 "in choosing what they want to work on and in choosing the most critical "
37 "thing to spend their time on."
40 #. type: Content of: <chapter><section><title>
41 #: beyond-pkging.dbk:19
45 #. type: Content of: <chapter><section><para>
46 #: beyond-pkging.dbk:21
48 "We encourage you to file bugs as you find them in Debian packages. In fact, "
49 "Debian developers are often the first line testers. Finding and reporting "
50 "bugs in other developers' packages improves the quality of Debian."
53 #. type: Content of: <chapter><section><para>
54 #: beyond-pkging.dbk:26
56 "Read the <ulink url=\"&url-bts-report;\">instructions for reporting "
57 "bugs</ulink> in the Debian <ulink url=\"&url-bts;\">bug tracking "
61 #. type: Content of: <chapter><section><para>
62 #: beyond-pkging.dbk:31
64 "Try to submit the bug from a normal user account at which you are likely to "
65 "receive mail, so that people can reach you if they need further information "
66 "about the bug. Do not submit bugs as root."
69 #. type: Content of: <chapter><section><para>
70 #: beyond-pkging.dbk:36
72 "You can use a tool like <citerefentry> "
73 "<refentrytitle>reportbug</refentrytitle> <manvolnum>1</manvolnum> "
74 "</citerefentry> to submit bugs. It can automate and generally ease the "
78 #. type: Content of: <chapter><section><para>
79 #: beyond-pkging.dbk:41
81 "Make sure the bug is not already filed against a package. Each package has "
82 "a bug list easily reachable at "
83 "<literal>http://&bugs-host;/<replaceable>packagename</replaceable></literal> "
84 "Utilities like <citerefentry> <refentrytitle>querybts</refentrytitle> "
85 "<manvolnum>1</manvolnum> </citerefentry> can also provide you with this "
86 "information (and <command>reportbug</command> will usually invoke "
87 "<command>querybts</command> before sending, too)."
90 #. type: Content of: <chapter><section><para>
91 #: beyond-pkging.dbk:50
93 "Try to direct your bugs to the proper location. When for example your bug "
94 "is about a package which overwrites files from another package, check the "
95 "bug lists for <emphasis>both</emphasis> of those packages in order to avoid "
96 "filing duplicate bug reports."
99 #. type: Content of: <chapter><section><para>
100 #: beyond-pkging.dbk:56
102 "For extra credit, you can go through other packages, merging bugs which are "
103 "reported more than once, or tagging bugs `fixed' when they have already been "
104 "fixed. Note that when you are neither the bug submitter nor the package "
105 "maintainer, you should not actually close the bug (unless you secure "
106 "permission from the maintainer)."
109 #. type: Content of: <chapter><section><para>
110 #: beyond-pkging.dbk:63
112 "From time to time you may want to check what has been going on with the bug "
113 "reports that you submitted. Take this opportunity to close those that you "
114 "can't reproduce anymore. To find out all the bugs you submitted, you just "
116 "<literal>http://&bugs-host;/from:<replaceable>your-email-addr</replaceable></literal>."
119 #. type: Content of: <chapter><section><section><title>
120 #: beyond-pkging.dbk:70
121 msgid "Reporting lots of bugs at once (mass bug filing)"
124 #. type: Content of: <chapter><section><section><para>
125 #: beyond-pkging.dbk:72
127 "Reporting a great number of bugs for the same problem on a great number of "
128 "different packages — i.e., more than 10 — is a deprecated practice. Take "
129 "all possible steps to avoid submitting bulk bugs at all. For instance, if "
130 "checking for the problem can be automated, add a new check to <systemitem "
131 "role=\"package\">lintian</systemitem> so that an error or warning is "
135 #. type: Content of: <chapter><section><section><para>
136 #: beyond-pkging.dbk:79
138 "If you report more than 10 bugs on the same topic at once, it is recommended "
139 "that you send a message to &email-debian-devel; describing your intention "
140 "before submitting the report, and mentioning the fact in the subject of your "
141 "mail. This will allow other developers to verify that the bug is a real "
142 "problem. In addition, it will help prevent a situation in which several "
143 "maintainers start filing the same bug report simultaneously."
146 #. type: Content of: <chapter><section><section><para>
147 #: beyond-pkging.dbk:87
149 "Please use the programs <command>dd-list</command> and if appropriate "
150 "<command>whodepends</command> (from the package <systemitem "
151 "role=\"package\">devscripts</systemitem>) to generate a list of all affected "
152 "packages, and include the output in your mail to &email-debian-devel;."
155 #. type: Content of: <chapter><section><section><para>
156 #: beyond-pkging.dbk:93
158 "Note that when sending lots of bugs on the same subject, you should send the "
159 "bug report to <email>maintonly@&bugs-host;</email> so that the bug report is "
160 "not forwarded to the bug distribution mailing list."
163 #. type: Content of: <chapter><section><section><section><title>
164 #: beyond-pkging.dbk:98
168 #. type: Content of: <chapter><section><section><section><para>
169 #: beyond-pkging.dbk:100
171 "You may wish to use BTS usertags when submitting bugs across a number of "
172 "packages. Usertags are similar to normal tags such as 'patch' and 'wishlist' "
173 "but differ in that they are user-defined and occupy a namespace that is "
174 "unique to a particular user. This allows multiple sets of developers to "
175 "'usertag' the same bug in different ways without conflicting."
178 #. type: Content of: <chapter><section><section><section><para>
179 #: beyond-pkging.dbk:107
181 "To add usertags when filing bugs, specify the <literal>User</literal> and "
182 "<literal>Usertags</literal> pseudo-headers:"
185 #. type: Content of: <chapter><section><section><section><screen>
186 #: beyond-pkging.dbk:111
189 "To: submit@bugs.debian.org\n"
190 "Subject: <replaceable>title-of-bug</replaceable>\n"
192 "Package: <replaceable>pkgname</replaceable>\n"
193 "<replaceable>[ ... ]</replaceable>\n"
194 "User: <replaceable>email-addr</replaceable>\n"
195 "Usertags: <replaceable>tag-name [ tag-name ... ]</replaceable>\n"
197 "<replaceable>description-of-bug ...</replaceable>\n"
200 #. type: Content of: <chapter><section><section><section><para>
201 #: beyond-pkging.dbk:122
203 "Note that tags are seperated by spaces and cannot contain underscores. If "
204 "you are filing bugs for a particular group or team it is recommended that "
205 "you set the <literal>User</literal> to an appropriate mailing list after "
206 "describing your intention there."
209 #. type: Content of: <chapter><section><section><section><para>
210 #: beyond-pkging.dbk:128
212 "To view bugs tagged with a specific usertag, visit "
213 "<literal>http://&bugs-host;/cgi-bin/pkgreport.cgi?users=<replaceable>email-addr</replaceable>&tag=<replaceable>tag-name</replaceable></literal>."
216 #. type: Content of: <chapter><section><title>
217 #: beyond-pkging.dbk:137
218 msgid "Quality Assurance effort"
221 #. type: Content of: <chapter><section><section><title>
222 #: beyond-pkging.dbk:139
226 #. type: Content of: <chapter><section><section><para>
227 #: beyond-pkging.dbk:141
229 "Even though there is a dedicated group of people for Quality Assurance, QA "
230 "duties are not reserved solely for them. You can participate in this effort "
231 "by keeping your packages as bug-free as possible, and as lintian-clean (see "
232 "<xref linkend=\"lintian\"/>) as possible. If you do not find that possible, "
233 "then you should consider orphaning some of your packages (see <xref "
234 "linkend=\"orphaning\"/>). Alternatively, you may ask the help of other "
235 "people in order to catch up with the backlog of bugs that you have (you can "
236 "ask for help on &email-debian-qa; or &email-debian-devel;). At the same "
237 "time, you can look for co-maintainers (see <xref "
238 "linkend=\"collaborative-maint\"/>)."
241 #. type: Content of: <chapter><section><section><title>
242 #: beyond-pkging.dbk:155
243 msgid "Bug squashing parties"
246 #. type: Content of: <chapter><section><section><para>
247 #: beyond-pkging.dbk:157
249 "From time to time the QA group organizes bug squashing parties to get rid of "
250 "as many problems as possible. They are announced on "
251 "&email-debian-devel-announce; and the announcement explains which area will "
252 "be the focus of the party: usually they focus on release critical bugs but "
253 "it may happen that they decide to help finish a major upgrade (like a new "
254 "<command>perl</command> version which requires recompilation of all the "
258 #. type: Content of: <chapter><section><section><para>
259 #: beyond-pkging.dbk:166
261 "The rules for non-maintainer uploads differ during the parties because the "
262 "announcement of the party is considered prior notice for NMU. If you have "
263 "packages that may be affected by the party (because they have release "
264 "critical bugs for example), you should send an update to each of the "
265 "corresponding bug to explain their current status and what you expect from "
266 "the party. If you don't want an NMU, or if you're only interested in a "
267 "patch, or if you will deal yourself with the bug, please explain that in the "
271 #. type: Content of: <chapter><section><section><para>
272 #: beyond-pkging.dbk:175
274 "People participating in the party have special rules for NMU, they can NMU "
275 "without prior notice if they upload their NMU to DELAYED/3-day at least. "
276 "All other NMU rules apply as usually; they should send the patch of the NMU "
277 "to the BTS (to one of the open bugs fixed by the NMU, or to a new bug, "
278 "tagged fixed). They should also respect any particular wishes of the "
282 #. type: Content of: <chapter><section><section><para>
283 #: beyond-pkging.dbk:182
285 "If you don't feel confident about doing an NMU, just send a patch to the "
286 "BTS. It's far better than a broken NMU."
289 #. type: Content of: <chapter><section><title>
290 #: beyond-pkging.dbk:190
291 msgid "Contacting other maintainers"
294 #. type: Content of: <chapter><section><para>
295 #: beyond-pkging.dbk:192
297 "During your lifetime within Debian, you will have to contact other "
298 "maintainers for various reasons. You may want to discuss a new way of "
299 "cooperating between a set of related packages, or you may simply remind "
300 "someone that a new upstream version is available and that you need it."
303 #. type: Content of: <chapter><section><para>
304 #: beyond-pkging.dbk:198
306 "Looking up the email address of the maintainer for the package can be "
307 "distracting. Fortunately, there is a simple email alias, "
308 "<literal><replaceable>package</replaceable>@&packages-host;</literal>, which "
309 "provides a way to email the maintainer, whatever their individual email "
310 "address (or addresses) may be. Replace <replaceable>package</replaceable> "
311 "with the name of a source or a binary package."
314 #. type: Content of: <chapter><section><para>
315 #: beyond-pkging.dbk:206
317 "You may also be interested in contacting the persons who are subscribed to a "
318 "given source package via <xref linkend=\"pkg-tracking-system\"/>. You can "
319 "do so by using the "
320 "<literal><replaceable>package</replaceable>@&pts-host;</literal> email "
324 #. type: Content of: <chapter><section><title>
325 #: beyond-pkging.dbk:215
326 msgid "Dealing with inactive and/or unreachable maintainers"
329 #. type: Content of: <chapter><section><para>
330 #: beyond-pkging.dbk:217
332 "If you notice that a package is lacking maintenance, you should make sure "
333 "that the maintainer is active and will continue to work on their packages. "
334 "It is possible that they are not active any more, but haven't registered out "
335 "of the system, so to speak. On the other hand, it is also possible that "
336 "they just need a reminder."
339 #. type: Content of: <chapter><section><para>
340 #: beyond-pkging.dbk:224
342 "There is a simple system (the MIA database) in which information about "
343 "maintainers who are deemed Missing In Action is recorded. When a member of "
344 "the QA group contacts an inactive maintainer or finds more information about "
345 "one, this is recorded in the MIA database. This system is available in "
346 "<filename>/org/qa.debian.org/mia</filename> on the host "
347 "<literal>qa.debian.org</literal>, and can be queried with the "
348 "<command>mia-query</command> tool. Use <command>mia-query --help</command> "
349 "to see how to query the database. If you find that no information has been "
350 "recorded about an inactive maintainer yet, or that you can add more "
351 "information, you should generally proceed as follows."
354 #. type: Content of: <chapter><section><para>
355 #: beyond-pkging.dbk:235
357 "The first step is to politely contact the maintainer, and wait a reasonable "
358 "time for a response. It is quite hard to define reasonable time, but it is "
359 "important to take into account that real life is sometimes very hectic. One "
360 "way to handle this would be to send a reminder after two weeks."
363 #. type: Content of: <chapter><section><para>
364 #: beyond-pkging.dbk:241
366 "If the maintainer doesn't reply within four weeks (a month), one can assume "
367 "that a response will probably not happen. If that happens, you should "
368 "investigate further, and try to gather as much useful information about the "
369 "maintainer in question as possible. This includes:"
372 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
373 #: beyond-pkging.dbk:249
375 "The <literal>echelon</literal> information available through the <ulink "
376 "url=\"&url-debian-db;\">developers' LDAP database</ulink>, which indicates "
377 "when the developer last posted to a Debian mailing list. (This includes "
378 "mails about uploads distributed via the &email-debian-devel-changes; list.) "
379 "Also, remember to check whether the maintainer is marked as on vacation in "
383 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
384 #: beyond-pkging.dbk:259
386 "The number of packages this maintainer is responsible for, and the condition "
387 "of those packages. In particular, are there any RC bugs that have been open "
388 "for ages? Furthermore, how many bugs are there in general? Another important "
389 "piece of information is whether the packages have been NMUed, and if so, by "
393 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
394 #: beyond-pkging.dbk:268
396 "Is there any activity of the maintainer outside of Debian? For example, they "
397 "might have posted something recently to non-Debian mailing lists or news "
401 #. type: Content of: <chapter><section><para>
402 #: beyond-pkging.dbk:275
404 "A bit of a problem are packages which were sponsored — the maintainer is not "
405 "an official Debian developer. The <literal>echelon</literal> information is "
406 "not available for sponsored people, for example, so you need to find and "
407 "contact the Debian developer who has actually uploaded the package. Given "
408 "that they signed the package, they're responsible for the upload anyhow, and "
409 "are likely to know what happened to the person they sponsored."
412 #. type: Content of: <chapter><section><para>
413 #: beyond-pkging.dbk:283
415 "It is also allowed to post a query to &email-debian-devel;, asking if anyone "
416 "is aware of the whereabouts of the missing maintainer. Please Cc: the "
417 "person in question."
420 #. type: Content of: <chapter><section><para>
421 #: beyond-pkging.dbk:288
423 "Once you have gathered all of this, you can contact &email-mia;. People on "
424 "this alias will use the information you provide in order to decide how to "
425 "proceed. For example, they might orphan one or all of the packages of the "
426 "maintainer. If a package has been NMUed, they might prefer to contact the "
427 "NMUer before orphaning the package — perhaps the person who has done the NMU "
428 "is interested in the package."
431 #. type: Content of: <chapter><section><para>
432 #: beyond-pkging.dbk:296
434 "One last word: please remember to be polite. We are all volunteers and "
435 "cannot dedicate all of our time to Debian. Also, you are not aware of the "
436 "circumstances of the person who is involved. Perhaps they might be "
437 "seriously ill or might even have died — you do not know who may be on the "
438 "receiving side. Imagine how a relative will feel if they read the e-mail of "
439 "the deceased and find a very impolite, angry and accusing message!"
442 #. type: Content of: <chapter><section><para>
443 #: beyond-pkging.dbk:304
445 "On the other hand, although we are volunteers, we do have a responsibility. "
446 "So you can stress the importance of the greater good — if a maintainer does "
447 "not have the time or interest anymore, they should let go and give the "
448 "package to someone with more time."
451 #. type: Content of: <chapter><section><para>
452 #: beyond-pkging.dbk:310
454 "If you are interested in working in the MIA team, please have a look at the "
455 "<filename>README</filename> file in "
456 "<filename>/org/qa.debian.org/mia</filename> on "
457 "<literal>qa.debian.org</literal> where the technical details and the MIA "
458 "procedures are documented and contact &email-mia;."
461 #. type: Content of: <chapter><section><title>
462 #: beyond-pkging.dbk:318
463 msgid "Interacting with prospective Debian developers"
466 #. type: Content of: <chapter><section><para>
467 #: beyond-pkging.dbk:320
469 "Debian's success depends on its ability to attract and retain new and "
470 "talented volunteers. If you are an experienced developer, we recommend that "
471 "you get involved with the process of bringing in new developers. This "
472 "section describes how to help new prospective developers."
475 #. type: Content of: <chapter><section><section><title>
476 #: beyond-pkging.dbk:326
477 msgid "Sponsoring packages"
480 #. type: Content of: <chapter><section><section><para>
481 #: beyond-pkging.dbk:328
483 "Sponsoring a package means uploading a package for a maintainer who is not "
484 "able to do it on their own, a new maintainer applicant. Sponsoring a "
485 "package also means accepting responsibility for it."
488 #. type: Content of: <chapter><section><section><para>
489 #: beyond-pkging.dbk:339
491 "New maintainers usually have certain difficulties creating Debian packages — "
492 "this is quite understandable. That is why the sponsor is there, to check "
493 "the package and verify that it is good enough for inclusion in Debian. "
494 "(Note that if the sponsored package is new, the ftpmasters will also have to "
495 "inspect it before letting it in.)"
498 #. type: Content of: <chapter><section><section><para>
499 #: beyond-pkging.dbk:346
501 "Sponsoring merely by signing the upload or just recompiling is <emphasis "
502 "role=\"strong\">definitely not recommended</emphasis>. You need to build "
503 "the source package just like you would build a package of your own. "
504 "Remember that it doesn't matter that you left the prospective developer's "
505 "name both in the changelog and the control file, the upload can still be "
509 #. type: Content of: <chapter><section><section><para>
510 #: beyond-pkging.dbk:353
512 "If you are an application manager for a prospective developer, you can also "
513 "be their sponsor. That way you can also verify how the applicant is "
514 "handling the 'Tasks and Skills' part of their application."
517 #. type: Content of: <chapter><section><section><title>
518 #: beyond-pkging.dbk:360
519 msgid "Managing sponsored packages"
522 #. type: Content of: <chapter><section><section><para>
523 #: beyond-pkging.dbk:362
525 "By uploading a sponsored package to Debian, you are certifying that the "
526 "package meets minimum Debian standards. That implies that you must build "
527 "and test the package on your own system before uploading."
530 #. type: Content of: <chapter><section><section><para>
531 #: beyond-pkging.dbk:367
533 "You cannot simply upload a binary <filename>.deb</filename> from the "
534 "sponsoree. In theory, you should only ask for the diff file and the "
535 "location of the original source tarball, and then you should download the "
536 "source and apply the diff yourself. In practice, you may want to use the "
537 "source package built by your sponsoree. In that case, you have to check "
538 "that they haven't altered the upstream files in the "
539 "<filename>.orig.tar.{gz,bz2,lzma}</filename> file that they're providing."
542 #. type: Content of: <chapter><section><section><para>
543 #: beyond-pkging.dbk:376
545 "Do not be afraid to write the sponsoree back and point out changes that need "
546 "to be made. It often takes several rounds of back-and-forth email before "
547 "the package is in acceptable shape. Being a sponsor means being a mentor."
550 #. type: Content of: <chapter><section><section><para>
551 #: beyond-pkging.dbk:381
552 msgid "Once the package meets Debian standards, build and sign it with"
555 #. type: Content of: <chapter><section><section><screen>
556 #: beyond-pkging.dbk:384
558 msgid "dpkg-buildpackage -k<replaceable>KEY-ID</replaceable>\n"
561 #. type: Content of: <chapter><section><section><para>
562 #: beyond-pkging.dbk:387
564 "before uploading it to the incoming directory. Of course, you can also use "
565 "any part of your <replaceable>KEY-ID</replaceable>, as long as it's unique "
566 "in your secret keyring."
569 #. type: Content of: <chapter><section><section><para>
570 #: beyond-pkging.dbk:392
572 "The <literal>Maintainer</literal> field of the <filename>control</filename> "
573 "file and the <filename>changelog</filename> should list the person who did "
574 "the packaging, i.e., the sponsoree. The sponsoree will therefore get all "
575 "the BTS mail about the package."
578 #. type: Content of: <chapter><section><section><para>
579 #: beyond-pkging.dbk:398
581 "If you prefer to leave a more evident trace of your sponsorship job, you can "
582 "add a line stating it in the most recent changelog entry."
585 #. type: Content of: <chapter><section><section><para>
586 #: beyond-pkging.dbk:402
588 "You are encouraged to keep tabs on the package you sponsor using <xref "
589 "linkend=\"pkg-tracking-system\"/>."
592 #. type: Content of: <chapter><section><section><title>
593 #: beyond-pkging.dbk:408
594 msgid "Advocating new developers"
597 #. type: Content of: <chapter><section><section><para>
598 #: beyond-pkging.dbk:410
600 "See the page about <ulink url=\"&url-newmaint-advocate;\">advocating a "
601 "prospective developer</ulink> at the Debian web site."
604 #. type: Content of: <chapter><section><section><title>
605 #: beyond-pkging.dbk:417
606 msgid "Handling new maintainer applications"
609 #. type: Content of: <chapter><section><section><para>
610 #: beyond-pkging.dbk:419
612 "Please see <ulink url=\"&url-newmaint-amchecklist;\">Checklist for "
613 "Application Managers</ulink> at the Debian web site."