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: 2011-10-12 09:49+0300\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"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
19 #. type: Content of: <chapter><title>
20 #: beyond-pkging.dbk:7
21 msgid "Beyond Packaging"
24 #. type: Content of: <chapter><para>
25 #: beyond-pkging.dbk:9
27 "Debian is about a lot more than just packaging software and maintaining "
28 "those packages. This chapter contains information about ways, often really "
29 "critical ways, to contribute to Debian beyond simply creating and "
30 "maintaining packages."
33 #. type: Content of: <chapter><para>
34 #: beyond-pkging.dbk:14
36 "As a volunteer organization, Debian relies on the discretion of its members "
37 "in choosing what they want to work on and in choosing the most critical "
38 "thing to spend their time on."
41 #. type: Content of: <chapter><section><title>
42 #: beyond-pkging.dbk:19
46 #. type: Content of: <chapter><section><para>
47 #: beyond-pkging.dbk:21
49 "We encourage you to file bugs as you find them in Debian packages. In fact, "
50 "Debian developers are often the first line testers. Finding and reporting "
51 "bugs in other developers' packages improves the quality of Debian."
54 #. type: Content of: <chapter><section><para>
55 #: beyond-pkging.dbk:26
57 "Read the <ulink url=\"&url-bts-report;\">instructions for reporting "
58 "bugs</ulink> in the Debian <ulink url=\"&url-bts;\">bug tracking "
62 #. type: Content of: <chapter><section><para>
63 #: beyond-pkging.dbk:31
65 "Try to submit the bug from a normal user account at which you are likely to "
66 "receive mail, so that people can reach you if they need further information "
67 "about the bug. Do not submit bugs as root."
70 #. type: Content of: <chapter><section><para>
71 #: beyond-pkging.dbk:36
73 "You can use a tool like <citerefentry> "
74 "<refentrytitle>reportbug</refentrytitle> <manvolnum>1</manvolnum> "
75 "</citerefentry> to submit bugs. It can automate and generally ease the "
79 #. type: Content of: <chapter><section><para>
80 #: beyond-pkging.dbk:41
82 "Make sure the bug is not already filed against a package. Each package has "
83 "a bug list easily reachable at "
84 "<literal>http://&bugs-host;/<replaceable>packagename</replaceable></literal>. "
85 "Utilities like <citerefentry> <refentrytitle>querybts</refentrytitle> "
86 "<manvolnum>1</manvolnum> </citerefentry> can also provide you with this "
87 "information (and <command>reportbug</command> will usually invoke "
88 "<command>querybts</command> before sending, too)."
91 #. type: Content of: <chapter><section><para>
92 #: beyond-pkging.dbk:50
94 "Try to direct your bugs to the proper location. When for example your bug "
95 "is about a package which overwrites files from another package, check the "
96 "bug lists for <emphasis>both</emphasis> of those packages in order to avoid "
97 "filing duplicate bug reports."
100 #. type: Content of: <chapter><section><para>
101 #: beyond-pkging.dbk:56
103 "For extra credit, you can go through other packages, merging bugs which are "
104 "reported more than once, or tagging bugs `fixed' when they have already been "
105 "fixed. Note that when you are neither the bug submitter nor the package "
106 "maintainer, you should not actually close the bug (unless you secure "
107 "permission from the maintainer)."
110 #. type: Content of: <chapter><section><para>
111 #: beyond-pkging.dbk:63
113 "From time to time you may want to check what has been going on with the bug "
114 "reports that you submitted. Take this opportunity to close those that you "
115 "can't reproduce anymore. To find out all the bugs you submitted, you just "
117 "<literal>http://&bugs-host;/from:<replaceable>your-email-addr</replaceable></literal>."
120 #. type: Content of: <chapter><section><section><title>
121 #: beyond-pkging.dbk:70
122 msgid "Reporting lots of bugs at once (mass bug filing)"
125 #. type: Content of: <chapter><section><section><para>
126 #: beyond-pkging.dbk:72
128 "Reporting a great number of bugs for the same problem on a great number of "
129 "different packages — i.e., more than 10 — is a deprecated practice. Take "
130 "all possible steps to avoid submitting bulk bugs at all. For instance, if "
131 "checking for the problem can be automated, add a new check to <systemitem "
132 "role=\"package\">lintian</systemitem> so that an error or warning is "
136 #. type: Content of: <chapter><section><section><para>
137 #: beyond-pkging.dbk:79
139 "If you report more than 10 bugs on the same topic at once, it is recommended "
140 "that you send a message to &email-debian-devel; describing your intention "
141 "before submitting the report, and mentioning the fact in the subject of your "
142 "mail. This will allow other developers to verify that the bug is a real "
143 "problem. In addition, it will help prevent a situation in which several "
144 "maintainers start filing the same bug report simultaneously."
147 #. type: Content of: <chapter><section><section><para>
148 #: beyond-pkging.dbk:87
150 "Please use the programs <command>dd-list</command> and if appropriate "
151 "<command>whodepends</command> (from the package <systemitem "
152 "role=\"package\">devscripts</systemitem>) to generate a list of all affected "
153 "packages, and include the output in your mail to &email-debian-devel;."
156 #. type: Content of: <chapter><section><section><para>
157 #: beyond-pkging.dbk:93
159 "Note that when sending lots of bugs on the same subject, you should send the "
160 "bug report to <email>maintonly@&bugs-host;</email> so that the bug report is "
161 "not forwarded to the bug distribution mailing list."
164 #. type: Content of: <chapter><section><section><section><title>
165 #: beyond-pkging.dbk:98
169 #. type: Content of: <chapter><section><section><section><para>
170 #: beyond-pkging.dbk:100
172 "You may wish to use BTS usertags when submitting bugs across a number of "
173 "packages. Usertags are similar to normal tags such as 'patch' and 'wishlist' "
174 "but differ in that they are user-defined and occupy a namespace that is "
175 "unique to a particular user. This allows multiple sets of developers to "
176 "'usertag' the same bug in different ways without conflicting."
179 #. type: Content of: <chapter><section><section><section><para>
180 #: beyond-pkging.dbk:107
182 "To add usertags when filing bugs, specify the <literal>User</literal> and "
183 "<literal>Usertags</literal> pseudo-headers:"
186 #. type: Content of: <chapter><section><section><section><screen>
187 #: beyond-pkging.dbk:111
190 "To: submit@bugs.debian.org\n"
191 "Subject: <replaceable>title-of-bug</replaceable>\n"
193 "Package: <replaceable>pkgname</replaceable>\n"
194 "<replaceable>[ ... ]</replaceable>\n"
195 "User: <replaceable>email-addr</replaceable>\n"
196 "Usertags: <replaceable>tag-name [ tag-name ... ]</replaceable>\n"
198 "<replaceable>description-of-bug ...</replaceable>\n"
201 #. type: Content of: <chapter><section><section><section><para>
202 #: beyond-pkging.dbk:122
204 "Note that tags are seperated by spaces and cannot contain underscores. If "
205 "you are filing bugs for a particular group or team it is recommended that "
206 "you set the <literal>User</literal> to an appropriate mailing list after "
207 "describing your intention there."
210 #. type: Content of: <chapter><section><section><section><para>
211 #: beyond-pkging.dbk:128
213 "To view bugs tagged with a specific usertag, visit "
214 "<literal>http://&bugs-host;/cgi-bin/pkgreport.cgi?users=<replaceable>email-addr</replaceable>&tag=<replaceable>tag-name</replaceable></literal>."
217 #. type: Content of: <chapter><section><title>
218 #: beyond-pkging.dbk:137
219 msgid "Quality Assurance effort"
222 #. type: Content of: <chapter><section><section><title>
223 #: beyond-pkging.dbk:139
227 #. type: Content of: <chapter><section><section><para>
228 #: beyond-pkging.dbk:141
230 "Even though there is a dedicated group of people for Quality Assurance, QA "
231 "duties are not reserved solely for them. You can participate in this effort "
232 "by keeping your packages as bug-free as possible, and as lintian-clean (see "
233 "<xref linkend=\"lintian\"/>) as possible. If you do not find that possible, "
234 "then you should consider orphaning some of your packages (see <xref "
235 "linkend=\"orphaning\"/>). Alternatively, you may ask the help of other "
236 "people in order to catch up with the backlog of bugs that you have (you can "
237 "ask for help on &email-debian-qa; or &email-debian-devel;). At the same "
238 "time, you can look for co-maintainers (see <xref "
239 "linkend=\"collaborative-maint\"/>)."
242 #. type: Content of: <chapter><section><section><title>
243 #: beyond-pkging.dbk:155
244 msgid "Bug squashing parties"
247 #. type: Content of: <chapter><section><section><para>
248 #: beyond-pkging.dbk:157
250 "From time to time the QA group organizes bug squashing parties to get rid of "
251 "as many problems as possible. They are announced on "
252 "&email-debian-devel-announce; and the announcement explains which area will "
253 "be the focus of the party: usually they focus on release critical bugs but "
254 "it may happen that they decide to help finish a major upgrade (like a new "
255 "<command>perl</command> version which requires recompilation of all the "
259 #. type: Content of: <chapter><section><section><para>
260 #: beyond-pkging.dbk:166
262 "The rules for non-maintainer uploads differ during the parties because the "
263 "announcement of the party is considered prior notice for NMU. If you have "
264 "packages that may be affected by the party (because they have release "
265 "critical bugs for example), you should send an update to each of the "
266 "corresponding bug to explain their current status and what you expect from "
267 "the party. If you don't want an NMU, or if you're only interested in a "
268 "patch, or if you will deal yourself with the bug, please explain that in the "
272 #. type: Content of: <chapter><section><section><para>
273 #: beyond-pkging.dbk:175
275 "People participating in the party have special rules for NMU, they can NMU "
276 "without prior notice if they upload their NMU to DELAYED/3-day at least. "
277 "All other NMU rules apply as usually; they should send the patch of the NMU "
278 "to the BTS (to one of the open bugs fixed by the NMU, or to a new bug, "
279 "tagged fixed). They should also respect any particular wishes of the "
283 #. type: Content of: <chapter><section><section><para>
284 #: beyond-pkging.dbk:182
286 "If you don't feel confident about doing an NMU, just send a patch to the "
287 "BTS. It's far better than a broken NMU."
290 #. type: Content of: <chapter><section><title>
291 #: beyond-pkging.dbk:190
292 msgid "Contacting other maintainers"
295 #. type: Content of: <chapter><section><para>
296 #: beyond-pkging.dbk:192
298 "During your lifetime within Debian, you will have to contact other "
299 "maintainers for various reasons. You may want to discuss a new way of "
300 "cooperating between a set of related packages, or you may simply remind "
301 "someone that a new upstream version is available and that you need it."
304 #. type: Content of: <chapter><section><para>
305 #: beyond-pkging.dbk:198
307 "Looking up the email address of the maintainer for the package can be "
308 "distracting. Fortunately, there is a simple email alias, "
309 "<literal><replaceable>package</replaceable>@&packages-host;</literal>, which "
310 "provides a way to email the maintainer, whatever their individual email "
311 "address (or addresses) may be. Replace <replaceable>package</replaceable> "
312 "with the name of a source or a binary package."
315 #. type: Content of: <chapter><section><para>
316 #: beyond-pkging.dbk:206
318 "You may also be interested in contacting the persons who are subscribed to a "
319 "given source package via <xref linkend=\"pkg-tracking-system\"/>. You can "
320 "do so by using the "
321 "<literal><replaceable>package</replaceable>@&pts-host;</literal> email "
325 #. type: Content of: <chapter><section><title>
326 #: beyond-pkging.dbk:215
327 msgid "Dealing with inactive and/or unreachable maintainers"
330 #. type: Content of: <chapter><section><para>
331 #: beyond-pkging.dbk:217
333 "If you notice that a package is lacking maintenance, you should make sure "
334 "that the maintainer is active and will continue to work on their packages. "
335 "It is possible that they are not active any more, but haven't registered out "
336 "of the system, so to speak. On the other hand, it is also possible that "
337 "they just need a reminder."
340 #. type: Content of: <chapter><section><para>
341 #: beyond-pkging.dbk:224
343 "There is a simple system (the MIA database) in which information about "
344 "maintainers who are deemed Missing In Action is recorded. When a member of "
345 "the QA group contacts an inactive maintainer or finds more information about "
346 "one, this is recorded in the MIA database. This system is available in "
347 "<filename>/org/qa.debian.org/mia</filename> on the host "
348 "<literal>qa.debian.org</literal>, and can be queried with the "
349 "<command>mia-query</command> tool. Use <command>mia-query --help</command> "
350 "to see how to query the database. If you find that no information has been "
351 "recorded about an inactive maintainer yet, or that you can add more "
352 "information, you should generally proceed as follows."
355 #. type: Content of: <chapter><section><para>
356 #: beyond-pkging.dbk:235
358 "The first step is to politely contact the maintainer, and wait a reasonable "
359 "time for a response. It is quite hard to define reasonable time, but it is "
360 "important to take into account that real life is sometimes very hectic. One "
361 "way to handle this would be to send a reminder after two weeks."
364 #. type: Content of: <chapter><section><para>
365 #: beyond-pkging.dbk:241
367 "If the maintainer doesn't reply within four weeks (a month), one can assume "
368 "that a response will probably not happen. If that happens, you should "
369 "investigate further, and try to gather as much useful information about the "
370 "maintainer in question as possible. This includes:"
373 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
374 #: beyond-pkging.dbk:249
376 "The <literal>echelon</literal> information available through the <ulink "
377 "url=\"&url-debian-db;\">developers' LDAP database</ulink>, which indicates "
378 "when the developer last posted to a Debian mailing list. (This includes "
379 "mails about uploads distributed via the &email-debian-devel-changes; list.) "
380 "Also, remember to check whether the maintainer is marked as on vacation in "
384 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
385 #: beyond-pkging.dbk:259
387 "The number of packages this maintainer is responsible for, and the condition "
388 "of those packages. In particular, are there any RC bugs that have been open "
389 "for ages? Furthermore, how many bugs are there in general? Another important "
390 "piece of information is whether the packages have been NMUed, and if so, by "
394 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
395 #: beyond-pkging.dbk:268
397 "Is there any activity of the maintainer outside of Debian? For example, they "
398 "might have posted something recently to non-Debian mailing lists or news "
402 #. type: Content of: <chapter><section><para>
403 #: beyond-pkging.dbk:275
405 "A bit of a problem are packages which were sponsored — the maintainer is not "
406 "an official Debian developer. The <literal>echelon</literal> information is "
407 "not available for sponsored people, for example, so you need to find and "
408 "contact the Debian developer who has actually uploaded the package. Given "
409 "that they signed the package, they're responsible for the upload anyhow, and "
410 "are likely to know what happened to the person they sponsored."
413 #. type: Content of: <chapter><section><para>
414 #: beyond-pkging.dbk:283
416 "It is also allowed to post a query to &email-debian-devel;, asking if anyone "
417 "is aware of the whereabouts of the missing maintainer. Please Cc: the "
418 "person in question."
421 #. type: Content of: <chapter><section><para>
422 #: beyond-pkging.dbk:288
424 "Once you have gathered all of this, you can contact &email-mia;. People on "
425 "this alias will use the information you provide in order to decide how to "
426 "proceed. For example, they might orphan one or all of the packages of the "
427 "maintainer. If a package has been NMUed, they might prefer to contact the "
428 "NMUer before orphaning the package — perhaps the person who has done the NMU "
429 "is interested in the package."
432 #. type: Content of: <chapter><section><para>
433 #: beyond-pkging.dbk:296
435 "One last word: please remember to be polite. We are all volunteers and "
436 "cannot dedicate all of our time to Debian. Also, you are not aware of the "
437 "circumstances of the person who is involved. Perhaps they might be "
438 "seriously ill or might even have died — you do not know who may be on the "
439 "receiving side. Imagine how a relative will feel if they read the e-mail of "
440 "the deceased and find a very impolite, angry and accusing message!"
443 #. type: Content of: <chapter><section><para>
444 #: beyond-pkging.dbk:304
446 "On the other hand, although we are volunteers, we do have a responsibility. "
447 "So you can stress the importance of the greater good — if a maintainer does "
448 "not have the time or interest anymore, they should let go and give the "
449 "package to someone with more time."
452 #. type: Content of: <chapter><section><para>
453 #: beyond-pkging.dbk:310
455 "If you are interested in working in the MIA team, please have a look at the "
456 "<filename>README</filename> file in "
457 "<filename>/org/qa.debian.org/mia</filename> on "
458 "<literal>qa.debian.org</literal> where the technical details and the MIA "
459 "procedures are documented and contact &email-mia;."
462 #. type: Content of: <chapter><section><title>
463 #: beyond-pkging.dbk:318
464 msgid "Interacting with prospective Debian developers"
467 #. type: Content of: <chapter><section><para>
468 #: beyond-pkging.dbk:320
470 "Debian's success depends on its ability to attract and retain new and "
471 "talented volunteers. If you are an experienced developer, we recommend that "
472 "you get involved with the process of bringing in new developers. This "
473 "section describes how to help new prospective developers."
476 #. type: Content of: <chapter><section><section><title>
477 #: beyond-pkging.dbk:326
478 msgid "Sponsoring packages"
481 #. type: Content of: <chapter><section><section><para>
482 #: beyond-pkging.dbk:328
484 "Sponsoring a package means uploading a package for a maintainer who is not "
485 "able to do it on their own. It's not a trivial matter, the sponsor must "
486 "verify the packaging and ensure that it is of the high level of quality that "
487 "Debian strives to have."
490 #. type: Content of: <chapter><section><section><para>
491 #: beyond-pkging.dbk:334
492 msgid "Debian Developers can sponsor packages. Debian Maintainers can't."
495 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
496 #: beyond-pkging.dbk:340
498 "The maintainer prepares a source package (<filename>.dsc</filename>) and "
499 "puts it online somewhere (like on <ulink "
500 "url=\"http://mentors.debian.net/cgi-bin/welcome\">mentors.debian.net</ulink>) "
501 "or even better, provides a link to a public VCS repository (see <xref "
502 "linkend=\"servers-vcs\"/>) where the package is maintained."
505 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
506 #: beyond-pkging.dbk:346
507 msgid "The sponsor downloads (or checkouts) the source package."
510 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
511 #: beyond-pkging.dbk:349
513 "The sponsor reviews the source package. If she finds issues, she informs the "
514 "maintainer and asks her to provide a fixed version (the process starts over "
518 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
519 #: beyond-pkging.dbk:354
521 "The sponsor could not find any remaining problem. She builds the package, "
522 "signs it, and uploads it to Debian."
525 #. type: Content of: <chapter><section><section><para>
526 #: beyond-pkging.dbk:337
528 "The process of sponsoring a package is: <placeholder type=\"orderedlist\" "
532 #. type: Content of: <chapter><section><section><para>
533 #: beyond-pkging.dbk:360
535 "Before delving in the details of how to sponsor a package, you should ask "
536 "yourself whether adding the proposed package is beneficial to Debian."
539 #. type: Content of: <chapter><section><section><para>
540 #: beyond-pkging.dbk:364
542 "There's no simple rule to answer this question, it can depend on many "
543 "factors: is the upstream codebase mature and not full of security holes? Are "
544 "there pre-existing packages that can do the same task and how do they "
545 "compare to this new package? Has the new package been requested by users and "
546 "how large is the user base? How active are the upstream developers?"
549 #. type: Content of: <chapter><section><section><para>
550 #: beyond-pkging.dbk:371
552 "You should also ensure that the prospective maintainer is going to be a good "
553 "maintainer. Does she already have some experience with other packages? If "
554 "yes, is she doing a good job with them (check out some bugs)? Is she "
555 "familiar with the package and its programming language? Does she have the "
556 "skills needed for this package? If not, is she able to learn them?"
559 #. type: Content of: <chapter><section><section><para>
560 #: beyond-pkging.dbk:379
562 "It's also a good idea to know where she stands towards Debian: does she "
563 "agree with Debian's philosophy and does she intend to join Debian? Given how "
564 "easy it is to become a Debian Maintainer, you might want to only sponsor "
565 "people who plan to join. That way you know from the start that you won't "
566 "have to act as a sponsor indefinitely."
569 #. type: Content of: <chapter><section><section><section><title>
570 #: beyond-pkging.dbk:386
571 msgid "Sponsoring a new package"
574 #. type: Content of: <chapter><section><section><section><para>
575 #: beyond-pkging.dbk:388
577 "New maintainers usually have certain difficulties creating Debian packages — "
578 "this is quite understandable. They will do mistakes. That's why sponsoring a "
579 "brand new package into Debian requires a thorough review of the Debian "
580 "packaging. Sometimes several iterations will be needed until the package is "
581 "good enough to be uploaded to Debian. Thus being a sponsor implies being a "
585 #. type: Content of: <chapter><section><section><section><para>
586 #: beyond-pkging.dbk:396
588 "Don't ever sponsor a new package without reviewing it. The review of new "
589 "packages done by ftpmasters mainly ensures that the software is really "
590 "free. Of course, it happens that they stumble on packaging problems but they "
591 "really should not. It's your task to ensure that the uploaded package "
592 "complies with the Debian Free Software Guidelines and is of good quality."
595 #. type: Content of: <chapter><section><section><section><para><footnote><para>
596 #: beyond-pkging.dbk:409
598 "You can find more checks in the wiki where several developers share their "
599 "own <ulink url=\"http://wiki.debian.org/SponsorChecklist\">sponsorship "
600 "checklists</ulink>."
603 #. type: Content of: <chapter><section><section><section><para>
604 #: beyond-pkging.dbk:404
606 "Building the package and testing the software is part of the review, but "
607 "it's also not enough. The rest of this section contains a non-exhaustive "
608 "list of points to check in your review. <placeholder type=\"footnote\" "
612 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
613 #: beyond-pkging.dbk:416
615 "Verify that the upstream tarball provided is the same that has been "
616 "distributed by the upstream author (when the sources are repackaged for "
617 "Debian, generate the modified tarball yourself)."
620 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
621 #: beyond-pkging.dbk:421
623 "Run <command>lintian</command> (see <xref linkend=\"lintian\"/>). It will "
624 "catch many common problems. Be sure to verify that any "
625 "<command>lintian</command> overrides setup by the maintainer is fully "
629 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
630 #: beyond-pkging.dbk:426
632 "Run <command>licensecheck</command> (part of <xref linkend=\"devscripts\"/>) "
633 "and verify that <filename>debian/copyright</filename> seems correct and "
634 "complete. Look for license problems (like files with “All rights reserved” "
635 "headers, or with a non-DFSG compliant license). <command>grep -ri</command> "
636 "is your friend for this task."
639 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
640 #: beyond-pkging.dbk:433
642 "Build the package with <command>pbuilder</command> (or any similar tool, see "
643 "<xref linkend=\"pbuilder\"/>) to ensure that the build-dependencies are "
647 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
648 #: beyond-pkging.dbk:438
650 "Proofread <filename>debian/control</filename>: does it follow the best "
651 "practices (see <xref linkend=\"bpp-debian-control\"/>)? Are the dependencies "
655 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
656 #: beyond-pkging.dbk:443
658 "Proofread <filename>debian/rules</filename>: does it follow the best "
659 "practices (see <xref linkend=\"bpp-debian-rules\"/>)? Do you see some "
660 "possible improvements?"
663 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
664 #: beyond-pkging.dbk:448
666 "Proofread the maintainer scripts (<filename>preinst</filename>, "
667 "<filename>postinst</filename>, <filename>prerm</filename>, "
668 "<filename>postrm</filename>, <filename>config</filename>): will the "
669 "<filename>preinst</filename>/<filename>postrm</filename> work when the "
670 "dependencies are not installed? Are all the scripts idempotent (i.e. can you "
671 "run them multiple times without consequences)?"
674 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
675 #: beyond-pkging.dbk:456
677 "Review any change to upstream files (either in "
678 "<filename>.diff.gz</filename>, or in <filename>debian/patches/</filename> or "
679 "directly embedded in the <filename>debian</filename> tarball for binary "
680 "files). Are they justified? Are they properly documented (with <ulink "
681 "url=\"&url-dep3;\">DEP-3</ulink> for patches)?"
684 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
685 #: beyond-pkging.dbk:462
687 "For every file, ask yourself why the file is there and whether it's the "
688 "right way to achieve the desired result. Is the maintainer following the "
689 "best packaging practices (see <xref linkend=\"best-pkging-practices\"/>)?"
692 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
693 #: beyond-pkging.dbk:468
695 "Build the packages, install them and try the software. Ensure you can remove "
696 "and purge the packages. Maybe test them with <command>piuparts</command>."
699 #. type: Content of: <chapter><section><section><section><para>
700 #: beyond-pkging.dbk:474
702 "If the audit did not reveal any problem, you can build the package and "
703 "upload it to Debian. Remember that even if you're not the maintainer, the "
704 "sponsor is still responsible of what he uploaded to Debian. That's why "
705 "you're encouraged to keep up with the package through the <xref "
706 "linkend=\"pkg-tracking-system\"/>."
709 #. type: Content of: <chapter><section><section><section><para>
710 #: beyond-pkging.dbk:481
712 "Note that you should not need to modify the source package to put your name "
713 "in the <filename>changelog</filename> or in the <filename>control</filename> "
714 "file. The <literal>Maintainer</literal> field of the "
715 "<filename>control</filename> file and the <filename>changelog</filename> "
716 "should list the person who did the packaging, i.e. the sponsoree. That way "
717 "she will get all the BTS mail."
720 #. type: Content of: <chapter><section><section><section><para>
721 #: beyond-pkging.dbk:487
723 "Instead you should instruct <command>dpkg-buildpackage</command> to use your "
724 "key for the signature. You do that with the <literal>-k</literal> option:"
727 #. type: Content of: <chapter><section><section><section><screen>
728 #: beyond-pkging.dbk:490
730 msgid "dpkg-buildpackage -k<replaceable>KEY-ID</replaceable>\n"
733 #. type: Content of: <chapter><section><section><section><para>
734 #: beyond-pkging.dbk:492
736 "If you use <command>debuild</command> and <command>debsign</command>, you "
737 "can even configure it permanently in <filename>~/.devscripts</filename>:"
740 #. type: Content of: <chapter><section><section><section><programlisting>
741 #: beyond-pkging.dbk:495
743 msgid "DEBSIGN_KEYID=<replaceable>KEY-ID</replaceable>\n"
746 #. type: Content of: <chapter><section><section><section><title>
747 #: beyond-pkging.dbk:500
748 msgid "Sponsoring an update of an existing package"
751 #. type: Content of: <chapter><section><section><section><para>
752 #: beyond-pkging.dbk:502
754 "You will usually assume that the package has already gone through a full "
755 "review. So instead of doing it again, you will carefully analyze the "
756 "difference between the current version and the new version prepared by the "
757 "maintainer. If you have not done the initial review yourself, you might "
758 "still want to have a more deeper look just in case the initial reviewer was "
762 #. type: Content of: <chapter><section><section><section><para>
763 #: beyond-pkging.dbk:510
765 "To be able to analyze the difference you need both versions. Download the "
766 "current version of the source package (with <command>apt-get "
767 "source</command>) and rebuild it (or download the current binary packages "
768 "with <command>aptitude download</command>). Download the source package to "
769 "sponsor (usually with <command>dget</command>)."
772 #. type: Content of: <chapter><section><section><section><para>
773 #: beyond-pkging.dbk:517
775 "Read the new changelog entry, it should tell you what to expect during the "
776 "review. The main tool you will use is <command>debdiff</command> (provide by "
777 "the <systemitem role=\"package\">devscripts</systemitem> package), you can "
778 "run it with two source packages (<filename>.dsc</filename> files), or two "
779 "binary packages, or two <filename>.changes</filename> files (it will then "
780 "compare all the binary packages listed in the "
781 "<filename>.changes</filename>)."
784 #. type: Content of: <chapter><section><section><section><para>
785 #: beyond-pkging.dbk:524
787 "If you compare the source packages (excluding upstream files in the case of "
788 "a new upstream version, for example by filtering the output of "
789 "<command>debdiff</command> with <command>filterdiff -i "
790 "'*/debian/*'</command>), you must understand all the changes you see and "
791 "they should be properly documented in the Debian changelog."
794 #. type: Content of: <chapter><section><section><section><para>
795 #: beyond-pkging.dbk:531
797 "If everything is fine, build the package and compare the binary packages to "
798 "verify that the changes on the source package have no unexpected "
799 "consequences (like some files dropped by mistake, missing dependencies, "
803 #. type: Content of: <chapter><section><section><section><para>
804 #: beyond-pkging.dbk:537
806 "You might want to check out the Package Tracking System (see <xref "
807 "linkend=\"pkg-tracking-system\"/>) to verify if the maintainer has not "
808 "missed something important. Maybe there are translations updates sitting in "
809 "the BTS that could have been integrated. Maybe the package has been NMUed "
810 "and the maintainer forgot to integrate the changes from the NMU in his "
811 "package. Maybe there's a release critical bug that he has left unhandled and "
812 "that's blocking migration to <literal>testing</literal>. Whatever. If you "
813 "find something that she could have done (better), it's time to tell her so "
814 "that she can improve for next time, and so that she has a better "
815 "understanding of her responsibilities."
818 #. type: Content of: <chapter><section><section><section><para>
819 #: beyond-pkging.dbk:549
821 "If you have found no major problem, upload the new version. Otherwise ask "
822 "the maintainer to provide you a fixed version."
825 #. type: Content of: <chapter><section><section><title>
826 #: beyond-pkging.dbk:556
827 msgid "Advocating new developers"
830 #. type: Content of: <chapter><section><section><para>
831 #: beyond-pkging.dbk:558
833 "See the page about <ulink url=\"&url-newmaint-advocate;\">advocating a "
834 "prospective developer</ulink> at the Debian web site."
837 #. type: Content of: <chapter><section><section><title>
838 #: beyond-pkging.dbk:565
839 msgid "Handling new maintainer applications"
842 #. type: Content of: <chapter><section><section><para>
843 #: beyond-pkging.dbk:567
845 "Please see <ulink url=\"&url-newmaint-amchecklist;\">Checklist for "
846 "Application Managers</ulink> at the Debian web site."