chiark / gitweb /
Regenerate POT files and merge into po files
[developers-reference.git] / po4a / po / pkgs.pot
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.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2010-01-04 00:17+0100\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"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=utf-8\n"
16 "Content-Transfer-Encoding: ENCODING"
17
18 #. type: Content of: <chapter><title>
19 #: pkgs.dbk:7
20 msgid "Managing Packages"
21 msgstr ""
22
23 #. type: Content of: <chapter><para>
24 #: pkgs.dbk:9
25 msgid ""
26 "This chapter contains information related to creating, uploading, "
27 "maintaining, and porting packages."
28 msgstr ""
29
30 #. type: Content of: <chapter><section><title>
31 #: pkgs.dbk:13
32 msgid "New packages"
33 msgstr ""
34
35 #. type: Content of: <chapter><section><para>
36 #: pkgs.dbk:15
37 msgid ""
38 "If you want to create a new package for the Debian distribution, you should "
39 "first check the <ulink url=\"&url-wnpp;\">Work-Needing and Prospective "
40 "Packages (WNPP)</ulink> list.  Checking the WNPP list ensures that no one is "
41 "already working on packaging that software, and that effort is not "
42 "duplicated.  Read the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink> for "
43 "more information."
44 msgstr ""
45
46 #. type: Content of: <chapter><section><para>
47 #: pkgs.dbk:23
48 msgid ""
49 "Assuming no one else is already working on your prospective package, you "
50 "must then submit a bug report (<xref linkend=\"submit-bug\"/> ) against the "
51 "pseudo-package <systemitem role=\"package\">wnpp</systemitem> describing "
52 "your plan to create a new package, including, but not limiting yourself to, "
53 "a description of the package, the license of the prospective package, and "
54 "the current URL where it can be downloaded from."
55 msgstr ""
56
57 #. type: Content of: <chapter><section><para>
58 #: pkgs.dbk:31
59 msgid ""
60 "You should set the subject of the bug to <literal>ITP: "
61 "<replaceable>foo</replaceable> -- <replaceable>short "
62 "description</replaceable></literal>, substituting the name of the new "
63 "package for <replaceable>foo</replaceable>.  The severity of the bug report "
64 "must be set to <literal>wishlist</literal>.  Please send a copy to "
65 "&email-debian-devel; by using the X-Debbugs-CC header (don't use CC:, "
66 "because that way the message's subject won't indicate the bug number). If "
67 "you are packaging so many new packages (>10)  that notifying the mailing "
68 "list in seperate messages is too disruptive, do send a summary after filing "
69 "the bugs to the debian-devel list instead.  This will inform the other "
70 "developers about upcoming packages and will allow a review of your "
71 "description and package name."
72 msgstr ""
73
74 #. type: Content of: <chapter><section><para>
75 #: pkgs.dbk:45
76 msgid ""
77 "Please include a <literal>Closes: "
78 "bug#<replaceable>nnnnn</replaceable></literal> entry in the changelog of the "
79 "new package in order for the bug report to be automatically closed once the "
80 "new package is installed in the archive (see <xref "
81 "linkend=\"upload-bugfix\"/> )."
82 msgstr ""
83
84 #. type: Content of: <chapter><section><para>
85 #: pkgs.dbk:51
86 msgid ""
87 "If you think your package needs some explanations for the administrators of "
88 "the NEW package queue, include them in your changelog, send to "
89 "ftpmaster@debian.org a reply to the email you receive as a maintainer after "
90 "your upload, or reply to the rejection email in case you are already "
91 "re-uploading."
92 msgstr ""
93
94 #. type: Content of: <chapter><section><para>
95 #: pkgs.dbk:57
96 msgid ""
97 "When closing security bugs include CVE numbers as well as the Closes: "
98 "#nnnnn.  This is useful for the security team to track vulnerabilities.  If "
99 "an upload is made to fix the bug before the advisory ID is known, it is "
100 "encouraged to modify the historical changelog entry with the next upload.  "
101 "Even in this case, please include all available pointers to background "
102 "information in the original changelog entry."
103 msgstr ""
104
105 #. type: Content of: <chapter><section><para>
106 #: pkgs.dbk:65
107 msgid ""
108 "There are a number of reasons why we ask maintainers to announce their "
109 "intentions:"
110 msgstr ""
111
112 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
113 #: pkgs.dbk:71
114 msgid ""
115 "It helps the (potentially new) maintainer to tap into the experience of "
116 "people on the list, and lets them know if anyone else is working on it "
117 "already."
118 msgstr ""
119
120 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
121 #: pkgs.dbk:77
122 msgid ""
123 "It lets other people thinking about working on the package know that there "
124 "already is a volunteer, so efforts may be shared."
125 msgstr ""
126
127 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
128 #: pkgs.dbk:83
129 msgid ""
130 "It lets the rest of the maintainers know more about the package than the one "
131 "line description and the usual changelog entry ``Initial release'' that gets "
132 "posted to &email-debian-devel-changes;."
133 msgstr ""
134
135 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
136 #: pkgs.dbk:90
137 msgid ""
138 "It is helpful to the people who live off <literal>unstable</literal> (and "
139 "form our first line of testers).  We should encourage these people."
140 msgstr ""
141
142 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
143 #: pkgs.dbk:96
144 msgid ""
145 "The announcements give maintainers and other interested parties a better "
146 "feel of what is going on, and what is new, in the project."
147 msgstr ""
148
149 #. type: Content of: <chapter><section><para>
150 #: pkgs.dbk:102
151 msgid ""
152 "Please see <ulink url=\"http://&ftp-master-host;/REJECT-FAQ.html\"></ulink> "
153 "for common rejection reasons for a new package."
154 msgstr ""
155
156 #. type: Content of: <chapter><section><title>
157 #: pkgs.dbk:108
158 msgid "Recording changes in the package"
159 msgstr ""
160
161 #. type: Content of: <chapter><section><para>
162 #: pkgs.dbk:110
163 msgid ""
164 "Changes that you make to the package need to be recorded in the "
165 "<filename>debian/changelog</filename>.  These changes should provide a "
166 "concise description of what was changed, why (if it's in doubt), and note if "
167 "any bugs were closed.  They also record when the package was completed.  "
168 "This file will be installed in "
169 "<filename>/usr/share/doc/<replaceable>package</replaceable>/changelog.Debian.gz</filename>, "
170 "or "
171 "<filename>/usr/share/doc/<replaceable>package</replaceable>/changelog.gz</filename> "
172 "for native packages."
173 msgstr ""
174
175 #. type: Content of: <chapter><section><para>
176 #: pkgs.dbk:121
177 msgid ""
178 "The <filename>debian/changelog</filename> file conforms to a certain "
179 "structure, with a number of different fields.  One field of note, the "
180 "<literal>distribution</literal>, is described in <xref "
181 "linkend=\"distribution\"/> .  More information about the structure of this "
182 "file can be found in the Debian Policy section titled "
183 "<filename>debian/changelog</filename>."
184 msgstr ""
185
186 #. type: Content of: <chapter><section><para>
187 #: pkgs.dbk:129
188 msgid ""
189 "Changelog entries can be used to automatically close Debian bugs when the "
190 "package is installed into the archive.  See <xref "
191 "linkend=\"upload-bugfix\"/> ."
192 msgstr ""
193
194 #. type: Content of: <chapter><section><para>
195 #: pkgs.dbk:133
196 msgid ""
197 "It is conventional that the changelog entry of a package that contains a new "
198 "upstream version of the software looks like this:"
199 msgstr ""
200
201 #. type: Content of: <chapter><section><screen>
202 #: pkgs.dbk:137
203 #, no-wrap
204 msgid "  * new upstream version\n"
205 msgstr ""
206
207 #. type: Content of: <chapter><section><para>
208 #: pkgs.dbk:140
209 msgid ""
210 "There are tools to help you create entries and finalize the "
211 "<filename>changelog</filename> for release — see <xref "
212 "linkend=\"devscripts\"/> and <xref linkend=\"dpkg-dev-el\"/> ."
213 msgstr ""
214
215 #. type: Content of: <chapter><section><para>
216 #: pkgs.dbk:145
217 msgid "See also <xref linkend=\"bpp-debian-changelog\"/> ."
218 msgstr ""
219
220 #. type: Content of: <chapter><section><title>
221 #: pkgs.dbk:150
222 msgid "Testing the package"
223 msgstr ""
224
225 #. type: Content of: <chapter><section><para>
226 #: pkgs.dbk:152
227 msgid ""
228 "Before you upload your package, you should do basic testing on it.  At a "
229 "minimum, you should try the following activities (you'll need to have an "
230 "older version of the same Debian package around):"
231 msgstr ""
232
233 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
234 #: pkgs.dbk:159
235 msgid ""
236 "Install the package and make sure the software works, or upgrade the package "
237 "from an older version to your new version if a Debian package for it already "
238 "exists."
239 msgstr ""
240
241 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
242 #: pkgs.dbk:166
243 msgid ""
244 "Run <command>lintian</command> over the package.  You can run "
245 "<command>lintian</command> as follows: <literal>lintian -v "
246 "<replaceable>package-version</replaceable>.changes</literal>.  This will "
247 "check the source package as well as the binary package.  If you don't "
248 "understand the output that <command>lintian</command> generates, try adding "
249 "the <literal>-i</literal> switch, which will cause "
250 "<command>lintian</command> to output a very verbose description of the "
251 "problem."
252 msgstr ""
253
254 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
255 #: pkgs.dbk:175
256 msgid ""
257 "Normally, a package should <emphasis>not</emphasis> be uploaded if it causes "
258 "lintian to emit errors (they will start with <literal>E</literal>)."
259 msgstr ""
260
261 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
262 #: pkgs.dbk:179
263 msgid ""
264 "For more information on <command>lintian</command>, see <xref "
265 "linkend=\"lintian\"/> ."
266 msgstr ""
267
268 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
269 #: pkgs.dbk:185
270 msgid ""
271 "Optionally run <xref linkend=\"debdiff\"/> to analyze changes from an older "
272 "version, if one exists."
273 msgstr ""
274
275 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
276 #: pkgs.dbk:191
277 msgid ""
278 "Downgrade the package to the previous version (if one exists) — this tests "
279 "the <filename>postrm</filename> and <filename>prerm</filename> scripts."
280 msgstr ""
281
282 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
283 #: pkgs.dbk:197
284 msgid "Remove the package, then reinstall it."
285 msgstr ""
286
287 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
288 #: pkgs.dbk:202
289 msgid ""
290 "Copy the source package in a different directory and try unpacking it and "
291 "rebuilding it.  This tests if the package relies on existing files outside "
292 "of it, or if it relies on permissions being preserved on the files shipped "
293 "inside the .diff.gz file."
294 msgstr ""
295
296 #. type: Content of: <chapter><section><title>
297 #: pkgs.dbk:212
298 msgid "Layout of the source package"
299 msgstr ""
300
301 #. type: Content of: <chapter><section><para>
302 #: pkgs.dbk:214
303 msgid "There are two types of Debian source packages:"
304 msgstr ""
305
306 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
307 #: pkgs.dbk:219
308 msgid ""
309 "the so-called <literal>native</literal> packages, where there is no "
310 "distinction between the original sources and the patches applied for Debian"
311 msgstr ""
312
313 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
314 #: pkgs.dbk:225
315 msgid ""
316 "the (more common) packages where there's an original source tarball file "
317 "accompanied by another file that contains the changes made by Debian"
318 msgstr ""
319
320 #. type: Content of: <chapter><section><para>
321 #: pkgs.dbk:231
322 msgid ""
323 "For the native packages, the source package includes a Debian source control "
324 "file (<literal>.dsc</literal>) and the source tarball "
325 "(<literal>.tar.{gz,bz2,lzma}</literal>). A source package of a non-native "
326 "package includes a Debian source control file, the original source tarball "
327 "(<literal>.orig.tar.{gz,bz2,lzma}</literal>) and the Debian changes "
328 "(<literal>.diff.gz</literal> for the source format “1.0” or "
329 "<literal>.debian.tar.{gz,bz2,lzma}</literal> for the source format “3.0 "
330 "(quilt)”)."
331 msgstr ""
332
333 #. type: Content of: <chapter><section><para>
334 #: pkgs.dbk:240
335 msgid ""
336 "With source format “1.0”, whether a package is native or not was determined "
337 "by <command>dpkg-source</command> at build time. Nowadays it is recommended "
338 "to be explicit about the desired source format by putting either “3.0 "
339 "(quilt)” or “3.0 (native)” in <filename>debian/source/format</filename>.  "
340 "The rest of this section relates only to non-native packages."
341 msgstr ""
342
343 #. type: Content of: <chapter><section><para>
344 #: pkgs.dbk:247
345 msgid ""
346 "The first time a version is uploaded which corresponds to a particular "
347 "upstream version, the original source tar file should be uploaded and "
348 "included in the <filename>.changes</filename> file.  Subsequently, this very "
349 "same tar file should be used to build the new diffs and "
350 "<filename>.dsc</filename> files, and will not need to be re-uploaded."
351 msgstr ""
352
353 #. type: Content of: <chapter><section><para>
354 #: pkgs.dbk:254
355 msgid ""
356 "By default, <command>dpkg-genchanges</command> and "
357 "<command>dpkg-buildpackage</command> will include the original source tar "
358 "file if and only if the current changelog entry has a different upstream "
359 "version from the preceding entry. This behavior may be modified by using "
360 "<literal>-sa</literal> to always include it or <literal>-sd</literal> to "
361 "always leave it out."
362 msgstr ""
363
364 #. type: Content of: <chapter><section><para>
365 #: pkgs.dbk:262
366 msgid ""
367 "If no original source is included in the upload, the original source "
368 "tar-file used by <command>dpkg-source</command> when constructing the "
369 "<filename>.dsc</filename> file and diff to be uploaded "
370 "<emphasis>must</emphasis> be byte-for-byte identical with the one already in "
371 "the archive."
372 msgstr ""
373
374 #. type: Content of: <chapter><section><para>
375 #: pkgs.dbk:269
376 msgid ""
377 "Please notice that, in non-native packages, permissions on files that are "
378 "not present in the .orig.tar.{gz,bz2} will not be preserved, as diff does "
379 "not store file permissions in the patch. However when using source format "
380 "“3.0 (quilt)”, permissions of files inside the <filename>debian</filename> "
381 "directory are preserved since they are stored in a tar archive."
382 msgstr ""
383
384 #. type: Content of: <chapter><section><title>
385 #: pkgs.dbk:278
386 msgid "Picking a distribution"
387 msgstr ""
388
389 #. type: Content of: <chapter><section><para>
390 #: pkgs.dbk:280
391 msgid ""
392 "Each upload needs to specify which distribution the package is intended "
393 "for.  The package build process extracts this information from the first "
394 "line of the <filename>debian/changelog</filename> file and places it in the "
395 "<literal>Distribution</literal> field of the <literal>.changes</literal> "
396 "file."
397 msgstr ""
398
399 #. type: Content of: <chapter><section><para>
400 #: pkgs.dbk:286
401 msgid ""
402 "There are several possible values for this field: <literal>stable</literal>, "
403 "<literal>unstable</literal>, <literal>testing-proposed-updates</literal> and "
404 "<literal>experimental</literal>.  Normally, packages are uploaded into "
405 "<literal>unstable</literal>."
406 msgstr ""
407
408 #. type: Content of: <chapter><section><para>
409 #: pkgs.dbk:292
410 msgid ""
411 "Actually, there are two other possible distributions: "
412 "<literal>stable-security </literal> and <literal>testing-security</literal>, "
413 "but read <xref linkend=\"bug-security\"/> for more information on those."
414 msgstr ""
415
416 #. type: Content of: <chapter><section><para>
417 #: pkgs.dbk:297
418 msgid ""
419 "It is not possible to upload a package into several distributions at the "
420 "same time."
421 msgstr ""
422
423 #. type: Content of: <chapter><section><section><title>
424 #: pkgs.dbk:301
425 msgid ""
426 "Special case: uploads to the <literal>stable</literal> and "
427 "<literal>oldstable</literal> distributions"
428 msgstr ""
429
430 #. type: Content of: <chapter><section><section><para>
431 #: pkgs.dbk:304
432 msgid ""
433 "Uploading to <literal>stable</literal> means that the package will "
434 "transferred to the <literal>proposed-updates-new</literal> queue for review "
435 "by the stable release managers, and if approved will be installed in "
436 "<filename>stable-proposed-updates</filename> directory of the Debian "
437 "archive.  From there, it will be included in <literal>stable</literal> with "
438 "the next point release."
439 msgstr ""
440
441 #. type: Content of: <chapter><section><section><para>
442 #: pkgs.dbk:312
443 msgid ""
444 "To ensure that your upload will be accepted, you should discuss the changes "
445 "with the stable release team before you upload. For that, send a mail to the "
446 "&email-debian-release; mailing list, including the patch you want to apply "
447 "to the package version currently in <literal>stable</literal>. Always be "
448 "verbose and detailed in your changelog entries for uploads to the "
449 "<literal>stable</literal> distribution."
450 msgstr ""
451
452 #. type: Content of: <chapter><section><section><para>
453 #: pkgs.dbk:320
454 msgid ""
455 "Extra care should be taken when uploading to <literal>stable</literal>.  "
456 "Basically, a package should only be uploaded to <literal>stable</literal> if "
457 "one of the following happens:"
458 msgstr ""
459
460 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
461 #: pkgs.dbk:327
462 msgid "a truly critical functionality problem"
463 msgstr ""
464
465 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
466 #: pkgs.dbk:332
467 msgid "the package becomes uninstallable"
468 msgstr ""
469
470 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
471 #: pkgs.dbk:337
472 msgid "a released architecture lacks the package"
473 msgstr ""
474
475 #. type: Content of: <chapter><section><section><para>
476 #: pkgs.dbk:342
477 msgid ""
478 "In the past, uploads to <literal>stable</literal> were used to address "
479 "security problems as well.  However, this practice is deprecated, as uploads "
480 "used for Debian security advisories are automatically copied to the "
481 "appropriate <filename>proposed-updates</filename> archive when the advisory "
482 "is released.  See <xref linkend=\"bug-security\"/> for detailed information "
483 "on handling security problems. If the security teams deems the problem to be "
484 "too benign to be fixed through a <literal>DSA</literal>, the stable release "
485 "managers are usually willing to include your fix nonetheless in a regular "
486 "upload to <literal>stable</literal>."
487 msgstr ""
488
489 #. type: Content of: <chapter><section><section><para>
490 #: pkgs.dbk:353
491 msgid ""
492 "Changing anything else in the package that isn't important is discouraged, "
493 "because even trivial fixes can cause bugs later on."
494 msgstr ""
495
496 #. type: Content of: <chapter><section><section><para>
497 #: pkgs.dbk:357
498 msgid ""
499 "Packages uploaded to <literal>stable</literal> need to be compiled on "
500 "systems running <literal>stable</literal>, so that their dependencies are "
501 "limited to the libraries (and other packages) available in "
502 "<literal>stable</literal>; for example, a package uploaded to "
503 "<literal>stable</literal> that depends on a library package that only exists "
504 "in <literal>unstable</literal> will be rejected.  Making changes to "
505 "dependencies of other packages (by messing with <literal>Provides</literal> "
506 "or <literal>shlibs</literal> files), possibly making those other packages "
507 "uninstallable, is strongly discouraged."
508 msgstr ""
509
510 #. type: Content of: <chapter><section><section><para>
511 #: pkgs.dbk:367
512 msgid ""
513 "Uploads to the <literal>oldstable</literal> distributions are possible as "
514 "long as it hasn't been archived. The same rules as for <literal>stable "
515 "</literal> apply."
516 msgstr ""
517
518 #. type: Content of: <chapter><section><section><title>
519 #: pkgs.dbk:374
520 msgid "Special case: uploads to <literal>testing/testing-proposed-updates</literal>"
521 msgstr ""
522
523 #. type: Content of: <chapter><section><section><para>
524 #: pkgs.dbk:376
525 msgid ""
526 "Please see the information in the <link linkend=\"t-p-u\">testing "
527 "section</link> for details."
528 msgstr ""
529
530 #. type: Content of: <chapter><section><title>
531 #: pkgs.dbk:384
532 msgid "Uploading a package"
533 msgstr ""
534
535 #. type: Content of: <chapter><section><section><title>
536 #: pkgs.dbk:386
537 msgid "Uploading to <literal>ftp-master</literal>"
538 msgstr ""
539
540 #. type: Content of: <chapter><section><section><para>
541 #: pkgs.dbk:388
542 msgid ""
543 "To upload a package, you should upload the files (including the signed "
544 "changes and dsc-file) with anonymous ftp to "
545 "<literal>&ftp-upload-host;</literal> in the directory <ulink "
546 "url=\"ftp://&ftp-upload-host;&upload-queue;\">&upload-queue;</ulink>.  To "
547 "get the files processed there, they need to be signed with a key in the "
548 "Debian Developers keyring or the Debian Maintainers keyring (see <ulink "
549 "url=\"&url-wiki-dm;\"></ulink>)."
550 msgstr ""
551
552 #. type: Content of: <chapter><section><section><para>
553 #: pkgs.dbk:397
554 msgid ""
555 "Please note that you should transfer the changes file last.  Otherwise, your "
556 "upload may be rejected because the archive maintenance software will parse "
557 "the changes file and see that not all files have been uploaded."
558 msgstr ""
559
560 #. type: Content of: <chapter><section><section><para>
561 #: pkgs.dbk:402
562 msgid ""
563 "You may also find the Debian packages <xref linkend=\"dupload\"/> or <xref "
564 "linkend=\"dput\"/> useful when uploading packages.  These handy programs "
565 "help automate the process of uploading packages into Debian."
566 msgstr ""
567
568 #. type: Content of: <chapter><section><section><para>
569 #: pkgs.dbk:407
570 msgid ""
571 "For removing packages, please see <ulink "
572 "url=\"ftp://&ftp-upload-host;&upload-queue;/README\"/> and the Debian "
573 "package <xref linkend=\"dcut\"/> ."
574 msgstr ""
575
576 #. type: Content of: <chapter><section><section><title>
577 #: pkgs.dbk:414
578 msgid "Delayed uploads"
579 msgstr ""
580
581 #. type: Content of: <chapter><section><section><para>
582 #: pkgs.dbk:417
583 msgid ""
584 "It is sometimes useful to upload a package immediately, but to want this "
585 "package to arrive in the archive only a few days later. For example, when "
586 "preparing a <link linkend=\"nmu\">Non-maintainer Upload</link>, you might "
587 "want to give the maintainer a few days to react."
588 msgstr ""
589
590 #. type: Content of: <chapter><section><section><para>
591 #: pkgs.dbk:424
592 msgid ""
593 "An upload to the delayed directory keeps the package in <ulink "
594 "url=\"http://ftp-master.debian.org/deferred.html\"> the deferred uploads "
595 "queue\"</ulink>.  When the specified waiting time is over, the package is "
596 "moved into the regular incoming directory for processing.  This is done "
597 "through automatic uploading to <literal>&ftp-upload-host;</literal> in "
598 "upload-directory <literal>DELAYED/[012345678]-day</literal>. 0-day is "
599 "uploaded multiple times per day to <literal>&ftp-upload-host;</literal>."
600 msgstr ""
601
602 #. type: Content of: <chapter><section><section><para>
603 #: pkgs.dbk:435
604 msgid ""
605 "With dput, you can use the <literal>--delayed "
606 "<replaceable>DELAY</replaceable></literal> parameter to put the package into "
607 "one of the queues."
608 msgstr ""
609
610 #. type: Content of: <chapter><section><section><title>
611 #: pkgs.dbk:441
612 msgid "Security uploads"
613 msgstr ""
614
615 #. type: Content of: <chapter><section><section><para>
616 #: pkgs.dbk:443
617 msgid ""
618 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
619 "upload queue (<literal>oldstable-security</literal>, "
620 "<literal>stable-security </literal>, etc.) without prior authorization from "
621 "the security team.  If the package does not exactly meet the team's "
622 "requirements, it will cause many problems and delays in dealing with the "
623 "unwanted upload.  For details, please see section <xref "
624 "linkend=\"bug-security\"/> ."
625 msgstr ""
626
627 #. type: Content of: <chapter><section><section><title>
628 #: pkgs.dbk:453
629 msgid "Other upload queues"
630 msgstr ""
631
632 #. type: Content of: <chapter><section><section><para>
633 #: pkgs.dbk:455
634 msgid ""
635 "There is an alternative upload queue in Europe at <ulink "
636 "url=\"ftp://&ftp-eu-upload-host;&upload-queue;\"/>. It operates in the same "
637 "way as <literal>&ftp-upload-host;</literal>, but should be faster for "
638 "European developers."
639 msgstr ""
640
641 #. type: Content of: <chapter><section><section><para>
642 #: pkgs.dbk:461
643 msgid ""
644 "Packages can also be uploaded via ssh to "
645 "<literal>&ssh-upload-host;</literal>; files should be put "
646 "<literal>/srv/upload.debian.org/UploadQueue</literal>. This queue does not "
647 "support <xref linkend=\"delayed-incoming\">delayed uploads</xref>."
648 msgstr ""
649
650 #. type: Content of: <chapter><section><section><title>
651 #: pkgs.dbk:469
652 msgid "Notification that a new package has been installed"
653 msgstr ""
654
655 #. type: Content of: <chapter><section><section><para>
656 #: pkgs.dbk:471
657 msgid ""
658 "The Debian archive maintainers are responsible for handling package "
659 "uploads.  For the most part, uploads are automatically handled on a daily "
660 "basis by the archive maintenance tools, <command>katie</command>.  "
661 "Specifically, updates to existing packages to the "
662 "<literal>unstable</literal> distribution are handled automatically.  In "
663 "other cases, notably new packages, placing the uploaded package into the "
664 "distribution is handled manually.  When uploads are handled manually, the "
665 "change to the archive may take up to a month to occur.  Please be patient."
666 msgstr ""
667
668 #. type: Content of: <chapter><section><section><para>
669 #: pkgs.dbk:481
670 msgid ""
671 "In any case, you will receive an email notification indicating that the "
672 "package has been added to the archive, which also indicates which bugs will "
673 "be closed by the upload.  Please examine this notification carefully, "
674 "checking if any bugs you meant to close didn't get triggered."
675 msgstr ""
676
677 #. type: Content of: <chapter><section><section><para>
678 #: pkgs.dbk:487
679 msgid ""
680 "The installation notification also includes information on what section the "
681 "package was inserted into.  If there is a disparity, you will receive a "
682 "separate email notifying you of that.  Read on below."
683 msgstr ""
684
685 #. type: Content of: <chapter><section><section><para>
686 #: pkgs.dbk:492
687 msgid ""
688 "Note that if you upload via queues, the queue daemon software will also send "
689 "you a notification by email."
690 msgstr ""
691
692 #. type: Content of: <chapter><section><title>
693 #: pkgs.dbk:500
694 msgid "Specifying the package section, subsection and priority"
695 msgstr ""
696
697 #. type: Content of: <chapter><section><para>
698 #: pkgs.dbk:502
699 msgid ""
700 "The <filename>debian/control</filename> file's <literal>Section</literal> "
701 "and <literal>Priority</literal> fields do not actually specify where the "
702 "file will be placed in the archive, nor its priority.  In order to retain "
703 "the overall integrity of the archive, it is the archive maintainers who have "
704 "control over these fields.  The values in the "
705 "<filename>debian/control</filename> file are actually just hints."
706 msgstr ""
707
708 #. type: Content of: <chapter><section><para>
709 #: pkgs.dbk:510
710 msgid ""
711 "The archive maintainers keep track of the canonical sections and priorities "
712 "for packages in the <literal>override file</literal>.  If there is a "
713 "disparity between the <literal>override file</literal> and the package's "
714 "fields as indicated in <filename>debian/control</filename>, then you will "
715 "receive an email noting the divergence when the package is installed into "
716 "the archive.  You can either correct your "
717 "<filename>debian/control</filename> file for your next upload, or else you "
718 "may wish to make a change in the <literal>override file</literal>."
719 msgstr ""
720
721 #. type: Content of: <chapter><section><para>
722 #: pkgs.dbk:520
723 msgid ""
724 "To alter the actual section that a package is put in, you need to first make "
725 "sure that the <filename>debian/control</filename> file in your package is "
726 "accurate.  Next, submit a bug against <systemitem "
727 "role=\"package\">ftp.debian.org</systemitem> requesting that the section or "
728 "priority for your package be changed from the old section or priority to the "
729 "new one. Use a Subject like <literal>override: PACKAGE1:section/priority, "
730 "[...], PACKAGEX:section/priority</literal>, and include the justification "
731 "for the change in the body of the bug report."
732 msgstr ""
733
734 #. type: Content of: <chapter><section><para>
735 #: pkgs.dbk:531
736 msgid ""
737 "For more information about <literal>override files</literal>, see "
738 "<citerefentry> <refentrytitle>dpkg-scanpackages</refentrytitle> "
739 "<manvolnum>1</manvolnum> </citerefentry> and <ulink "
740 "url=\"&url-bts-devel;#maintincorrect\"></ulink>."
741 msgstr ""
742
743 #. type: Content of: <chapter><section><para>
744 #: pkgs.dbk:537
745 msgid ""
746 "Note that the <literal>Section</literal> field describes both the section as "
747 "well as the subsection, which are described in <xref "
748 "linkend=\"archive-sections\"/> .  If the section is main, it should be "
749 "omitted.  The list of allowable subsections can be found in <ulink "
750 "url=\"&url-debian-policy;ch-archive.html#s-subsections\"></ulink>."
751 msgstr ""
752
753 #. type: Content of: <chapter><section><title>
754 #: pkgs.dbk:546
755 msgid "Handling bugs"
756 msgstr ""
757
758 #. type: Content of: <chapter><section><para>
759 #: pkgs.dbk:548
760 msgid ""
761 "Every developer has to be able to work with the Debian <ulink "
762 "url=\"&url-bts;\">bug tracking system</ulink>.  This includes knowing how to "
763 "file bug reports properly (see <xref linkend=\"submit-bug\"/> ), how to "
764 "update them and reorder them, and how to process and close them."
765 msgstr ""
766
767 #. type: Content of: <chapter><section><para>
768 #: pkgs.dbk:554
769 msgid ""
770 "The bug tracking system's features are described in the <ulink "
771 "url=\"&url-bts-devel;\">BTS documentation for developers</ulink>.  This "
772 "includes closing bugs, sending followup messages, assigning severities and "
773 "tags, marking bugs as forwarded, and other issues."
774 msgstr ""
775
776 #. type: Content of: <chapter><section><para>
777 #: pkgs.dbk:560
778 msgid ""
779 "Operations such as reassigning bugs to other packages, merging separate bug "
780 "reports about the same issue, or reopening bugs when they are prematurely "
781 "closed, are handled using the so-called control mail server.  All of the "
782 "commands available on this server are described in the <ulink "
783 "url=\"&url-bts-control;\">BTS control server documentation</ulink>."
784 msgstr ""
785
786 #. type: Content of: <chapter><section><section><title>
787 #: pkgs.dbk:568
788 msgid "Monitoring bugs"
789 msgstr ""
790
791 #. type: Content of: <chapter><section><section><para>
792 #: pkgs.dbk:570
793 msgid ""
794 "If you want to be a good maintainer, you should periodically check the "
795 "<ulink url=\"&url-bts;\">Debian bug tracking system (BTS)</ulink> for your "
796 "packages.  The BTS contains all the open bugs against your packages.  You "
797 "can check them by browsing this page: "
798 "<literal>http://&bugs-host;/<replaceable>yourlogin</replaceable>@debian.org</literal>."
799 msgstr ""
800
801 #. type: Content of: <chapter><section><section><para>
802 #: pkgs.dbk:577
803 msgid ""
804 "Maintainers interact with the BTS via email addresses at "
805 "<literal>&bugs-host;</literal>.  Documentation on available commands can be "
806 "found at <ulink url=\"&url-bts;\"></ulink>, or, if you have installed the "
807 "<systemitem role=\"package\">doc-debian</systemitem> package, you can look "
808 "at the local files &file-bts-docs;."
809 msgstr ""
810
811 #. type: Content of: <chapter><section><section><para>
812 #: pkgs.dbk:584
813 msgid ""
814 "Some find it useful to get periodic reports on open bugs.  You can add a "
815 "cron job such as the following if you want to get a weekly email outlining "
816 "all the open bugs against your packages:"
817 msgstr ""
818
819 #. type: Content of: <chapter><section><section><screen>
820 #: pkgs.dbk:589
821 #, no-wrap
822 msgid ""
823 "# ask for weekly reports of bugs in my packages\n"
824 "&cron-bug-report;\n"
825 msgstr ""
826
827 #. type: Content of: <chapter><section><section><para>
828 #: pkgs.dbk:593
829 msgid ""
830 "Replace <replaceable>address</replaceable> with your official Debian "
831 "maintainer address."
832 msgstr ""
833
834 #. type: Content of: <chapter><section><section><title>
835 #: pkgs.dbk:599
836 msgid "Responding to bugs"
837 msgstr ""
838
839 #. type: Content of: <chapter><section><section><para>
840 #: pkgs.dbk:601
841 msgid ""
842 "When responding to bugs, make sure that any discussion you have about bugs "
843 "is sent both to the original submitter of the bug, and to the bug itself "
844 "(e.g., <email>123@&bugs-host;</email>).  If you're writing a new mail and "
845 "you don't remember the submitter email address, you can use the "
846 "<email>123-submitter@&bugs-host;</email> email to contact the submitter "
847 "<emphasis>and</emphasis> to record your mail within the bug log (that means "
848 "you don't need to send a copy of the mail to "
849 "<email>123@&bugs-host;</email>)."
850 msgstr ""
851
852 #. type: Content of: <chapter><section><section><para>
853 #: pkgs.dbk:610
854 msgid ""
855 "If you get a bug which mentions FTBFS, this means Fails to build from "
856 "source.  Porters frequently use this acronym."
857 msgstr ""
858
859 #. type: Content of: <chapter><section><section><para>
860 #: pkgs.dbk:614
861 msgid ""
862 "Once you've dealt with a bug report (e.g.  fixed it), mark it as "
863 "<literal>done</literal> (close it) by sending an explanation message to "
864 "<email>123-done@&bugs-host;</email>.  If you're fixing a bug by changing and "
865 "uploading the package, you can automate bug closing as described in <xref "
866 "linkend=\"upload-bugfix\"/> ."
867 msgstr ""
868
869 #. type: Content of: <chapter><section><section><para>
870 #: pkgs.dbk:621
871 msgid ""
872 "You should <emphasis>never</emphasis> close bugs via the bug server "
873 "<literal>close</literal> command sent to &email-bts-control;.  If you do so, "
874 "the original submitter will not receive any information about why the bug "
875 "was closed."
876 msgstr ""
877
878 #. type: Content of: <chapter><section><section><title>
879 #: pkgs.dbk:629
880 msgid "Bug housekeeping"
881 msgstr ""
882
883 #. type: Content of: <chapter><section><section><para>
884 #: pkgs.dbk:631
885 msgid ""
886 "As a package maintainer, you will often find bugs in other packages or have "
887 "bugs reported against your packages which are actually bugs in other "
888 "packages.  The bug tracking system's features are described in the <ulink "
889 "url=\"&url-bts-devel;\">BTS documentation for Debian developers</ulink>.  "
890 "Operations such as reassigning, merging, and tagging bug reports are "
891 "described in the <ulink url=\"&url-bts-control;\">BTS control server "
892 "documentation</ulink>.  This section contains some guidelines for managing "
893 "your own bugs, based on the collective Debian developer experience."
894 msgstr ""
895
896 #. type: Content of: <chapter><section><section><para>
897 #: pkgs.dbk:642
898 msgid ""
899 "Filing bugs for problems that you find in other packages is one of the civic "
900 "obligations of maintainership, see <xref linkend=\"submit-bug\"/> for "
901 "details.  However, handling the bugs in your own packages is even more "
902 "important."
903 msgstr ""
904
905 #. type: Content of: <chapter><section><section><para>
906 #: pkgs.dbk:647
907 msgid "Here's a list of steps that you may follow to handle a bug report:"
908 msgstr ""
909
910 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
911 #: pkgs.dbk:652
912 msgid ""
913 "Decide whether the report corresponds to a real bug or not.  Sometimes users "
914 "are just calling a program in the wrong way because they haven't read the "
915 "documentation.  If you diagnose this, just close the bug with enough "
916 "information to let the user correct their problem (give pointers to the good "
917 "documentation and so on).  If the same report comes up again and again you "
918 "may ask yourself if the documentation is good enough or if the program "
919 "shouldn't detect its misuse in order to give an informative error message.  "
920 "This is an issue that may need to be brought up with the upstream author."
921 msgstr ""
922
923 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
924 #: pkgs.dbk:662
925 msgid ""
926 "If the bug submitter disagrees with your decision to close the bug, they may "
927 "reopen it until you find an agreement on how to handle it.  If you don't "
928 "find any, you may want to tag the bug <literal>wontfix</literal> to let "
929 "people know that the bug exists but that it won't be corrected.  If this "
930 "situation is unacceptable, you (or the submitter) may want to require a "
931 "decision of the technical committee by reassigning the bug to <systemitem "
932 "role=\"package\">tech-ctte</systemitem> (you may use the clone command of "
933 "the BTS if you wish to keep it reported against your package).  Before doing "
934 "so, please read the <ulink url=\"&url-tech-ctte;\">recommended "
935 "procedure</ulink>."
936 msgstr ""
937
938 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
939 #: pkgs.dbk:676
940 msgid ""
941 "If the bug is real but it's caused by another package, just reassign the bug "
942 "to the right package.  If you don't know which package it should be "
943 "reassigned to, you should ask for help on <link "
944 "linkend=\"irc-channels\">IRC</link> or on &email-debian-devel;.  Please "
945 "inform the maintainer(s) of the package you reassign the bug to, for example "
946 "by Cc:ing the message that does the reassign to "
947 "<email>packagename@packages.debian.org</email> and explaining your reasons "
948 "in that mail. Please note that a simple reassignment is "
949 "<emphasis>not</emphasis> e-mailed to the maintainers of the package being "
950 "reassigned to, so they won't know about it until they look at a bug overview "
951 "for their packages."
952 msgstr ""
953
954 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
955 #: pkgs.dbk:688
956 msgid ""
957 "If the bug affects the operation of your package, please consider cloning "
958 "the bug and reassigning the clone to the package that really causes the "
959 "behavior. Otherwise, the bug will not be shown in your package's bug list, "
960 "possibly causing users to report the same bug over and over again. You "
961 "should block \"your\" bug with the reassigned, cloned bug to document the "
962 "relationship."
963 msgstr ""
964
965 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
966 #: pkgs.dbk:698
967 msgid ""
968 "Sometimes you also have to adjust the severity of the bug so that it matches "
969 "our definition of the severity.  That's because people tend to inflate the "
970 "severity of bugs to make sure their bugs are fixed quickly.  Some bugs may "
971 "even be dropped to wishlist severity when the requested change is just "
972 "cosmetic."
973 msgstr ""
974
975 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
976 #: pkgs.dbk:706
977 msgid ""
978 "If the bug is real but the same problem has already been reported by someone "
979 "else, then the two relevant bug reports should be merged into one using the "
980 "merge command of the BTS.  In this way, when the bug is fixed, all of the "
981 "submitters will be informed of this.  (Note, however, that emails sent to "
982 "one bug report's submitter won't automatically be sent to the other report's "
983 "submitter.) For more details on the technicalities of the merge command and "
984 "its relative, the unmerge command, see the BTS control server documentation."
985 msgstr ""
986
987 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
988 #: pkgs.dbk:717
989 msgid ""
990 "The bug submitter may have forgotten to provide some information, in which "
991 "case you have to ask them for the required information.  You may use the "
992 "<literal>moreinfo</literal> tag to mark the bug as such.  Moreover if you "
993 "can't reproduce the bug, you tag it <literal>unreproducible</literal>.  "
994 "Anyone who can reproduce the bug is then invited to provide more information "
995 "on how to reproduce it.  After a few months, if this information has not "
996 "been sent by someone, the bug may be closed."
997 msgstr ""
998
999 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1000 #: pkgs.dbk:728
1001 msgid ""
1002 "If the bug is related to the packaging, you just fix it.  If you are not "
1003 "able to fix it yourself, then tag the bug as <literal>help</literal>.  You "
1004 "can also ask for help on &email-debian-devel; or &email-debian-qa;.  If it's "
1005 "an upstream problem, you have to forward it to the upstream author.  "
1006 "Forwarding a bug is not enough, you have to check at each release if the bug "
1007 "has been fixed or not.  If it has, you just close it, otherwise you have to "
1008 "remind the author about it.  If you have the required skills you can prepare "
1009 "a patch that fixes the bug and send it to the author at the same time.  Make "
1010 "sure to send the patch to the BTS and to tag the bug as "
1011 "<literal>patch</literal>."
1012 msgstr ""
1013
1014 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1015 #: pkgs.dbk:742
1016 msgid ""
1017 "If you have fixed a bug in your local copy, or if a fix has been committed "
1018 "to the CVS repository, you may tag the bug as <literal>pending</literal> to "
1019 "let people know that the bug is corrected and that it will be closed with "
1020 "the next upload (add the <literal>closes:</literal> in the "
1021 "<filename>changelog</filename>).  This is particularly useful if you are "
1022 "several developers working on the same package."
1023 msgstr ""
1024
1025 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
1026 #: pkgs.dbk:752
1027 msgid ""
1028 "Once a corrected package is available in the archive, the bug should be "
1029 "closed indicating the version in which it was fixed. This can be done "
1030 "automatically, read <xref linkend=\"upload-bugfix\"/>."
1031 msgstr ""
1032
1033 #. type: Content of: <chapter><section><section><title>
1034 #: pkgs.dbk:761
1035 msgid "When bugs are closed by new uploads"
1036 msgstr ""
1037
1038 #. type: Content of: <chapter><section><section><para>
1039 #: pkgs.dbk:763
1040 msgid ""
1041 "As bugs and problems are fixed in your packages, it is your responsibility "
1042 "as the package maintainer to close these bugs.  However, you should not "
1043 "close a bug until the package which fixes the bug has been accepted into the "
1044 "Debian archive.  Therefore, once you get notification that your updated "
1045 "package has been installed into the archive, you can and should close the "
1046 "bug in the BTS.  Also, the bug should be closed with the correct version."
1047 msgstr ""
1048
1049 #. type: Content of: <chapter><section><section><para>
1050 #: pkgs.dbk:771
1051 msgid ""
1052 "However, it's possible to avoid having to manually close bugs after the "
1053 "upload — just list the fixed bugs in your "
1054 "<filename>debian/changelog</filename> file, following a certain syntax, and "
1055 "the archive maintenance software will close the bugs for you.  For example:"
1056 msgstr ""
1057
1058 #. type: Content of: <chapter><section><section><screen>
1059 #: pkgs.dbk:777
1060 #, no-wrap
1061 msgid ""
1062 "acme-cannon (3.1415) unstable; urgency=low\n"
1063 "\n"
1064 "  * Frobbed with options (closes: Bug#98339)\n"
1065 "  * Added safety to prevent operator dismemberment, closes: bug#98765,\n"
1066 "    bug#98713, #98714.\n"
1067 "  * Added man page. Closes: #98725.\n"
1068 msgstr ""
1069
1070 #. type: Content of: <chapter><section><section><para>
1071 #: pkgs.dbk:785
1072 msgid ""
1073 "Technically speaking, the following Perl regular expression describes how "
1074 "bug closing changelogs are identified:"
1075 msgstr ""
1076
1077 #. type: Content of: <chapter><section><section><screen>
1078 #: pkgs.dbk:789
1079 #, no-wrap
1080 msgid "  /closes:\\s*(?:bug)?\\#\\s*\\d+(?:,\\s*(?:bug)?\\#\\s*\\d+)*/ig\n"
1081 msgstr ""
1082
1083 #. type: Content of: <chapter><section><section><para>
1084 #: pkgs.dbk:792
1085 msgid ""
1086 "We prefer the <literal>closes: #<replaceable>XXX</replaceable></literal> "
1087 "syntax, as it is the most concise entry and the easiest to integrate with "
1088 "the text of the <filename>changelog</filename>.  Unless specified different "
1089 "by the <replaceable>-v</replaceable>-switch to "
1090 "<command>dpkg-buildpackage</command>, only the bugs closed in the most "
1091 "recent changelog entry are closed (basically, exactly the bugs mentioned in "
1092 "the changelog-part in the <filename>.changes</filename> file are closed)."
1093 msgstr ""
1094
1095 #. type: Content of: <chapter><section><section><para>
1096 #: pkgs.dbk:801
1097 msgid ""
1098 "Historically, uploads identified as <link linkend=\"nmu\">Non-maintainer "
1099 "upload (NMU)</link> were tagged <literal>fixed</literal> instead of being "
1100 "closed, but that practice was ceased with the advent of version-tracking.  "
1101 "The same applied to the tag <literal>fixed-in-experimental</literal>."
1102 msgstr ""
1103
1104 #. type: Content of: <chapter><section><section><para>
1105 #: pkgs.dbk:807
1106 msgid ""
1107 "If you happen to mistype a bug number or forget a bug in the changelog "
1108 "entries, don't hesitate to undo any damage the error caused.  To reopen "
1109 "wrongly closed bugs, send a <literal>reopen "
1110 "<replaceable>XXX</replaceable></literal> command to the bug tracking "
1111 "system's control address, &email-bts-control;.  To close any remaining bugs "
1112 "that were fixed by your upload, email the <filename>.changes</filename> file "
1113 "to <email>XXX-done@&bugs-host;</email>, where <replaceable>XXX</replaceable> "
1114 "is the bug number, and put Version: YYY and an empty line as the first two "
1115 "lines of the body of the email, where <replaceable>YYY</replaceable> is the "
1116 "first version where the bug has been fixed."
1117 msgstr ""
1118
1119 #. type: Content of: <chapter><section><section><para>
1120 #: pkgs.dbk:819
1121 msgid ""
1122 "Bear in mind that it is not obligatory to close bugs using the changelog as "
1123 "described above.  If you simply want to close bugs that don't have anything "
1124 "to do with an upload you made, do it by emailing an explanation to "
1125 "<email>XXX-done@&bugs-host;</email>.  Do <emphasis "
1126 "role=\"strong\">not</emphasis> close bugs in the changelog entry of a "
1127 "version if the changes in that version of the package don't have any bearing "
1128 "on the bug."
1129 msgstr ""
1130
1131 #. type: Content of: <chapter><section><section><para>
1132 #: pkgs.dbk:827
1133 msgid ""
1134 "For general information on how to write your changelog entries, see <xref "
1135 "linkend=\"bpp-debian-changelog\"/> ."
1136 msgstr ""
1137
1138 #. type: Content of: <chapter><section><section><title>
1139 #: pkgs.dbk:833
1140 msgid "Handling security-related bugs"
1141 msgstr ""
1142
1143 #. type: Content of: <chapter><section><section><para>
1144 #: pkgs.dbk:835
1145 msgid ""
1146 "Due to their sensitive nature, security-related bugs must be handled "
1147 "carefully.  The Debian Security Team exists to coordinate this activity, "
1148 "keeping track of outstanding security problems, helping maintainers with "
1149 "security problems or fixing them themselves, sending security advisories, "
1150 "and maintaining <literal>security.debian.org</literal>."
1151 msgstr ""
1152
1153 #. type: Content of: <chapter><section><section><para>
1154 #: pkgs.dbk:842
1155 msgid ""
1156 "When you become aware of a security-related bug in a Debian package, whether "
1157 "or not you are the maintainer, collect pertinent information about the "
1158 "problem, and promptly contact the security team at &email-security-team; as "
1159 "soon as possible.  <emphasis role=\"strong\">DO NOT UPLOAD</emphasis> any "
1160 "packages for <literal>stable</literal> without contacting the team.  Useful "
1161 "information includes, for example:"
1162 msgstr ""
1163
1164 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1165 #: pkgs.dbk:852
1166 msgid ""
1167 "Which versions of the package are known to be affected by the bug.  Check "
1168 "each version that is present in a supported Debian release, as well as "
1169 "<literal>testing</literal> and <literal>unstable</literal>."
1170 msgstr ""
1171
1172 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1173 #: pkgs.dbk:859
1174 msgid "The nature of the fix, if any is available (patches are especially helpful)"
1175 msgstr ""
1176
1177 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1178 #: pkgs.dbk:864
1179 msgid ""
1180 "Any fixed packages that you have prepared yourself (send only the "
1181 "<literal>.diff.gz</literal> and <literal>.dsc</literal> files and read <xref "
1182 "linkend=\"bug-security-building\"/> first)"
1183 msgstr ""
1184
1185 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1186 #: pkgs.dbk:871
1187 msgid ""
1188 "Any assistance you can provide to help with testing (exploits, regression "
1189 "testing, etc.)"
1190 msgstr ""
1191
1192 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1193 #: pkgs.dbk:877
1194 msgid ""
1195 "Any information needed for the advisory (see <xref "
1196 "linkend=\"bug-security-advisories\"/> )"
1197 msgstr ""
1198
1199 #. type: Content of: <chapter><section><section><para>
1200 #: pkgs.dbk:882
1201 msgid ""
1202 "As the maintainer of the package, you have the responsibility to maintain "
1203 "it, even in the stable release. You are in the best position to evaluate "
1204 "patches and test updated packages, so please see the sections below on how "
1205 "to prepare packages for the Security Team to handle."
1206 msgstr ""
1207
1208 #. type: Content of: <chapter><section><section><section><title>
1209 #: pkgs.dbk:888
1210 msgid "The Security Tracker"
1211 msgstr ""
1212
1213 #. type: Content of: <chapter><section><section><section><para>
1214 #: pkgs.dbk:890
1215 msgid ""
1216 "The security team maintains a central database, the <ulink "
1217 "url=\"http://security-tracker.debian.org/\">Debian Security "
1218 "Tracker</ulink>.  This contains all public information that is known about "
1219 "security issues: which packages and versions are affected or fixed, and thus "
1220 "whether stable, testing and/or unstable are vulnerable. Information that is "
1221 "still confidential is not added to the tracker."
1222 msgstr ""
1223
1224 #. type: Content of: <chapter><section><section><section><para>
1225 #: pkgs.dbk:898
1226 msgid ""
1227 "You can search it for a specific issue, but also on package name. Look for "
1228 "your package to see which issues are still open. If you can, please provide "
1229 "more information about those issues, or help to address them in your "
1230 "package.  Instructions are on the tracker web pages."
1231 msgstr ""
1232
1233 #. type: Content of: <chapter><section><section><section><title>
1234 #: pkgs.dbk:906
1235 msgid "Confidentiality"
1236 msgstr ""
1237
1238 #. type: Content of: <chapter><section><section><section><para>
1239 #: pkgs.dbk:908
1240 msgid ""
1241 "Unlike most other activities within Debian, information about security "
1242 "issues must sometimes be kept private for a time.  This allows software "
1243 "distributors to coordinate their disclosure in order to minimize their "
1244 "users' exposure.  Whether this is the case depends on the nature of the "
1245 "problem and corresponding fix, and whether it is already a matter of public "
1246 "knowledge."
1247 msgstr ""
1248
1249 #. type: Content of: <chapter><section><section><section><para>
1250 #: pkgs.dbk:915
1251 msgid "There are several ways developers can learn of a security problem:"
1252 msgstr ""
1253
1254 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1255 #: pkgs.dbk:920
1256 msgid "they notice it on a public forum (mailing list, web site, etc.)"
1257 msgstr ""
1258
1259 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1260 #: pkgs.dbk:925
1261 msgid "someone files a bug report"
1262 msgstr ""
1263
1264 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1265 #: pkgs.dbk:930
1266 msgid "someone informs them via private email"
1267 msgstr ""
1268
1269 #. type: Content of: <chapter><section><section><section><para>
1270 #: pkgs.dbk:935
1271 msgid ""
1272 "In the first two cases, the information is public and it is important to "
1273 "have a fix as soon as possible.  In the last case, however, it might not be "
1274 "public information.  In that case there are a few possible options for "
1275 "dealing with the problem:"
1276 msgstr ""
1277
1278 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1279 #: pkgs.dbk:943
1280 msgid ""
1281 "If the security exposure is minor, there is sometimes no need to keep the "
1282 "problem a secret and a fix should be made and released."
1283 msgstr ""
1284
1285 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1286 #: pkgs.dbk:949
1287 msgid ""
1288 "If the problem is severe, it is preferable to share the information with "
1289 "other vendors and coordinate a release.  The security team keeps in contact "
1290 "with the various organizations and individuals and can take care of that."
1291 msgstr ""
1292
1293 #. type: Content of: <chapter><section><section><section><para>
1294 #: pkgs.dbk:956
1295 msgid ""
1296 "In all cases if the person who reports the problem asks that it not be "
1297 "disclosed, such requests should be honored, with the obvious exception of "
1298 "informing the security team in order that a fix may be produced for a stable "
1299 "release of Debian.  When sending confidential information to the security "
1300 "team, be sure to mention this fact."
1301 msgstr ""
1302
1303 #. type: Content of: <chapter><section><section><section><para>
1304 #: pkgs.dbk:963
1305 msgid ""
1306 "Please note that if secrecy is needed you may not upload a fix to "
1307 "<literal>unstable</literal> (or anywhere else, such as a public CVS "
1308 "repository).  It is not sufficient to obfuscate the details of the change, "
1309 "as the code itself is public, and can (and will) be examined by the general "
1310 "public."
1311 msgstr ""
1312
1313 #. type: Content of: <chapter><section><section><section><para>
1314 #: pkgs.dbk:970
1315 msgid ""
1316 "There are two reasons for releasing information even though secrecy is "
1317 "requested: the problem has been known for a while, or the problem or exploit "
1318 "has become public."
1319 msgstr ""
1320
1321 #. type: Content of: <chapter><section><section><section><para>
1322 #: pkgs.dbk:975
1323 msgid ""
1324 "The Security Team has a PGP-key to enable encrypted communication about "
1325 "sensitive issues. See the <ulink "
1326 "url=\"http://www.debian.org/security/faq.en.html#contact\">Security Team "
1327 "FAQ</ulink> for details."
1328 msgstr ""
1329
1330 #. type: Content of: <chapter><section><section><section><title>
1331 #: pkgs.dbk:981
1332 msgid "Security Advisories"
1333 msgstr ""
1334
1335 #. type: Content of: <chapter><section><section><section><para>
1336 #: pkgs.dbk:983
1337 msgid ""
1338 "Security advisories are only issued for the current, released stable "
1339 "distribution, and <emphasis>not</emphasis> for <literal>testing</literal> or "
1340 "<literal>unstable</literal>.  When released, advisories are sent to the "
1341 "&email-debian-security-announce; mailing list and posted on <ulink "
1342 "url=\"&url-debian-security-advisories;\">the security web page</ulink>.  "
1343 "Security advisories are written and posted by the security team.  However "
1344 "they certainly do not mind if a maintainer can supply some of the "
1345 "information for them, or write part of the text.  Information that should be "
1346 "in an advisory includes:"
1347 msgstr ""
1348
1349 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1350 #: pkgs.dbk:996
1351 msgid "A description of the problem and its scope, including:"
1352 msgstr ""
1353
1354 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1355 #: pkgs.dbk:1001
1356 msgid "The type of problem (privilege escalation, denial of service, etc.)"
1357 msgstr ""
1358
1359 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1360 #: pkgs.dbk:1006
1361 msgid "What privileges may be gained, and by whom (if any)"
1362 msgstr ""
1363
1364 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1365 #: pkgs.dbk:1011
1366 msgid "How it can be exploited"
1367 msgstr ""
1368
1369 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1370 #: pkgs.dbk:1016
1371 msgid "Whether it is remotely or locally exploitable"
1372 msgstr ""
1373
1374 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
1375 #: pkgs.dbk:1021
1376 msgid "How the problem was fixed"
1377 msgstr ""
1378
1379 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1380 #: pkgs.dbk:1026
1381 msgid "This information allows users to assess the threat to their systems."
1382 msgstr ""
1383
1384 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1385 #: pkgs.dbk:1031
1386 msgid "Version numbers of affected packages"
1387 msgstr ""
1388
1389 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1390 #: pkgs.dbk:1036
1391 msgid "Version numbers of fixed packages"
1392 msgstr ""
1393
1394 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1395 #: pkgs.dbk:1041
1396 msgid ""
1397 "Information on where to obtain the updated packages (usually from the Debian "
1398 "security archive)"
1399 msgstr ""
1400
1401 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1402 #: pkgs.dbk:1047
1403 msgid ""
1404 "References to upstream advisories, <ulink "
1405 "url=\"http://cve.mitre.org\">CVE</ulink> identifiers, and any other "
1406 "information useful in cross-referencing the vulnerability"
1407 msgstr ""
1408
1409 #. type: Content of: <chapter><section><section><section><title>
1410 #: pkgs.dbk:1056
1411 msgid "Preparing packages to address security issues"
1412 msgstr ""
1413
1414 #. type: Content of: <chapter><section><section><section><para>
1415 #: pkgs.dbk:1058
1416 msgid ""
1417 "One way that you can assist the security team in their duties is to provide "
1418 "them with fixed packages suitable for a security advisory for the stable "
1419 "Debian release."
1420 msgstr ""
1421
1422 #. type: Content of: <chapter><section><section><section><para>
1423 #: pkgs.dbk:1063
1424 msgid ""
1425 "When an update is made to the stable release, care must be taken to avoid "
1426 "changing system behavior or introducing new bugs.  In order to do this, make "
1427 "as few changes as possible to fix the bug.  Users and administrators rely on "
1428 "the exact behavior of a release once it is made, so any change that is made "
1429 "might break someone's system.  This is especially true of libraries: make "
1430 "sure you never change the API or ABI, no matter how small the change."
1431 msgstr ""
1432
1433 #. type: Content of: <chapter><section><section><section><para>
1434 #: pkgs.dbk:1071
1435 msgid ""
1436 "This means that moving to a new upstream version is not a good solution.  "
1437 "Instead, the relevant changes should be back-ported to the version present "
1438 "in the current stable Debian release.  Generally, upstream maintainers are "
1439 "willing to help if needed.  If not, the Debian security team may be able to "
1440 "help."
1441 msgstr ""
1442
1443 #. type: Content of: <chapter><section><section><section><para>
1444 #: pkgs.dbk:1077
1445 msgid ""
1446 "In some cases, it is not possible to back-port a security fix, for example "
1447 "when large amounts of source code need to be modified or rewritten.  If this "
1448 "happens, it may be necessary to move to a new upstream version.  However, "
1449 "this is only done in extreme situations, and you must always coordinate that "
1450 "with the security team beforehand."
1451 msgstr ""
1452
1453 #. type: Content of: <chapter><section><section><section><para>
1454 #: pkgs.dbk:1084
1455 msgid ""
1456 "Related to this is another important guideline: always test your changes.  "
1457 "If you have an exploit available, try it and see if it indeed succeeds on "
1458 "the unpatched package and fails on the fixed package.  Test other, normal "
1459 "actions as well, as sometimes a security fix can break seemingly unrelated "
1460 "features in subtle ways."
1461 msgstr ""
1462
1463 #. type: Content of: <chapter><section><section><section><para>
1464 #: pkgs.dbk:1091
1465 msgid ""
1466 "Do <emphasis role=\"strong\">NOT</emphasis> include any changes in your "
1467 "package which are not directly related to fixing the vulnerability.  These "
1468 "will only need to be reverted, and this wastes time.  If there are other "
1469 "bugs in your package that you would like to fix, make an upload to "
1470 "proposed-updates in the usual way, after the security advisory is issued.  "
1471 "The security update mechanism is not a means for introducing changes to your "
1472 "package which would otherwise be rejected from the stable release, so please "
1473 "do not attempt to do this."
1474 msgstr ""
1475
1476 #. type: Content of: <chapter><section><section><section><para>
1477 #: pkgs.dbk:1101
1478 msgid ""
1479 "Review and test your changes as much as possible.  Check the differences "
1480 "from the previous version repeatedly (<command>interdiff</command> from the "
1481 "<systemitem role=\"package\">patchutils</systemitem> package and "
1482 "<command>debdiff</command> from <systemitem "
1483 "role=\"package\">devscripts</systemitem> are useful tools for this, see "
1484 "<xref linkend=\"debdiff\"/> )."
1485 msgstr ""
1486
1487 #. type: Content of: <chapter><section><section><section><para>
1488 #: pkgs.dbk:1109
1489 msgid "Be sure to verify the following items:"
1490 msgstr ""
1491
1492 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1493 #: pkgs.dbk:1114
1494 msgid ""
1495 "<emphasis role=\"strong\">Target the right distribution</emphasis> in your "
1496 "<filename>debian/changelog</filename>.  For <literal>stable</literal> this "
1497 "is <literal>stable-security</literal> and for testing this is "
1498 "<literal>testing-security</literal>, and for the previous stable release, "
1499 "this is <literal>oldstable-security</literal>.  Do not target "
1500 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
1501 "or <literal>stable</literal>!"
1502 msgstr ""
1503
1504 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1505 #: pkgs.dbk:1125
1506 msgid "The upload should have <emphasis role=\"strong\">urgency=high</emphasis>."
1507 msgstr ""
1508
1509 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1510 #: pkgs.dbk:1130
1511 msgid ""
1512 "Make descriptive, meaningful changelog entries.  Others will rely on them to "
1513 "determine whether a particular bug was fixed.  Add "
1514 "<literal>closes:</literal> statements for any <emphasis "
1515 "role=\"strong\">Debian bugs</emphasis> filed.  Always include an external "
1516 "reference, preferably a <emphasis role=\"strong\">CVE identifier</emphasis>, "
1517 "so that it can be cross-referenced. However, if a CVE identifier has not yet "
1518 "been assigned, do not wait for it but continue the process. The identifier "
1519 "can be cross-referenced later."
1520 msgstr ""
1521
1522 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1523 #: pkgs.dbk:1141
1524 msgid ""
1525 "Make sure the <emphasis role=\"strong\">version number</emphasis> is "
1526 "proper.  It must be greater than the current package, but less than package "
1527 "versions in later distributions.  If in doubt, test it with <literal>dpkg "
1528 "--compare-versions</literal>.  Be careful not to re-use a version number "
1529 "that you have already used for a previous upload, or one that conflicts with "
1530 "a binNMU. The convention is to append "
1531 "<literal>+</literal><replaceable>codename</replaceable><literal>1</literal>, "
1532 "e.g.  <literal>1:2.4.3-4+etch1</literal>, of course increasing 1 for any "
1533 "subsequent uploads."
1534 msgstr ""
1535
1536 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1537 #: pkgs.dbk:1154
1538 msgid ""
1539 "Unless the upstream source has been uploaded to <literal>security.debian.org "
1540 "</literal> before (by a previous security update), build the upload "
1541 "<emphasis role=\"strong\">with full upstream source</emphasis> "
1542 "(<literal>dpkg-buildpackage -sa</literal>).  If there has been a previous "
1543 "upload to <literal>security.debian.org</literal> with the same upstream "
1544 "version, you may upload without upstream source (<literal> dpkg-buildpackage "
1545 "-sd</literal>)."
1546 msgstr ""
1547
1548 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1549 #: pkgs.dbk:1164
1550 msgid ""
1551 "Be sure to use the <emphasis role=\"strong\">exact same "
1552 "<filename>*.orig.tar.{gz,bz2}</filename></emphasis> as used in the normal "
1553 "archive, otherwise it is not possible to move the security fix into the main "
1554 "archives later."
1555 msgstr ""
1556
1557 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
1558 #: pkgs.dbk:1172
1559 msgid ""
1560 "Build the package on a <emphasis role=\"strong\">clean system</emphasis> "
1561 "which only has packages installed from the distribution you are building "
1562 "for. If you do not have such a system yourself, you can use a debian.org "
1563 "machine (see <xref linkend=\"server-machines\"/> ) or setup a chroot (see "
1564 "<xref linkend=\"pbuilder\"/> and <xref linkend=\"debootstrap\"/> )."
1565 msgstr ""
1566
1567 #. type: Content of: <chapter><section><section><section><title>
1568 #: pkgs.dbk:1183
1569 msgid "Uploading the fixed package"
1570 msgstr ""
1571
1572 #. type: Content of: <chapter><section><section><section><para>
1573 #: pkgs.dbk:1185
1574 msgid ""
1575 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
1576 "upload queue (<literal>oldstable-security</literal>, "
1577 "<literal>stable-security </literal>, etc.) without prior authorization from "
1578 "the security team.  If the package does not exactly meet the team's "
1579 "requirements, it will cause many problems and delays in dealing with the "
1580 "unwanted upload."
1581 msgstr ""
1582
1583 #. type: Content of: <chapter><section><section><section><para>
1584 #: pkgs.dbk:1192
1585 msgid ""
1586 "Do <emphasis role=\"strong\">NOT</emphasis> upload your fix to <literal> "
1587 "proposed-updates</literal> without coordinating with the security team.  "
1588 "Packages from <literal>security.debian.org</literal> will be copied into the "
1589 "<literal>proposed-updates</literal> directory automatically.  If a package "
1590 "with the same or a higher version number is already installed into the "
1591 "archive, the security update will be rejected by the archive system.  That "
1592 "way, the stable distribution will end up without a security update for this "
1593 "package instead."
1594 msgstr ""
1595
1596 #. type: Content of: <chapter><section><section><section><para>
1597 #: pkgs.dbk:1202
1598 msgid ""
1599 "Once you have created and tested the new package and it has been approved by "
1600 "the security team, it needs to be uploaded so that it can be installed in "
1601 "the archives.  For security uploads, the place to upload to is "
1602 "<literal>ftp://security-master.debian.org/pub/SecurityUploadQueue/</literal> "
1603 "."
1604 msgstr ""
1605
1606 #. type: Content of: <chapter><section><section><section><para>
1607 #: pkgs.dbk:1208
1608 msgid ""
1609 "Once an upload to the security queue has been accepted, the package will "
1610 "automatically be built for all architectures and stored for verification by "
1611 "the security team."
1612 msgstr ""
1613
1614 #. type: Content of: <chapter><section><section><section><para>
1615 #: pkgs.dbk:1213
1616 msgid ""
1617 "Uploads which are waiting for acceptance or verification are only accessible "
1618 "by the security team.  This is necessary since there might be fixes for "
1619 "security problems that cannot be disclosed yet."
1620 msgstr ""
1621
1622 #. type: Content of: <chapter><section><section><section><para>
1623 #: pkgs.dbk:1218
1624 msgid ""
1625 "If a member of the security team accepts a package, it will be installed on "
1626 "<literal>security.debian.org</literal> as well as proposed for the proper "
1627 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
1628 "on <literal>&ftp-master-host;</literal>."
1629 msgstr ""
1630
1631 #. type: Content of: <chapter><section><title>
1632 #: pkgs.dbk:1230
1633 msgid "Moving, removing, renaming, adopting, and orphaning packages"
1634 msgstr ""
1635
1636 #. type: Content of: <chapter><section><para>
1637 #: pkgs.dbk:1232
1638 msgid ""
1639 "Some archive manipulation operations are not automated in the Debian upload "
1640 "process.  These procedures should be manually followed by maintainers.  This "
1641 "chapter gives guidelines on what to do in these cases."
1642 msgstr ""
1643
1644 #. type: Content of: <chapter><section><section><title>
1645 #: pkgs.dbk:1237
1646 msgid "Moving packages"
1647 msgstr ""
1648
1649 #. type: Content of: <chapter><section><section><para><footnote><para>
1650 #: pkgs.dbk:1241
1651 msgid ""
1652 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
1653 "guidelines on what section a package belongs in."
1654 msgstr ""
1655
1656 #. type: Content of: <chapter><section><section><para>
1657 #: pkgs.dbk:1239
1658 msgid ""
1659 "Sometimes a package will change its section.  For instance, a package from "
1660 "the `non-free' section might be GPL'd in a later version, in which case the "
1661 "package should be moved to `main' or `contrib'.<placeholder "
1662 "type=\"footnote\" id=\"0\"/>"
1663 msgstr ""
1664
1665 #. type: Content of: <chapter><section><section><para>
1666 #: pkgs.dbk:1246
1667 msgid ""
1668 "If you need to change the section for one of your packages, change the "
1669 "package control information to place the package in the desired section, and "
1670 "re-upload the package (see the <ulink url=\"&url-debian-policy;\">Debian "
1671 "Policy Manual</ulink> for details).  You must ensure that you include the "
1672 "<filename>.orig.tar.{gz,bz2}</filename> in your upload (even if you are not "
1673 "uploading a new upstream version), or it will not appear in the new section "
1674 "together with the rest of the package.  If your new section is valid, it "
1675 "will be moved automatically.  If it does not, then contact the ftpmasters in "
1676 "order to understand what happened."
1677 msgstr ""
1678
1679 #. type: Content of: <chapter><section><section><para>
1680 #: pkgs.dbk:1258
1681 msgid ""
1682 "If, on the other hand, you need to change the <literal>subsection</literal> "
1683 "of one of your packages (e.g., ``devel'', ``admin''), the procedure is "
1684 "slightly different.  Correct the subsection as found in the control file of "
1685 "the package, and re-upload that.  Also, you'll need to get the override file "
1686 "updated, as described in <xref linkend=\"override-file\"/> ."
1687 msgstr ""
1688
1689 #. type: Content of: <chapter><section><section><title>
1690 #: pkgs.dbk:1267
1691 msgid "Removing packages"
1692 msgstr ""
1693
1694 #. type: Content of: <chapter><section><section><para>
1695 #: pkgs.dbk:1269
1696 msgid ""
1697 "If for some reason you want to completely remove a package (say, if it is an "
1698 "old compatibility library which is no longer required), you need to file a "
1699 "bug against <literal>ftp.debian.org</literal> asking that the package be "
1700 "removed; as all bugs, this bug should normally have normal severity.  The "
1701 "bug title should be in the form <literal>RM: <replaceable>package "
1702 "</replaceable> <replaceable>[architecture list]</replaceable> -- "
1703 "<replaceable>reason</replaceable></literal>, where "
1704 "<replaceable>package</replaceable> is the package to be removed and "
1705 "<replaceable>reason</replaceable> is a short summary of the reason for the "
1706 "removal request.  <replaceable>[architecture list]</replaceable> is optional "
1707 "and only needed if the removal request only applies to some architectures, "
1708 "not all. Note that the <command>reportbug</command> will create a title "
1709 "conforming to these rules when you use it to report a bug against the "
1710 "<literal> ftp.debian.org</literal> pseudo-package."
1711 msgstr ""
1712
1713 #. type: Content of: <chapter><section><section><para>
1714 #: pkgs.dbk:1286
1715 msgid ""
1716 "If you want to remove a package you maintain, you should note this in the "
1717 "bug title by prepending <literal>ROM</literal> (Request Of Maintainer).  "
1718 "There are several other standard acronyms used in the reasoning for a "
1719 "package removal, see <ulink "
1720 "url=\"http://&ftp-master-host;/removals.html\"></ulink> for a complete "
1721 "list. That page also provides a convenient overview of pending removal "
1722 "requests."
1723 msgstr ""
1724
1725 #. type: Content of: <chapter><section><section><para>
1726 #: pkgs.dbk:1295
1727 msgid ""
1728 "Note that removals can only be done for the <literal>unstable </literal>, "
1729 "<literal>experimental</literal> and <literal>stable </literal> "
1730 "distribution.  Packages are not removed from <literal>testing</literal> "
1731 "directly.  Rather, they will be removed automatically after the package has "
1732 "been removed from <literal>unstable</literal> and no package in "
1733 "<literal>testing </literal> depends on it."
1734 msgstr ""
1735
1736 #. type: Content of: <chapter><section><section><para>
1737 #: pkgs.dbk:1304
1738 msgid ""
1739 "There is one exception when an explicit removal request is not necessary: If "
1740 "a (source or binary) package is an orphan, it will be removed "
1741 "semi-automatically.  For a binary-package, this means if there is no longer "
1742 "any source package producing this binary package; if the binary package is "
1743 "just no longer produced on some architectures, a removal request is still "
1744 "necessary.  For a source-package, this means that all binary packages it "
1745 "refers to have been taken over by another source package."
1746 msgstr ""
1747
1748 #. type: Content of: <chapter><section><section><para>
1749 #: pkgs.dbk:1313
1750 msgid ""
1751 "In your removal request, you have to detail the reasons justifying the "
1752 "request.  This is to avoid unwanted removals and to keep a trace of why a "
1753 "package has been removed.  For example, you can provide the name of the "
1754 "package that supersedes the one to be removed."
1755 msgstr ""
1756
1757 #. type: Content of: <chapter><section><section><para>
1758 #: pkgs.dbk:1319
1759 msgid ""
1760 "Usually you only ask for the removal of a package maintained by yourself.  "
1761 "If you want to remove another package, you have to get the approval of its "
1762 "maintainer. Should the package be orphaned and thus have no maintainer, you "
1763 "should first discuss the removal request on &email-debian-qa;. If there is a "
1764 "consensus that the package should be removed, you should reassign and "
1765 "retitle the <literal>O:</literal> bug filed against the "
1766 "<literal>wnpp</literal> package instead of filing a new bug as removal "
1767 "request."
1768 msgstr ""
1769
1770 #. type: Content of: <chapter><section><section><para>
1771 #: pkgs.dbk:1329
1772 msgid ""
1773 "Further information relating to these and other package removal related "
1774 "topics may be found at <ulink "
1775 "url=\"http://wiki.debian.org/ftpmaster_Removals\"></ulink> and <ulink "
1776 "url=\"&url-debian-qa;howto-remove.html\"></ulink>."
1777 msgstr ""
1778
1779 #. type: Content of: <chapter><section><section><para>
1780 #: pkgs.dbk:1334
1781 msgid ""
1782 "If in doubt concerning whether a package is disposable, email "
1783 "&email-debian-devel; asking for opinions.  Also of interest is the "
1784 "<command>apt-cache</command> program from the <systemitem "
1785 "role=\"package\">apt</systemitem> package.  When invoked as "
1786 "<literal>apt-cache showpkg <replaceable>package</replaceable></literal>, the "
1787 "program will show details for <replaceable>package</replaceable>, including "
1788 "reverse depends.  Other useful programs include <literal>apt-cache "
1789 "rdepends</literal>, <command>apt-rdepends</command>, "
1790 "<command>build-rdeps</command> (in the <systemitem "
1791 "role=\"package\">devscripts</systemitem> package) and "
1792 "<command>grep-dctrl</command>.  Removal of orphaned packages is discussed on "
1793 "&email-debian-qa;."
1794 msgstr ""
1795
1796 #. type: Content of: <chapter><section><section><para>
1797 #: pkgs.dbk:1347
1798 msgid ""
1799 "Once the package has been removed, the package's bugs should be handled.  "
1800 "They should either be reassigned to another package in the case where the "
1801 "actual code has evolved into another package (e.g.  "
1802 "<literal>libfoo12</literal> was removed because <literal>libfoo13</literal> "
1803 "supersedes it) or closed if the software is simply no longer part of "
1804 "Debian.  When closing the bugs, to avoid marking the bugs as fixed in "
1805 "versions of the packages in previous Debian releases, they should be marked "
1806 "as fixed in the version "
1807 "<literal>&lt;most-recent-version-ever-in-Debian&gt;+rm</literal>."
1808 msgstr ""
1809
1810 #. type: Content of: <chapter><section><section><section><title>
1811 #: pkgs.dbk:1358
1812 msgid "Removing packages from <filename>Incoming</filename>"
1813 msgstr ""
1814
1815 #. type: Content of: <chapter><section><section><section><para>
1816 #: pkgs.dbk:1360
1817 msgid ""
1818 "In the past, it was possible to remove packages from "
1819 "<filename>incoming</filename>.  However, with the introduction of the new "
1820 "incoming system, this is no longer possible.  Instead, you have to upload a "
1821 "new revision of your package with a higher version than the package you want "
1822 "to replace.  Both versions will be installed in the archive but only the "
1823 "higher version will actually be available in <literal>unstable</literal> "
1824 "since the previous version will immediately be replaced by the higher.  "
1825 "However, if you do proper testing of your packages, the need to replace a "
1826 "package should not occur too often anyway."
1827 msgstr ""
1828
1829 #. type: Content of: <chapter><section><section><title>
1830 #: pkgs.dbk:1375
1831 msgid "Replacing or renaming packages"
1832 msgstr ""
1833
1834 #. type: Content of: <chapter><section><section><para>
1835 #: pkgs.dbk:1377
1836 msgid ""
1837 "When the upstream maintainers for one of your packages chose to rename their "
1838 "software (or you made a mistake naming your package), you should follow a "
1839 "two-step process to rename it. In the first step, change the "
1840 "<filename>debian/control</filename> file to reflect the new name and to "
1841 "replace, provide and conflict with the obsolete package name (see the <ulink "
1842 "url=\"&url-debian-policy;\"> Debian Policy Manual</ulink> for details).  "
1843 "Please note that you should only add a <literal>Provides</literal> relation "
1844 "if all packages depending on the obsolete package name continue to work "
1845 "after the renaming. Once you've uploaded the package and the package has "
1846 "moved into the archive, file a bug against <literal> "
1847 "ftp.debian.org</literal> asking to remove the package with the obsolete name "
1848 "(see <xref linkend=\"removing-pkgs\"/>).  Do not forget to properly reassign "
1849 "the package's bugs at the same time."
1850 msgstr ""
1851
1852 #. type: Content of: <chapter><section><section><para>
1853 #: pkgs.dbk:1393
1854 msgid ""
1855 "At other times, you may make a mistake in constructing your package and wish "
1856 "to replace it.  The only way to do this is to increase the version number "
1857 "and upload a new version.  The old version will be expired in the usual "
1858 "manner.  Note that this applies to each part of your package, including the "
1859 "sources: if you wish to replace the upstream source tarball of your package, "
1860 "you will need to upload it with a different version.  An easy possibility is "
1861 "to replace <filename>foo_1.00.orig.tar.gz</filename> with "
1862 "<filename>foo_1.00+0.orig.tar.gz</filename> or "
1863 "<filename>foo_1.00.orig.tar.bz2</filename>.  This restriction gives each "
1864 "file on the ftp site a unique name, which helps to ensure consistency across "
1865 "the mirror network."
1866 msgstr ""
1867
1868 #. type: Content of: <chapter><section><section><title>
1869 #: pkgs.dbk:1408
1870 msgid "Orphaning a package"
1871 msgstr ""
1872
1873 #. type: Content of: <chapter><section><section><para>
1874 #: pkgs.dbk:1410
1875 msgid ""
1876 "If you can no longer maintain a package, you need to inform others, and see "
1877 "that the package is marked as orphaned.  You should set the package "
1878 "maintainer to <literal>Debian QA Group &orphan-address;</literal> and submit "
1879 "a bug report against the pseudo package <systemitem "
1880 "role=\"package\">wnpp</systemitem>.  The bug report should be titled "
1881 "<literal>O: <replaceable>package</replaceable> -- <replaceable>short "
1882 "description</replaceable></literal> indicating that the package is now "
1883 "orphaned.  The severity of the bug should be set to "
1884 "<literal>normal</literal>; if the package has a priority of standard or "
1885 "higher, it should be set to important.  If you feel it's necessary, send a "
1886 "copy to &email-debian-devel; by putting the address in the X-Debbugs-CC: "
1887 "header of the message (no, don't use CC:, because that way the message's "
1888 "subject won't indicate the bug number)."
1889 msgstr ""
1890
1891 #. type: Content of: <chapter><section><section><para>
1892 #: pkgs.dbk:1425
1893 msgid ""
1894 "If you just intend to give the package away, but you can keep maintainership "
1895 "for the moment, then you should instead submit a bug against <systemitem "
1896 "role=\"package\">wnpp</systemitem> and title it <literal>RFA: "
1897 "<replaceable>package</replaceable> -- <replaceable>short "
1898 "description</replaceable></literal>.  <literal>RFA</literal> stands for "
1899 "<literal>Request For Adoption</literal>."
1900 msgstr ""
1901
1902 #. type: Content of: <chapter><section><section><para>
1903 #: pkgs.dbk:1433
1904 msgid "More information is on the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink>."
1905 msgstr ""
1906
1907 #. type: Content of: <chapter><section><section><title>
1908 #: pkgs.dbk:1439
1909 msgid "Adopting a package"
1910 msgstr ""
1911
1912 #. type: Content of: <chapter><section><section><para>
1913 #: pkgs.dbk:1441
1914 msgid ""
1915 "A list of packages in need of a new maintainer is available in the <ulink "
1916 "url=\"&url-wnpp;\">Work-Needing and Prospective Packages list "
1917 "(WNPP)</ulink>.  If you wish to take over maintenance of any of the packages "
1918 "listed in the WNPP, please take a look at the aforementioned page for "
1919 "information and procedures."
1920 msgstr ""
1921
1922 #. type: Content of: <chapter><section><section><para>
1923 #: pkgs.dbk:1448
1924 msgid ""
1925 "It is not OK to simply take over a package that you feel is neglected — that "
1926 "would be package hijacking.  You can, of course, contact the current "
1927 "maintainer and ask them if you may take over the package.  If you have "
1928 "reason to believe a maintainer has gone AWOL (absent without leave), see "
1929 "<xref linkend=\"mia-qa\"/> ."
1930 msgstr ""
1931
1932 #. type: Content of: <chapter><section><section><para>
1933 #: pkgs.dbk:1454
1934 msgid ""
1935 "Generally, you may not take over the package without the assent of the "
1936 "current maintainer.  Even if they ignore you, that is still not grounds to "
1937 "take over a package.  Complaints about maintainers should be brought up on "
1938 "the developers' mailing list.  If the discussion doesn't end with a positive "
1939 "conclusion, and the issue is of a technical nature, consider bringing it to "
1940 "the attention of the technical committee (see the <ulink "
1941 "url=\"&url-tech-ctte;\">technical committee web page</ulink> for more "
1942 "information)."
1943 msgstr ""
1944
1945 #. type: Content of: <chapter><section><section><para>
1946 #: pkgs.dbk:1464
1947 msgid ""
1948 "If you take over an old package, you probably want to be listed as the "
1949 "package's official maintainer in the bug system.  This will happen "
1950 "automatically once you upload a new version with an updated "
1951 "<literal>Maintainer:</literal> field, although it can take a few hours after "
1952 "the upload is done.  If you do not expect to upload a new version for a "
1953 "while, you can use <xref linkend=\"pkg-tracking-system\"/> to get the bug "
1954 "reports.  However, make sure that the old maintainer has no problem with the "
1955 "fact that they will continue to receive the bugs during that time."
1956 msgstr ""
1957
1958 #. type: Content of: <chapter><section><title>
1959 #: pkgs.dbk:1478
1960 msgid "Porting and being ported"
1961 msgstr ""
1962
1963 #. type: Content of: <chapter><section><para>
1964 #: pkgs.dbk:1480
1965 msgid ""
1966 "Debian supports an ever-increasing number of architectures.  Even if you are "
1967 "not a porter, and you don't use any architecture but one, it is part of your "
1968 "duty as a maintainer to be aware of issues of portability.  Therefore, even "
1969 "if you are not a porter, you should read most of this chapter."
1970 msgstr ""
1971
1972 #. type: Content of: <chapter><section><para>
1973 #: pkgs.dbk:1486
1974 msgid ""
1975 "Porting is the act of building Debian packages for architectures that are "
1976 "different from the original architecture of the package maintainer's binary "
1977 "package.  It is a unique and essential activity.  In fact, porters do most "
1978 "of the actual compiling of Debian packages.  For instance, when a maintainer "
1979 "uploads a (portable) source packages with binaries for the <literal>i386 "
1980 "</literal> architecture, it will be built for each of the other "
1981 "architectures, amounting to &number-of-arches; more builds."
1982 msgstr ""
1983
1984 #. type: Content of: <chapter><section><section><title>
1985 #: pkgs.dbk:1495
1986 msgid "Being kind to porters"
1987 msgstr ""
1988
1989 #. type: Content of: <chapter><section><section><para>
1990 #: pkgs.dbk:1497
1991 msgid ""
1992 "Porters have a difficult and unique task, since they are required to deal "
1993 "with a large volume of packages.  Ideally, every source package should build "
1994 "right out of the box.  Unfortunately, this is often not the case.  This "
1995 "section contains a checklist of ``gotchas'' often committed by Debian "
1996 "maintainers — common problems which often stymie porters, and make their "
1997 "jobs unnecessarily difficult."
1998 msgstr ""
1999
2000 #. type: Content of: <chapter><section><section><para>
2001 #: pkgs.dbk:1505
2002 msgid ""
2003 "The first and most important thing is to respond quickly to bug or issues "
2004 "raised by porters.  Please treat porters with courtesy, as if they were in "
2005 "fact co-maintainers of your package (which, in a way, they are).  Please be "
2006 "tolerant of succinct or even unclear bug reports; do your best to hunt down "
2007 "whatever the problem is."
2008 msgstr ""
2009
2010 #. type: Content of: <chapter><section><section><para>
2011 #: pkgs.dbk:1512
2012 msgid ""
2013 "By far, most of the problems encountered by porters are caused by "
2014 "<emphasis>packaging bugs</emphasis> in the source packages.  Here is a "
2015 "checklist of things you should check or be aware of."
2016 msgstr ""
2017
2018 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2019 #: pkgs.dbk:1519
2020 msgid ""
2021 "Make sure that your <literal>Build-Depends</literal> and "
2022 "<literal>Build-Depends-Indep</literal> settings in "
2023 "<filename>debian/control</filename> are set properly.  The best way to "
2024 "validate this is to use the <systemitem "
2025 "role=\"package\">debootstrap</systemitem> package to create an "
2026 "<literal>unstable</literal> chroot environment (see <xref "
2027 "linkend=\"debootstrap\"/> ).  Within that chrooted environment, install the "
2028 "<systemitem role=\"package\">build-essential</systemitem> package and any "
2029 "package dependencies mentioned in <literal>Build-Depends</literal> and/or "
2030 "<literal>Build-Depends-Indep</literal>.  Finally, try building your package "
2031 "within that chrooted environment.  These steps can be automated by the use "
2032 "of the <command>pbuilder</command> program which is provided by the package "
2033 "of the same name (see <xref linkend=\"pbuilder\"/> )."
2034 msgstr ""
2035
2036 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2037 #: pkgs.dbk:1534
2038 msgid ""
2039 "If you can't set up a proper chroot, <command>dpkg-depcheck</command> may be "
2040 "of assistance (see <xref linkend=\"dpkg-depcheck\"/> )."
2041 msgstr ""
2042
2043 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2044 #: pkgs.dbk:1538
2045 msgid ""
2046 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
2047 "instructions on setting build dependencies."
2048 msgstr ""
2049
2050 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2051 #: pkgs.dbk:1544
2052 msgid ""
2053 "Don't set architecture to a value other than <literal>all</literal> or "
2054 "<literal>any</literal> unless you really mean it.  In too many cases, "
2055 "maintainers don't follow the instructions in the <ulink "
2056 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>.  Setting your "
2057 "architecture to only one architecture (such as <literal>i386</literal> or "
2058 "<literal>amd64</literal>) is usually incorrect."
2059 msgstr ""
2060
2061 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2062 #: pkgs.dbk:1554
2063 msgid ""
2064 "Make sure your source package is correct.  Do <literal>dpkg-source -x "
2065 "<replaceable>package</replaceable>.dsc</literal> to make sure your source "
2066 "package unpacks properly.  Then, in there, try building your package from "
2067 "scratch with <command>dpkg-buildpackage</command>."
2068 msgstr ""
2069
2070 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2071 #: pkgs.dbk:1562
2072 msgid ""
2073 "Make sure you don't ship your source package with the "
2074 "<filename>debian/files</filename> or <filename>debian/substvars</filename> "
2075 "files.  They should be removed by the <literal>clean</literal> target of "
2076 "<filename>debian/rules</filename>."
2077 msgstr ""
2078
2079 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2080 #: pkgs.dbk:1570
2081 msgid ""
2082 "Make sure you don't rely on locally installed or hacked configurations or "
2083 "programs.  For instance, you should never be calling programs in "
2084 "<filename>/usr/local/bin</filename> or the like.  Try not to rely on "
2085 "programs being setup in a special way.  Try building your package on another "
2086 "machine, even if it's the same architecture."
2087 msgstr ""
2088
2089 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2090 #: pkgs.dbk:1579
2091 msgid ""
2092 "Don't depend on the package you're building being installed already (a "
2093 "sub-case of the above issue). There are, of course, exceptions to this rule, "
2094 "but be aware that any case like this needs manual bootstrapping and cannot "
2095 "be done by automated package builders."
2096 msgstr ""
2097
2098 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2099 #: pkgs.dbk:1587
2100 msgid ""
2101 "Don't rely on the compiler being a certain version, if possible.  If not, "
2102 "then make sure your build dependencies reflect the restrictions, although "
2103 "you are probably asking for trouble, since different architectures sometimes "
2104 "standardize on different compilers."
2105 msgstr ""
2106
2107 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
2108 #: pkgs.dbk:1595
2109 msgid ""
2110 "Make sure your debian/rules contains separate <literal>binary-arch</literal> "
2111 "and <literal>binary-indep</literal> targets, as the Debian Policy Manual "
2112 "requires.  Make sure that both targets work independently, that is, that you "
2113 "can call the target without having called the other before.  To test this, "
2114 "try to run <command>dpkg-buildpackage -B</command>."
2115 msgstr ""
2116
2117 #. type: Content of: <chapter><section><section><title>
2118 #: pkgs.dbk:1606
2119 msgid "Guidelines for porter uploads"
2120 msgstr ""
2121
2122 #. type: Content of: <chapter><section><section><para>
2123 #: pkgs.dbk:1608
2124 msgid ""
2125 "If the package builds out of the box for the architecture to be ported to, "
2126 "you are in luck and your job is easy.  This section applies to that case; it "
2127 "describes how to build and upload your binary package so that it is properly "
2128 "installed into the archive.  If you do have to patch the package in order to "
2129 "get it to compile for the other architecture, you are actually doing a "
2130 "source NMU, so consult <xref linkend=\"nmu-guidelines\"/> instead."
2131 msgstr ""
2132
2133 #. type: Content of: <chapter><section><section><para>
2134 #: pkgs.dbk:1616
2135 msgid ""
2136 "For a porter upload, no changes are being made to the source.  You do not "
2137 "need to touch any of the files in the source package.  This includes "
2138 "<filename>debian/changelog</filename>."
2139 msgstr ""
2140
2141 #. type: Content of: <chapter><section><section><para>
2142 #: pkgs.dbk:1621
2143 msgid ""
2144 "The way to invoke <command>dpkg-buildpackage</command> is as "
2145 "<literal>dpkg-buildpackage -B "
2146 "-m<replaceable>porter-email</replaceable></literal>.  Of course, set "
2147 "<replaceable>porter-email</replaceable> to your email address.  This will do "
2148 "a binary-only build of only the architecture-dependent portions of the "
2149 "package, using the <literal>binary-arch</literal> target in "
2150 "<filename>debian/rules </filename>."
2151 msgstr ""
2152
2153 #. type: Content of: <chapter><section><section><para>
2154 #: pkgs.dbk:1630
2155 msgid ""
2156 "If you are working on a Debian machine for your porting efforts and you need "
2157 "to sign your upload locally for its acceptance in the archive, you can run "
2158 "<command>debsign</command> on your <filename>.changes</filename> file to "
2159 "have it signed conveniently, or use the remote signing mode of "
2160 "<command>dpkg-sig</command>."
2161 msgstr ""
2162
2163 #. type: Content of: <chapter><section><section><section><title>
2164 #: pkgs.dbk:1637
2165 msgid "Recompilation or binary-only NMU"
2166 msgstr ""
2167
2168 #. type: Content of: <chapter><section><section><section><para>
2169 #: pkgs.dbk:1639
2170 msgid ""
2171 "Sometimes the initial porter upload is problematic because the environment "
2172 "in which the package was built was not good enough (outdated or obsolete "
2173 "library, bad compiler, ...).  Then you may just need to recompile it in an "
2174 "updated environment.  However, you have to bump the version number in this "
2175 "case, so that the old bad package can be replaced in the Debian archive "
2176 "(<command>dak</command> refuses to install new packages if they don't have a "
2177 "version number greater than the currently available one)."
2178 msgstr ""
2179
2180 #. type: Content of: <chapter><section><section><section><para>
2181 #: pkgs.dbk:1648
2182 msgid ""
2183 "You have to make sure that your binary-only NMU doesn't render the package "
2184 "uninstallable.  This could happen when a source package generates "
2185 "arch-dependent and arch-independent packages that have inter-dependencies "
2186 "generated using dpkg's substitution variable <literal>$(Source-Version)  "
2187 "</literal>."
2188 msgstr ""
2189
2190 #. type: Content of: <chapter><section><section><section><para>
2191 #: pkgs.dbk:1655
2192 msgid ""
2193 "Despite the required modification of the changelog, these are called "
2194 "binary-only NMUs — there is no need in this case to trigger all other "
2195 "architectures to consider themselves out of date or requiring recompilation."
2196 msgstr ""
2197
2198 #. type: Content of: <chapter><section><section><section><para>
2199 #: pkgs.dbk:1660
2200 msgid ""
2201 "Such recompilations require special ``magic'' version numbering, so that the "
2202 "archive maintenance tools recognize that, even though there is a new Debian "
2203 "version, there is no corresponding source update.  If you get this wrong, "
2204 "the archive maintainers will reject your upload (due to lack of "
2205 "corresponding source code)."
2206 msgstr ""
2207
2208 #. type: Content of: <chapter><section><section><section><para><footnote><para>
2209 #: pkgs.dbk:1675
2210 msgid ""
2211 "In the past, such NMUs used the third-level number on the Debian part of the "
2212 "revision to denote their recompilation-only status; however, this syntax was "
2213 "ambiguous with native packages and did not allow proper ordering of "
2214 "recompile-only NMUs, source NMUs, and security NMUs on the same package, and "
2215 "has therefore been abandoned in favor of this new syntax."
2216 msgstr ""
2217
2218 #. type: Content of: <chapter><section><section><section><para>
2219 #: pkgs.dbk:1667
2220 msgid ""
2221 "The ``magic'' for a recompilation-only NMU is triggered by using a suffix "
2222 "appended to the package version number, following the form <literal> "
2223 "b<replaceable>number</replaceable></literal>.  For instance, if the latest "
2224 "version you are recompiling against was version <literal>2.9-3</literal>, "
2225 "your binary-only NMU should carry a version of <literal>2.9-3+b1</literal>.  "
2226 "If the latest version was <literal>3.4+b1 </literal> (i.e, a native package "
2227 "with a previous recompilation NMU), your binary-only NMU should have a "
2228 "version number of <literal>3.4+b2</literal>.  <placeholder type=\"footnote\" "
2229 "id=\"0\"/>"
2230 msgstr ""
2231
2232 #. type: Content of: <chapter><section><section><section><para>
2233 #: pkgs.dbk:1683
2234 msgid ""
2235 "Similar to initial porter uploads, the correct way of invoking "
2236 "<command>dpkg-buildpackage</command> is <literal>dpkg-buildpackage "
2237 "-B</literal> to only build the architecture-dependent parts of the package."
2238 msgstr ""
2239
2240 #. type: Content of: <chapter><section><section><section><title>
2241 #: pkgs.dbk:1690
2242 msgid "When to do a source NMU if you are a porter"
2243 msgstr ""
2244
2245 #. type: Content of: <chapter><section><section><section><para>
2246 #: pkgs.dbk:1692
2247 msgid ""
2248 "Porters doing a source NMU generally follow the guidelines found in <xref "
2249 "linkend=\"nmu\"/> , just like non-porters.  However, it is expected that the "
2250 "wait cycle for a porter's source NMU is smaller than for a non-porter, since "
2251 "porters have to cope with a large quantity of packages.  Again, the "
2252 "situation varies depending on the distribution they are uploading to.  It "
2253 "also varies whether the architecture is a candidate for inclusion into the "
2254 "next stable release; the release managers decide and announce which "
2255 "architectures are candidates."
2256 msgstr ""
2257
2258 #. type: Content of: <chapter><section><section><section><para>
2259 #: pkgs.dbk:1701
2260 msgid ""
2261 "If you are a porter doing an NMU for <literal>unstable</literal>, the above "
2262 "guidelines for porting should be followed, with two variations.  Firstly, "
2263 "the acceptable waiting period — the time between when the bug is submitted "
2264 "to the BTS and when it is OK to do an NMU — is seven days for porters "
2265 "working on the <literal>unstable</literal> distribution.  This period can be "
2266 "shortened if the problem is critical and imposes hardship on the porting "
2267 "effort, at the discretion of the porter group.  (Remember, none of this is "
2268 "Policy, just mutually agreed upon guidelines.) For uploads to "
2269 "<literal>stable</literal> or <literal>testing </literal>, please coordinate "
2270 "with the appropriate release team first."
2271 msgstr ""
2272
2273 #. type: Content of: <chapter><section><section><section><para>
2274 #: pkgs.dbk:1713
2275 msgid ""
2276 "Secondly, porters doing source NMUs should make sure that the bug they "
2277 "submit to the BTS should be of severity <literal>serious</literal> or "
2278 "greater.  This ensures that a single source package can be used to compile "
2279 "every supported Debian architecture by release time.  It is very important "
2280 "that we have one version of the binary and source package for all "
2281 "architectures in order to comply with many licenses."
2282 msgstr ""
2283
2284 #. type: Content of: <chapter><section><section><section><para>
2285 #: pkgs.dbk:1721
2286 msgid ""
2287 "Porters should try to avoid patches which simply kludge around bugs in the "
2288 "current version of the compile environment, kernel, or libc.  Sometimes such "
2289 "kludges can't be helped.  If you have to kludge around compiler bugs and the "
2290 "like, make sure you <literal>#ifdef</literal> your work properly; also, "
2291 "document your kludge so that people know to remove it once the external "
2292 "problems have been fixed."
2293 msgstr ""
2294
2295 #. type: Content of: <chapter><section><section><section><para>
2296 #: pkgs.dbk:1729
2297 msgid ""
2298 "Porters may also have an unofficial location where they can put the results "
2299 "of their work during the waiting period.  This helps others running the port "
2300 "have the benefit of the porter's work, even during the waiting period.  Of "
2301 "course, such locations have no official blessing or status, so buyer beware."
2302 msgstr ""
2303
2304 #. type: Content of: <chapter><section><section><title>
2305 #: pkgs.dbk:1739
2306 msgid "Porting infrastructure and automation"
2307 msgstr ""
2308
2309 #. type: Content of: <chapter><section><section><para>
2310 #: pkgs.dbk:1741
2311 msgid ""
2312 "There is infrastructure and several tools to help automate package porting.  "
2313 "This section contains a brief overview of this automation and porting to "
2314 "these tools; see the package documentation or references for full "
2315 "information."
2316 msgstr ""
2317
2318 #. type: Content of: <chapter><section><section><section><title>
2319 #: pkgs.dbk:1746
2320 msgid "Mailing lists and web pages"
2321 msgstr ""
2322
2323 #. type: Content of: <chapter><section><section><section><para>
2324 #: pkgs.dbk:1748
2325 msgid ""
2326 "Web pages containing the status of each port can be found at <ulink "
2327 "url=\"&url-debian-ports;\"></ulink>."
2328 msgstr ""
2329
2330 #. type: Content of: <chapter><section><section><section><para>
2331 #: pkgs.dbk:1752
2332 msgid ""
2333 "Each port of Debian has a mailing list.  The list of porting mailing lists "
2334 "can be found at <ulink url=\"&url-debian-port-lists;\"></ulink>.  These "
2335 "lists are used to coordinate porters, and to connect the users of a given "
2336 "port with the porters."
2337 msgstr ""
2338
2339 #. type: Content of: <chapter><section><section><section><title>
2340 #: pkgs.dbk:1760
2341 msgid "Porter tools"
2342 msgstr ""
2343
2344 #. type: Content of: <chapter><section><section><section><para>
2345 #: pkgs.dbk:1762
2346 msgid ""
2347 "Descriptions of several porting tools can be found in <xref "
2348 "linkend=\"tools-porting\"/> ."
2349 msgstr ""
2350
2351 #. type: Content of: <chapter><section><section><section><title>
2352 #: pkgs.dbk:1768
2353 msgid "<systemitem role=\"package\">wanna-build</systemitem>"
2354 msgstr ""
2355
2356 #. type: Content of: <chapter><section><section><section><para>
2357 #: pkgs.dbk:1770
2358 msgid ""
2359 "The <systemitem role=\"package\">wanna-build</systemitem> system is used as "
2360 "a distributed, client-server build distribution system.  It is usually used "
2361 "in conjunction with build daemons running the <systemitem "
2362 "role=\"package\">buildd </systemitem> program. <literal>Build "
2363 "daemons</literal> are ``slave'' hosts which contact the central <systemitem "
2364 "role=\"package\"> wanna-build</systemitem> system to receive a list of "
2365 "packages that need to be built."
2366 msgstr ""
2367
2368 #. type: Content of: <chapter><section><section><section><para>
2369 #: pkgs.dbk:1778
2370 msgid ""
2371 "<systemitem role=\"package\">wanna-build</systemitem> is not yet available "
2372 "as a package; however, all Debian porting efforts are using it for automated "
2373 "package building.  The tool used to do the actual package builds, "
2374 "<systemitem role=\"package\">sbuild</systemitem> is available as a package, "
2375 "see its description in <xref linkend=\"sbuild\"/> .  Please note that the "
2376 "packaged version is not the same as the one used on build daemons, but it is "
2377 "close enough to reproduce problems."
2378 msgstr ""
2379
2380 #. type: Content of: <chapter><section><section><section><para>
2381 #: pkgs.dbk:1787
2382 msgid ""
2383 "Most of the data produced by <systemitem role=\"package\">wanna-build "
2384 "</systemitem> which is generally useful to porters is available on the web "
2385 "at <ulink url=\"&url-buildd;\"></ulink>.  This data includes nightly updated "
2386 "statistics, queueing information and logs for build attempts."
2387 msgstr ""
2388
2389 #. type: Content of: <chapter><section><section><section><para>
2390 #: pkgs.dbk:1793
2391 msgid ""
2392 "We are quite proud of this system, since it has so many possible uses.  "
2393 "Independent development groups can use the system for different sub-flavors "
2394 "of Debian, which may or may not really be of general interest (for instance, "
2395 "a flavor of Debian built with <command>gcc</command> bounds checking).  It "
2396 "will also enable Debian to recompile entire distributions quickly."
2397 msgstr ""
2398
2399 #. type: Content of: <chapter><section><section><section><para>
2400 #: pkgs.dbk:1800
2401 msgid ""
2402 "The wanna-build team, in charge of the buildds, can be reached at "
2403 "<literal>debian-wb-team@lists.debian.org</literal>.  To determine who "
2404 "(wanna-build team, release team) and how (mail, BTS)  to contact, refer to "
2405 "<ulink url=\"&url-wb-team;\"></ulink>."
2406 msgstr ""
2407
2408 #. type: Content of: <chapter><section><section><section><para>
2409 #: pkgs.dbk:1807
2410 msgid ""
2411 "When requesting binNMUs or give-backs (retries after a failed build), please "
2412 "use the format described at <ulink url=\"&url-release-wb;\"/>."
2413 msgstr ""
2414
2415 #. type: Content of: <chapter><section><section><title>
2416 #: pkgs.dbk:1816
2417 msgid "When your package is <emphasis>not</emphasis> portable"
2418 msgstr ""
2419
2420 #. type: Content of: <chapter><section><section><para>
2421 #: pkgs.dbk:1818
2422 msgid ""
2423 "Some packages still have issues with building and/or working on some of the "
2424 "architectures supported by Debian, and cannot be ported at all, or not "
2425 "within a reasonable amount of time.  An example is a package that is "
2426 "SVGA-specific (only available for <literal>i386</literal> and "
2427 "<literal>amd64</literal>), or uses other hardware-specific features not "
2428 "supported on all architectures."
2429 msgstr ""
2430
2431 #. type: Content of: <chapter><section><section><para>
2432 #: pkgs.dbk:1825
2433 msgid ""
2434 "In order to prevent broken packages from being uploaded to the archive, and "
2435 "wasting buildd time, you need to do a few things:"
2436 msgstr ""
2437
2438 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2439 #: pkgs.dbk:1831
2440 msgid ""
2441 "First, make sure your package <emphasis>does</emphasis> fail to build on "
2442 "architectures that it cannot support.  There are a few ways to achieve "
2443 "this.  The preferred way is to have a small testsuite during build time that "
2444 "will test the functionality, and fail if it doesn't work.  This is a good "
2445 "idea anyway, as this will prevent (some) broken uploads on all "
2446 "architectures, and also will allow the package to build as soon as the "
2447 "required functionality is available."
2448 msgstr ""
2449
2450 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2451 #: pkgs.dbk:1839
2452 msgid ""
2453 "Additionally, if you believe the list of supported architectures is pretty "
2454 "constant, you should change <literal>any</literal> to a list of supported "
2455 "architectures in <filename>debian/control</filename>.  This way, the build "
2456 "will fail also, and indicate this to a human reader without actually trying."
2457 msgstr ""
2458
2459 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2460 #: pkgs.dbk:1847
2461 msgid ""
2462 "In order to prevent autobuilders from needlessly trying to build your "
2463 "package, it must be included in <filename>packages-arch-specific</filename>, "
2464 "a list used by the <command>wanna-build</command> script.  The current "
2465 "version is available as <ulink url=\"&url-buildd-p-a-s;\"/>; please see the "
2466 "top of the file for whom to contact for changes."
2467 msgstr ""
2468
2469 #. type: Content of: <chapter><section><section><para>
2470 #: pkgs.dbk:1856
2471 msgid ""
2472 "Please note that it is insufficient to only add your package to "
2473 "Packages-arch-specific without making it fail to build on unsupported "
2474 "architectures: A porter or any other person trying to build your package "
2475 "might accidently upload it without noticing it doesn't work.  If in the past "
2476 "some binary packages were uploaded on unsupported architectures, request "
2477 "their removal by filing a bug against <systemitem "
2478 "role=\"package\">ftp.debian.org</systemitem>"
2479 msgstr ""
2480
2481 #. type: Content of: <chapter><section><title>
2482 #: pkgs.dbk:1869
2483 msgid "Non-Maintainer Uploads (NMUs)"
2484 msgstr ""
2485
2486 #. type: Content of: <chapter><section><para>
2487 #: pkgs.dbk:1871
2488 msgid ""
2489 "Every package has one or more maintainers. Normally, these are the people "
2490 "who work on and upload new versions of the package. In some situations, it "
2491 "is useful that other developers can upload a new version as well, for "
2492 "example if they want to fix a bug in a package they don't maintain, when the "
2493 "maintainer needs help to respond to issues.  Such uploads are called "
2494 "<emphasis>Non-Maintainer Uploads (NMU)</emphasis>."
2495 msgstr ""
2496
2497 #. type: Content of: <chapter><section><section><title>
2498 #: pkgs.dbk:1880
2499 msgid "When and how to do an NMU"
2500 msgstr ""
2501
2502 #. type: Content of: <chapter><section><section><para>
2503 #: pkgs.dbk:1883
2504 msgid "Before doing an NMU, consider the following questions:"
2505 msgstr ""
2506
2507 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2508 #: pkgs.dbk:1888
2509 msgid ""
2510 "Does your NMU really fix bugs? Fixing cosmetic issues or changing the "
2511 "packaging style in NMUs is discouraged."
2512 msgstr ""
2513
2514 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2515 #: pkgs.dbk:1894
2516 msgid ""
2517 "Did you give enough time to the maintainer? When was the bug reported to the "
2518 "BTS? Being busy for a week or two isn't unusual.  Is the bug so severe that "
2519 "it needs to be fixed right now, or can it wait a few more days?"
2520 msgstr ""
2521
2522 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2523 #: pkgs.dbk:1901
2524 msgid ""
2525 "How confident are you about your changes? Please remember the Hippocratic "
2526 "Oath: \"Above all, do no harm.\" It is better to leave a package with an "
2527 "open grave bug than applying a non-functional patch, or one that hides the "
2528 "bug instead of resolving it. If you are not 100% sure of what you did, it "
2529 "might be a good idea to seek advice from others. Remember that if you break "
2530 "something in your NMU, many people will be very unhappy about it."
2531 msgstr ""
2532
2533 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2534 #: pkgs.dbk:1911
2535 msgid ""
2536 "Have you clearly expressed your intention to NMU, at least in the BTS? It is "
2537 "also a good idea to try to contact the maintainer by other means (private "
2538 "email, IRC)."
2539 msgstr ""
2540
2541 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2542 #: pkgs.dbk:1918
2543 msgid ""
2544 "If the maintainer is usually active and responsive, have you tried to "
2545 "contact him? In general it should be considered preferable that a maintainer "
2546 "takes care of an issue himself and that he is given the chance to review and "
2547 "correct your patch, because he can be expected to be more aware of potential "
2548 "issues which an NMUer might miss. It is often a better use of everyone's "
2549 "time if the maintainer is given an opportunity to upload a fix on their own."
2550 msgstr ""
2551
2552 #. type: Content of: <chapter><section><section><para>
2553 #: pkgs.dbk:1928
2554 msgid ""
2555 "When doing an NMU, you must first make sure that your intention to NMU is "
2556 "clear.  Then, you must send a patch with the differences between the current "
2557 "package and your proposed NMU to the BTS. The <literal>nmudiff</literal> "
2558 "script in the <literal>devscripts</literal> package might be helpful."
2559 msgstr ""
2560
2561 #. type: Content of: <chapter><section><section><para>
2562 #: pkgs.dbk:1935
2563 msgid ""
2564 "While preparing the patch, you should better be aware of any "
2565 "package-specific practices that the maintainer might be using. Taking them "
2566 "into account reduces the burden of getting your changes integrated back in "
2567 "the normal package workflow and thus increases the possibilities that that "
2568 "will happen. A good place where to look for for possible package-specific "
2569 "practices is <ulink "
2570 "url=\"&url-debian-policy;ch-source.html#s-readmesource\"><literal>debian/README.source</literal></ulink>."
2571 msgstr ""
2572
2573 #. type: Content of: <chapter><section><section><para>
2574 #: pkgs.dbk:1943
2575 msgid ""
2576 "Unless you have an excellent reason not to do so, you must then give some "
2577 "time to the maintainer to react (for example, by uploading to the "
2578 "<literal>DELAYED</literal> queue).  Here are some recommended values to use "
2579 "for delays:"
2580 msgstr ""
2581
2582 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2583 #: pkgs.dbk:1950
2584 msgid "Upload fixing only release-critical bugs older than 7 days: 2 days"
2585 msgstr ""
2586
2587 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2588 #: pkgs.dbk:1955
2589 msgid "Upload fixing only release-critical and important bugs: 5 days"
2590 msgstr ""
2591
2592 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2593 #: pkgs.dbk:1960
2594 msgid "Other NMUs: 10 days"
2595 msgstr ""
2596
2597 #. type: Content of: <chapter><section><section><para>
2598 #: pkgs.dbk:1966
2599 msgid ""
2600 "Those delays are only examples. In some cases, such as uploads fixing "
2601 "security issues, or fixes for trivial bugs that blocking a transition, it is "
2602 "desirable that the fixed package reaches <literal>unstable</literal> sooner."
2603 msgstr ""
2604
2605 #. type: Content of: <chapter><section><section><para>
2606 #: pkgs.dbk:1972
2607 msgid ""
2608 "Sometimes, release managers decide to allow NMUs with shorter delays for a "
2609 "subset of bugs (e.g release-critical bugs older than 7 days). Also, some "
2610 "maintainers list themselves in the <ulink "
2611 "url=\"&url-low-threshold-nmu;\">Low Threshold NMU list</ulink>, and accept "
2612 "that NMUs are uploaded without delay. But even in those cases, it's still a "
2613 "good idea to give the maintainer a few days to react before you upload, "
2614 "especially if the patch wasn't available in the BTS before, or if you know "
2615 "that the maintainer is generally active."
2616 msgstr ""
2617
2618 #. type: Content of: <chapter><section><section><para>
2619 #: pkgs.dbk:1982
2620 msgid ""
2621 "After you upload an NMU, you are responsible for the possible problems that "
2622 "you might have introduced. You must keep an eye on the package (subscribing "
2623 "to the package on the PTS is a good way to achieve this)."
2624 msgstr ""
2625
2626 #. type: Content of: <chapter><section><section><para>
2627 #: pkgs.dbk:1988
2628 msgid ""
2629 "This is not a license to perform NMUs thoughtlessly.  If you NMU when it is "
2630 "clear that the maintainers are active and would have acknowledged a patch in "
2631 "a timely manner, or if you ignore the recommendations of this document, your "
2632 "upload might be a cause of conflict with the maintainer.  You should always "
2633 "be prepared to defend the wisdom of any NMU you perform on its own merits."
2634 msgstr ""
2635
2636 #. type: Content of: <chapter><section><section><title>
2637 #: pkgs.dbk:1998
2638 msgid "NMUs and debian/changelog"
2639 msgstr ""
2640
2641 #. type: Content of: <chapter><section><section><para>
2642 #: pkgs.dbk:2000
2643 msgid ""
2644 "Just like any other (source) upload, NMUs must add an entry to "
2645 "<literal>debian/changelog</literal>, telling what has changed with this "
2646 "upload.  The first line of this entry must explicitely mention that this "
2647 "upload is an NMU, e.g.:"
2648 msgstr ""
2649
2650 #. type: Content of: <chapter><section><section><screen>
2651 #: pkgs.dbk:2005
2652 #, no-wrap
2653 msgid "  * Non-maintainer upload.\n"
2654 msgstr ""
2655
2656 #. type: Content of: <chapter><section><section><para>
2657 #: pkgs.dbk:2009
2658 msgid "The way to version NMUs differs for native and non-native packages."
2659 msgstr ""
2660
2661 #. type: Content of: <chapter><section><section><para>
2662 #: pkgs.dbk:2012
2663 msgid ""
2664 "If the package is a native package (without a debian revision in the version "
2665 "number), the version must be the version of the last maintainer upload, plus "
2666 "<literal>+nmu<replaceable>X</replaceable></literal>, where "
2667 "<replaceable>X</replaceable> is a counter starting at <literal>1</literal>.  "
2668 "If the last upload was also an NMU, the counter should be increased.  For "
2669 "example, if the current version is <literal>1.5</literal>, then an NMU would "
2670 "get version <literal>1.5+nmu1</literal>."
2671 msgstr ""
2672
2673 #. type: Content of: <chapter><section><section><para>
2674 #: pkgs.dbk:2022
2675 msgid ""
2676 "If the package is a not a native package, you should add a minor version "
2677 "number to the debian revision part of the version number (the portion after "
2678 "the last hyphen). This extra number must start at 1.  For example, if the "
2679 "current version is <literal>1.5-2</literal>, then an NMU would get version "
2680 "<literal>1.5-2.1</literal>. If a new upstream version is packaged in the "
2681 "NMU, the debian revision is set to <literal>0</literal>, for example "
2682 "<literal>1.6-0.1</literal>."
2683 msgstr ""
2684
2685 #. type: Content of: <chapter><section><section><para>
2686 #: pkgs.dbk:2031
2687 msgid ""
2688 "In both cases, if the last upload was also an NMU, the counter should be "
2689 "increased. For example, if the current version is "
2690 "<literal>1.5+nmu3</literal> (a native package which has already been NMUed), "
2691 "the NMU would get version <literal>1.5+nmu4</literal>.  ."
2692 msgstr ""
2693
2694 #. type: Content of: <chapter><section><section><para>
2695 #: pkgs.dbk:2037
2696 msgid ""
2697 "A special versioning scheme is needed to avoid disrupting the maintainer's "
2698 "work, since using an integer for the Debian revision will potentially "
2699 "conflict with a maintainer upload already in preparation at the time of an "
2700 "NMU, or even one sitting in the ftp NEW queue.  It also has the benefit of "
2701 "making it visually clear that a package in the archive was not made by the "
2702 "official maintainer."
2703 msgstr ""
2704
2705 #. type: Content of: <chapter><section><section><para>
2706 #: pkgs.dbk:2047
2707 msgid ""
2708 "If you upload a package to testing or stable, you sometimes need to \"fork\" "
2709 "the version number tree. This is the case for security uploads, for "
2710 "example.  For this, a version of the form "
2711 "<literal>+deb<replaceable>XY</replaceable>u<replaceable>Z</replaceable></literal> "
2712 "should be used, where <replaceable>X</replaceable> and "
2713 "<replaceable>Y</replaceable> are the major and minor release numbers, and "
2714 "<replaceable>Z</replaceable> is a counter starting at <literal>1</literal>.  "
2715 "When the release number is not yet known (often the case for "
2716 "<literal>testing</literal>, at the beginning of release cycles), the lowest "
2717 "release number higher than the last stable release number must be used.  For "
2718 "example, while Etch (Debian 4.0) is stable, a security NMU to stable for a "
2719 "package at version <literal>1.5-3</literal> would have version "
2720 "<literal>1.5-3+deb40u1</literal>, whereas a security NMU to Lenny would get "
2721 "version <literal>1.5-3+deb50u1</literal>. After the release of Lenny, "
2722 "security uploads to the <literal>testing</literal> distribution will be "
2723 "versioned <literal>+deb51uZ</literal>, until it is known whether that "
2724 "release will be Debian 5.1 or Debian 6.0 (if that becomes the case, uploads "
2725 "will be versioned as <literal>+deb60uZ</literal>."
2726 msgstr ""
2727
2728 #. type: Content of: <chapter><section><section><title>
2729 #: pkgs.dbk:2069
2730 msgid "Using the <literal>DELAYED/</literal> queue"
2731 msgstr ""
2732
2733 #. type: Content of: <chapter><section><section><para>
2734 #: pkgs.dbk:2072
2735 msgid ""
2736 "Having to wait for a response after you request permission to NMU is "
2737 "inefficient, because it costs the NMUer a context switch to come back to the "
2738 "issue.  The <literal>DELAYED</literal> queue (see <xref "
2739 "linkend=\"delayed-incoming\"/>)  allows the developer doing the NMU to "
2740 "perform all the necessary tasks at the same time. For instance, instead of "
2741 "telling the maintainer that you will upload the updated package in 7 days, "
2742 "you should upload the package to <literal>DELAYED/7</literal> and tell the "
2743 "maintainer that he has 7 days to react.  During this time, the maintainer "
2744 "can ask you to delay the upload some more, or cancel your upload."
2745 msgstr ""
2746
2747 #. type: Content of: <chapter><section><section><para>
2748 #: pkgs.dbk:2086
2749 msgid ""
2750 "The <literal>DELAYED</literal> queue should not be used to put additional "
2751 "pressure on the maintainer. In particular, it's important that you are "
2752 "available to cancel or delay the upload before the delay expires since the "
2753 "maintainer cannot cancel the upload himself."
2754 msgstr ""
2755
2756 #. type: Content of: <chapter><section><section><para>
2757 #: pkgs.dbk:2093
2758 msgid ""
2759 "If you make an NMU to <literal>DELAYED</literal> and the maintainer updates "
2760 "his package before the delay expires, your upload will be rejected because a "
2761 "newer version is already available in the archive.  Ideally, the maintainer "
2762 "will take care to include your proposed changes (or at least a solution for "
2763 "the problems they address) in that upload."
2764 msgstr ""
2765
2766 #. type: Content of: <chapter><section><section><title>
2767 #: pkgs.dbk:2103
2768 msgid "NMUs from the maintainer's point of view"
2769 msgstr ""
2770
2771 #. type: Content of: <chapter><section><section><para>
2772 #: pkgs.dbk:2106
2773 msgid ""
2774 "When someone NMUs your package, this means they want to help you to keep it "
2775 "in good shape.  This gives users fixed packages faster.  You can consider "
2776 "asking the NMUer to become a co-maintainer of the package.  Receiving an NMU "
2777 "on a package is not a bad thing; it just means that the package is "
2778 "interesting enough for other people to work on it."
2779 msgstr ""
2780
2781 #. type: Content of: <chapter><section><section><para>
2782 #: pkgs.dbk:2115
2783 msgid ""
2784 "To acknowledge an NMU, include its changes and changelog entry in your next "
2785 "maintainer upload.  If you do not acknowledge the NMU by including the NMU "
2786 "changelog entry in your changelog, the bugs will remain closed in the BTS "
2787 "but will be listed as affecting your maintainer version of the package."
2788 msgstr ""
2789
2790 #. type: Content of: <chapter><section><section><title>
2791 #: pkgs.dbk:2124
2792 msgid "Source NMUs vs Binary-only NMUs (binNMUs)"
2793 msgstr ""
2794
2795 #. type: Content of: <chapter><section><section><para>
2796 #: pkgs.dbk:2127
2797 msgid ""
2798 "The full name of an NMU is <emphasis>source NMU</emphasis>.  There is also "
2799 "another type, namely the <emphasis>binary-only NMU</emphasis>, or "
2800 "<emphasis>binNMU</emphasis>.  A binNMU is also a package upload by someone "
2801 "other than the package's maintainer.  However, it is a binary-only upload."
2802 msgstr ""
2803
2804 #. type: Content of: <chapter><section><section><para>
2805 #: pkgs.dbk:2134
2806 msgid ""
2807 "When a library (or other dependency) is updated, the packages using it may "
2808 "need to be rebuilt.  Since no changes to the source are needed, the same "
2809 "source package is used."
2810 msgstr ""
2811
2812 #. type: Content of: <chapter><section><section><para>
2813 #: pkgs.dbk:2140
2814 msgid ""
2815 "BinNMUs are usually triggered on the buildds by wanna-build.  An entry is "
2816 "added to debian/changelog, explaining why the upload was needed and "
2817 "increasing the version number as described in <xref "
2818 "linkend=\"binary-only-nmu\"/>.  This entry should not be included in the "
2819 "next upload."
2820 msgstr ""
2821
2822 #. type: Content of: <chapter><section><section><para>
2823 #: pkgs.dbk:2148
2824 msgid ""
2825 "Buildds upload packages for their architecture to the archive as binary-only "
2826 "uploads.  Strictly speaking, these are binNMUs.  However, they are not "
2827 "normally called NMU, and they don't add an entry to debian/changelog."
2828 msgstr ""
2829
2830 #. type: Content of: <chapter><section><section><title>
2831 #: pkgs.dbk:2156
2832 msgid "NMUs vs QA uploads"
2833 msgstr ""
2834
2835 #. type: Content of: <chapter><section><section><para>
2836 #: pkgs.dbk:2159
2837 msgid ""
2838 "NMUs are uploads of packages by somebody else than their assigned "
2839 "maintainer.  There is another type of upload where the uploaded package is "
2840 "not yours: QA uploads. QA uploads are uploads of orphaned packages."
2841 msgstr ""
2842
2843 #. type: Content of: <chapter><section><section><para>
2844 #: pkgs.dbk:2166
2845 msgid ""
2846 "QA uploads are very much like normal maintainer uploads: they may fix "
2847 "anything, even minor issues; the version numbering is normal, and there is "
2848 "no need to use a delayed upload.  The difference is that you are not listed "
2849 "as the Maintainer or Uploader for the package.  Also, the changelog entry of "
2850 "a QA upload has a special first line:"
2851 msgstr ""
2852
2853 #. type: Content of: <chapter><section><section><screen>
2854 #: pkgs.dbk:2174
2855 #, no-wrap
2856 msgid " * QA upload.\n"
2857 msgstr ""
2858
2859 #. type: Content of: <chapter><section><section><para>
2860 #: pkgs.dbk:2178
2861 msgid ""
2862 "If you want to do an NMU, and it seems that the maintainer is not active, it "
2863 "is wise to check if the package is orphaned (this information is displayed "
2864 "on the package's Package Tracking System page).  When doing the first QA "
2865 "upload to an orphaned package, the maintainer should be set to "
2866 "<literal>Debian QA Group &lt;packages@qa.debian.org&gt;</literal>.  Orphaned "
2867 "packages which did not yet have a QA upload still have their old maintainer "
2868 "set.  There is a list of them at <ulink url=\"&url-orphaned-not-qa;\"/>."
2869 msgstr ""
2870
2871 #. type: Content of: <chapter><section><section><para>
2872 #: pkgs.dbk:2189
2873 msgid ""
2874 "Instead of doing a QA upload, you can also consider adopting the package by "
2875 "making yourself the maintainer.  You don't need permission from anybody to "
2876 "adopt an orphaned package, you can just set yourself as maintainer and "
2877 "upload the new version (see <xref linkend=\"adopting\"/>)."
2878 msgstr ""
2879
2880 #. type: Content of: <chapter><section><title>
2881 #: pkgs.dbk:2200
2882 msgid "Collaborative maintenance"
2883 msgstr ""
2884
2885 #. type: Content of: <chapter><section><para>
2886 #: pkgs.dbk:2202
2887 msgid ""
2888 "Collaborative maintenance is a term describing the sharing of Debian package "
2889 "maintenance duties by several people.  This collaboration is almost always a "
2890 "good idea, since it generally results in higher quality and faster bug fix "
2891 "turnaround times.  It is strongly recommended that packages with a priority "
2892 "of <literal>Standard</literal> or which are part of the base set have "
2893 "co-maintainers."
2894 msgstr ""
2895
2896 #. type: Content of: <chapter><section><para>
2897 #: pkgs.dbk:2210
2898 msgid ""
2899 "Generally there is a primary maintainer and one or more co-maintainers.  The "
2900 "primary maintainer is the person whose name is listed in the "
2901 "<literal>Maintainer</literal> field of the "
2902 "<filename>debian/control</filename> file.  Co-maintainers are all the other "
2903 "maintainers, usually listed in the <literal>Uploaders</literal> field of the "
2904 "<filename>debian/control</filename> file."
2905 msgstr ""
2906
2907 #. type: Content of: <chapter><section><para>
2908 #: pkgs.dbk:2218
2909 msgid ""
2910 "In its most basic form, the process of adding a new co-maintainer is quite "
2911 "easy:"
2912 msgstr ""
2913
2914 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
2915 #: pkgs.dbk:2224
2916 msgid ""
2917 "Setup the co-maintainer with access to the sources you build the package "
2918 "from.  Generally this implies you are using a network-capable version "
2919 "control system, such as <command>CVS</command> or "
2920 "<command>Subversion</command>.  Alioth (see <xref linkend=\"alioth\"/> ) "
2921 "provides such tools, amongst others."
2922 msgstr ""
2923
2924 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
2925 #: pkgs.dbk:2232
2926 msgid ""
2927 "Add the co-maintainer's correct maintainer name and address to the "
2928 "<literal>Uploaders</literal> field in the first paragraph of the "
2929 "<filename>debian/control</filename> file."
2930 msgstr ""
2931
2932 #. type: Content of: <chapter><section><itemizedlist><listitem><screen>
2933 #: pkgs.dbk:2237
2934 #, no-wrap
2935 msgid ""
2936 "Uploaders: John Buzz &lt;jbuzz@debian.org&gt;, Adam Rex "
2937 "&lt;arex@debian.org&gt;\n"
2938 msgstr ""
2939
2940 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
2941 #: pkgs.dbk:2242
2942 msgid ""
2943 "Using the PTS (<xref linkend=\"pkg-tracking-system\"/> ), the co-maintainers "
2944 "should subscribe themselves to the appropriate source package."
2945 msgstr ""
2946
2947 #. type: Content of: <chapter><section><para>
2948 #: pkgs.dbk:2248
2949 msgid ""
2950 "Another form of collaborative maintenance is team maintenance, which is "
2951 "recommended if you maintain several packages with the same group of "
2952 "developers.  In that case, the Maintainer and Uploaders field of each "
2953 "package must be managed with care.  It is recommended to choose between one "
2954 "of the two following schemes:"
2955 msgstr ""
2956
2957 #. type: Content of: <chapter><section><orderedlist><listitem><para>
2958 #: pkgs.dbk:2257
2959 msgid ""
2960 "Put the team member mainly responsible for the package in the Maintainer "
2961 "field.  In the Uploaders, put the mailing list address, and the team members "
2962 "who care for the package."
2963 msgstr ""
2964
2965 #. type: Content of: <chapter><section><orderedlist><listitem><para>
2966 #: pkgs.dbk:2264
2967 msgid ""
2968 "Put the mailing list address in the Maintainer field.  In the Uploaders "
2969 "field, put the team members who care for the package.  In this case, you "
2970 "must make sure the mailing list accept bug reports without any human "
2971 "interaction (like moderation for non-subscribers)."
2972 msgstr ""
2973
2974 #. type: Content of: <chapter><section><para>
2975 #: pkgs.dbk:2272
2976 msgid ""
2977 "In any case, it is a bad idea to automatically put all team members in the "
2978 "Uploaders field.  It clutters the Developer's Package Overview listing (see "
2979 "<xref linkend=\"ddpo\"/> ) with packages one doesn't really care for, and "
2980 "creates a false sense of good maintenance."
2981 msgstr ""
2982
2983 #. type: Content of: <chapter><section><title>
2984 #: pkgs.dbk:2280
2985 msgid "The testing distribution"
2986 msgstr ""
2987
2988 #. type: Content of: <chapter><section><section><title>
2989 #: pkgs.dbk:2282
2990 msgid "Basics"
2991 msgstr ""
2992
2993 #. type: Content of: <chapter><section><section><para>
2994 #: pkgs.dbk:2284
2995 msgid ""
2996 "Packages are usually installed into the <literal>testing</literal> "
2997 "distribution after they have undergone some degree of "
2998 "<literal>testing</literal> in <literal>unstable</literal>."
2999 msgstr ""
3000
3001 #. type: Content of: <chapter><section><section><para>
3002 #: pkgs.dbk:2289
3003 msgid ""
3004 "They must be in sync on all architectures and mustn't have dependencies that "
3005 "make them uninstallable; they also have to have generally no known "
3006 "release-critical bugs at the time they're installed into <literal>testing "
3007 "</literal>.  This way, <literal>testing</literal> should always be close to "
3008 "being a release candidate.  Please see below for details."
3009 msgstr ""
3010
3011 #. type: Content of: <chapter><section><section><title>
3012 #: pkgs.dbk:2298
3013 msgid "Updates from unstable"
3014 msgstr ""
3015
3016 #. type: Content of: <chapter><section><section><para>
3017 #: pkgs.dbk:2300
3018 msgid ""
3019 "The scripts that update the <literal>testing</literal> distribution are run "
3020 "twice each day, right after the installation of the updated packages; these "
3021 "scripts are called <literal>britney</literal>.  They generate the "
3022 "<filename>Packages</filename> files for the <literal>testing</literal> "
3023 "distribution, but they do so in an intelligent manner; they try to avoid any "
3024 "inconsistency and to use only non-buggy packages."
3025 msgstr ""
3026
3027 #. type: Content of: <chapter><section><section><para>
3028 #: pkgs.dbk:2308
3029 msgid ""
3030 "The inclusion of a package from <literal>unstable</literal> is conditional "
3031 "on the following:"
3032 msgstr ""
3033
3034 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3035 #: pkgs.dbk:2314
3036 msgid ""
3037 "The package must have been available in <literal>unstable</literal> for 2, 5 "
3038 "or 10 days, depending on the urgency (high, medium or low).  Please note "
3039 "that the urgency is sticky, meaning that the highest urgency uploaded since "
3040 "the previous <literal>testing</literal> transition is taken into account.  "
3041 "Those delays may be doubled during a freeze, or <literal>testing</literal> "
3042 "transitions may be switched off altogether;"
3043 msgstr ""
3044
3045 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3046 #: pkgs.dbk:2324
3047 msgid ""
3048 "It must not have new release-critical bugs (RC bugs affecting the version "
3049 "available in <literal>unstable</literal>, but not affecting the version in "
3050 "<literal>testing</literal>);"
3051 msgstr ""
3052
3053 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3054 #: pkgs.dbk:2331
3055 msgid ""
3056 "It must be available on all architectures on which it has previously been "
3057 "built in <literal>unstable</literal>.  <xref linkend=\"dak-ls\"/> may be of "
3058 "interest to check that information;"
3059 msgstr ""
3060
3061 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3062 #: pkgs.dbk:2338
3063 msgid ""
3064 "It must not break any dependency of a package which is already available in "
3065 "<literal>testing</literal>;"
3066 msgstr ""
3067
3068 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3069 #: pkgs.dbk:2344
3070 msgid ""
3071 "The packages on which it depends must either be available in "
3072 "<literal>testing</literal> or they must be accepted into "
3073 "<literal>testing</literal> at the same time (and they will be if they "
3074 "fulfill all the necessary criteria);"
3075 msgstr ""
3076
3077 #. type: Content of: <chapter><section><section><para>
3078 #: pkgs.dbk:2352
3079 msgid ""
3080 "To find out whether a package is progressing into <literal>testing</literal> "
3081 "or not, see the <literal>testing</literal> script output on the <ulink "
3082 "url=\"&url-testing-maint;\">web page of the testing distribution</ulink>, or "
3083 "use the program <command>grep-excuses</command> which is in the <systemitem "
3084 "role=\"package\">devscripts</systemitem> package.  This utility can easily "
3085 "be used in a <citerefentry> <refentrytitle>crontab</refentrytitle> "
3086 "<manvolnum>5</manvolnum> </citerefentry> to keep yourself informed of the "
3087 "progression of your packages into <literal>testing</literal>."
3088 msgstr ""
3089
3090 #. type: Content of: <chapter><section><section><para>
3091 #: pkgs.dbk:2363
3092 msgid ""
3093 "The <filename>update_excuses</filename> file does not always give the "
3094 "precise reason why the package is refused; you may have to find it on your "
3095 "own by looking for what would break with the inclusion of the package.  The "
3096 "<ulink url=\"&url-testing-maint;\">testing web page</ulink> gives some more "
3097 "information about the usual problems which may be causing such troubles."
3098 msgstr ""
3099
3100 #. type: Content of: <chapter><section><section><para>
3101 #: pkgs.dbk:2370
3102 msgid ""
3103 "Sometimes, some packages never enter <literal>testing</literal> because the "
3104 "set of inter-relationship is too complicated and cannot be sorted out by the "
3105 "scripts.  See below for details."
3106 msgstr ""
3107
3108 #. type: Content of: <chapter><section><section><para>
3109 #: pkgs.dbk:2375
3110 msgid ""
3111 "Some further dependency analysis is shown on <ulink "
3112 "url=\"http://release.debian.org/migration/\"></ulink> — but be warned, this "
3113 "page also shows build dependencies which are not considered by britney."
3114 msgstr ""
3115
3116 #. type: Content of: <chapter><section><section><section><title>
3117 #: pkgs.dbk:2380
3118 msgid "out-of-date"
3119 msgstr ""
3120
3121 #.  FIXME: better rename this file than document rampant professionalism? 
3122 #. type: Content of: <chapter><section><section><section><para>
3123 #: pkgs.dbk:2383
3124 msgid ""
3125 "For the <literal>testing</literal> migration script, outdated means: There "
3126 "are different versions in <literal>unstable</literal> for the release "
3127 "architectures (except for the architectures in fuckedarches; fuckedarches is "
3128 "a list of architectures that don't keep up (in "
3129 "<filename>update_out.py</filename>), but currently, it's empty).  outdated "
3130 "has nothing whatsoever to do with the architectures this package has in "
3131 "<literal>testing</literal>."
3132 msgstr ""
3133
3134 #. type: Content of: <chapter><section><section><section><para>
3135 #: pkgs.dbk:2391
3136 msgid "Consider this example:"
3137 msgstr ""
3138
3139 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3140 #: pkgs.dbk:2398 pkgs.dbk:2431
3141 msgid "alpha"
3142 msgstr ""
3143
3144 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3145 #: pkgs.dbk:2399 pkgs.dbk:2432
3146 msgid "arm"
3147 msgstr ""
3148
3149 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3150 #: pkgs.dbk:2404 pkgs.dbk:2438 pkgs.dbk:2500
3151 msgid "testing"
3152 msgstr ""
3153
3154 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3155 #: pkgs.dbk:2405 pkgs.dbk:2410 pkgs.dbk:2439 pkgs.dbk:2440 pkgs.dbk:2447
3156 msgid "1"
3157 msgstr ""
3158
3159 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3160 #: pkgs.dbk:2406 pkgs.dbk:2441 pkgs.dbk:2446
3161 msgid "-"
3162 msgstr ""
3163
3164 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3165 #: pkgs.dbk:2409 pkgs.dbk:2444 pkgs.dbk:2501
3166 msgid "unstable"
3167 msgstr ""
3168
3169 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3170 #: pkgs.dbk:2411 pkgs.dbk:2445
3171 msgid "2"
3172 msgstr ""
3173
3174 #. type: Content of: <chapter><section><section><section><para>
3175 #: pkgs.dbk:2417
3176 msgid ""
3177 "The package is out of date on alpha in <literal>unstable</literal>, and will "
3178 "not go to <literal>testing</literal>. Removing the package would not help at "
3179 "all, the package is still out of date on <literal>alpha</literal>, and will "
3180 "not propagate to testing."
3181 msgstr ""
3182
3183 #. type: Content of: <chapter><section><section><section><para>
3184 #: pkgs.dbk:2423
3185 msgid ""
3186 "However, if ftp-master removes a package in <literal>unstable</literal> "
3187 "(here on <literal>arm</literal>):"
3188 msgstr ""
3189
3190 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
3191 #: pkgs.dbk:2433
3192 msgid "hurd-i386"
3193 msgstr ""
3194
3195 #. type: Content of: <chapter><section><section><section><para>
3196 #: pkgs.dbk:2453
3197 msgid ""
3198 "In this case, the package is up to date on all release architectures in "
3199 "<literal>unstable</literal> (and the extra <literal>hurd-i386</literal> "
3200 "doesn't matter, as it's not a release architecture)."
3201 msgstr ""
3202
3203 #. type: Content of: <chapter><section><section><section><para>
3204 #: pkgs.dbk:2458
3205 msgid ""
3206 "Sometimes, the question is raised if it is possible to allow packages in "
3207 "that are not yet built on all architectures: No.  Just plainly no.  (Except "
3208 "if you maintain glibc or so.)"
3209 msgstr ""
3210
3211 #. type: Content of: <chapter><section><section><section><title>
3212 #: pkgs.dbk:2465
3213 msgid "Removals from testing"
3214 msgstr ""
3215
3216 #. type: Content of: <chapter><section><section><section><para>
3217 #: pkgs.dbk:2467
3218 msgid ""
3219 "Sometimes, a package is removed to allow another package in: This happens "
3220 "only to allow <emphasis>another</emphasis> package to go in if it's ready in "
3221 "every other sense.  Suppose e.g.  that <literal>a</literal> cannot be "
3222 "installed with the new version of <literal>b</literal>; then "
3223 "<literal>a</literal> may be removed to allow <literal>b</literal> in."
3224 msgstr ""
3225
3226 #. type: Content of: <chapter><section><section><section><para>
3227 #: pkgs.dbk:2474
3228 msgid ""
3229 "Of course, there is another reason to remove a package from <literal>testing "
3230 "</literal>: It's just too buggy (and having a single RC-bug is enough to be "
3231 "in this state)."
3232 msgstr ""
3233
3234 #. type: Content of: <chapter><section><section><section><para>
3235 #: pkgs.dbk:2479
3236 msgid ""
3237 "Furthermore, if a package has been removed from <literal>unstable</literal>, "
3238 "and no package in <literal>testing</literal> depends on it any more, then it "
3239 "will automatically be removed."
3240 msgstr ""
3241
3242 #. type: Content of: <chapter><section><section><section><title>
3243 #: pkgs.dbk:2486
3244 msgid "circular dependencies"
3245 msgstr ""
3246
3247 #. type: Content of: <chapter><section><section><section><para>
3248 #: pkgs.dbk:2488
3249 msgid ""
3250 "A situation which is not handled very well by britney is if package "
3251 "<literal>a</literal> depends on the new version of package "
3252 "<literal>b</literal>, and vice versa."
3253 msgstr ""
3254
3255 #. type: Content of: <chapter><section><section><section><para>
3256 #: pkgs.dbk:2493
3257 msgid "An example of this is:"
3258 msgstr ""
3259
3260 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3261 #: pkgs.dbk:2506
3262 msgid "a"
3263 msgstr ""
3264
3265 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3266 #: pkgs.dbk:2507
3267 msgid "1; depends: b=1"
3268 msgstr ""
3269
3270 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3271 #: pkgs.dbk:2508
3272 msgid "2; depends: b=2"
3273 msgstr ""
3274
3275 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3276 #: pkgs.dbk:2511
3277 msgid "b"
3278 msgstr ""
3279
3280 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3281 #: pkgs.dbk:2512
3282 msgid "1; depends: a=1"
3283 msgstr ""
3284
3285 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
3286 #: pkgs.dbk:2513
3287 msgid "2; depends: a=2"
3288 msgstr ""
3289
3290 #. type: Content of: <chapter><section><section><section><para>
3291 #: pkgs.dbk:2519
3292 msgid ""
3293 "Neither package <literal>a</literal> nor package <literal>b</literal> is "
3294 "considered for update."
3295 msgstr ""
3296
3297 #. type: Content of: <chapter><section><section><section><para>
3298 #: pkgs.dbk:2523
3299 msgid ""
3300 "Currently, this requires some manual hinting from the release team.  Please "
3301 "contact them by sending mail to &email-debian-release; if this happens to "
3302 "one of your packages."
3303 msgstr ""
3304
3305 #. type: Content of: <chapter><section><section><section><title>
3306 #: pkgs.dbk:2530
3307 msgid "influence of package in testing"
3308 msgstr ""
3309
3310 #. type: Content of: <chapter><section><section><section><para>
3311 #: pkgs.dbk:2532
3312 msgid ""
3313 "Generally, there is nothing that the status of a package in <literal>testing "
3314 "</literal> means for transition of the next version from <literal>unstable "
3315 "</literal> to <literal>testing</literal>, with two exceptions: If the "
3316 "RC-bugginess of the package goes down, it may go in even if it is still "
3317 "RC-buggy.  The second exception is if the version of the package in "
3318 "<literal> testing</literal> is out of sync on the different arches: Then any "
3319 "arch might just upgrade to the version of the source package; however, this "
3320 "can happen only if the package was previously forced through, the arch is in "
3321 "fuckedarches, or there was no binary package of that arch present in "
3322 "<literal>unstable </literal> at all during the <literal>testing</literal> "
3323 "migration."
3324 msgstr ""
3325
3326 #. type: Content of: <chapter><section><section><section><para>
3327 #: pkgs.dbk:2544
3328 msgid ""
3329 "In summary this means: The only influence that a package being in <literal> "
3330 "testing</literal> has on a new version of the same package is that the new "
3331 "version might go in easier."
3332 msgstr ""
3333
3334 #. type: Content of: <chapter><section><section><section><title>
3335 #: pkgs.dbk:2551
3336 msgid "details"
3337 msgstr ""
3338
3339 #. type: Content of: <chapter><section><section><section><para>
3340 #: pkgs.dbk:2553
3341 msgid "If you are interested in details, this is how britney works:"
3342 msgstr ""
3343
3344 #. type: Content of: <chapter><section><section><section><para>
3345 #: pkgs.dbk:2556
3346 msgid ""
3347 "The packages are looked at to determine whether they are valid candidates.  "
3348 "This gives the update excuses.  The most common reasons why a package is not "
3349 "considered are too young, RC-bugginess, and out of date on some arches.  For "
3350 "this part of britney, the release managers have hammers of various sizes to "
3351 "force britney to consider a package.  (Also, the base freeze is coded in "
3352 "that part of britney.) (There is a similar thing for binary-only updates, "
3353 "but this is not described here.  If you're interested in that, please peruse "
3354 "the code.)"
3355 msgstr ""
3356
3357 #. type: Content of: <chapter><section><section><section><para>
3358 #: pkgs.dbk:2565
3359 msgid ""
3360 "Now, the more complex part happens: Britney tries to update <literal>testing "
3361 "</literal> with the valid candidates. For that, britney tries to add each "
3362 "valid candidate to the testing distribution. If the number of uninstallable "
3363 "packages in <literal>testing</literal> doesn't increase, the package is "
3364 "accepted. From that point on, the accepted package is considered to be part "
3365 "of <literal>testing</literal>, such that all subsequent installability tests "
3366 "include this package.  Hints from the release team are processed before or "
3367 "after this main run, depending on the exact type."
3368 msgstr ""
3369
3370 #. type: Content of: <chapter><section><section><section><para>
3371 #: pkgs.dbk:2575
3372 msgid ""
3373 "If you want to see more details, you can look it up on "
3374 "<filename>merkel:/org/&ftp-debian-org;/testing/update_out/</filename> (or in "
3375 "<filename>merkel:~aba/testing/update_out</filename> to see a setup with a "
3376 "smaller packages file).  Via web, it's at <ulink "
3377 "url=\"http://&ftp-master-host;/testing/update_out_code/\"></ulink>"
3378 msgstr ""
3379
3380 #. type: Content of: <chapter><section><section><section><para>
3381 #: pkgs.dbk:2582
3382 msgid ""
3383 "The hints are available via <ulink "
3384 "url=\"http://&ftp-master-host;/testing/hints/\"></ulink>."
3385 msgstr ""
3386
3387 #. type: Content of: <chapter><section><section><title>
3388 #: pkgs.dbk:2590
3389 msgid "Direct updates to testing"
3390 msgstr ""
3391
3392 #. type: Content of: <chapter><section><section><para>
3393 #: pkgs.dbk:2592
3394 msgid ""
3395 "The <literal>testing</literal> distribution is fed with packages from "
3396 "<literal>unstable</literal> according to the rules explained above.  "
3397 "However, in some cases, it is necessary to upload packages built only for "
3398 "<literal> testing</literal>.  For that, you may want to upload to <literal> "
3399 "testing-proposed-updates</literal>."
3400 msgstr ""
3401
3402 #. type: Content of: <chapter><section><section><para>
3403 #: pkgs.dbk:2599
3404 msgid ""
3405 "Keep in mind that packages uploaded there are not automatically processed, "
3406 "they have to go through the hands of the release manager.  So you'd better "
3407 "have a good reason to upload there.  In order to know what a good reason is "
3408 "in the release managers' eyes, you should read the instructions that they "
3409 "regularly give on &email-debian-devel-announce;."
3410 msgstr ""
3411
3412 #. type: Content of: <chapter><section><section><para>
3413 #: pkgs.dbk:2606
3414 msgid ""
3415 "You should not upload to <literal>testing-proposed-updates</literal> when "
3416 "you can update your packages through <literal>unstable</literal>.  If you "
3417 "can't (for example because you have a newer development version in "
3418 "<literal>unstable </literal>), you may use this facility, but it is "
3419 "recommended that you ask for authorization from the release manager first.  "
3420 "Even if a package is frozen, updates through <literal>unstable</literal> are "
3421 "possible, if the upload via <literal>unstable</literal> does not pull in any "
3422 "new dependencies."
3423 msgstr ""
3424
3425 #. type: Content of: <chapter><section><section><para>
3426 #: pkgs.dbk:2615
3427 msgid ""
3428 "Version numbers are usually selected by adding the codename of the "
3429 "<literal>testing</literal> distribution and a running number, like "
3430 "<literal>1.2sarge1</literal> for the first upload through "
3431 "<literal>testing-proposed-updates</literal> of package version "
3432 "<literal>1.2</literal>."
3433 msgstr ""
3434
3435 #. type: Content of: <chapter><section><section><para>
3436 #: pkgs.dbk:2622
3437 msgid "Please make sure you didn't miss any of these items in your upload:"
3438 msgstr ""
3439
3440 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3441 #: pkgs.dbk:2627
3442 msgid ""
3443 "Make sure that your package really needs to go through "
3444 "<literal>testing-proposed-updates</literal>, and can't go through <literal> "
3445 "unstable</literal>;"
3446 msgstr ""
3447
3448 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3449 #: pkgs.dbk:2634
3450 msgid "Make sure that you included only the minimal amount of changes;"
3451 msgstr ""
3452
3453 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3454 #: pkgs.dbk:2639
3455 msgid "Make sure that you included an appropriate explanation in the changelog;"
3456 msgstr ""
3457
3458 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3459 #: pkgs.dbk:2644
3460 msgid ""
3461 "Make sure that you've written <literal>testing</literal> or "
3462 "<literal>testing-proposed-updates</literal> into your target distribution;"
3463 msgstr ""
3464
3465 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3466 #: pkgs.dbk:2650
3467 msgid ""
3468 "Make sure that you've built and tested your package in "
3469 "<literal>testing</literal>, not in <literal>unstable</literal>;"
3470 msgstr ""
3471
3472 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3473 #: pkgs.dbk:2656
3474 msgid ""
3475 "Make sure that your version number is higher than the version in "
3476 "<literal>testing</literal> and <literal>testing-proposed-updates</literal>, "
3477 "and lower than in <literal>unstable</literal>;"
3478 msgstr ""
3479
3480 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3481 #: pkgs.dbk:2663
3482 msgid ""
3483 "After uploading and successful build on all platforms, contact the release "
3484 "team at &email-debian-release; and ask them to approve your upload."
3485 msgstr ""
3486
3487 #. type: Content of: <chapter><section><section><title>
3488 #: pkgs.dbk:2671
3489 msgid "Frequently asked questions"
3490 msgstr ""
3491
3492 #. type: Content of: <chapter><section><section><section><title>
3493 #: pkgs.dbk:2673
3494 msgid "What are release-critical bugs, and how do they get counted?"
3495 msgstr ""
3496
3497 #. type: Content of: <chapter><section><section><section><para>
3498 #: pkgs.dbk:2675
3499 msgid ""
3500 "All bugs of some higher severities are by default considered "
3501 "release-critical; currently, these are <literal>critical</literal>, "
3502 "<literal>grave</literal> and <literal>serious</literal> bugs."
3503 msgstr ""
3504
3505 #. type: Content of: <chapter><section><section><section><para>
3506 #: pkgs.dbk:2680
3507 msgid ""
3508 "Such bugs are presumed to have an impact on the chances that the package "
3509 "will be released with the <literal>stable</literal> release of Debian: in "
3510 "general, if a package has open release-critical bugs filed on it, it won't "
3511 "get into <literal>testing</literal>, and consequently won't be released in "
3512 "<literal> stable</literal>."
3513 msgstr ""
3514
3515 #. type: Content of: <chapter><section><section><section><para>
3516 #: pkgs.dbk:2687
3517 msgid ""
3518 "The <literal>unstable</literal> bug count are all release-critical bugs "
3519 "which are marked to apply to "
3520 "<replaceable>package</replaceable>/<replaceable>version </replaceable> "
3521 "combinations that are available in unstable for a release architecture. The "
3522 "<literal>testing</literal> bug count is defined analogously."
3523 msgstr ""
3524
3525 #. type: Content of: <chapter><section><section><section><title>
3526 #: pkgs.dbk:2695
3527 msgid ""
3528 "How could installing a package into <literal>testing</literal> possibly "
3529 "break other packages?"
3530 msgstr ""
3531
3532 #. type: Content of: <chapter><section><section><section><para>
3533 #: pkgs.dbk:2698
3534 msgid ""
3535 "The structure of the distribution archives is such that they can only "
3536 "contain one version of a package; a package is defined by its name.  So when "
3537 "the source package <literal>acmefoo</literal> is installed into "
3538 "<literal>testing</literal>, along with its binary packages "
3539 "<literal>acme-foo-bin</literal>, <literal> acme-bar-bin</literal>, "
3540 "<literal>libacme-foo1</literal> and <literal> libacme-foo-dev</literal>, the "
3541 "old version is removed."
3542 msgstr ""
3543
3544 #. type: Content of: <chapter><section><section><section><para>
3545 #: pkgs.dbk:2706
3546 msgid ""
3547 "However, the old version may have provided a binary package with an old "
3548 "soname of a library, such as <literal>libacme-foo0</literal>.  Removing the "
3549 "old <literal>acmefoo</literal> will remove <literal>libacme-foo0</literal>, "
3550 "which will break any packages which depend on it."
3551 msgstr ""
3552
3553 #. type: Content of: <chapter><section><section><section><para>
3554 #: pkgs.dbk:2712
3555 msgid ""
3556 "Evidently, this mainly affects packages which provide changing sets of "
3557 "binary packages in different versions (in turn, mainly libraries).  However, "
3558 "it will also affect packages upon which versioned dependencies have been "
3559 "declared of the ==, &lt;=, or &lt;&lt; varieties."
3560 msgstr ""
3561
3562 #. type: Content of: <chapter><section><section><section><para>
3563 #: pkgs.dbk:2718
3564 msgid ""
3565 "When the set of binary packages provided by a source package change in this "
3566 "way, all the packages that depended on the old binaries will have to be "
3567 "updated to depend on the new binaries instead.  Because installing such a "
3568 "source package into <literal>testing</literal> breaks all the packages that "
3569 "depended on it in <literal>testing</literal>, some care has to be taken now: "
3570 "all the depending packages must be updated and ready to be installed "
3571 "themselves so that they won't be broken, and, once everything is ready, "
3572 "manual intervention by the release manager or an assistant is normally "
3573 "required."
3574 msgstr ""
3575
3576 #. type: Content of: <chapter><section><section><section><para>
3577 #: pkgs.dbk:2729
3578 msgid ""
3579 "If you are having problems with complicated groups of packages like this, "
3580 "contact &email-debian-devel; or &email-debian-release; for help."
3581 msgstr ""