chiark / gitweb /
c8dfe625dad7c9b203c93960545ad14deacb5475
[developers-reference.git] / po4a / po / developers-reference.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: 2012-06-28 05:40-0400\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: Content of: <chapter><title>
20 #: best-pkging-practices.dbk:7
21 msgid "Best Packaging Practices"
22 msgstr ""
23
24 #. type: Content of: <chapter><para>
25 #: best-pkging-practices.dbk:9
26 msgid ""
27 "Debian's quality is largely due to the <ulink "
28 "url=\"&url-debian-policy;\">Debian Policy</ulink>, which defines explicit "
29 "baseline requirements which all Debian packages must fulfill.  Yet there is "
30 "also a shared history of experience which goes beyond the Debian Policy, an "
31 "accumulation of years of experience in packaging.  Many very talented people "
32 "have created great tools, tools which help you, the Debian maintainer, "
33 "create and maintain excellent packages."
34 msgstr ""
35
36 #. type: Content of: <chapter><para>
37 #: best-pkging-practices.dbk:18
38 msgid ""
39 "This chapter provides some best practices for Debian developers.  All "
40 "recommendations are merely that, and are not requirements or policy.  These "
41 "are just some subjective hints, advice and pointers collected from Debian "
42 "developers.  Feel free to pick and choose whatever works best for you."
43 msgstr ""
44
45 #. type: Content of: <chapter><section><title>
46 #: best-pkging-practices.dbk:24
47 msgid "Best practices for <filename>debian/rules</filename>"
48 msgstr ""
49
50 #. type: Content of: <chapter><section><para>
51 #: best-pkging-practices.dbk:26
52 msgid ""
53 "The following recommendations apply to the <filename>debian/rules</filename> "
54 "file.  Since <filename>debian/rules</filename> controls the build process "
55 "and selects the files which go into the package (directly or indirectly), "
56 "it's usually the file maintainers spend the most time on."
57 msgstr ""
58
59 #. type: Content of: <chapter><section><section><title>
60 #: best-pkging-practices.dbk:32
61 msgid "Helper scripts"
62 msgstr ""
63
64 #. type: Content of: <chapter><section><section><para>
65 #: best-pkging-practices.dbk:34
66 msgid ""
67 "The rationale for using helper scripts in <filename>debian/rules</filename> "
68 "is that they let maintainers use and share common logic among many "
69 "packages.  Take for instance the question of installing menu entries: you "
70 "need to put the file into <filename>/usr/share/menu</filename> (or "
71 "<filename>/usr/lib/menu</filename> for executable binary menufiles, if this "
72 "is needed), and add commands to the maintainer scripts to register and "
73 "unregister the menu entries.  Since this is a very common thing for packages "
74 "to do, why should each maintainer rewrite all this on their own, sometimes "
75 "with bugs? Also, supposing the menu directory changed, every package would "
76 "have to be changed."
77 msgstr ""
78
79 #. type: Content of: <chapter><section><section><para>
80 #: best-pkging-practices.dbk:45
81 msgid ""
82 "Helper scripts take care of these issues.  Assuming you comply with the "
83 "conventions expected by the helper script, the helper takes care of all the "
84 "details.  Changes in policy can be made in the helper script; then packages "
85 "just need to be rebuilt with the new version of the helper and no other "
86 "changes."
87 msgstr ""
88
89 #. type: Content of: <chapter><section><section><para>
90 #: best-pkging-practices.dbk:52
91 msgid ""
92 "<xref linkend=\"tools\"/> contains a couple of different helpers.  The most "
93 "common and best (in our opinion) helper system is <systemitem "
94 "role=\"package\">debhelper</systemitem>.  Previous helper systems, such as "
95 "<systemitem role=\"package\">debmake</systemitem>, were monolithic: you "
96 "couldn't pick and choose which part of the helper you found useful, but had "
97 "to use the helper to do everything.  <systemitem "
98 "role=\"package\">debhelper</systemitem>, however, is a number of separate "
99 "little <command>dh_*</command> programs.  For instance, "
100 "<command>dh_installman</command> installs and compresses man pages, "
101 "<command>dh_installmenu</command> installs menu files, and so on.  Thus, it "
102 "offers enough flexibility to be able to use the little helper scripts, where "
103 "useful, in conjunction with hand-crafted commands in "
104 "<filename>debian/rules</filename>."
105 msgstr ""
106
107 #. type: Content of: <chapter><section><section><para>
108 #: best-pkging-practices.dbk:66
109 msgid ""
110 "You can get started with <systemitem role=\"package\">debhelper</systemitem> "
111 "by reading <citerefentry> <refentrytitle>debhelper</refentrytitle> "
112 "<manvolnum>1</manvolnum> </citerefentry>, and looking at the examples that "
113 "come with the package.  <command>dh_make</command>, from the <systemitem "
114 "role=\"package\">dh-make</systemitem> package (see <xref "
115 "linkend=\"dh-make\"/>), can be used to convert a vanilla source package to a "
116 "<systemitem role=\"package\">debhelper</systemitem>ized package.  This "
117 "shortcut, though, should not convince you that you do not need to bother "
118 "understanding the individual <command>dh_*</command> helpers.  If you are "
119 "going to use a helper, you do need to take the time to learn to use that "
120 "helper, to learn its expectations and behavior."
121 msgstr ""
122
123 #. type: Content of: <chapter><section><section><para>
124 #: best-pkging-practices.dbk:79
125 msgid ""
126 "Some people feel that vanilla <filename>debian/rules</filename> files are "
127 "better, since you don't have to learn the intricacies of any helper system.  "
128 "This decision is completely up to you.  Use what works for you.  Many "
129 "examples of vanilla <filename>debian/rules</filename> files are available at "
130 "<ulink url=\"&url-rules-files;\"></ulink>."
131 msgstr ""
132
133 #. type: Content of: <chapter><section><section><title>
134 #: best-pkging-practices.dbk:88
135 msgid "Separating your patches into multiple files"
136 msgstr ""
137
138 #. type: Content of: <chapter><section><section><para>
139 #: best-pkging-practices.dbk:90
140 msgid ""
141 "Big, complex packages may have many bugs that you need to deal with.  If you "
142 "correct a number of bugs directly in the source, and you're not careful, it "
143 "can get hard to differentiate the various patches that you applied.  It can "
144 "get quite messy when you have to update the package to a new upstream "
145 "version which integrates some of the fixes (but not all).  You can't take "
146 "the total set of diffs (e.g., from <filename>.diff.gz</filename>) and work "
147 "out which patch sets to back out as a unit as bugs are fixed upstream."
148 msgstr ""
149
150 #. type: Content of: <chapter><section><section><para>
151 #: best-pkging-practices.dbk:99
152 msgid ""
153 "Fortunately, with the source format “3.0 (quilt)” it is now possible to keep "
154 "patches separate without having to modify <filename>debian/rules</filename> "
155 "to setup a patch system. Patches are stored in "
156 "<filename>debian/patches/</filename> and when the source package is unpacked "
157 "patches listed in <filename>debian/patches/series</filename> are "
158 "automatically applied.  As the name implies, patches can be managed with "
159 "<command>quilt</command>."
160 msgstr ""
161
162 #. type: Content of: <chapter><section><section><para>
163 #: best-pkging-practices.dbk:107
164 msgid ""
165 "When using the older source “1.0”, it's also possible to separate patches "
166 "but a dedicated patch system must be used: the patch files are shipped "
167 "within the Debian patch file (<filename>.diff.gz</filename>), usually within "
168 "the <filename>debian/</filename> directory. The only difference is that they "
169 "aren't applied immediately by <command>dpkg-source</command>, but by the "
170 "<literal>build</literal> rule of <filename>debian/rules</filename>, through "
171 "a dependency on the <literal>patch</literal> rule.  Conversely, they are "
172 "reverted in the <literal>clean</literal> rule, through a dependency on the "
173 "<literal>unpatch</literal> rule."
174 msgstr ""
175
176 #. type: Content of: <chapter><section><section><para>
177 #: best-pkging-practices.dbk:119
178 msgid ""
179 "<command>quilt</command> is the recommended tool for this.  It does all of "
180 "the above, and also allows to manage patch series.  See the <systemitem "
181 "role=\"package\">quilt</systemitem> package for more information."
182 msgstr ""
183
184 #. type: Content of: <chapter><section><section><para>
185 #: best-pkging-practices.dbk:125
186 msgid ""
187 "There are other tools to manage patches, like <command>dpatch</command>, and "
188 "the patch system integrated with <systemitem "
189 "role=\"package\">cdbs</systemitem>."
190 msgstr ""
191
192 #. type: Content of: <chapter><section><section><title>
193 #: best-pkging-practices.dbk:132
194 msgid "Multiple binary packages"
195 msgstr ""
196
197 #. type: Content of: <chapter><section><section><para>
198 #: best-pkging-practices.dbk:134
199 msgid ""
200 "A single source package will often build several binary packages, either to "
201 "provide several flavors of the same software (e.g., the <systemitem "
202 "role=\"package\">vim</systemitem> source package) or to make several small "
203 "packages instead of a big one (e.g., so the user can install only the subset "
204 "needed, and thus save some disk space)."
205 msgstr ""
206
207 #. type: Content of: <chapter><section><section><para>
208 #: best-pkging-practices.dbk:141
209 msgid ""
210 "The second case can be easily managed in <filename>debian/rules</filename>.  "
211 "You just need to move the appropriate files from the build directory into "
212 "the package's temporary trees.  You can do this using "
213 "<command>install</command> or <command>dh_install</command> from <systemitem "
214 "role=\"package\">debhelper</systemitem>.  Be sure to check the different "
215 "permutations of the various packages, ensuring that you have the "
216 "inter-package dependencies set right in <filename>debian/control</filename>."
217 msgstr ""
218
219 #. type: Content of: <chapter><section><section><para>
220 #: best-pkging-practices.dbk:150
221 msgid ""
222 "The first case is a bit more difficult since it involves multiple recompiles "
223 "of the same software but with different configuration options.  The "
224 "<systemitem role=\"package\">vim</systemitem> source package is an example "
225 "of how to manage this using an hand-crafted "
226 "<filename>debian/rules</filename> file."
227 msgstr ""
228
229 #. type: Content of: <chapter><section><title>
230 #: best-pkging-practices.dbk:162
231 msgid "Best practices for <filename>debian/control</filename>"
232 msgstr ""
233
234 #. type: Content of: <chapter><section><para>
235 #: best-pkging-practices.dbk:164
236 msgid ""
237 "The following practices are relevant to the "
238 "<filename>debian/control</filename> file.  They supplement the <ulink "
239 "url=\"&url-debian-policy;ch-binary.html#s-descriptions\">Policy on package "
240 "descriptions</ulink>."
241 msgstr ""
242
243 #. type: Content of: <chapter><section><para>
244 #: best-pkging-practices.dbk:170
245 msgid ""
246 "The description of the package, as defined by the corresponding field in the "
247 "<filename>control</filename> file, contains both the package synopsis and "
248 "the long description for the package.  <xref linkend=\"bpp-desc-basics\"/> "
249 "describes common guidelines for both parts of the package description.  "
250 "Following that, <xref linkend=\"bpp-pkg-synopsis\"/> provides guidelines "
251 "specific to the synopsis, and <xref linkend=\"bpp-pkg-desc\"/> contains "
252 "guidelines specific to the description."
253 msgstr ""
254
255 #. type: Content of: <chapter><section><section><title>
256 #: best-pkging-practices.dbk:179
257 msgid "General guidelines for package descriptions"
258 msgstr ""
259
260 #. type: Content of: <chapter><section><section><para>
261 #: best-pkging-practices.dbk:181
262 msgid ""
263 "The package description should be written for the average likely user, the "
264 "average person who will use and benefit from the package.  For instance, "
265 "development packages are for developers, and can be technical in their "
266 "language.  More general-purpose applications, such as editors, should be "
267 "written for a less technical user."
268 msgstr ""
269
270 #. type: Content of: <chapter><section><section><para>
271 #: best-pkging-practices.dbk:188
272 msgid ""
273 "Our review of package descriptions lead us to conclude that most package "
274 "descriptions are technical, that is, are not written to make sense for "
275 "non-technical users.  Unless your package really is only for technical "
276 "users, this is a problem."
277 msgstr ""
278
279 #. type: Content of: <chapter><section><section><para>
280 #: best-pkging-practices.dbk:194
281 msgid ""
282 "How do you write for non-technical users? Avoid jargon.  Avoid referring to "
283 "other applications or frameworks that the user might not be familiar with — "
284 "GNOME or KDE is fine, since users are probably familiar with these terms, "
285 "but GTK+ is probably not.  Try not to assume any knowledge at all.  If you "
286 "must use technical terms, introduce them."
287 msgstr ""
288
289 #. type: Content of: <chapter><section><section><para>
290 #: best-pkging-practices.dbk:201
291 msgid ""
292 "Be objective.  Package descriptions are not the place for advocating your "
293 "package, no matter how much you love it.  Remember that the reader may not "
294 "care about the same things you care about."
295 msgstr ""
296
297 #. type: Content of: <chapter><section><section><para>
298 #: best-pkging-practices.dbk:206
299 msgid ""
300 "References to the names of any other software packages, protocol names, "
301 "standards, or specifications should use their canonical forms, if one "
302 "exists.  For example, use X Window System, X11, or X; not X Windows, "
303 "X-Windows, or X Window.  Use GTK+, not GTK or gtk.  Use GNOME, not Gnome.  "
304 "Use PostScript, not Postscript or postscript."
305 msgstr ""
306
307 #. type: Content of: <chapter><section><section><para>
308 #: best-pkging-practices.dbk:213
309 msgid ""
310 "If you are having problems writing your description, you may wish to send it "
311 "along to &email-debian-l10n-english; and request feedback."
312 msgstr ""
313
314 #. type: Content of: <chapter><section><section><title>
315 #: best-pkging-practices.dbk:219
316 msgid "The package synopsis, or short description"
317 msgstr ""
318
319 #. type: Content of: <chapter><section><section><para>
320 #: best-pkging-practices.dbk:221
321 msgid ""
322 "Policy says the synopsis line (the short description) must be concise, not "
323 "repeating the package name, but also informative."
324 msgstr ""
325
326 #. type: Content of: <chapter><section><section><para>
327 #: best-pkging-practices.dbk:225
328 msgid ""
329 "The synopsis functions as a phrase describing the package, not a complete "
330 "sentence, so sentential punctuation is inappropriate: it does not need extra "
331 "capital letters or a final period (full stop). It should also omit any "
332 "initial indefinite or definite article — \"a\", \"an\", or \"the\". Thus for "
333 "instance:"
334 msgstr ""
335
336 #. type: Content of: <chapter><section><section><screen>
337 #: best-pkging-practices.dbk:231
338 #, no-wrap
339 msgid ""
340 "Package: libeg0\n"
341 "Description: exemplification support library\n"
342 msgstr ""
343
344 #. type: Content of: <chapter><section><section><para>
345 #: best-pkging-practices.dbk:235
346 msgid ""
347 "Technically this is a noun phrase minus articles, as opposed to a verb "
348 "phrase.  A good heuristic is that it should be possible to substitute the "
349 "package <replaceable>name</replaceable> and "
350 "<replaceable>synopsis</replaceable> into this formula:"
351 msgstr ""
352
353 #. type: Content of: <chapter><section><section><para>
354 #: best-pkging-practices.dbk:240
355 msgid ""
356 "The package <replaceable>name</replaceable> provides {a,an,the,some} "
357 "<replaceable>synopsis</replaceable>."
358 msgstr ""
359
360 #. type: Content of: <chapter><section><section><para>
361 #: best-pkging-practices.dbk:244
362 msgid ""
363 "Sets of related packages may use an alternative scheme that divides the "
364 "synopsis into two parts, the first a description of the whole suite and the "
365 "second a summary of the package's role within it:"
366 msgstr ""
367
368 #. type: Content of: <chapter><section><section><screen>
369 #: best-pkging-practices.dbk:249
370 #, no-wrap
371 msgid ""
372 "Package: eg-tools\n"
373 "Description: simple exemplification system (utilities)\n"
374 "\t\t\t              \n"
375 "Package: eg-doc\n"
376 "Description: simple exemplification system - documentation\n"
377 msgstr ""
378
379 #. type: Content of: <chapter><section><section><para>
380 #: best-pkging-practices.dbk:256
381 msgid ""
382 "These synopses follow a modified formula. Where a package "
383 "\"<replaceable>name</replaceable>\" has a synopsis "
384 "\"<replaceable>suite</replaceable> (<replaceable>role</replaceable>)\" or "
385 "\"<replaceable>suite</replaceable> - <replaceable>role</replaceable>\", the "
386 "elements should be phrased so that they fit into the formula:"
387 msgstr ""
388
389 #. type: Content of: <chapter><section><section><para>
390 #: best-pkging-practices.dbk:263
391 msgid ""
392 "The package <replaceable>name</replaceable> provides {a,an,the} "
393 "<replaceable>role</replaceable> for the <replaceable>suite</replaceable>."
394 msgstr ""
395
396 #. type: Content of: <chapter><section><section><title>
397 #: best-pkging-practices.dbk:269
398 msgid "The long description"
399 msgstr ""
400
401 #. type: Content of: <chapter><section><section><para>
402 #: best-pkging-practices.dbk:271
403 msgid ""
404 "The long description is the primary information available to the user about "
405 "a package before they install it.  It should provide all the information "
406 "needed to let the user decide whether to install the package.  Assume that "
407 "the user has already read the package synopsis."
408 msgstr ""
409
410 #. type: Content of: <chapter><section><section><para>
411 #: best-pkging-practices.dbk:277
412 msgid "The long description should consist of full and complete sentences."
413 msgstr ""
414
415 #. type: Content of: <chapter><section><section><para>
416 #: best-pkging-practices.dbk:280
417 msgid ""
418 "The first paragraph of the long description should answer the following "
419 "questions: what does the package do? what task does it help the user "
420 "accomplish? It is important to describe this in a non-technical way, unless "
421 "of course the audience for the package is necessarily technical."
422 msgstr ""
423
424 #. type: Content of: <chapter><section><section><para>
425 #: best-pkging-practices.dbk:286
426 msgid ""
427 "The following paragraphs should answer the following questions: Why do I as "
428 "a user need this package? What other features does the package have? What "
429 "outstanding features and deficiencies are there compared to other packages "
430 "(e.g., if you need X, use Y instead)? Is this package related to other "
431 "packages in some way that is not handled by the package manager (e.g., this "
432 "is the client for the foo server)?"
433 msgstr ""
434
435 #. type: Content of: <chapter><section><section><para>
436 #: best-pkging-practices.dbk:294
437 msgid ""
438 "Be careful to avoid spelling and grammar mistakes.  Ensure that you "
439 "spell-check it.  Both <command>ispell</command> and "
440 "<command>aspell</command> have special modes for checking "
441 "<filename>debian/control</filename> files:"
442 msgstr ""
443
444 #. type: Content of: <chapter><section><section><screen>
445 #: best-pkging-practices.dbk:299
446 #, no-wrap
447 msgid "ispell -d american -g debian/control\n"
448 msgstr ""
449
450 #. type: Content of: <chapter><section><section><screen>
451 #: best-pkging-practices.dbk:302
452 #, no-wrap
453 msgid "aspell -d en -D -c debian/control\n"
454 msgstr ""
455
456 #. type: Content of: <chapter><section><section><para>
457 #: best-pkging-practices.dbk:305
458 msgid ""
459 "Users usually expect these questions to be answered in the package "
460 "description:"
461 msgstr ""
462
463 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
464 #: best-pkging-practices.dbk:310
465 msgid ""
466 "What does the package do? If it is an add-on to another package, then the "
467 "short description of the package we are an add-on to should be put in here."
468 msgstr ""
469
470 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
471 #: best-pkging-practices.dbk:316
472 msgid ""
473 "Why should I want this package? This is related to the above, but not the "
474 "same (this is a mail user agent; this is cool, fast, interfaces with PGP and "
475 "LDAP and IMAP, has features X, Y, and Z)."
476 msgstr ""
477
478 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
479 #: best-pkging-practices.dbk:323
480 msgid ""
481 "If this package should not be installed directly, but is pulled in by "
482 "another package, this should be mentioned."
483 msgstr ""
484
485 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
486 #: best-pkging-practices.dbk:329
487 msgid ""
488 "If the package is <literal>experimental</literal>, or there are other "
489 "reasons it should not be used, if there are other packages that should be "
490 "used instead, it should be here as well."
491 msgstr ""
492
493 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
494 #: best-pkging-practices.dbk:336
495 msgid ""
496 "How is this package different from the competition? Is it a better "
497 "implementation? more features? different features? Why should I choose this "
498 "package."
499 msgstr ""
500
501 #. type: Content of: <chapter><section><section><title>
502 #: best-pkging-practices.dbk:349
503 msgid "Upstream home page"
504 msgstr ""
505
506 #. type: Content of: <chapter><section><section><para>
507 #: best-pkging-practices.dbk:351
508 msgid ""
509 "We recommend that you add the URL for the package's home page in the "
510 "<literal>Homepage</literal> field of the <literal>Source</literal> section "
511 "in <filename>debian/control</filename>.  Adding this information in the "
512 "package description itself is considered deprecated."
513 msgstr ""
514
515 #. type: Content of: <chapter><section><section><title>
516 #: best-pkging-practices.dbk:359
517 msgid "Version Control System location"
518 msgstr ""
519
520 #. type: Content of: <chapter><section><section><para>
521 #: best-pkging-practices.dbk:361
522 msgid ""
523 "There are additional fields for the location of the Version Control System "
524 "in <filename>debian/control</filename>."
525 msgstr ""
526
527 #. type: Content of: <chapter><section><section><section><title>
528 #: best-pkging-practices.dbk:365
529 msgid "Vcs-Browser"
530 msgstr ""
531
532 #. type: Content of: <chapter><section><section><section><para>
533 #: best-pkging-practices.dbk:367
534 msgid ""
535 "Value of this field should be a <literal>http://</literal> URL pointing to a "
536 "web-browsable copy of the Version Control System repository used to maintain "
537 "the given package, if available."
538 msgstr ""
539
540 #. type: Content of: <chapter><section><section><section><para>
541 #: best-pkging-practices.dbk:372
542 msgid ""
543 "The information is meant to be useful for the final user, willing to browse "
544 "the latest work done on the package (e.g.  when looking for the patch fixing "
545 "a bug tagged as <literal>pending</literal> in the bug tracking system)."
546 msgstr ""
547
548 #. type: Content of: <chapter><section><section><section><title>
549 #: best-pkging-practices.dbk:379
550 msgid "Vcs-*"
551 msgstr ""
552
553 #. type: Content of: <chapter><section><section><section><para>
554 #: best-pkging-practices.dbk:381
555 msgid ""
556 "Value of this field should be a string identifying unequivocally the "
557 "location of the Version Control System repository used to maintain the given "
558 "package, if available.  <literal>*</literal> identify the Version Control "
559 "System; currently the following systems are supported by the package "
560 "tracking system: <literal>arch</literal>, <literal>bzr</literal> (Bazaar), "
561 "<literal>cvs</literal>, <literal>darcs</literal>, <literal>git</literal>, "
562 "<literal>hg</literal> (Mercurial), <literal>mtn</literal> (Monotone), "
563 "<literal>svn</literal> (Subversion).  It is allowed to specify different VCS "
564 "fields for the same package: they will all be shown in the PTS web "
565 "interface."
566 msgstr ""
567
568 #. type: Content of: <chapter><section><section><section><para>
569 #: best-pkging-practices.dbk:392
570 msgid ""
571 "The information is meant to be useful for a user knowledgeable in the given "
572 "Version Control System and willing to build the current version of a package "
573 "from the VCS sources.  Other uses of this information might include "
574 "automatic building of the latest VCS version of the given package.  To this "
575 "end the location pointed to by the field should better be version agnostic "
576 "and point to the main branch (for VCSs supporting such a concept).  Also, "
577 "the location pointed to should be accessible to the final user; fulfilling "
578 "this requirement might imply pointing to an anonymous access of the "
579 "repository instead of pointing to an SSH-accessible version of the same."
580 msgstr ""
581
582 #. type: Content of: <chapter><section><section><section><para>
583 #: best-pkging-practices.dbk:403
584 msgid ""
585 "In the following example, an instance of the field for a Subversion "
586 "repository of the <systemitem role=\"package\">vim</systemitem> package is "
587 "shown.  Note how the URL is in the <literal>svn://</literal> scheme (instead "
588 "of <literal>svn+ssh://</literal>) and how it points to the "
589 "<filename>trunk/</filename> branch.  The use of the "
590 "<literal>Vcs-Browser</literal> and <literal>Homepage</literal> fields "
591 "described above is also shown."
592 msgstr ""
593
594 #. type: Content of: <chapter><section><section><section><screen>
595 #: best-pkging-practices.dbk:412
596 #, no-wrap
597 msgid ""
598 "  Source: vim\n"
599 "  Section: editors\n"
600 "  Priority: optional\n"
601 "  &lt;snip&gt;\n"
602 "  Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n"
603 "  Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim\n"
604 "  Homepage: http://www.vim.org\n"
605 msgstr ""
606
607 #. type: Content of: <chapter><section><title>
608 #: best-pkging-practices.dbk:427
609 msgid "Best practices for <filename>debian/changelog</filename>"
610 msgstr ""
611
612 #. type: Content of: <chapter><section><para>
613 #: best-pkging-practices.dbk:429
614 msgid ""
615 "The following practices supplement the <ulink "
616 "url=\"&url-debian-policy;ch-docs.html#s-changelogs\">Policy on changelog "
617 "files</ulink>."
618 msgstr ""
619
620 #. type: Content of: <chapter><section><section><title>
621 #: best-pkging-practices.dbk:434
622 msgid "Writing useful changelog entries"
623 msgstr ""
624
625 #. type: Content of: <chapter><section><section><para>
626 #: best-pkging-practices.dbk:436
627 msgid ""
628 "The changelog entry for a package revision documents changes in that "
629 "revision, and only them.  Concentrate on describing significant and "
630 "user-visible changes that were made since the last version."
631 msgstr ""
632
633 #. type: Content of: <chapter><section><section><para>
634 #: best-pkging-practices.dbk:441
635 msgid ""
636 "Focus on <emphasis>what</emphasis> was changed — who, how and when are "
637 "usually less important.  Having said that, remember to politely attribute "
638 "people who have provided notable help in making the package (e.g., those who "
639 "have sent in patches)."
640 msgstr ""
641
642 #. type: Content of: <chapter><section><section><para>
643 #: best-pkging-practices.dbk:447
644 msgid ""
645 "There's no need to elaborate the trivial and obvious changes.  You can also "
646 "aggregate several changes in one entry.  On the other hand, don't be overly "
647 "terse if you have undertaken a major change.  Be especially clear if there "
648 "are changes that affect the behaviour of the program.  For further "
649 "explanations, use the <filename>README.Debian</filename> file."
650 msgstr ""
651
652 #. type: Content of: <chapter><section><section><para>
653 #: best-pkging-practices.dbk:454
654 msgid ""
655 "Use common English so that the majority of readers can comprehend it.  Avoid "
656 "abbreviations, tech-speak and jargon when explaining changes that close "
657 "bugs, especially for bugs filed by users that did not strike you as "
658 "particularly technically savvy.  Be polite, don't swear."
659 msgstr ""
660
661 #. type: Content of: <chapter><section><section><para>
662 #: best-pkging-practices.dbk:460
663 msgid ""
664 "It is sometimes desirable to prefix changelog entries with the names of the "
665 "files that were changed.  However, there's no need to explicitly list each "
666 "and every last one of the changed files, especially if the change was small "
667 "or repetitive.  You may use wildcards."
668 msgstr ""
669
670 #. type: Content of: <chapter><section><section><para>
671 #: best-pkging-practices.dbk:466
672 msgid ""
673 "When referring to bugs, don't assume anything.  Say what the problem was, "
674 "how it was fixed, and append the closes: #nnnnn string.  See <xref "
675 "linkend=\"upload-bugfix\"/> for more information."
676 msgstr ""
677
678 #. type: Content of: <chapter><section><section><title>
679 #: best-pkging-practices.dbk:473
680 msgid "Common misconceptions about changelog entries"
681 msgstr ""
682
683 #. type: Content of: <chapter><section><section><para>
684 #: best-pkging-practices.dbk:475
685 msgid ""
686 "The changelog entries should <emphasis role=\"strong\">not</emphasis> "
687 "document generic packaging issues (Hey, if you're looking for foo.conf, it's "
688 "in /etc/blah/.), since administrators and users are supposed to be at least "
689 "remotely acquainted with how such things are generally arranged on Debian "
690 "systems.  Do, however, mention if you change the location of a configuration "
691 "file."
692 msgstr ""
693
694 #. type: Content of: <chapter><section><section><para>
695 #: best-pkging-practices.dbk:483
696 msgid ""
697 "The only bugs closed with a changelog entry should be those that are "
698 "actually fixed in the same package revision.  Closing unrelated bugs in the "
699 "changelog is bad practice.  See <xref linkend=\"upload-bugfix\"/>."
700 msgstr ""
701
702 #. type: Content of: <chapter><section><section><para>
703 #: best-pkging-practices.dbk:488
704 msgid ""
705 "The changelog entries should <emphasis role=\"strong\">not</emphasis> be "
706 "used for random discussion with bug reporters (I don't see segfaults when "
707 "starting foo with option bar; send in more info), general statements on "
708 "life, the universe and everything (sorry this upload took me so long, but I "
709 "caught the flu), or pleas for help (the bug list on this package is huge, "
710 "please lend me a hand).  Such things usually won't be noticed by their "
711 "target audience, but may annoy people who wish to read information about "
712 "actual changes in the package.  See <xref linkend=\"bug-answering\"/> for "
713 "more information on how to use the bug tracking system."
714 msgstr ""
715
716 #. type: Content of: <chapter><section><section><para>
717 #: best-pkging-practices.dbk:499
718 msgid ""
719 "It is an old tradition to acknowledge bugs fixed in non-maintainer uploads "
720 "in the first changelog entry of the proper maintainer upload.  As we have "
721 "version tracking now, it is enough to keep the NMUed changelog entries and "
722 "just mention this fact in your own changelog entry."
723 msgstr ""
724
725 #. type: Content of: <chapter><section><section><title>
726 #: best-pkging-practices.dbk:507
727 msgid "Common errors in changelog entries"
728 msgstr ""
729
730 #. type: Content of: <chapter><section><section><para>
731 #: best-pkging-practices.dbk:509
732 msgid ""
733 "The following examples demonstrate some common errors or examples of bad "
734 "style in changelog entries."
735 msgstr ""
736
737 #. type: Content of: <chapter><section><section><screen>
738 #: best-pkging-practices.dbk:513
739 #, no-wrap
740 msgid "  * Fixed all outstanding bugs.\n"
741 msgstr ""
742
743 #. type: Content of: <chapter><section><section><para>
744 #: best-pkging-practices.dbk:516
745 msgid "This doesn't tell readers anything too useful, obviously."
746 msgstr ""
747
748 #. type: Content of: <chapter><section><section><screen>
749 #: best-pkging-practices.dbk:519
750 #, no-wrap
751 msgid "  * Applied patch from Jane Random.\n"
752 msgstr ""
753
754 #. type: Content of: <chapter><section><section><para>
755 #: best-pkging-practices.dbk:522
756 msgid "What was the patch about?"
757 msgstr ""
758
759 #. type: Content of: <chapter><section><section><screen>
760 #: best-pkging-practices.dbk:525
761 #, no-wrap
762 msgid "  * Late night install target overhaul.\n"
763 msgstr ""
764
765 #. type: Content of: <chapter><section><section><para>
766 #: best-pkging-practices.dbk:528
767 msgid ""
768 "Overhaul which accomplished what? Is the mention of late night supposed to "
769 "remind us that we shouldn't trust that code?"
770 msgstr ""
771
772 #. type: Content of: <chapter><section><section><screen>
773 #: best-pkging-practices.dbk:532
774 #, no-wrap
775 msgid "  * Fix vsync FU w/ ancient CRTs.\n"
776 msgstr ""
777
778 #. type: Content of: <chapter><section><section><para>
779 #: best-pkging-practices.dbk:535
780 msgid ""
781 "Too many acronyms, and it's not overly clear what the, uh, fsckup (oops, a "
782 "curse word!) was actually about, or how it was fixed."
783 msgstr ""
784
785 #. type: Content of: <chapter><section><section><screen>
786 #: best-pkging-practices.dbk:539
787 #, no-wrap
788 msgid "  * This is not a bug, closes: #nnnnnn.\n"
789 msgstr ""
790
791 #. type: Content of: <chapter><section><section><para>
792 #: best-pkging-practices.dbk:542
793 msgid ""
794 "First of all, there's absolutely no need to upload the package to convey "
795 "this information; instead, use the bug tracking system.  Secondly, there's "
796 "no explanation as to why the report is not a bug."
797 msgstr ""
798
799 #. type: Content of: <chapter><section><section><screen>
800 #: best-pkging-practices.dbk:547
801 #, no-wrap
802 msgid "  * Has been fixed for ages, but I forgot to close; closes: #54321.\n"
803 msgstr ""
804
805 #. type: Content of: <chapter><section><section><para>
806 #: best-pkging-practices.dbk:550
807 msgid ""
808 "If for some reason you didn't mention the bug number in a previous changelog "
809 "entry, there's no problem, just close the bug normally in the BTS.  There's "
810 "no need to touch the changelog file, presuming the description of the fix is "
811 "already in (this applies to the fixes by the upstream authors/maintainers as "
812 "well, you don't have to track bugs that they fixed ages ago in your "
813 "changelog)."
814 msgstr ""
815
816 #. type: Content of: <chapter><section><section><screen>
817 #: best-pkging-practices.dbk:557
818 #, no-wrap
819 msgid "  * Closes: #12345, #12346, #15432\n"
820 msgstr ""
821
822 #. type: Content of: <chapter><section><section><para>
823 #: best-pkging-practices.dbk:560
824 msgid ""
825 "Where's the description? If you can't think of a descriptive message, start "
826 "by inserting the title of each different bug."
827 msgstr ""
828
829 #. type: Content of: <chapter><section><section><title>
830 #: best-pkging-practices.dbk:566
831 msgid "Supplementing changelogs with <filename>NEWS.Debian</filename> files"
832 msgstr ""
833
834 #. type: Content of: <chapter><section><section><para>
835 #: best-pkging-practices.dbk:568
836 msgid ""
837 "Important news about changes in a package can also be put in "
838 "<filename>NEWS.Debian</filename> files.  The news will be displayed by tools "
839 "like <systemitem role=\"package\">apt-listchanges</systemitem>, before all "
840 "the rest of the changelogs.  This is the preferred means to let the user "
841 "know about significant changes in a package.  It is better than using "
842 "<systemitem role=\"package\">debconf</systemitem> notes since it is less "
843 "annoying and the user can go back and refer to the "
844 "<filename>NEWS.Debian</filename> file after the install.  And it's better "
845 "than listing major changes in <filename>README.Debian</filename>, since the "
846 "user can easily miss such notes."
847 msgstr ""
848
849 #. type: Content of: <chapter><section><section><para>
850 #: best-pkging-practices.dbk:579
851 msgid ""
852 "The file format is the same as a debian changelog file, but leave off the "
853 "asterisks and describe each news item with a full paragraph when necessary "
854 "rather than the more concise summaries that would go in a changelog.  It's a "
855 "good idea to run your file through <literal>dpkg-parsechangelog</literal> to "
856 "check its formatting as it will not be automatically checked during build as "
857 "the changelog is.  Here is an example of a real "
858 "<filename>NEWS.Debian</filename> file:"
859 msgstr ""
860
861 #. type: Content of: <chapter><section><section><screen>
862 #: best-pkging-practices.dbk:588
863 #, no-wrap
864 msgid ""
865 "cron (3.0pl1-74) unstable; urgency=low\n"
866 "\n"
867 "    The checksecurity script is no longer included with the cron package:\n"
868 "    it now has its own package, checksecurity. If you liked the\n"
869 "    functionality provided with that script, please install the new\n"
870 "    package.\n"
871 "\n"
872 " -- Steve Greenland &lt;stevegr@debian.org&gt;  Sat,  6 Sep 2003 17:15:03 "
873 "-0500\n"
874 msgstr ""
875
876 #. type: Content of: <chapter><section><section><para>
877 #: best-pkging-practices.dbk:598
878 msgid ""
879 "The <filename>NEWS.Debian</filename> file is installed as "
880 "<filename>/usr/share/doc/<replaceable>package</replaceable>/NEWS.Debian.gz</filename>.  "
881 "It is compressed, and always has that name even in Debian native packages.  "
882 "If you use <literal>debhelper</literal>, "
883 "<literal>dh_installchangelogs</literal> will install "
884 "<filename>debian/NEWS</filename> files for you."
885 msgstr ""
886
887 #. type: Content of: <chapter><section><section><para>
888 #: best-pkging-practices.dbk:605
889 msgid ""
890 "Unlike changelog files, you need not update <filename>NEWS.Debian</filename> "
891 "files with every release.  Only update them if you have something "
892 "particularly newsworthy that user should know about.  If you have no news at "
893 "all, there's no need to ship a <filename>NEWS.Debian</filename> file in your "
894 "package.  No news is good news!"
895 msgstr ""
896
897 #. type: Content of: <chapter><section><title>
898 #: best-pkging-practices.dbk:627
899 msgid "Best practices for maintainer scripts"
900 msgstr ""
901
902 #. type: Content of: <chapter><section><para>
903 #: best-pkging-practices.dbk:629
904 msgid ""
905 "Maintainer scripts include the files <filename>debian/postinst</filename>, "
906 "<filename>debian/preinst</filename>, <filename>debian/prerm</filename> and "
907 "<filename>debian/postrm</filename>.  These scripts take care of any package "
908 "installation or deinstallation setup which isn't handled merely by the "
909 "creation or removal of files and directories.  The following instructions "
910 "supplement the <ulink url=\"&url-debian-policy;\">Debian Policy</ulink>."
911 msgstr ""
912
913 #. type: Content of: <chapter><section><para>
914 #: best-pkging-practices.dbk:637
915 msgid ""
916 "Maintainer scripts must be idempotent.  That means that you need to make "
917 "sure nothing bad will happen if the script is called twice where it would "
918 "usually be called once."
919 msgstr ""
920
921 #. type: Content of: <chapter><section><para>
922 #: best-pkging-practices.dbk:642
923 msgid ""
924 "Standard input and output may be redirected (e.g.  into pipes) for logging "
925 "purposes, so don't rely on them being a tty."
926 msgstr ""
927
928 #. type: Content of: <chapter><section><para>
929 #: best-pkging-practices.dbk:646
930 msgid ""
931 "All prompting or interactive configuration should be kept to a minimum.  "
932 "When it is necessary, you should use the <systemitem "
933 "role=\"package\">debconf</systemitem> package for the interface.  Remember "
934 "that prompting in any case can only be in the <literal>configure</literal> "
935 "stage of the <filename>postinst</filename> script."
936 msgstr ""
937
938 #. type: Content of: <chapter><section><para>
939 #: best-pkging-practices.dbk:653
940 msgid ""
941 "Keep the maintainer scripts as simple as possible.  We suggest you use pure "
942 "POSIX shell scripts.  Remember, if you do need any bash features, the "
943 "maintainer script must have a bash shebang line.  POSIX shell or Bash are "
944 "preferred to Perl, since they enable <systemitem "
945 "role=\"package\">debhelper</systemitem> to easily add bits to the scripts."
946 msgstr ""
947
948 #. type: Content of: <chapter><section><para>
949 #: best-pkging-practices.dbk:660
950 msgid ""
951 "If you change your maintainer scripts, be sure to test package removal, "
952 "double installation, and purging.  Be sure that a purged package is "
953 "completely gone, that is, it must remove any files created, directly or "
954 "indirectly, in any maintainer script."
955 msgstr ""
956
957 #. type: Content of: <chapter><section><para>
958 #: best-pkging-practices.dbk:666
959 msgid ""
960 "If you need to check for the existence of a command, you should use "
961 "something like"
962 msgstr ""
963
964 #. type: Content of: <chapter><section><programlisting>
965 #: best-pkging-practices.dbk:669
966 #, no-wrap
967 msgid "if [ -x /usr/sbin/install-docs ]; then ..."
968 msgstr ""
969
970 #. type: Content of: <chapter><section><para>
971 #: best-pkging-practices.dbk:671
972 msgid ""
973 "If you don't wish to hard-code the path of a command in your maintainer "
974 "script, the following POSIX-compliant shell function may help:"
975 msgstr ""
976
977 #. type: Content of: <chapter><section><para>
978 #: best-pkging-practices.dbk:676
979 msgid ""
980 "You can use this function to search <varname>$PATH</varname> for a command "
981 "name, passed as an argument.  It returns true (zero) if the command was "
982 "found, and false if not.  This is really the most portable way, since "
983 "<literal>command -v</literal>, <command>type</command>, and "
984 "<command>which</command> are not POSIX."
985 msgstr ""
986
987 #. type: Content of: <chapter><section><para>
988 #: best-pkging-practices.dbk:683
989 msgid ""
990 "While <command>which</command> is an acceptable alternative, since it is "
991 "from the required <systemitem role=\"package\">debianutils</systemitem> "
992 "package, it's not on the root partition.  That is, it's in "
993 "<filename>/usr/bin</filename> rather than <filename>/bin</filename>, so one "
994 "can't use it in scripts which are run before the <filename>/usr</filename> "
995 "partition is mounted.  Most scripts won't have this problem, though."
996 msgstr ""
997
998 #. type: Content of: <chapter><section><title>
999 #: best-pkging-practices.dbk:693
1000 msgid ""
1001 "Configuration management with <systemitem "
1002 "role=\"package\">debconf</systemitem>"
1003 msgstr ""
1004
1005 #. type: Content of: <chapter><section><para>
1006 #: best-pkging-practices.dbk:695
1007 msgid ""
1008 "<systemitem role=\"package\">Debconf</systemitem> is a configuration "
1009 "management system which can be used by all the various packaging scripts "
1010 "(<filename>postinst</filename> mainly) to request feedback from the user "
1011 "concerning how to configure the package.  Direct user interactions must now "
1012 "be avoided in favor of <systemitem role=\"package\">debconf</systemitem> "
1013 "interaction.  This will enable non-interactive installations in the future."
1014 msgstr ""
1015
1016 #. type: Content of: <chapter><section><para>
1017 #: best-pkging-practices.dbk:703
1018 msgid ""
1019 "Debconf is a great tool but it is often poorly used.  Many common mistakes "
1020 "are listed in the <citerefentry> "
1021 "<refentrytitle>debconf-devel</refentrytitle> <manvolnum>7</manvolnum> "
1022 "</citerefentry> man page.  It is something that you must read if you decide "
1023 "to use debconf.  Also, we document some best practices here."
1024 msgstr ""
1025
1026 #. type: Content of: <chapter><section><para>
1027 #: best-pkging-practices.dbk:710
1028 msgid ""
1029 "These guidelines include some writing style and typography recommendations, "
1030 "general considerations about debconf usage as well as more specific "
1031 "recommendations for some parts of the distribution (the installation system "
1032 "for instance)."
1033 msgstr ""
1034
1035 #. type: Content of: <chapter><section><section><title>
1036 #: best-pkging-practices.dbk:716
1037 msgid "Do not abuse debconf"
1038 msgstr ""
1039
1040 #. type: Content of: <chapter><section><section><para>
1041 #: best-pkging-practices.dbk:718
1042 msgid ""
1043 "Since debconf appeared in Debian, it has been widely abused and several "
1044 "criticisms received by the Debian distribution come from debconf abuse with "
1045 "the need of answering a wide bunch of questions before getting any little "
1046 "thing installed."
1047 msgstr ""
1048
1049 #. type: Content of: <chapter><section><section><para>
1050 #: best-pkging-practices.dbk:724
1051 msgid ""
1052 "Keep usage notes to what they belong: the <filename>NEWS.Debian</filename>, "
1053 "or <filename>README.Debian</filename> file.  Only use notes for important "
1054 "notes which may directly affect the package usability.  Remember that notes "
1055 "will always block the install until confirmed or bother the user by email."
1056 msgstr ""
1057
1058 #. type: Content of: <chapter><section><section><para>
1059 #: best-pkging-practices.dbk:730
1060 msgid ""
1061 "Carefully choose the questions priorities in maintainer scripts.  See "
1062 "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> "
1063 "<manvolnum>7</manvolnum> </citerefentry> for details about priorities.  Most "
1064 "questions should use medium and low priorities."
1065 msgstr ""
1066
1067 #. type: Content of: <chapter><section><section><title>
1068 #: best-pkging-practices.dbk:738
1069 msgid "General recommendations for authors and translators"
1070 msgstr ""
1071
1072 #. type: Content of: <chapter><section><section><section><title>
1073 #: best-pkging-practices.dbk:740
1074 msgid "Write correct English"
1075 msgstr ""
1076
1077 #. type: Content of: <chapter><section><section><section><para>
1078 #: best-pkging-practices.dbk:742
1079 msgid ""
1080 "Most Debian package maintainers are not native English speakers.  So, "
1081 "writing properly phrased templates may not be easy for them."
1082 msgstr ""
1083
1084 #. type: Content of: <chapter><section><section><section><para>
1085 #: best-pkging-practices.dbk:746
1086 msgid ""
1087 "Please use (and abuse) &email-debian-l10n-english; mailing list.  Have your "
1088 "templates proofread."
1089 msgstr ""
1090
1091 #. type: Content of: <chapter><section><section><section><para>
1092 #: best-pkging-practices.dbk:750
1093 msgid ""
1094 "Badly written templates give a poor image of your package, of your "
1095 "work... or even of Debian itself."
1096 msgstr ""
1097
1098 #. type: Content of: <chapter><section><section><section><para>
1099 #: best-pkging-practices.dbk:754
1100 msgid ""
1101 "Avoid technical jargon as much as possible.  If some terms sound common to "
1102 "you, they may be impossible to understand for others.  If you cannot avoid "
1103 "them, try to explain them (use the extended description).  When doing so, "
1104 "try to balance between verbosity and simplicity."
1105 msgstr ""
1106
1107 #. type: Content of: <chapter><section><section><section><title>
1108 #: best-pkging-practices.dbk:762
1109 msgid "Be kind to translators"
1110 msgstr ""
1111
1112 #. type: Content of: <chapter><section><section><section><para>
1113 #: best-pkging-practices.dbk:764
1114 msgid ""
1115 "Debconf templates may be translated.  Debconf, along with its sister package "
1116 "<command>po-debconf</command> offers a simple framework for getting "
1117 "templates translated by translation teams or even individuals."
1118 msgstr ""
1119
1120 #. type: Content of: <chapter><section><section><section><para>
1121 #: best-pkging-practices.dbk:769
1122 msgid ""
1123 "Please use gettext-based templates.  Install <systemitem "
1124 "role=\"package\">po-debconf</systemitem> on your development system and read "
1125 "its documentation (<command>man po-debconf</command> is a good start)."
1126 msgstr ""
1127
1128 #. type: Content of: <chapter><section><section><section><para>
1129 #: best-pkging-practices.dbk:774
1130 msgid ""
1131 "Avoid changing templates too often.  Changing templates text induces more "
1132 "work to translators which will get their translation fuzzied.  A fuzzy "
1133 "translation is a string for which the original changed since it was "
1134 "translated, therefore requiring some update by a translator to be usable.  "
1135 "When changes are small enough, the original translation is kept in PO files "
1136 "but marked as <literal>fuzzy</literal>."
1137 msgstr ""
1138
1139 #. type: Content of: <chapter><section><section><section><para>
1140 #: best-pkging-practices.dbk:782
1141 msgid ""
1142 "If you plan to do changes to your original templates, please use the "
1143 "notification system provided with the <systemitem "
1144 "role=\"package\">po-debconf</systemitem> package, namely the "
1145 "<command>podebconf-report-po</command>, to contact translators.  Most active "
1146 "translators are very responsive and getting their work included along with "
1147 "your modified templates will save you additional uploads.  If you use "
1148 "gettext-based templates, the translator's name and e-mail addresses are "
1149 "mentioned in the PO files headers and will be used by "
1150 "<command>podebconf-report-po</command>."
1151 msgstr ""
1152
1153 #. type: Content of: <chapter><section><section><section><para>
1154 #: best-pkging-practices.dbk:794
1155 msgid "A recommended use of that utility is:"
1156 msgstr ""
1157
1158 #. type: Content of: <chapter><section><section><section><programlisting>
1159 #: best-pkging-practices.dbk:796
1160 #, no-wrap
1161 msgid ""
1162 "cd debian/po &amp;&amp; podebconf-report-po --call --languageteam "
1163 "--withtranslators --deadline=\"+10 days\""
1164 msgstr ""
1165
1166 #. type: Content of: <chapter><section><section><section><para>
1167 #: best-pkging-practices.dbk:798
1168 msgid ""
1169 "This command will first synchronize the PO and POT files in "
1170 "<filename>debian/po</filename> with the templates files listed in "
1171 "<filename>debian/po/POTFILES.in</filename>.  Then, it will send a call for "
1172 "new translations, in the &email-debian-i18n; mailing list. Finally, it will "
1173 "also send a call for translation updates to the language team (mentioned in "
1174 "the <literal>Language-Team</literal> field of each PO file)  as well as the "
1175 "last translator (mentioned in <literal>Last-translator</literal>)."
1176 msgstr ""
1177
1178 #. type: Content of: <chapter><section><section><section><para>
1179 #: best-pkging-practices.dbk:807
1180 msgid ""
1181 "Giving a deadline to translators is always appreciated, so that they can "
1182 "organize their work. Please remember that some translation teams have a "
1183 "formalized translate/review process and a delay lower than 10 days is "
1184 "considered as unreasonable. A shorter delay puts too much pressure on "
1185 "translation teams and should be kept for very minor changes."
1186 msgstr ""
1187
1188 #. type: Content of: <chapter><section><section><section><para>
1189 #: best-pkging-practices.dbk:814
1190 msgid ""
1191 "If in doubt, you may also contact the translation team for a given language "
1192 "(debian-l10n-xxxxx@&lists-host;), or the &email-debian-i18n; mailing list."
1193 msgstr ""
1194
1195 #. type: Content of: <chapter><section><section><section><title>
1196 #: best-pkging-practices.dbk:821
1197 msgid "Unfuzzy complete translations when correcting typos and spelling"
1198 msgstr ""
1199
1200 #. type: Content of: <chapter><section><section><section><para>
1201 #: best-pkging-practices.dbk:823
1202 msgid ""
1203 "When the text of a debconf template is corrected and you are <emphasis "
1204 "role=\"strong\">sure</emphasis> that the change does <emphasis "
1205 "role=\"strong\">not</emphasis> affect translations, please be kind to "
1206 "translators and <emphasis>unfuzzy</emphasis> their translations."
1207 msgstr ""
1208
1209 #. type: Content of: <chapter><section><section><section><para>
1210 #: best-pkging-practices.dbk:829
1211 msgid ""
1212 "If you don't do so, the whole template will not be translated as long as a "
1213 "translator will send you an update."
1214 msgstr ""
1215
1216 #. type: Content of: <chapter><section><section><section><para>
1217 #: best-pkging-practices.dbk:833
1218 msgid ""
1219 "To <emphasis>unfuzzy</emphasis> translations, you can use "
1220 "<command>msguntypot</command> (part of the <systemitem "
1221 "role=\"package\">po4a</systemitem> package)."
1222 msgstr ""
1223
1224 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1225 #: best-pkging-practices.dbk:840
1226 msgid "Regenerate the POT and PO files."
1227 msgstr ""
1228
1229 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1230 #: best-pkging-practices.dbk:842 best-pkging-practices.dbk:865
1231 #, no-wrap
1232 msgid "debconf-updatepo"
1233 msgstr ""
1234
1235 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1236 #: best-pkging-practices.dbk:846
1237 msgid "Make a copy of the POT file."
1238 msgstr ""
1239
1240 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1241 #: best-pkging-practices.dbk:848
1242 #, no-wrap
1243 msgid "cp templates.pot templates.pot.orig"
1244 msgstr ""
1245
1246 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1247 #: best-pkging-practices.dbk:852
1248 msgid "Make a copy of all the PO files."
1249 msgstr ""
1250
1251 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1252 #: best-pkging-practices.dbk:854
1253 #, no-wrap
1254 msgid "mkdir po_fridge; cp *.po po_fridge"
1255 msgstr ""
1256
1257 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1258 #: best-pkging-practices.dbk:858
1259 msgid "Change the debconf template files to fix the typos."
1260 msgstr ""
1261
1262 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1263 #: best-pkging-practices.dbk:863
1264 msgid "Regenerate the POT and PO files (again)."
1265 msgstr ""
1266
1267 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1268 #: best-pkging-practices.dbk:867
1269 msgid ""
1270 "At this point, the typo fix fuzzied all the translations, and this "
1271 "unfortunate change is the only one between the PO files of your main "
1272 "directory and the one from the fridge. Here is how to solve this."
1273 msgstr ""
1274
1275 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1276 #: best-pkging-practices.dbk:874
1277 msgid "Discard fuzzy translation, restore the ones from the fridge."
1278 msgstr ""
1279
1280 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1281 #: best-pkging-practices.dbk:876
1282 #, no-wrap
1283 msgid "cp po_fridge/*.po ."
1284 msgstr ""
1285
1286 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1287 #: best-pkging-practices.dbk:880
1288 msgid ""
1289 "Manually merge the PO files with the new POT file, but taking the useless "
1290 "fuzzy into account."
1291 msgstr ""
1292
1293 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1294 #: best-pkging-practices.dbk:882
1295 #, no-wrap
1296 msgid "msguntypot -o templates.pot.orig -n templates.pot *.po"
1297 msgstr ""
1298
1299 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1300 #: best-pkging-practices.dbk:886
1301 msgid "Clean up."
1302 msgstr ""
1303
1304 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1305 #: best-pkging-practices.dbk:888
1306 #, no-wrap
1307 msgid "rm -rf templates.pot.orig po_fridge"
1308 msgstr ""
1309
1310 #. type: Content of: <chapter><section><section><section><title>
1311 #: best-pkging-practices.dbk:894
1312 msgid "Do not make assumptions about interfaces"
1313 msgstr ""
1314
1315 #. type: Content of: <chapter><section><section><section><para>
1316 #: best-pkging-practices.dbk:896
1317 msgid ""
1318 "Templates text should not make reference to widgets belonging to some "
1319 "debconf interfaces.  Sentences like <emphasis>If you answer "
1320 "Yes...</emphasis> have no meaning for users of graphical interfaces which "
1321 "use checkboxes for boolean questions."
1322 msgstr ""
1323
1324 #. type: Content of: <chapter><section><section><section><para>
1325 #: best-pkging-practices.dbk:901
1326 msgid ""
1327 "String templates should also avoid mentioning the default values in their "
1328 "description.  First, because this is redundant with the values seen by the "
1329 "users.  Also, because these default values may be different from the "
1330 "maintainer choices (for instance, when the debconf database was preseeded)."
1331 msgstr ""
1332
1333 #. type: Content of: <chapter><section><section><section><para>
1334 #: best-pkging-practices.dbk:907
1335 msgid ""
1336 "More generally speaking, try to avoid referring to user actions.  Just give "
1337 "facts."
1338 msgstr ""
1339
1340 #. type: Content of: <chapter><section><section><section><title>
1341 #: best-pkging-practices.dbk:913
1342 msgid "Do not use first person"
1343 msgstr ""
1344
1345 #. type: Content of: <chapter><section><section><section><para>
1346 #: best-pkging-practices.dbk:915
1347 msgid ""
1348 "You should avoid the use of first person (<emphasis>I will do "
1349 "this...</emphasis> or <emphasis>We recommend...</emphasis>).  The computer "
1350 "is not a person and the Debconf templates do not speak for the Debian "
1351 "developers.  You should use neutral construction.  Those of you who already "
1352 "wrote scientific publications, just write your templates like you would "
1353 "write a scientific paper.  However, try using active voice if still "
1354 "possible, like <emphasis>Enable this if ...</emphasis> instead of "
1355 "<emphasis>This can be enabled if...</emphasis>."
1356 msgstr ""
1357
1358 #. type: Content of: <chapter><section><section><section><title>
1359 #: best-pkging-practices.dbk:925
1360 msgid "Be gender neutral"
1361 msgstr ""
1362
1363 #. type: Content of: <chapter><section><section><section><para>
1364 #: best-pkging-practices.dbk:927
1365 msgid ""
1366 "The world is made of men and women.  Please use gender-neutral constructions "
1367 "in your writing."
1368 msgstr ""
1369
1370 #. type: Content of: <chapter><section><section><title>
1371 #: best-pkging-practices.dbk:935
1372 msgid "Templates fields definition"
1373 msgstr ""
1374
1375 #. type: Content of: <chapter><section><section><para>
1376 #: best-pkging-practices.dbk:937
1377 msgid ""
1378 "This part gives some information which is mostly taken from the "
1379 "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> "
1380 "<manvolnum>7</manvolnum> </citerefentry> manual page."
1381 msgstr ""
1382
1383 #. type: Content of: <chapter><section><section><section><title>
1384 #: best-pkging-practices.dbk:942
1385 msgid "Type"
1386 msgstr ""
1387
1388 #. type: Content of: <chapter><section><section><section><section><title>
1389 #: best-pkging-practices.dbk:944
1390 msgid "string"
1391 msgstr ""
1392
1393 #. type: Content of: <chapter><section><section><section><section><para>
1394 #: best-pkging-practices.dbk:946
1395 msgid "Results in a free-form input field that the user can type any string into."
1396 msgstr ""
1397
1398 #. type: Content of: <chapter><section><section><section><section><title>
1399 #: best-pkging-practices.dbk:951
1400 msgid "password"
1401 msgstr ""
1402
1403 #. type: Content of: <chapter><section><section><section><section><para>
1404 #: best-pkging-practices.dbk:953
1405 msgid ""
1406 "Prompts the user for a password.  Use this with caution; be aware that the "
1407 "password the user enters will be written to debconf's database.  You should "
1408 "probably clean that value out of the database as soon as is possible."
1409 msgstr ""
1410
1411 #. type: Content of: <chapter><section><section><section><section><title>
1412 #: best-pkging-practices.dbk:960
1413 msgid "boolean"
1414 msgstr ""
1415
1416 #. type: Content of: <chapter><section><section><section><section><para>
1417 #: best-pkging-practices.dbk:962
1418 msgid ""
1419 "A true/false choice.  Remember: true/false, <emphasis role=\"strong\">not "
1420 "yes/no</emphasis>..."
1421 msgstr ""
1422
1423 #. type: Content of: <chapter><section><section><section><section><title>
1424 #: best-pkging-practices.dbk:968
1425 msgid "select"
1426 msgstr ""
1427
1428 #. type: Content of: <chapter><section><section><section><section><para>
1429 #: best-pkging-practices.dbk:970
1430 msgid ""
1431 "A choice between one of a number of values.  The choices must be specified "
1432 "in a field named 'Choices'.  Separate the possible values with commas and "
1433 "spaces, like this: <literal>Choices: yes, no, maybe</literal>."
1434 msgstr ""
1435
1436 #. type: Content of: <chapter><section><section><section><section><para>
1437 #: best-pkging-practices.dbk:975
1438 msgid ""
1439 "If choices are translatable strings, the 'Choices' field may be marked as "
1440 "translatable by using <literal>__Choices</literal>. The double underscore "
1441 "will split out each choice in a separate string."
1442 msgstr ""
1443
1444 #. type: Content of: <chapter><section><section><section><section><para>
1445 #: best-pkging-practices.dbk:980
1446 msgid ""
1447 "The <command>po-debconf</command> system also offers interesting "
1448 "possibilities to only mark <emphasis role=\"strong\">some</emphasis> choices "
1449 "as translatable.  Example:"
1450 msgstr ""
1451
1452 #. type: Content of: <chapter><section><section><section><section><programlisting>
1453 #: best-pkging-practices.dbk:985
1454 #, no-wrap
1455 msgid ""
1456 "Template: foo/bar\n"
1457 "Type: Select\n"
1458 "#flag:translate:3\n"
1459 "__Choices: PAL, SECAM, Other\n"
1460 "_Description: TV standard:\n"
1461 " Please choose the TV standard used in your country.\n"
1462 msgstr ""
1463
1464 #. type: Content of: <chapter><section><section><section><section><para>
1465 #: best-pkging-practices.dbk:993
1466 msgid ""
1467 "In that example, only the 'Other' string is translatable while others are "
1468 "acronyms that should not be translated. The above allows only 'Other' to be "
1469 "included in PO and POT files."
1470 msgstr ""
1471
1472 #. type: Content of: <chapter><section><section><section><section><para>
1473 #: best-pkging-practices.dbk:998
1474 msgid ""
1475 "The debconf templates flag system offers many such possibilities. The "
1476 "<citerefentry> <refentrytitle>po-debconf</refentrytitle> "
1477 "<manvolnum>7</manvolnum> </citerefentry> manual page lists all these "
1478 "possibilities."
1479 msgstr ""
1480
1481 #. type: Content of: <chapter><section><section><section><section><title>
1482 #: best-pkging-practices.dbk:1006
1483 msgid "multiselect"
1484 msgstr ""
1485
1486 #. type: Content of: <chapter><section><section><section><section><para>
1487 #: best-pkging-practices.dbk:1008
1488 msgid ""
1489 "Like the select data type, except the user can choose any number of items "
1490 "from the choices list (or chose none of them)."
1491 msgstr ""
1492
1493 #. type: Content of: <chapter><section><section><section><section><title>
1494 #: best-pkging-practices.dbk:1014
1495 msgid "note"
1496 msgstr ""
1497
1498 #. type: Content of: <chapter><section><section><section><section><para>
1499 #: best-pkging-practices.dbk:1016
1500 msgid ""
1501 "Rather than being a question per se, this datatype indicates a note that can "
1502 "be displayed to the user.  It should be used only for important notes that "
1503 "the user really should see, since debconf will go to great pains to make "
1504 "sure the user sees it; halting the install for them to press a key, and even "
1505 "mailing the note to them in some cases."
1506 msgstr ""
1507
1508 #. type: Content of: <chapter><section><section><section><section><title>
1509 #: best-pkging-practices.dbk:1025
1510 msgid "text"
1511 msgstr ""
1512
1513 #. type: Content of: <chapter><section><section><section><section><para>
1514 #: best-pkging-practices.dbk:1027
1515 msgid "This type is now considered obsolete: don't use it."
1516 msgstr ""
1517
1518 #. type: Content of: <chapter><section><section><section><section><title>
1519 #: best-pkging-practices.dbk:1032
1520 msgid "error"
1521 msgstr ""
1522
1523 #. type: Content of: <chapter><section><section><section><section><para>
1524 #: best-pkging-practices.dbk:1034
1525 msgid ""
1526 "This type is designed to handle error messages.  It is mostly similar to the "
1527 "note type.  Frontends may present it differently (for instance, the dialog "
1528 "frontend of cdebconf draws a red screen instead of the usual blue one)."
1529 msgstr ""
1530
1531 #. type: Content of: <chapter><section><section><section><section><para>
1532 #: best-pkging-practices.dbk:1039
1533 msgid ""
1534 "It is recommended to use this type for any message that needs user attention "
1535 "for a correction of any kind."
1536 msgstr ""
1537
1538 #. type: Content of: <chapter><section><section><section><title>
1539 #: best-pkging-practices.dbk:1047
1540 msgid "Description: short and extended description"
1541 msgstr ""
1542
1543 #. type: Content of: <chapter><section><section><section><para>
1544 #: best-pkging-practices.dbk:1049
1545 msgid ""
1546 "Template descriptions have two parts: short and extended.  The short "
1547 "description is in the Description: line of the template."
1548 msgstr ""
1549
1550 #. type: Content of: <chapter><section><section><section><para>
1551 #: best-pkging-practices.dbk:1053
1552 msgid ""
1553 "The short description should be kept short (50 characters or so) so that it "
1554 "may be accommodated by most debconf interfaces.  Keeping it short also helps "
1555 "translators, as usually translations tend to end up being longer than the "
1556 "original."
1557 msgstr ""
1558
1559 #. type: Content of: <chapter><section><section><section><para>
1560 #: best-pkging-practices.dbk:1059
1561 msgid ""
1562 "The short description should be able to stand on its own.  Some interfaces "
1563 "do not show the long description by default, or only if the user explicitely "
1564 "asks for it or even do not show it at all.  Avoid things like What do you "
1565 "want to do?"
1566 msgstr ""
1567
1568 #. type: Content of: <chapter><section><section><section><para>
1569 #: best-pkging-practices.dbk:1065
1570 msgid ""
1571 "The short description does not necessarily have to be a full sentence.  This "
1572 "is part of the keep it short and efficient recommendation."
1573 msgstr ""
1574
1575 #. type: Content of: <chapter><section><section><section><para>
1576 #: best-pkging-practices.dbk:1069
1577 msgid ""
1578 "The extended description should not repeat the short description word for "
1579 "word.  If you can't think up a long description, then first, think some "
1580 "more.  Post to debian-devel.  Ask for help.  Take a writing class! That "
1581 "extended description is important.  If after all that you still can't come "
1582 "up with anything, leave it blank."
1583 msgstr ""
1584
1585 #. type: Content of: <chapter><section><section><section><para>
1586 #: best-pkging-practices.dbk:1076
1587 msgid ""
1588 "The extended description should use complete sentences.  Paragraphs should "
1589 "be kept short for improved readability.  Do not mix two ideas in the same "
1590 "paragraph but rather use another paragraph."
1591 msgstr ""
1592
1593 #. type: Content of: <chapter><section><section><section><para>
1594 #: best-pkging-practices.dbk:1081
1595 msgid ""
1596 "Don't be too verbose.  User tend to ignore too long screens.  20 lines are "
1597 "by experience a border you shouldn't cross, because that means that in the "
1598 "classical dialog interface, people will need to scroll, and lot of people "
1599 "just don't do that."
1600 msgstr ""
1601
1602 #. type: Content of: <chapter><section><section><section><para>
1603 #: best-pkging-practices.dbk:1087
1604 msgid ""
1605 "The extended description should <emphasis role=\"strong\">never</emphasis> "
1606 "include a question."
1607 msgstr ""
1608
1609 #. type: Content of: <chapter><section><section><section><para>
1610 #: best-pkging-practices.dbk:1091
1611 msgid ""
1612 "For specific rules depending on templates type (string, boolean, etc.), "
1613 "please read below."
1614 msgstr ""
1615
1616 #. type: Content of: <chapter><section><section><section><title>
1617 #: best-pkging-practices.dbk:1097
1618 msgid "Choices"
1619 msgstr ""
1620
1621 #. type: Content of: <chapter><section><section><section><para>
1622 #: best-pkging-practices.dbk:1099
1623 msgid ""
1624 "This field should be used for select and multiselect types.  It contains the "
1625 "possible choices which will be presented to users.  These choices should be "
1626 "separated by commas."
1627 msgstr ""
1628
1629 #. type: Content of: <chapter><section><section><section><title>
1630 #: best-pkging-practices.dbk:1106
1631 msgid "Default"
1632 msgstr ""
1633
1634 #. type: Content of: <chapter><section><section><section><para>
1635 #: best-pkging-practices.dbk:1108
1636 msgid ""
1637 "This field is optional.  It contains the default answer for string, select "
1638 "and multiselect templates.  For multiselect templates, it may contain a "
1639 "comma-separated list of choices."
1640 msgstr ""
1641
1642 #. type: Content of: <chapter><section><section><title>
1643 #: best-pkging-practices.dbk:1117
1644 msgid "Templates fields specific style guide"
1645 msgstr ""
1646
1647 #. type: Content of: <chapter><section><section><section><title>
1648 #: best-pkging-practices.dbk:1119
1649 msgid "Type field"
1650 msgstr ""
1651
1652 #. type: Content of: <chapter><section><section><section><para>
1653 #: best-pkging-practices.dbk:1121
1654 msgid ""
1655 "No specific indication except: use the appropriate type by referring to the "
1656 "previous section."
1657 msgstr ""
1658
1659 #. type: Content of: <chapter><section><section><section><title>
1660 #: best-pkging-practices.dbk:1127
1661 msgid "Description field"
1662 msgstr ""
1663
1664 #. type: Content of: <chapter><section><section><section><para>
1665 #: best-pkging-practices.dbk:1129
1666 msgid ""
1667 "Below are specific instructions for properly writing the Description (short "
1668 "and extended) depending on the template type."
1669 msgstr ""
1670
1671 #. type: Content of: <chapter><section><section><section><section><title>
1672 #: best-pkging-practices.dbk:1133
1673 msgid "String/password templates"
1674 msgstr ""
1675
1676 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1677 #: best-pkging-practices.dbk:1137
1678 msgid ""
1679 "The short description is a prompt and <emphasis "
1680 "role=\"strong\">not</emphasis> a title.  Avoid question style prompts (IP "
1681 "Address?) in favour of opened prompts (IP address:).  The use of colons is "
1682 "recommended."
1683 msgstr ""
1684
1685 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1686 #: best-pkging-practices.dbk:1144
1687 msgid ""
1688 "The extended description is a complement to the short description.  In the "
1689 "extended part, explain what is being asked, rather than ask the same "
1690 "question again using longer words.  Use complete sentences.  Terse writing "
1691 "style is strongly discouraged."
1692 msgstr ""
1693
1694 #. type: Content of: <chapter><section><section><section><section><title>
1695 #: best-pkging-practices.dbk:1154
1696 msgid "Boolean templates"
1697 msgstr ""
1698
1699 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1700 #: best-pkging-practices.dbk:1158
1701 msgid ""
1702 "The short description should be phrased in the form of a question which "
1703 "should be kept short and should generally end with a question mark.  Terse "
1704 "writing style is permitted and even encouraged if the question is rather "
1705 "long (remember that translations are often longer than original versions)."
1706 msgstr ""
1707
1708 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1709 #: best-pkging-practices.dbk:1166
1710 msgid ""
1711 "Again, please avoid referring to specific interface widgets.  A common "
1712 "mistake for such templates is if you answer Yes-type constructions."
1713 msgstr ""
1714
1715 #. type: Content of: <chapter><section><section><section><section><title>
1716 #: best-pkging-practices.dbk:1174
1717 msgid "Select/Multiselect"
1718 msgstr ""
1719
1720 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1721 #: best-pkging-practices.dbk:1178
1722 msgid ""
1723 "The short description is a prompt and <emphasis "
1724 "role=\"strong\">not</emphasis> a title.  Do <emphasis "
1725 "role=\"strong\">not</emphasis> use useless Please choose...  constructions.  "
1726 "Users are clever enough to figure out they have to choose something...:)"
1727 msgstr ""
1728
1729 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1730 #: best-pkging-practices.dbk:1186
1731 msgid ""
1732 "The extended description will complete the short description.  It may refer "
1733 "to the available choices.  It may also mention that the user may choose more "
1734 "than one of the available choices, if the template is a multiselect one "
1735 "(although the interface often makes this clear)."
1736 msgstr ""
1737
1738 #. type: Content of: <chapter><section><section><section><section><title>
1739 #: best-pkging-practices.dbk:1196
1740 msgid "Notes"
1741 msgstr ""
1742
1743 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1744 #: best-pkging-practices.dbk:1200
1745 msgid ""
1746 "The short description should be considered to be a <emphasis "
1747 "role=\"strong\">title</emphasis>."
1748 msgstr ""
1749
1750 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1751 #: best-pkging-practices.dbk:1205
1752 msgid ""
1753 "The extended description is what will be displayed as a more detailed "
1754 "explanation of the note.  Phrases, no terse writing style."
1755 msgstr ""
1756
1757 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1758 #: best-pkging-practices.dbk:1211
1759 msgid ""
1760 "<emphasis role=\"strong\">Do not abuse debconf.</emphasis> Notes are the "
1761 "most common way to abuse debconf.  As written in debconf-devel manual page: "
1762 "it's best to use them only for warning about very serious problems.  The "
1763 "<filename>NEWS.Debian</filename> or <filename>README.Debian</filename> files "
1764 "are the appropriate location for a lot of notes.  If, by reading this, you "
1765 "consider converting your Note type templates to entries in "
1766 "<filename>NEWS.Debian</filename> or <filename>README.Debian</filename>, plus "
1767 "consider keeping existing translations for the future."
1768 msgstr ""
1769
1770 #. type: Content of: <chapter><section><section><section><title>
1771 #: best-pkging-practices.dbk:1226
1772 msgid "Choices field"
1773 msgstr ""
1774
1775 #. type: Content of: <chapter><section><section><section><para>
1776 #: best-pkging-practices.dbk:1228
1777 msgid ""
1778 "If the Choices are likely to change often, please consider using the "
1779 "__Choices trick.  This will split each individual choice into a single "
1780 "string, which will considerably help translators for doing their work."
1781 msgstr ""
1782
1783 #. type: Content of: <chapter><section><section><section><title>
1784 #: best-pkging-practices.dbk:1235 best-pkging-practices.dbk:1273
1785 msgid "Default field"
1786 msgstr ""
1787
1788 #. type: Content of: <chapter><section><section><section><para>
1789 #: best-pkging-practices.dbk:1237
1790 msgid ""
1791 "If the default value, for a select template, is likely to vary depending on "
1792 "the user language (for instance, if the choice is a language choice), please "
1793 "use the _Default trick."
1794 msgstr ""
1795
1796 #. type: Content of: <chapter><section><section><section><para>
1797 #: best-pkging-practices.dbk:1242
1798 msgid ""
1799 "This special field allow translators to put the most appropriate choice "
1800 "according to their own language.  It will become the default choice when "
1801 "their language is used while your own mentioned Default Choice will be used "
1802 "when using English."
1803 msgstr ""
1804
1805 #. type: Content of: <chapter><section><section><section><para>
1806 #: best-pkging-practices.dbk:1248
1807 msgid "Example, taken from the geneweb package templates:"
1808 msgstr ""
1809
1810 #. type: Content of: <chapter><section><section><section><screen>
1811 #: best-pkging-practices.dbk:1251
1812 #, no-wrap
1813 msgid ""
1814 "Template: geneweb/lang\n"
1815 "Type: select\n"
1816 "__Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech "
1817 "(cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), "
1818 "Finnish (fi), French (fr), German (de), Hebrew (he), Icelandic (is), Italian "
1819 "(it), Latvian (lv), Norwegian (no), Polish (pl), Portuguese (pt), Romanian "
1820 "(ro), Russian (ru), Spanish (es), Swedish (sv)\n"
1821 "# This is the default choice. Translators may put their own language here\n"
1822 "# instead of the default.\n"
1823 "# WARNING : you MUST use the ENGLISH NAME of your language\n"
1824 "# For instance, the french translator will need to put French (fr) here.\n"
1825 "_Default: English[ translators, please see comment in PO files]\n"
1826 "_Description: Geneweb default language:\n"
1827 msgstr ""
1828
1829 #. type: Content of: <chapter><section><section><section><para>
1830 #: best-pkging-practices.dbk:1262
1831 msgid ""
1832 "Note the use of brackets which allow internal comments in debconf fields.  "
1833 "Also note the use of comments which will show up in files the translators "
1834 "will work with."
1835 msgstr ""
1836
1837 #. type: Content of: <chapter><section><section><section><para>
1838 #: best-pkging-practices.dbk:1267
1839 msgid ""
1840 "The comments are needed as the _Default trick is a bit confusing: the "
1841 "translators may put their own choice"
1842 msgstr ""
1843
1844 #. type: Content of: <chapter><section><section><section><para>
1845 #: best-pkging-practices.dbk:1275
1846 msgid ""
1847 "Do NOT use empty default field.  If you don't want to use default values, do "
1848 "not use Default at all."
1849 msgstr ""
1850
1851 #. type: Content of: <chapter><section><section><section><para>
1852 #: best-pkging-practices.dbk:1279
1853 msgid ""
1854 "If you use po-debconf (and you <emphasis role=\"strong\">should</emphasis>, "
1855 "see <xref linkend=\"s6.5.2.2\"/>), consider making this field translatable, "
1856 "if you think it may be translated."
1857 msgstr ""
1858
1859 #. type: Content of: <chapter><section><section><section><para>
1860 #: best-pkging-practices.dbk:1284
1861 msgid ""
1862 "If the default value may vary depending on language/country (for instance "
1863 "the default value for a language choice), consider using the special "
1864 "_Default type documented in <citerefentry> "
1865 "<refentrytitle>po-debconf</refentrytitle> <manvolnum>7</manvolnum> "
1866 "</citerefentry>."
1867 msgstr ""
1868
1869 #. type: Content of: <chapter><section><title>
1870 #: best-pkging-practices.dbk:1296
1871 msgid "Internationalization"
1872 msgstr ""
1873
1874 #. type: Content of: <chapter><section><para>
1875 #: best-pkging-practices.dbk:1298
1876 msgid ""
1877 "This section contains global information for developers to make translators' "
1878 "life easier.  More information for translators and developers interested in "
1879 "internationalization are available in the <ulink "
1880 "url=\"&url-i18n-l10n;\">Internationalisation and localisation in "
1881 "Debian</ulink> documentation."
1882 msgstr ""
1883
1884 #. type: Content of: <chapter><section><section><title>
1885 #: best-pkging-practices.dbk:1305
1886 msgid "Handling debconf translations"
1887 msgstr ""
1888
1889 #. type: Content of: <chapter><section><section><para>
1890 #: best-pkging-practices.dbk:1307
1891 msgid ""
1892 "Like porters, translators have a difficult task.  They work on many packages "
1893 "and must collaborate with many different maintainers.  Moreover, most of the "
1894 "time, they are not native English speakers, so you may need to be "
1895 "particularly patient with them."
1896 msgstr ""
1897
1898 #. type: Content of: <chapter><section><section><para>
1899 #: best-pkging-practices.dbk:1313
1900 msgid ""
1901 "The goal of <systemitem role=\"package\">debconf</systemitem> was to make "
1902 "packages configuration easier for maintainers and for users.  Originally, "
1903 "translation of debconf templates was handled with "
1904 "<command>debconf-mergetemplate</command>.  However, that technique is now "
1905 "deprecated; the best way to accomplish <systemitem "
1906 "role=\"package\">debconf</systemitem> internationalization is by using the "
1907 "<systemitem role=\"package\">po-debconf</systemitem> package.  This method "
1908 "is easier both for maintainer and translators; transition scripts are "
1909 "provided."
1910 msgstr ""
1911
1912 #. type: Content of: <chapter><section><section><para>
1913 #: best-pkging-practices.dbk:1323
1914 msgid ""
1915 "Using <systemitem role=\"package\">po-debconf</systemitem>, the translation "
1916 "is stored in <filename>.po</filename> files (drawing from "
1917 "<command>gettext</command> translation techniques).  Special template files "
1918 "contain the original messages and mark which fields are translatable.  When "
1919 "you change the value of a translatable field, by calling "
1920 "<command>debconf-updatepo</command>, the translation is marked as needing "
1921 "attention from the translators.  Then, at build time, the "
1922 "<command>dh_installdebconf</command> program takes care of all the needed "
1923 "magic to add the template along with the up-to-date translations into the "
1924 "binary packages.  Refer to the <citerefentry> "
1925 "<refentrytitle>po-debconf</refentrytitle> <manvolnum>7</manvolnum> "
1926 "</citerefentry> manual page for details."
1927 msgstr ""
1928
1929 #. type: Content of: <chapter><section><section><title>
1930 #: best-pkging-practices.dbk:1339
1931 msgid "Internationalized documentation"
1932 msgstr ""
1933
1934 #. type: Content of: <chapter><section><section><para>
1935 #: best-pkging-practices.dbk:1341
1936 msgid ""
1937 "Internationalizing documentation is crucial for users, but a lot of labor.  "
1938 "There's no way to eliminate all that work, but you can make things easier "
1939 "for translators."
1940 msgstr ""
1941
1942 #. type: Content of: <chapter><section><section><para>
1943 #: best-pkging-practices.dbk:1346
1944 msgid ""
1945 "If you maintain documentation of any size, it is easier for translators if "
1946 "they have access to a source control system.  That lets translators see the "
1947 "differences between two versions of the documentation, so, for instance, "
1948 "they can see what needs to be retranslated.  It is recommended that the "
1949 "translated documentation maintain a note about what source control revision "
1950 "the translation is based on.  An interesting system is provided by <ulink "
1951 "url=\"&url-i18n-doc-check;\">doc-check</ulink> in the <systemitem "
1952 "role=\"package\">debian-installer</systemitem> package, which shows an "
1953 "overview of the translation status for any given language, using structured "
1954 "comments for the current revision of the file to be translated and, for a "
1955 "translated file, the revision of the original file the translation is based "
1956 "on.  You might wish to adapt and provide that in your VCS area."
1957 msgstr ""
1958
1959 #. type: Content of: <chapter><section><section><para>
1960 #: best-pkging-practices.dbk:1360
1961 msgid ""
1962 "If you maintain XML or SGML documentation, we suggest that you isolate any "
1963 "language-independent information and define those as entities in a separate "
1964 "file which is included by all the different translations.  This makes it "
1965 "much easier, for instance, to keep URLs up to date across multiple files."
1966 msgstr ""
1967
1968 #. type: Content of: <chapter><section><section><para>
1969 #: best-pkging-practices.dbk:1366
1970 msgid ""
1971 "Some tools (e.g. <systemitem role=\"package\">po4a</systemitem>, <systemitem "
1972 "role=\"package\">poxml</systemitem>, or the <systemitem "
1973 "role=\"package\">translate-toolkit</systemitem>) are specialized in "
1974 "extracting the translatable material from different formats.  They produce "
1975 "PO files, a format quite common to translators, which permits to see what "
1976 "needs to be retranslated when the translated document is updated."
1977 msgstr ""
1978
1979 #. type: Content of: <chapter><section><title>
1980 #: best-pkging-practices.dbk:1378
1981 msgid "Common packaging situations"
1982 msgstr ""
1983
1984 #. type: Content of: <chapter><section><section><title>
1985 #: best-pkging-practices.dbk:1389
1986 msgid "Packages using <command>autoconf</command>/<command>automake</command>"
1987 msgstr ""
1988
1989 #. type: Content of: <chapter><section><section><para>
1990 #: best-pkging-practices.dbk:1391
1991 msgid ""
1992 "Keeping <command>autoconf</command>'s <filename>config.sub</filename> and "
1993 "<filename>config.guess</filename> files up to date is critical for porters, "
1994 "especially on more volatile architectures.  Some very good packaging "
1995 "practices for any package using <command>autoconf</command> and/or "
1996 "<command>automake</command> have been synthesized in &file-bpp-autotools; "
1997 "from the <systemitem role=\"package\">autotools-dev</systemitem> package.  "
1998 "You're strongly encouraged to read this file and to follow the given "
1999 "recommendations."
2000 msgstr ""
2001
2002 #. type: Content of: <chapter><section><section><title>
2003 #: best-pkging-practices.dbk:1403
2004 msgid "Libraries"
2005 msgstr ""
2006
2007 #. type: Content of: <chapter><section><section><para>
2008 #: best-pkging-practices.dbk:1405
2009 msgid ""
2010 "Libraries are always difficult to package for various reasons.  The policy "
2011 "imposes many constraints to ease their maintenance and to make sure upgrades "
2012 "are as simple as possible when a new upstream version comes out.  Breakage "
2013 "in a library can result in dozens of dependent packages breaking."
2014 msgstr ""
2015
2016 #. type: Content of: <chapter><section><section><para>
2017 #: best-pkging-practices.dbk:1411
2018 msgid ""
2019 "Good practices for library packaging have been grouped in <ulink "
2020 "url=\"&url-libpkg-guide;\">the library packaging guide</ulink>."
2021 msgstr ""
2022
2023 #. type: Content of: <chapter><section><title>
2024 #: best-pkging-practices.dbk:1418 resources.dbk:193
2025 msgid "Documentation"
2026 msgstr ""
2027
2028 #. type: Content of: <chapter><section><section><para>
2029 #: best-pkging-practices.dbk:1420
2030 msgid ""
2031 "Be sure to follow the <ulink url=\"&url-debian-policy;ch-docs.html\">Policy "
2032 "on documentation</ulink>."
2033 msgstr ""
2034
2035 #. type: Content of: <chapter><section><section><para>
2036 #: best-pkging-practices.dbk:1425
2037 msgid ""
2038 "If your package contains documentation built from XML or SGML, we recommend "
2039 "you not ship the XML or SGML source in the binary package(s).  If users want "
2040 "the source of the documentation, they should retrieve the source package."
2041 msgstr ""
2042
2043 #. type: Content of: <chapter><section><section><para>
2044 #: best-pkging-practices.dbk:1430
2045 msgid ""
2046 "Policy specifies that documentation should be shipped in HTML format.  We "
2047 "also recommend shipping documentation in PDF and plain text format if "
2048 "convenient and if output of reasonable quality is possible.  However, it is "
2049 "generally not appropriate to ship plain text versions of documentation whose "
2050 "source format is HTML."
2051 msgstr ""
2052
2053 #. type: Content of: <chapter><section><section><para>
2054 #: best-pkging-practices.dbk:1437
2055 msgid ""
2056 "Major shipped manuals should register themselves with <systemitem "
2057 "role=\"package\">doc-base</systemitem> on installation.  See the <systemitem "
2058 "role=\"package\">doc-base</systemitem> package documentation for more "
2059 "information."
2060 msgstr ""
2061
2062 #. type: Content of: <chapter><section><section><para>
2063 #: best-pkging-practices.dbk:1443
2064 msgid ""
2065 "Debian policy (section 12.1) directs that manual pages should accompany "
2066 "every program, utility, and function, and suggests them for other objects "
2067 "like configuration files. If the work you are packaging does not have such "
2068 "manual pages, consider writing them for inclusion in your package, and "
2069 "submitting them upstream."
2070 msgstr ""
2071
2072 #. type: Content of: <chapter><section><section><para>
2073 #: best-pkging-practices.dbk:1450
2074 msgid ""
2075 "The manpages do not need to be written directly in the troff format.  "
2076 "Popular source formats are Docbook, POD and reST, which can be converted "
2077 "using <command>xsltproc</command>, <command>pod2man</command> and "
2078 "<command>rst2man</command> respectively. To a lesser extent, the "
2079 "<command>help2man</command> program can also be used to write a stub."
2080 msgstr ""
2081
2082 #. type: Content of: <chapter><section><section><title>
2083 #: best-pkging-practices.dbk:1459
2084 msgid "Specific types of packages"
2085 msgstr ""
2086
2087 #. type: Content of: <chapter><section><section><para>
2088 #: best-pkging-practices.dbk:1461
2089 msgid ""
2090 "Several specific types of packages have special sub-policies and "
2091 "corresponding packaging rules and practices:"
2092 msgstr ""
2093
2094 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2095 #: best-pkging-practices.dbk:1467
2096 msgid ""
2097 "Perl related packages have a <ulink url=\"&url-perl-policy;\">Perl "
2098 "policy</ulink>, some examples of packages following that policy are "
2099 "<systemitem role=\"package\">libdbd-pg-perl</systemitem> (binary perl "
2100 "module) or <systemitem role=\"package\">libmldbm-perl</systemitem> (arch "
2101 "independent perl module)."
2102 msgstr ""
2103
2104 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2105 #: best-pkging-practices.dbk:1476
2106 msgid ""
2107 "Python related packages have their python policy; see &file-python-policy; "
2108 "in the <systemitem role=\"package\">python</systemitem> package."
2109 msgstr ""
2110
2111 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2112 #: best-pkging-practices.dbk:1483
2113 msgid ""
2114 "Emacs related packages have the <ulink url=\"&url-emacs-policy;\">emacs "
2115 "policy</ulink>."
2116 msgstr ""
2117
2118 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2119 #: best-pkging-practices.dbk:1490
2120 msgid ""
2121 "Java related packages have their <ulink url=\"&url-java-policy;\">java "
2122 "policy</ulink>."
2123 msgstr ""
2124
2125 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2126 #: best-pkging-practices.dbk:1497
2127 msgid ""
2128 "Ocaml related packages have their own policy, found in &file-ocaml-policy; "
2129 "from the <systemitem role=\"package\">ocaml</systemitem> package.  A good "
2130 "example is the <systemitem role=\"package\">camlzip</systemitem> source "
2131 "package."
2132 msgstr ""
2133
2134 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2135 #: best-pkging-practices.dbk:1505
2136 msgid ""
2137 "Packages providing XML or SGML DTDs should conform to the recommendations "
2138 "found in the <systemitem role=\"package\">sgml-base-doc</systemitem> "
2139 "package."
2140 msgstr ""
2141
2142 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2143 #: best-pkging-practices.dbk:1511
2144 msgid ""
2145 "Lisp packages should register themselves with <systemitem "
2146 "role=\"package\">common-lisp-controller</systemitem>, about which see "
2147 "&file-lisp-controller;."
2148 msgstr ""
2149
2150 #. type: Content of: <chapter><section><section><title>
2151 #: best-pkging-practices.dbk:1541
2152 msgid "Architecture-independent data"
2153 msgstr ""
2154
2155 #. type: Content of: <chapter><section><section><para>
2156 #: best-pkging-practices.dbk:1543
2157 msgid ""
2158 "It is not uncommon to have a large amount of architecture-independent data "
2159 "packaged with a program.  For example, audio files, a collection of icons, "
2160 "wallpaper patterns, or other graphic files.  If the size of this data is "
2161 "negligible compared to the size of the rest of the package, it's probably "
2162 "best to keep it all in a single package."
2163 msgstr ""
2164
2165 #. type: Content of: <chapter><section><section><para>
2166 #: best-pkging-practices.dbk:1550
2167 msgid ""
2168 "However, if the size of the data is considerable, consider splitting it out "
2169 "into a separate, architecture-independent package "
2170 "(<filename>_all.deb</filename>).  By doing this, you avoid needless "
2171 "duplication of the same data into eleven or more .debs, one per each "
2172 "architecture.  While this adds some extra overhead into the "
2173 "<filename>Packages</filename> files, it saves a lot of disk space on Debian "
2174 "mirrors.  Separating out architecture-independent data also reduces "
2175 "processing time of <command>lintian</command> (see <xref "
2176 "linkend=\"tools-lint\"/>) when run over the entire Debian archive."
2177 msgstr ""
2178
2179 #. type: Content of: <chapter><section><section><title>
2180 #: best-pkging-practices.dbk:1562
2181 msgid "Needing a certain locale during build"
2182 msgstr ""
2183
2184 #. type: Content of: <chapter><section><section><para>
2185 #: best-pkging-practices.dbk:1564
2186 msgid ""
2187 "If you need a certain locale during build, you can create a temporary file "
2188 "via this trick:"
2189 msgstr ""
2190
2191 #. type: Content of: <chapter><section><section><para>
2192 #: best-pkging-practices.dbk:1568
2193 msgid ""
2194 "If you set <varname>LOCPATH</varname> to the equivalent of "
2195 "<filename>/usr/lib/locale</filename>, and <varname>LC_ALL</varname> to the "
2196 "name of the locale you generate, you should get what you want without being "
2197 "root.  Something like this:"
2198 msgstr ""
2199
2200 #. type: Content of: <chapter><section><section><screen>
2201 #: best-pkging-practices.dbk:1573
2202 #, no-wrap
2203 msgid ""
2204 "LOCALE_PATH=debian/tmpdir/usr/lib/locale\n"
2205 "LOCALE_NAME=en_IN\n"
2206 "LOCALE_CHARSET=UTF-8\n"
2207 "\n"
2208 "mkdir -p $LOCALE_PATH\n"
2209 "localedef -i $LOCALE_NAME.$LOCALE_CHARSET -f $LOCALE_CHARSET "
2210 "$LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET\n"
2211 "\n"
2212 "# Using the locale\n"
2213 "LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date\n"
2214 msgstr ""
2215
2216 #. type: Content of: <chapter><section><section><title>
2217 #: best-pkging-practices.dbk:1586
2218 msgid "Make transition packages deborphan compliant"
2219 msgstr ""
2220
2221 #. type: Content of: <chapter><section><section><para>
2222 #: best-pkging-practices.dbk:1588
2223 msgid ""
2224 "Deborphan is a program for helping users to detect which packages can safely "
2225 "be removed from the system, i.e.  the ones that have no packages depending "
2226 "on them.  The default operation is to search only within the libs and "
2227 "oldlibs sections, to hunt down unused libraries.  But when passed the right "
2228 "argument, it tries to catch other useless packages."
2229 msgstr ""
2230
2231 #. type: Content of: <chapter><section><section><para>
2232 #: best-pkging-practices.dbk:1595
2233 msgid ""
2234 "For example, with <literal>--guess-dummy</literal>, "
2235 "<command>deborphan</command> tries to search all transitional packages which "
2236 "were needed for upgrade but which can now safely be removed.  For that, it "
2237 "looks for the string dummy or transitional in their short description."
2238 msgstr ""
2239
2240 #. type: Content of: <chapter><section><section><para>
2241 #: best-pkging-practices.dbk:1602
2242 msgid ""
2243 "So, when you are creating such a package, please make sure to add this text "
2244 "to your short description.  If you are looking for examples, just run: "
2245 "<command>apt-cache search .|grep dummy</command> or <command>apt-cache "
2246 "search .|grep transitional</command>."
2247 msgstr ""
2248
2249 #. type: Content of: <chapter><section><section><para>
2250 #: best-pkging-practices.dbk:1608
2251 msgid ""
2252 "Also, it is recommended to adjust its section to <literal>oldlibs</literal> "
2253 "and its priority to <literal>extra</literal> in order to ease "
2254 "<command>deborphan</command>'s job."
2255 msgstr ""
2256
2257 #. type: Content of: <chapter><section><section><title>
2258 #: best-pkging-practices.dbk:1617
2259 msgid "Best practices for <filename>.orig.tar.{gz,bz2,xz}</filename> files"
2260 msgstr ""
2261
2262 #. type: Content of: <chapter><section><section><para>
2263 #: best-pkging-practices.dbk:1619
2264 msgid ""
2265 "There are two kinds of original source tarballs: Pristine source and "
2266 "repackaged upstream source."
2267 msgstr ""
2268
2269 #. type: Content of: <chapter><section><section><section><title>
2270 #: best-pkging-practices.dbk:1623
2271 msgid "Pristine source"
2272 msgstr ""
2273
2274 #. type: Content of: <chapter><section><section><section><para><footnote><para>
2275 #: best-pkging-practices.dbk:1627
2276 msgid ""
2277 "We cannot prevent upstream authors from changing the tarball they distribute "
2278 "without also incrementing the version number, so there can be no guarantee "
2279 "that a pristine tarball is identical to what upstream "
2280 "<emphasis>currently</emphasis> distributing at any point in time.  All that "
2281 "can be expected is that it is identical to something that upstream once "
2282 "<emphasis>did</emphasis> distribute.  If a difference arises later (say, if "
2283 "upstream notice that they weren't using maximal compression in their "
2284 "original distribution and then re-<command>gzip</command> it), that's just "
2285 "too bad.  Since there is no good way to upload a new "
2286 "<filename>.orig.tar.{gz,bz2,xz}</filename> for the same version, there is "
2287 "not even any point in treating this situation as a bug."
2288 msgstr ""
2289
2290 #. type: Content of: <chapter><section><section><section><para>
2291 #: best-pkging-practices.dbk:1625
2292 msgid ""
2293 "The defining characteristic of a pristine source tarball is that the "
2294 "<filename>.orig.tar.{gz,bz2,xz}</filename> file is byte-for-byte identical "
2295 "to a tarball officially distributed by the upstream author.<placeholder "
2296 "type=\"footnote\" id=\"0\"/> This makes it possible to use checksums to "
2297 "easily verify that all changes between Debian's version and upstream's are "
2298 "contained in the Debian diff.  Also, if the original source is huge, "
2299 "upstream authors and others who already have the upstream tarball can save "
2300 "download time if they want to inspect your packaging in detail."
2301 msgstr ""
2302
2303 #. type: Content of: <chapter><section><section><section><para>
2304 #: best-pkging-practices.dbk:1645
2305 msgid ""
2306 "There is no universally accepted guidelines that upstream authors follow "
2307 "regarding to the directory structure inside their tarball, but "
2308 "<command>dpkg-source</command> is nevertheless able to deal with most "
2309 "upstream tarballs as pristine source.  Its strategy is equivalent to the "
2310 "following:"
2311 msgstr ""
2312
2313 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2314 #: best-pkging-practices.dbk:1653
2315 msgid "It unpacks the tarball in an empty temporary directory by doing"
2316 msgstr ""
2317
2318 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><screen>
2319 #: best-pkging-practices.dbk:1656
2320 #, no-wrap
2321 msgid ""
2322 "zcat "
2323 "path/to/<replaceable>packagename</replaceable>_<replaceable>upstream-version</replaceable>.orig.tar.gz "
2324 "| tar xf -\n"
2325 msgstr ""
2326
2327 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2328 #: best-pkging-practices.dbk:1661
2329 msgid ""
2330 "If, after this, the temporary directory contains nothing but one directory "
2331 "and no other files, <command>dpkg-source</command> renames that directory to "
2332 "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>(.orig)</filename>.  "
2333 "The name of the top-level directory in the tarball does not matter, and is "
2334 "forgotten."
2335 msgstr ""
2336
2337 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2338 #: best-pkging-practices.dbk:1670
2339 msgid ""
2340 "Otherwise, the upstream tarball must have been packaged without a common "
2341 "top-level directory (shame on the upstream author!).  In this case, "
2342 "<command>dpkg-source</command> renames the temporary directory "
2343 "<emphasis>itself</emphasis> to "
2344 "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>(.orig)</filename>."
2345 msgstr ""
2346
2347 #. type: Content of: <chapter><section><section><section><title>
2348 #: best-pkging-practices.dbk:1681
2349 msgid "Repackaged upstream source"
2350 msgstr ""
2351
2352 #. type: Content of: <chapter><section><section><section><para>
2353 #: best-pkging-practices.dbk:1683
2354 msgid ""
2355 "You <emphasis role=\"strong\">should</emphasis> upload packages with a "
2356 "pristine source tarball if possible, but there are various reasons why it "
2357 "might not be possible.  This is the case if upstream does not distribute the "
2358 "source as gzipped tar at all, or if upstream's tarball contains "
2359 "non-DFSG-free material that you must remove before uploading."
2360 msgstr ""
2361
2362 #. type: Content of: <chapter><section><section><section><para>
2363 #: best-pkging-practices.dbk:1690
2364 msgid ""
2365 "In these cases the developer must construct a suitable "
2366 "<filename>.orig.tar.{gz,bz2,xz}</filename> file themselves.  We refer to "
2367 "such a tarball as a repackaged upstream source.  Note that a repackaged "
2368 "upstream source is different from a Debian-native package.  A repackaged "
2369 "source still comes with Debian-specific changes in a separate "
2370 "<filename>.diff.gz</filename> or "
2371 "<filename>.debian.tar.{gz,bz2,xz}</filename> and still has a version number "
2372 "composed of <replaceable>upstream-version</replaceable> and "
2373 "<replaceable>debian-version</replaceable>."
2374 msgstr ""
2375
2376 #. type: Content of: <chapter><section><section><section><para>
2377 #: best-pkging-practices.dbk:1699
2378 msgid ""
2379 "There may be cases where it is desirable to repackage the source even though "
2380 "upstream distributes a <filename>.tar.{gz,bz2,xz}</filename> that could in "
2381 "principle be used in its pristine form.  The most obvious is if "
2382 "<emphasis>significant</emphasis> space savings can be achieved by "
2383 "recompressing the tar archive or by removing genuinely useless cruft from "
2384 "the upstream archive.  Use your own discretion here, but be prepared to "
2385 "defend your decision if you repackage source that could have been pristine."
2386 msgstr ""
2387
2388 #. type: Content of: <chapter><section><section><section><para>
2389 #: best-pkging-practices.dbk:1708
2390 msgid "A repackaged <filename>.orig.tar.{gz,bz2,xz}</filename>"
2391 msgstr ""
2392
2393 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2394 #: best-pkging-practices.dbk:1713
2395 msgid ""
2396 "<emphasis role=\"strong\">should</emphasis> be documented in the resulting "
2397 "source package.  Detailed information on how the repackaged source was "
2398 "obtained, and on how this can be reproduced should be provided in "
2399 "<filename>debian/copyright</filename>.  It is also a good idea to provide a "
2400 "<literal>get-orig-source</literal> target in your "
2401 "<filename>debian/rules</filename> file that repeats the process, as "
2402 "described in the Policy Manual, <ulink "
2403 "url=\"&url-debian-policy;ch-source.html#s-debianrules\">Main building "
2404 "script: <filename>debian/rules</filename></ulink>."
2405 msgstr ""
2406
2407 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para><footnote><para>
2408 #: best-pkging-practices.dbk:1728
2409 msgid ""
2410 "As a special exception, if the omission of non-free files would lead to the "
2411 "source failing to build without assistance from the Debian diff, it might be "
2412 "appropriate to instead edit the files, omitting only the non-free parts of "
2413 "them, and/or explain the situation in a <filename>README.source</filename> "
2414 "file in the root of the source tree.  But in that case please also urge the "
2415 "upstream author to make the non-free components easier separable from the "
2416 "rest of the source."
2417 msgstr ""
2418
2419 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2420 #: best-pkging-practices.dbk:1726
2421 msgid ""
2422 "<emphasis role=\"strong\">should not</emphasis> contain any file that does "
2423 "not come from the upstream author(s), or whose contents has been changed by "
2424 "you.<placeholder type=\"footnote\" id=\"0\"/>"
2425 msgstr ""
2426
2427 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2428 #: best-pkging-practices.dbk:1739
2429 msgid ""
2430 "<emphasis role=\"strong\">should</emphasis>, except where impossible for "
2431 "legal reasons, preserve the entire building and portablility infrastructure "
2432 "provided by the upstream author.  For example, it is not a sufficient reason "
2433 "for omitting a file that it is used only when building on MS-DOS.  "
2434 "Similarly, a <filename>Makefile</filename> provided by upstream should not "
2435 "be omitted even if the first thing your <filename>debian/rules</filename> "
2436 "does is to overwrite it by running a configure script."
2437 msgstr ""
2438
2439 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2440 #: best-pkging-practices.dbk:1748
2441 msgid ""
2442 "(<emphasis>Rationale:</emphasis> It is common for Debian users who need to "
2443 "build software for non-Debian platforms to fetch the source from a Debian "
2444 "mirror rather than trying to locate a canonical upstream distribution "
2445 "point)."
2446 msgstr ""
2447
2448 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2449 #: best-pkging-practices.dbk:1755
2450 msgid ""
2451 "<emphasis role=\"strong\">should</emphasis> use "
2452 "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>.orig</filename> "
2453 "as the name of the top-level directory in its tarball.  This makes it "
2454 "possible to distinguish pristine tarballs from repackaged ones."
2455 msgstr ""
2456
2457 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2458 #: best-pkging-practices.dbk:1763
2459 msgid ""
2460 "<emphasis role=\"strong\">should</emphasis> be gzipped or bzipped with "
2461 "maximal compression."
2462 msgstr ""
2463
2464 #. type: Content of: <chapter><section><section><section><title>
2465 #: best-pkging-practices.dbk:1770
2466 msgid "Changing binary files"
2467 msgstr ""
2468
2469 #. type: Content of: <chapter><section><section><section><para>
2470 #: best-pkging-practices.dbk:1772
2471 msgid ""
2472 "Sometimes it is necessary to change binary files contained in the original "
2473 "tarball, or to add binary files that are not in it. This is fully supported "
2474 "when using source packages in “3.0 (quilt)” format, see the "
2475 "<citerefentry><refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum></citerefentry> "
2476 "manual page for details. When using the older format “1.0”, binary files "
2477 "can't be stored in the <filename>.diff.gz</filename> so you must store an "
2478 "<command>uuencode</command>d (or similar) version of the file(s)  and decode "
2479 "it at build time in <filename>debian/rules</filename> (and move it in its "
2480 "official location)."
2481 msgstr ""
2482
2483 #. type: Content of: <chapter><section><section><title>
2484 #: best-pkging-practices.dbk:1787
2485 msgid "Best practices for debug packages"
2486 msgstr ""
2487
2488 #. type: Content of: <chapter><section><section><para>
2489 #: best-pkging-practices.dbk:1789
2490 msgid ""
2491 "A debug package is a package with a name ending in -dbg, that contains "
2492 "additional information that <command>gdb</command> can use.  Since Debian "
2493 "binaries are stripped by default, debugging information, including function "
2494 "names and line numbers, is otherwise not available when running "
2495 "<command>gdb</command> on Debian binaries.  Debug packages allow users who "
2496 "need this additional debugging information to install it, without bloating a "
2497 "regular system with the information."
2498 msgstr ""
2499
2500 #. type: Content of: <chapter><section><section><para>
2501 #: best-pkging-practices.dbk:1797
2502 msgid ""
2503 "It is up to a package's maintainer whether to create a debug package or "
2504 "not.  Maintainers are encouraged to create debug packages for library "
2505 "packages, since this can aid in debugging many programs linked to a "
2506 "library.  In general, debug packages do not need to be added for all "
2507 "programs; doing so would bloat the archive.  But if a maintainer finds that "
2508 "users often need a debugging version of a program, it can be worthwhile to "
2509 "make a debug package for it.  Programs that are core infrastructure, such as "
2510 "apache and the X server are also good candidates for debug packages."
2511 msgstr ""
2512
2513 #. type: Content of: <chapter><section><section><para>
2514 #: best-pkging-practices.dbk:1807
2515 msgid ""
2516 "Some debug packages may contain an entire special debugging build of a "
2517 "library or other binary, but most of them can save space and build time by "
2518 "instead containing separated debugging symbols that <command>gdb</command> "
2519 "can find and load on the fly when debugging a program or library.  The "
2520 "convention in Debian is to keep these symbols in "
2521 "<filename>/usr/lib/debug/<replaceable>path</replaceable></filename>, where "
2522 "<replaceable>path</replaceable> is the path to the executable or library.  "
2523 "For example, debugging symbols for <filename>/usr/bin/foo</filename> go in "
2524 "<filename>/usr/lib/debug/usr/bin/foo</filename>, and debugging symbols for "
2525 "<filename>/usr/lib/libfoo.so.1</filename> go in "
2526 "<filename>/usr/lib/debug/usr/lib/libfoo.so.1</filename>."
2527 msgstr ""
2528
2529 #. type: Content of: <chapter><section><section><para>
2530 #: best-pkging-practices.dbk:1819
2531 msgid ""
2532 "The debugging symbols can be extracted from an object file using "
2533 "<command>objcopy --only-keep-debug</command>.  Then the object file can be "
2534 "stripped, and <command>objcopy --add-gnu-debuglink</command> used to specify "
2535 "the path to the debugging symbol file.  <citerefentry> "
2536 "<refentrytitle>objcopy</refentrytitle> <manvolnum>1</manvolnum> "
2537 "</citerefentry> explains in detail how this works."
2538 msgstr ""
2539
2540 #. type: Content of: <chapter><section><section><para>
2541 #: best-pkging-practices.dbk:1827
2542 msgid ""
2543 "The <command>dh_strip</command> command in <systemitem "
2544 "role=\"package\">debhelper</systemitem> supports creating debug packages, "
2545 "and can take care of using <command>objcopy</command> to separate out the "
2546 "debugging symbols for you.  If your package uses <systemitem "
2547 "role=\"package\">debhelper</systemitem>, all you need to do is call "
2548 "<command>dh_strip --dbg-package=libfoo-dbg</command>, and add an entry to "
2549 "<filename>debian/control</filename> for the debug package."
2550 msgstr ""
2551
2552 #. type: Content of: <chapter><section><section><para>
2553 #: best-pkging-practices.dbk:1834
2554 msgid ""
2555 "Note that the debug package should depend on the package that it provides "
2556 "debugging symbols for, and this dependency should be versioned.  For "
2557 "example:"
2558 msgstr ""
2559
2560 #. type: Content of: <chapter><section><section><screen>
2561 #: best-pkging-practices.dbk:1838
2562 #, no-wrap
2563 msgid "Depends: libfoo (= ${binary:Version})\n"
2564 msgstr ""
2565
2566 #. type: Content of: <chapter><section><section><title>
2567 #: best-pkging-practices.dbk:1842
2568 msgid "Best practices for meta-packages"
2569 msgstr ""
2570
2571 #. type: Content of: <chapter><section><section><para>
2572 #: best-pkging-practices.dbk:1844
2573 msgid ""
2574 "A meta-package is a mostly empty package that makes it easy to install a "
2575 "coherent set of packages that can evolve over time. It achieves this by "
2576 "depending on all the packages of the set. Thanks to the power of APT, the "
2577 "meta-package maintainer can adjust the dependencies and the user's system "
2578 "will automatically get the supplementary packages. The dropped packages that "
2579 "were automatically installed will be also be marked as removal candidates "
2580 "(and are even automatically removed by <command>aptitude</command>).  "
2581 "<systemitem role=\"package\">gnome</systemitem> and <systemitem "
2582 "role=\"package\">linux-image-amd64</systemitem> are two examples of "
2583 "meta-packages (built by the source packages <systemitem "
2584 "role=\"package\">meta-gnome2</systemitem> and <systemitem "
2585 "role=\"package\">linux-latest</systemitem>)."
2586 msgstr ""
2587
2588 #. type: Content of: <chapter><section><section><para>
2589 #: best-pkging-practices.dbk:1858
2590 msgid ""
2591 "The long description of the meta-package must clearly document its purpose "
2592 "so that the user knows what they will lose if they remove the package. Being "
2593 "explicit about the consequences is recommended. This is particularly "
2594 "important for meta-packages which are installed during initial installation "
2595 "and that have not been explicitly installed by the user.  Those tend to be "
2596 "important to ensure smooth system upgrades and the user should be "
2597 "discouraged from uninstalling them to avoid potential breakages."
2598 msgstr ""
2599
2600 #. type: Content of: <chapter><title>
2601 #: beyond-pkging.dbk:7
2602 msgid "Beyond Packaging"
2603 msgstr ""
2604
2605 #. type: Content of: <chapter><para>
2606 #: beyond-pkging.dbk:9
2607 msgid ""
2608 "Debian is about a lot more than just packaging software and maintaining "
2609 "those packages.  This chapter contains information about ways, often really "
2610 "critical ways, to contribute to Debian beyond simply creating and "
2611 "maintaining packages."
2612 msgstr ""
2613
2614 #. type: Content of: <chapter><para>
2615 #: beyond-pkging.dbk:14
2616 msgid ""
2617 "As a volunteer organization, Debian relies on the discretion of its members "
2618 "in choosing what they want to work on and in choosing the most critical "
2619 "thing to spend their time on."
2620 msgstr ""
2621
2622 #. type: Content of: <chapter><section><title>
2623 #: beyond-pkging.dbk:19
2624 msgid "Bug reporting"
2625 msgstr ""
2626
2627 #. type: Content of: <chapter><section><para>
2628 #: beyond-pkging.dbk:21
2629 msgid ""
2630 "We encourage you to file bugs as you find them in Debian packages.  In fact, "
2631 "Debian developers are often the first line testers.  Finding and reporting "
2632 "bugs in other developers' packages improves the quality of Debian."
2633 msgstr ""
2634
2635 #. type: Content of: <chapter><section><para>
2636 #: beyond-pkging.dbk:26
2637 msgid ""
2638 "Read the <ulink url=\"&url-bts-report;\">instructions for reporting "
2639 "bugs</ulink> in the Debian <ulink url=\"&url-bts;\">bug tracking "
2640 "system</ulink>."
2641 msgstr ""
2642
2643 #. type: Content of: <chapter><section><para>
2644 #: beyond-pkging.dbk:31
2645 msgid ""
2646 "Try to submit the bug from a normal user account at which you are likely to "
2647 "receive mail, so that people can reach you if they need further information "
2648 "about the bug.  Do not submit bugs as root."
2649 msgstr ""
2650
2651 #. type: Content of: <chapter><section><para>
2652 #: beyond-pkging.dbk:36
2653 msgid ""
2654 "You can use a tool like <citerefentry> "
2655 "<refentrytitle>reportbug</refentrytitle> <manvolnum>1</manvolnum> "
2656 "</citerefentry> to submit bugs.  It can automate and generally ease the "
2657 "process."
2658 msgstr ""
2659
2660 #. type: Content of: <chapter><section><para>
2661 #: beyond-pkging.dbk:41
2662 msgid ""
2663 "Make sure the bug is not already filed against a package.  Each package has "
2664 "a bug list easily reachable at "
2665 "<literal>http://&bugs-host;/<replaceable>packagename</replaceable></literal>.  "
2666 "Utilities like <citerefentry> <refentrytitle>querybts</refentrytitle> "
2667 "<manvolnum>1</manvolnum> </citerefentry> can also provide you with this "
2668 "information (and <command>reportbug</command> will usually invoke "
2669 "<command>querybts</command> before sending, too)."
2670 msgstr ""
2671
2672 #. type: Content of: <chapter><section><para>
2673 #: beyond-pkging.dbk:50
2674 msgid ""
2675 "Try to direct your bugs to the proper location.  When for example your bug "
2676 "is about a package which overwrites files from another package, check the "
2677 "bug lists for <emphasis>both</emphasis> of those packages in order to avoid "
2678 "filing duplicate bug reports."
2679 msgstr ""
2680
2681 #. type: Content of: <chapter><section><para>
2682 #: beyond-pkging.dbk:56
2683 msgid ""
2684 "For extra credit, you can go through other packages, merging bugs which are "
2685 "reported more than once, or tagging bugs `fixed' when they have already been "
2686 "fixed.  Note that when you are neither the bug submitter nor the package "
2687 "maintainer, you should not actually close the bug (unless you secure "
2688 "permission from the maintainer)."
2689 msgstr ""
2690
2691 #. type: Content of: <chapter><section><para>
2692 #: beyond-pkging.dbk:63
2693 msgid ""
2694 "From time to time you may want to check what has been going on with the bug "
2695 "reports that you submitted.  Take this opportunity to close those that you "
2696 "can't reproduce anymore.  To find out all the bugs you submitted, you just "
2697 "have to visit "
2698 "<literal>http://&bugs-host;/from:<replaceable>your-email-addr</replaceable></literal>."
2699 msgstr ""
2700
2701 #. type: Content of: <chapter><section><section><title>
2702 #: beyond-pkging.dbk:70
2703 msgid "Reporting lots of bugs at once (mass bug filing)"
2704 msgstr ""
2705
2706 #. type: Content of: <chapter><section><section><para>
2707 #: beyond-pkging.dbk:72
2708 msgid ""
2709 "Reporting a great number of bugs for the same problem on a great number of "
2710 "different packages — i.e., more than 10 — is a deprecated practice.  Take "
2711 "all possible steps to avoid submitting bulk bugs at all.  For instance, if "
2712 "checking for the problem can be automated, add a new check to <systemitem "
2713 "role=\"package\">lintian</systemitem> so that an error or warning is "
2714 "emitted."
2715 msgstr ""
2716
2717 #. type: Content of: <chapter><section><section><para>
2718 #: beyond-pkging.dbk:79
2719 msgid ""
2720 "If you report more than 10 bugs on the same topic at once, it is recommended "
2721 "that you send a message to &email-debian-devel; describing your intention "
2722 "before submitting the report, and mentioning the fact in the subject of your "
2723 "mail.  This will allow other developers to verify that the bug is a real "
2724 "problem.  In addition, it will help prevent a situation in which several "
2725 "maintainers start filing the same bug report simultaneously."
2726 msgstr ""
2727
2728 #. type: Content of: <chapter><section><section><para>
2729 #: beyond-pkging.dbk:87
2730 msgid ""
2731 "Please use the programs <command>dd-list</command> and if appropriate "
2732 "<command>whodepends</command> (from the package <systemitem "
2733 "role=\"package\">devscripts</systemitem>) to generate a list of all affected "
2734 "packages, and include the output in your mail to &email-debian-devel;."
2735 msgstr ""
2736
2737 #. type: Content of: <chapter><section><section><para>
2738 #: beyond-pkging.dbk:93
2739 msgid ""
2740 "Note that when sending lots of bugs on the same subject, you should send the "
2741 "bug report to <email>maintonly@&bugs-host;</email> so that the bug report is "
2742 "not forwarded to the bug distribution mailing list."
2743 msgstr ""
2744
2745 #. type: Content of: <chapter><section><section><section><title>
2746 #: beyond-pkging.dbk:98
2747 msgid "Usertags"
2748 msgstr ""
2749
2750 #. type: Content of: <chapter><section><section><section><para>
2751 #: beyond-pkging.dbk:100
2752 msgid ""
2753 "You may wish to use BTS usertags when submitting bugs across a number of "
2754 "packages. Usertags are similar to normal tags such as 'patch' and 'wishlist' "
2755 "but differ in that they are user-defined and occupy a namespace that is "
2756 "unique to a particular user. This allows multiple sets of developers to "
2757 "'usertag' the same bug in different ways without conflicting."
2758 msgstr ""
2759
2760 #. type: Content of: <chapter><section><section><section><para>
2761 #: beyond-pkging.dbk:107
2762 msgid ""
2763 "To add usertags when filing bugs, specify the <literal>User</literal> and "
2764 "<literal>Usertags</literal> pseudo-headers:"
2765 msgstr ""
2766
2767 #. type: Content of: <chapter><section><section><section><screen>
2768 #: beyond-pkging.dbk:111
2769 #, no-wrap
2770 msgid ""
2771 "To: submit@bugs.debian.org\n"
2772 "Subject: <replaceable>title-of-bug</replaceable>\n"
2773 "\n"
2774 "Package: <replaceable>pkgname</replaceable>\n"
2775 "<replaceable>[ ... ]</replaceable>\n"
2776 "User: <replaceable>email-addr</replaceable>\n"
2777 "Usertags: <replaceable>tag-name [ tag-name ... ]</replaceable>\n"
2778 "\n"
2779 "<replaceable>description-of-bug ...</replaceable>\n"
2780 msgstr ""
2781
2782 #. type: Content of: <chapter><section><section><section><para>
2783 #: beyond-pkging.dbk:122
2784 msgid ""
2785 "Note that tags are seperated by spaces and cannot contain underscores. If "
2786 "you are filing bugs for a particular group or team it is recommended that "
2787 "you set the <literal>User</literal> to an appropriate mailing list after "
2788 "describing your intention there."
2789 msgstr ""
2790
2791 #. type: Content of: <chapter><section><section><section><para>
2792 #: beyond-pkging.dbk:128
2793 msgid ""
2794 "To view bugs tagged with a specific usertag, visit "
2795 "<literal>http://&bugs-host;/cgi-bin/pkgreport.cgi?users=<replaceable>email-addr</replaceable>&amp;tag=<replaceable>tag-name</replaceable></literal>."
2796 msgstr ""
2797
2798 #. type: Content of: <chapter><section><title>
2799 #: beyond-pkging.dbk:137
2800 msgid "Quality Assurance effort"
2801 msgstr ""
2802
2803 #. type: Content of: <chapter><section><section><title>
2804 #: beyond-pkging.dbk:139
2805 msgid "Daily work"
2806 msgstr ""
2807
2808 #. type: Content of: <chapter><section><section><para>
2809 #: beyond-pkging.dbk:141
2810 msgid ""
2811 "Even though there is a dedicated group of people for Quality Assurance, QA "
2812 "duties are not reserved solely for them.  You can participate in this effort "
2813 "by keeping your packages as bug-free as possible, and as lintian-clean (see "
2814 "<xref linkend=\"lintian\"/>) as possible.  If you do not find that possible, "
2815 "then you should consider orphaning some of your packages (see <xref "
2816 "linkend=\"orphaning\"/>).  Alternatively, you may ask the help of other "
2817 "people in order to catch up with the backlog of bugs that you have (you can "
2818 "ask for help on &email-debian-qa; or &email-debian-devel;).  At the same "
2819 "time, you can look for co-maintainers (see <xref "
2820 "linkend=\"collaborative-maint\"/>)."
2821 msgstr ""
2822
2823 #. type: Content of: <chapter><section><section><title>
2824 #: beyond-pkging.dbk:155
2825 msgid "Bug squashing parties"
2826 msgstr ""
2827
2828 #. type: Content of: <chapter><section><section><para>
2829 #: beyond-pkging.dbk:157
2830 msgid ""
2831 "From time to time the QA group organizes bug squashing parties to get rid of "
2832 "as many problems as possible.  They are announced on "
2833 "&email-debian-devel-announce; and the announcement explains which area will "
2834 "be the focus of the party: usually they focus on release critical bugs but "
2835 "it may happen that they decide to help finish a major upgrade (like a new "
2836 "<command>perl</command> version which requires recompilation of all the "
2837 "binary modules)."
2838 msgstr ""
2839
2840 #. type: Content of: <chapter><section><section><para>
2841 #: beyond-pkging.dbk:166
2842 msgid ""
2843 "The rules for non-maintainer uploads differ during the parties because the "
2844 "announcement of the party is considered prior notice for NMU.  If you have "
2845 "packages that may be affected by the party (because they have release "
2846 "critical bugs for example), you should send an update to each of the "
2847 "corresponding bug to explain their current status and what you expect from "
2848 "the party.  If you don't want an NMU, or if you're only interested in a "
2849 "patch, or if you will deal yourself with the bug, please explain that in the "
2850 "BTS."
2851 msgstr ""
2852
2853 #. type: Content of: <chapter><section><section><para>
2854 #: beyond-pkging.dbk:175
2855 msgid ""
2856 "People participating in the party have special rules for NMU, they can NMU "
2857 "without prior notice if they upload their NMU to DELAYED/3-day at least.  "
2858 "All other NMU rules apply as usually; they should send the patch of the NMU "
2859 "to the BTS (to one of the open bugs fixed by the NMU, or to a new bug, "
2860 "tagged fixed).  They should also respect any particular wishes of the "
2861 "maintainer."
2862 msgstr ""
2863
2864 #. type: Content of: <chapter><section><section><para>
2865 #: beyond-pkging.dbk:182
2866 msgid ""
2867 "If you don't feel confident about doing an NMU, just send a patch to the "
2868 "BTS.  It's far better than a broken NMU."
2869 msgstr ""
2870
2871 #. type: Content of: <chapter><section><title>
2872 #: beyond-pkging.dbk:190
2873 msgid "Contacting other maintainers"
2874 msgstr ""
2875
2876 #. type: Content of: <chapter><section><para>
2877 #: beyond-pkging.dbk:192
2878 msgid ""
2879 "During your lifetime within Debian, you will have to contact other "
2880 "maintainers for various reasons.  You may want to discuss a new way of "
2881 "cooperating between a set of related packages, or you may simply remind "
2882 "someone that a new upstream version is available and that you need it."
2883 msgstr ""
2884
2885 #. type: Content of: <chapter><section><para>
2886 #: beyond-pkging.dbk:198
2887 msgid ""
2888 "Looking up the email address of the maintainer for the package can be "
2889 "distracting.  Fortunately, there is a simple email alias, "
2890 "<literal><replaceable>package</replaceable>@&packages-host;</literal>, which "
2891 "provides a way to email the maintainer, whatever their individual email "
2892 "address (or addresses)  may be.  Replace <replaceable>package</replaceable> "
2893 "with the name of a source or a binary package."
2894 msgstr ""
2895
2896 #. type: Content of: <chapter><section><para>
2897 #: beyond-pkging.dbk:206
2898 msgid ""
2899 "You may also be interested in contacting the persons who are subscribed to a "
2900 "given source package via <xref linkend=\"pkg-tracking-system\"/>.  You can "
2901 "do so by using the "
2902 "<literal><replaceable>package</replaceable>@&pts-host;</literal> email "
2903 "address."
2904 msgstr ""
2905
2906 #. type: Content of: <chapter><section><title>
2907 #: beyond-pkging.dbk:215
2908 msgid "Dealing with inactive and/or unreachable maintainers"
2909 msgstr ""
2910
2911 #. type: Content of: <chapter><section><para>
2912 #: beyond-pkging.dbk:217
2913 msgid ""
2914 "If you notice that a package is lacking maintenance, you should make sure "
2915 "that the maintainer is active and will continue to work on their packages.  "
2916 "It is possible that they are not active any more, but haven't registered out "
2917 "of the system, so to speak.  On the other hand, it is also possible that "
2918 "they just need a reminder."
2919 msgstr ""
2920
2921 #. type: Content of: <chapter><section><para>
2922 #: beyond-pkging.dbk:224
2923 msgid ""
2924 "There is a simple system (the MIA database) in which information about "
2925 "maintainers who are deemed Missing In Action is recorded.  When a member of "
2926 "the QA group contacts an inactive maintainer or finds more information about "
2927 "one, this is recorded in the MIA database.  This system is available in "
2928 "<filename>/org/qa.debian.org/mia</filename> on the host "
2929 "<literal>qa.debian.org</literal>, and can be queried with the "
2930 "<command>mia-query</command> tool.  Use <command>mia-query --help</command> "
2931 "to see how to query the database.  If you find that no information has been "
2932 "recorded about an inactive maintainer yet, or that you can add more "
2933 "information, you should generally proceed as follows."
2934 msgstr ""
2935
2936 #. type: Content of: <chapter><section><para>
2937 #: beyond-pkging.dbk:235
2938 msgid ""
2939 "The first step is to politely contact the maintainer, and wait a reasonable "
2940 "time for a response.  It is quite hard to define reasonable time, but it is "
2941 "important to take into account that real life is sometimes very hectic.  One "
2942 "way to handle this would be to send a reminder after two weeks."
2943 msgstr ""
2944
2945 #. type: Content of: <chapter><section><para>
2946 #: beyond-pkging.dbk:241
2947 msgid ""
2948 "If the maintainer doesn't reply within four weeks (a month), one can assume "
2949 "that a response will probably not happen.  If that happens, you should "
2950 "investigate further, and try to gather as much useful information about the "
2951 "maintainer in question as possible.  This includes:"
2952 msgstr ""
2953
2954 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
2955 #: beyond-pkging.dbk:249
2956 msgid ""
2957 "The <literal>echelon</literal> information available through the <ulink "
2958 "url=\"&url-debian-db;\">developers' LDAP database</ulink>, which indicates "
2959 "when the developer last posted to a Debian mailing list.  (This includes "
2960 "mails about uploads distributed via the &email-debian-devel-changes; list.)  "
2961 "Also, remember to check whether the maintainer is marked as on vacation in "
2962 "the database."
2963 msgstr ""
2964
2965 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
2966 #: beyond-pkging.dbk:259
2967 msgid ""
2968 "The number of packages this maintainer is responsible for, and the condition "
2969 "of those packages.  In particular, are there any RC bugs that have been open "
2970 "for ages? Furthermore, how many bugs are there in general? Another important "
2971 "piece of information is whether the packages have been NMUed, and if so, by "
2972 "whom."
2973 msgstr ""
2974
2975 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
2976 #: beyond-pkging.dbk:268
2977 msgid ""
2978 "Is there any activity of the maintainer outside of Debian? For example, they "
2979 "might have posted something recently to non-Debian mailing lists or news "
2980 "groups."
2981 msgstr ""
2982
2983 #. type: Content of: <chapter><section><para>
2984 #: beyond-pkging.dbk:275
2985 msgid ""
2986 "A bit of a problem are packages which were sponsored — the maintainer is not "
2987 "an official Debian developer.  The <literal>echelon</literal> information is "
2988 "not available for sponsored people, for example, so you need to find and "
2989 "contact the Debian developer who has actually uploaded the package.  Given "
2990 "that they signed the package, they're responsible for the upload anyhow, and "
2991 "are likely to know what happened to the person they sponsored."
2992 msgstr ""
2993
2994 #. type: Content of: <chapter><section><para>
2995 #: beyond-pkging.dbk:283
2996 msgid ""
2997 "It is also allowed to post a query to &email-debian-devel;, asking if anyone "
2998 "is aware of the whereabouts of the missing maintainer.  Please Cc: the "
2999 "person in question."
3000 msgstr ""
3001
3002 #. type: Content of: <chapter><section><para>
3003 #: beyond-pkging.dbk:288
3004 msgid ""
3005 "Once you have gathered all of this, you can contact &email-mia;.  People on "
3006 "this alias will use the information you provide in order to decide how to "
3007 "proceed.  For example, they might orphan one or all of the packages of the "
3008 "maintainer.  If a package has been NMUed, they might prefer to contact the "
3009 "NMUer before orphaning the package — perhaps the person who has done the NMU "
3010 "is interested in the package."
3011 msgstr ""
3012
3013 #. type: Content of: <chapter><section><para>
3014 #: beyond-pkging.dbk:296
3015 msgid ""
3016 "One last word: please remember to be polite.  We are all volunteers and "
3017 "cannot dedicate all of our time to Debian.  Also, you are not aware of the "
3018 "circumstances of the person who is involved.  Perhaps they might be "
3019 "seriously ill or might even have died — you do not know who may be on the "
3020 "receiving side.  Imagine how a relative will feel if they read the e-mail of "
3021 "the deceased and find a very impolite, angry and accusing message!"
3022 msgstr ""
3023
3024 #. type: Content of: <chapter><section><para>
3025 #: beyond-pkging.dbk:304
3026 msgid ""
3027 "On the other hand, although we are volunteers, we do have a responsibility.  "
3028 "So you can stress the importance of the greater good — if a maintainer does "
3029 "not have the time or interest anymore, they should let go and give the "
3030 "package to someone with more time."
3031 msgstr ""
3032
3033 #. type: Content of: <chapter><section><para>
3034 #: beyond-pkging.dbk:310
3035 msgid ""
3036 "If you are interested in working in the MIA team, please have a look at the "
3037 "<filename>README</filename> file in "
3038 "<filename>/org/qa.debian.org/mia</filename> on "
3039 "<literal>qa.debian.org</literal> where the technical details and the MIA "
3040 "procedures are documented and contact &email-mia;."
3041 msgstr ""
3042
3043 #. type: Content of: <chapter><section><title>
3044 #: beyond-pkging.dbk:318
3045 msgid "Interacting with prospective Debian developers"
3046 msgstr ""
3047
3048 #. type: Content of: <chapter><section><para>
3049 #: beyond-pkging.dbk:320
3050 msgid ""
3051 "Debian's success depends on its ability to attract and retain new and "
3052 "talented volunteers.  If you are an experienced developer, we recommend that "
3053 "you get involved with the process of bringing in new developers.  This "
3054 "section describes how to help new prospective developers."
3055 msgstr ""
3056
3057 #. type: Content of: <chapter><section><section><title>
3058 #: beyond-pkging.dbk:326
3059 msgid "Sponsoring packages"
3060 msgstr ""
3061
3062 #. type: Content of: <chapter><section><section><para>
3063 #: beyond-pkging.dbk:328
3064 msgid ""
3065 "Sponsoring a package means uploading a package for a maintainer who is not "
3066 "able to do it on their own. It's not a trivial matter, the sponsor must "
3067 "verify the packaging and ensure that it is of the high level of quality that "
3068 "Debian strives to have."
3069 msgstr ""
3070
3071 #. type: Content of: <chapter><section><section><para>
3072 #: beyond-pkging.dbk:334
3073 msgid "Debian Developers can sponsor packages. Debian Maintainers can't."
3074 msgstr ""
3075
3076 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
3077 #: beyond-pkging.dbk:340
3078 msgid ""
3079 "The maintainer prepares a source package (<filename>.dsc</filename>) and "
3080 "puts it online somewhere (like on <ulink "
3081 "url=\"http://mentors.debian.net/cgi-bin/welcome\">mentors.debian.net</ulink>) "
3082 "or even better, provides a link to a public VCS repository (see <xref "
3083 "linkend=\"servers-vcs\"/>) where the package is maintained."
3084 msgstr ""
3085
3086 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
3087 #: beyond-pkging.dbk:346
3088 msgid "The sponsor downloads (or checkouts) the source package."
3089 msgstr ""
3090
3091 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
3092 #: beyond-pkging.dbk:349
3093 msgid ""
3094 "The sponsor reviews the source package. If they find issues, they inform the "
3095 "maintainer and ask them to provide a fixed version (the process starts over "
3096 "at step 1)."
3097 msgstr ""
3098
3099 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
3100 #: beyond-pkging.dbk:354
3101 msgid ""
3102 "The sponsor could not find any remaining problem. They build the package, "
3103 "sign it, and upload it to Debian."
3104 msgstr ""
3105
3106 #. type: Content of: <chapter><section><section><para>
3107 #: beyond-pkging.dbk:337
3108 msgid ""
3109 "The process of sponsoring a package is: <placeholder type=\"orderedlist\" "
3110 "id=\"0\"/>"
3111 msgstr ""
3112
3113 #. type: Content of: <chapter><section><section><para>
3114 #: beyond-pkging.dbk:360
3115 msgid ""
3116 "Before delving in the details of how to sponsor a package, you should ask "
3117 "yourself whether adding the proposed package is beneficial to Debian."
3118 msgstr ""
3119
3120 #. type: Content of: <chapter><section><section><para>
3121 #: beyond-pkging.dbk:364
3122 msgid ""
3123 "There's no simple rule to answer this question, it can depend on many "
3124 "factors: is the upstream codebase mature and not full of security holes? Are "
3125 "there pre-existing packages that can do the same task and how do they "
3126 "compare to this new package? Has the new package been requested by users and "
3127 "how large is the user base? How active are the upstream developers?"
3128 msgstr ""
3129
3130 #. type: Content of: <chapter><section><section><para>
3131 #: beyond-pkging.dbk:371
3132 msgid ""
3133 "You should also ensure that the prospective maintainer is going to be a good "
3134 "maintainer. Do they already have some experience with other packages? If "
3135 "yes, are they doing a good job with them (check out some bugs)? Are they "
3136 "familiar with the package and its programming language? Do they have the "
3137 "skills needed for this package? If not, are they able to learn them?"
3138 msgstr ""
3139
3140 #. type: Content of: <chapter><section><section><para>
3141 #: beyond-pkging.dbk:379
3142 msgid ""
3143 "It's also a good idea to know where they stand with respect to Debian: do "
3144 "they agree with Debian's philosophy and do they intend to join Debian? Given "
3145 "how easy it is to become a Debian Maintainer, you might want to only sponsor "
3146 "people who plan to join. That way you know from the start that you won't "
3147 "have to act as a sponsor indefinitely."
3148 msgstr ""
3149
3150 #. type: Content of: <chapter><section><section><section><title>
3151 #: beyond-pkging.dbk:386
3152 msgid "Sponsoring a new package"
3153 msgstr ""
3154
3155 #. type: Content of: <chapter><section><section><section><para>
3156 #: beyond-pkging.dbk:388
3157 msgid ""
3158 "New maintainers usually have certain difficulties creating Debian packages — "
3159 "this is quite understandable. They will do mistakes. That's why sponsoring a "
3160 "brand new package into Debian requires a thorough review of the Debian "
3161 "packaging. Sometimes several iterations will be needed until the package is "
3162 "good enough to be uploaded to Debian. Thus being a sponsor implies being a "
3163 "mentor."
3164 msgstr ""
3165
3166 #. type: Content of: <chapter><section><section><section><para>
3167 #: beyond-pkging.dbk:396
3168 msgid ""
3169 "Don't ever sponsor a new package without reviewing it. The review of new "
3170 "packages done by ftpmasters mainly ensures that the software is really "
3171 "free. Of course, it happens that they stumble on packaging problems but they "
3172 "really should not. It's your task to ensure that the uploaded package "
3173 "complies with the Debian Free Software Guidelines and is of good quality."
3174 msgstr ""
3175
3176 #. type: Content of: <chapter><section><section><section><para><footnote><para>
3177 #: beyond-pkging.dbk:409
3178 msgid ""
3179 "You can find more checks in the wiki where several developers share their "
3180 "own <ulink url=\"http://wiki.debian.org/SponsorChecklist\">sponsorship "
3181 "checklists</ulink>."
3182 msgstr ""
3183
3184 #. type: Content of: <chapter><section><section><section><para>
3185 #: beyond-pkging.dbk:404
3186 msgid ""
3187 "Building the package and testing the software is part of the review, but "
3188 "it's also not enough. The rest of this section contains a non-exhaustive "
3189 "list of points to check in your review.  <placeholder type=\"footnote\" "
3190 "id=\"0\"/>"
3191 msgstr ""
3192
3193 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3194 #: beyond-pkging.dbk:416
3195 msgid ""
3196 "Verify that the upstream tarball provided is the same that has been "
3197 "distributed by the upstream author (when the sources are repackaged for "
3198 "Debian, generate the modified tarball yourself)."
3199 msgstr ""
3200
3201 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3202 #: beyond-pkging.dbk:421
3203 msgid ""
3204 "Run <command>lintian</command> (see <xref linkend=\"lintian\"/>). It will "
3205 "catch many common problems. Be sure to verify that any "
3206 "<command>lintian</command> overrides setup by the maintainer is fully "
3207 "justified."
3208 msgstr ""
3209
3210 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3211 #: beyond-pkging.dbk:426
3212 msgid ""
3213 "Run <command>licensecheck</command> (part of <xref linkend=\"devscripts\"/>) "
3214 "and verify that <filename>debian/copyright</filename> seems correct and "
3215 "complete. Look for license problems (like files with “All rights reserved” "
3216 "headers, or with a non-DFSG compliant license). <command>grep -ri</command> "
3217 "is your friend for this task."
3218 msgstr ""
3219
3220 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3221 #: beyond-pkging.dbk:433
3222 msgid ""
3223 "Build the package with <command>pbuilder</command> (or any similar tool, see "
3224 "<xref linkend=\"pbuilder\"/>) to ensure that the build-dependencies are "
3225 "complete."
3226 msgstr ""
3227
3228 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3229 #: beyond-pkging.dbk:438
3230 msgid ""
3231 "Proofread <filename>debian/control</filename>: does it follow the best "
3232 "practices (see <xref linkend=\"bpp-debian-control\"/>)? Are the dependencies "
3233 "complete?"
3234 msgstr ""
3235
3236 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3237 #: beyond-pkging.dbk:443
3238 msgid ""
3239 "Proofread <filename>debian/rules</filename>: does it follow the best "
3240 "practices (see <xref linkend=\"bpp-debian-rules\"/>)? Do you see some "
3241 "possible improvements?"
3242 msgstr ""
3243
3244 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3245 #: beyond-pkging.dbk:448
3246 msgid ""
3247 "Proofread the maintainer scripts (<filename>preinst</filename>, "
3248 "<filename>postinst</filename>, <filename>prerm</filename>, "
3249 "<filename>postrm</filename>, <filename>config</filename>): will the "
3250 "<filename>preinst</filename>/<filename>postrm</filename> work when the "
3251 "dependencies are not installed? Are all the scripts idempotent (i.e. can you "
3252 "run them multiple times without consequences)?"
3253 msgstr ""
3254
3255 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3256 #: beyond-pkging.dbk:456
3257 msgid ""
3258 "Review any change to upstream files (either in "
3259 "<filename>.diff.gz</filename>, or in <filename>debian/patches/</filename> or "
3260 "directly embedded in the <filename>debian</filename> tarball for binary "
3261 "files). Are they justified? Are they properly documented (with <ulink "
3262 "url=\"&url-dep3;\">DEP-3</ulink> for patches)?"
3263 msgstr ""
3264
3265 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3266 #: beyond-pkging.dbk:462
3267 msgid ""
3268 "For every file, ask yourself why the file is there and whether it's the "
3269 "right way to achieve the desired result. Is the maintainer following the "
3270 "best packaging practices (see <xref linkend=\"best-pkging-practices\"/>)?"
3271 msgstr ""
3272
3273 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3274 #: beyond-pkging.dbk:468
3275 msgid ""
3276 "Build the packages, install them and try the software. Ensure you can remove "
3277 "and purge the packages. Maybe test them with <command>piuparts</command>."
3278 msgstr ""
3279
3280 #. type: Content of: <chapter><section><section><section><para>
3281 #: beyond-pkging.dbk:474
3282 msgid ""
3283 "If the audit did not reveal any problem, you can build the package and "
3284 "upload it to Debian. Remember that even if you're not the maintainer, as a "
3285 "sponsor you are still responsible for what you upload to Debian. That's why "
3286 "you're encouraged to keep up with the package through the <xref "
3287 "linkend=\"pkg-tracking-system\"/>."
3288 msgstr ""
3289
3290 #. type: Content of: <chapter><section><section><section><para>
3291 #: beyond-pkging.dbk:481
3292 msgid ""
3293 "Note that you should not need to modify the source package to put your name "
3294 "in the <filename>changelog</filename> or in the <filename>control</filename> "
3295 "file. The <literal>Maintainer</literal> field of the "
3296 "<filename>control</filename> file and the <filename>changelog</filename> "
3297 "should list the person who did the packaging, i.e. the sponsoree. That way "
3298 "they will get all the BTS mail."
3299 msgstr ""
3300
3301 #. type: Content of: <chapter><section><section><section><para>
3302 #: beyond-pkging.dbk:487
3303 msgid ""
3304 "Instead you should instruct <command>dpkg-buildpackage</command> to use your "
3305 "key for the signature. You do that with the <literal>-k</literal> option:"
3306 msgstr ""
3307
3308 #. type: Content of: <chapter><section><section><section><screen>
3309 #: beyond-pkging.dbk:490
3310 #, no-wrap
3311 msgid "dpkg-buildpackage -k<replaceable>KEY-ID</replaceable>\n"
3312 msgstr ""
3313
3314 #. type: Content of: <chapter><section><section><section><para>
3315 #: beyond-pkging.dbk:492
3316 msgid ""
3317 "If you use <command>debuild</command> and <command>debsign</command>, you "
3318 "can even configure it permanently in <filename>~/.devscripts</filename>:"
3319 msgstr ""
3320
3321 #. type: Content of: <chapter><section><section><section><programlisting>
3322 #: beyond-pkging.dbk:495
3323 #, no-wrap
3324 msgid "DEBSIGN_KEYID=<replaceable>KEY-ID</replaceable>\n"
3325 msgstr ""
3326
3327 #. type: Content of: <chapter><section><section><section><title>
3328 #: beyond-pkging.dbk:500
3329 msgid "Sponsoring an update of an existing package"
3330 msgstr ""
3331
3332 #. type: Content of: <chapter><section><section><section><para>
3333 #: beyond-pkging.dbk:502
3334 msgid ""
3335 "You will usually assume that the package has already gone through a full "
3336 "review. So instead of doing it again, you will carefully analyze the "
3337 "difference between the current version and the new version prepared by the "
3338 "maintainer. If you have not done the initial review yourself, you might "
3339 "still want to have a more deeper look just in case the initial reviewer was "
3340 "sloppy."
3341 msgstr ""
3342
3343 #. type: Content of: <chapter><section><section><section><para>
3344 #: beyond-pkging.dbk:510
3345 msgid ""
3346 "To be able to analyze the difference you need both versions. Download the "
3347 "current version of the source package (with <command>apt-get "
3348 "source</command>)  and rebuild it (or download the current binary packages "
3349 "with <command>aptitude download</command>). Download the source package to "
3350 "sponsor (usually with <command>dget</command>)."
3351 msgstr ""
3352
3353 #. type: Content of: <chapter><section><section><section><para>
3354 #: beyond-pkging.dbk:517
3355 msgid ""
3356 "Read the new changelog entry, it should tell you what to expect during the "
3357 "review. The main tool you will use is <command>debdiff</command> (provide by "
3358 "the <systemitem role=\"package\">devscripts</systemitem> package), you can "
3359 "run it with two source packages (<filename>.dsc</filename> files), or two "
3360 "binary packages, or two <filename>.changes</filename> files (it will then "
3361 "compare all the binary packages listed in the "
3362 "<filename>.changes</filename>)."
3363 msgstr ""
3364
3365 #. type: Content of: <chapter><section><section><section><para>
3366 #: beyond-pkging.dbk:524
3367 msgid ""
3368 "If you compare the source packages (excluding upstream files in the case of "
3369 "a new upstream version, for example by filtering the output of "
3370 "<command>debdiff</command> with <command>filterdiff -i "
3371 "'*/debian/*'</command>), you must understand all the changes you see and "
3372 "they should be properly documented in the Debian changelog."
3373 msgstr ""
3374
3375 #. type: Content of: <chapter><section><section><section><para>
3376 #: beyond-pkging.dbk:531
3377 msgid ""
3378 "If everything is fine, build the package and compare the binary packages to "
3379 "verify that the changes on the source package have no unexpected "
3380 "consequences (like some files dropped by mistake, missing dependencies, "
3381 "etc.)."
3382 msgstr ""
3383
3384 #. type: Content of: <chapter><section><section><section><para>
3385 #: beyond-pkging.dbk:537
3386 msgid ""
3387 "You might want to check out the Package Tracking System (see <xref "
3388 "linkend=\"pkg-tracking-system\"/>) to verify if the maintainer has not "
3389 "missed something important. Maybe there are translations updates sitting in "
3390 "the BTS that could have been integrated. Maybe the package has been NMUed "
3391 "and the maintainer forgot to integrate the changes from the NMU into their "
3392 "package. Maybe there's a release critical bug that they have left unhandled "
3393 "and that's blocking migration to <literal>testing</literal>.  If you find "
3394 "something that they could have done (better), it's time to tell them so that "
3395 "they can improve for next time, and so that they have a better understanding "
3396 "of their responsibilities."
3397 msgstr ""
3398
3399 #. type: Content of: <chapter><section><section><section><para>
3400 #: beyond-pkging.dbk:549
3401 msgid ""
3402 "If you have found no major problem, upload the new version. Otherwise ask "
3403 "the maintainer to provide you a fixed version."
3404 msgstr ""
3405
3406 #. type: Content of: <chapter><section><section><title>
3407 #: beyond-pkging.dbk:556
3408 msgid "Advocating new developers"
3409 msgstr ""
3410
3411 #. type: Content of: <chapter><section><section><para>
3412 #: beyond-pkging.dbk:558
3413 msgid ""
3414 "See the page about <ulink url=\"&url-newmaint-advocate;\">advocating a "
3415 "prospective developer</ulink> at the Debian web site."
3416 msgstr ""
3417
3418 #. type: Content of: <chapter><section><section><title>
3419 #: beyond-pkging.dbk:565
3420 msgid "Handling new maintainer applications"
3421 msgstr ""
3422
3423 #. type: Content of: <chapter><section><section><para>
3424 #: beyond-pkging.dbk:567
3425 msgid ""
3426 "Please see <ulink url=\"&url-newmaint-amchecklist;\">Checklist for "
3427 "Application Managers</ulink> at the Debian web site."
3428 msgstr ""
3429
3430 #. type: Content of: <chapter><title>
3431 #: developer-duties.dbk:7
3432 msgid "Debian Developer's Duties"
3433 msgstr ""
3434
3435 #. type: Content of: <chapter><section><title>
3436 #: developer-duties.dbk:10
3437 msgid "Package Maintainer's Duties"
3438 msgstr ""
3439
3440 #. type: Content of: <chapter><section><para>
3441 #: developer-duties.dbk:11
3442 msgid ""
3443 "As a package maintainer, you're supposed to provide high-quality packages "
3444 "that are well integrated in the system and that adhere to the Debian Policy."
3445 msgstr ""
3446
3447 #. type: Content of: <chapter><section><section><title>
3448 #: developer-duties.dbk:16
3449 msgid "Work towards the next <literal>stable</literal> release"
3450 msgstr ""
3451
3452 #. type: Content of: <chapter><section><section><para>
3453 #: developer-duties.dbk:18
3454 msgid ""
3455 "Providing high-quality packages in <literal>unstable</literal> is not "
3456 "enough, most users will only benefit from your packages when they are "
3457 "released as part of the next <literal>stable</literal> release. You are thus "
3458 "expected to collaborate with the release team to ensure your packages get "
3459 "included."
3460 msgstr ""
3461
3462 #. type: Content of: <chapter><section><section><para>
3463 #: developer-duties.dbk:24
3464 msgid ""
3465 "More concretely, you should monitor whether your packages are migrating to "
3466 "<literal>testing</literal> (see <xref linkend=\"testing\"/>). When the "
3467 "migration doesn't happen after the test period, you should analyze why and "
3468 "work towards fixing this.  It might mean fixing your package (in the case of "
3469 "release-critical bugs or failures to build on some architecture) but it can "
3470 "also mean updating (or fixing, or removing from <literal>testing</literal>) "
3471 "other packages to help complete a transition in which your package is "
3472 "entangled due to its dependencies. The release team might provide you some "
3473 "input on the current blockers of a given transition if you are not able to "
3474 "identify them."
3475 msgstr ""
3476
3477 #. type: Content of: <chapter><section><section><title>
3478 #: developer-duties.dbk:37
3479 msgid "Maintain packages in <literal>stable</literal>"
3480 msgstr ""
3481
3482 #. type: Content of: <chapter><section><section><para>
3483 #: developer-duties.dbk:39
3484 msgid ""
3485 "Most of the package maintainer's work goes into providing updated versions "
3486 "of packages in <literal>unstable</literal>, but their job also entails "
3487 "taking care of the packages in the current <literal>stable</literal> "
3488 "release."
3489 msgstr ""
3490
3491 #. type: Content of: <chapter><section><section><para>
3492 #: developer-duties.dbk:44
3493 msgid ""
3494 "While changes in <literal>stable</literal> are discouraged, they are "
3495 "possible. Whenever a security problem is reported, you should collaborate "
3496 "with the security team to provide a fixed version (see <xref "
3497 "linkend=\"bug-security\"/>). When bugs of severity important (or more) are "
3498 "reported against the <literal>stable</literal> version of your packages, you "
3499 "should consider providing a targeted fix.  You can ask the "
3500 "<literal>stable</literal> release team whether they would accept such an "
3501 "update and then prepare a <literal>stable</literal> upload (see <xref "
3502 "linkend=\"upload-stable\"/>)."
3503 msgstr ""
3504
3505 #. type: Content of: <chapter><section><section><title>
3506 #: developer-duties.dbk:56
3507 msgid "Manage release-critical bugs"
3508 msgstr ""
3509
3510 #. type: Content of: <chapter><section><section><para>
3511 #: developer-duties.dbk:58
3512 msgid ""
3513 "Generally you should deal with bug reports on your packages as described in "
3514 "<xref linkend=\"bug-handling\"/>.  However, there's a special category of "
3515 "bugs that you need to take care of — the so-called release-critical bugs (RC "
3516 "bugs). All bug reports that have severity <literal>critical</literal>, "
3517 "<literal>grave</literal> or <literal>serious</literal> make the package "
3518 "unsuitable for inclusion in the next <literal>stable</literal> release.  "
3519 "They can thus delay the Debian release (when they affect a package in "
3520 "<literal>testing</literal>) or block migrations to "
3521 "<literal>testing</literal> (when they only affect the package in "
3522 "<literal>unstable</literal>). In the worst scenario, they will lead to the "
3523 "package's removal. That's why these bugs need to be corrected as quickly as "
3524 "possible."
3525 msgstr ""
3526
3527 #. type: Content of: <chapter><section><section><para>
3528 #: developer-duties.dbk:70
3529 msgid ""
3530 "If, for any reason, you aren't able fix an RC bug in a package of yours "
3531 "within 2 weeks (for example due to time constraints, or because it's "
3532 "difficult to fix), you should mention it clearly in the bug report and you "
3533 "should tag the bug <literal>help</literal> to invite other volunteers to "
3534 "chime in. Be aware that RC bugs are frequently the targets of Non-Maintainer "
3535 "Uploads (see <xref linkend=\"nmu\"/>) because they can block the "
3536 "<literal>testing</literal> migration of many packages."
3537 msgstr ""
3538
3539 #. type: Content of: <chapter><section><section><para>
3540 #: developer-duties.dbk:79
3541 msgid ""
3542 "Lack of attention to RC bugs is often interpreted by the QA team as a sign "
3543 "that the maintainer has disappeared without properly orphaning their "
3544 "package.  The MIA team might also get involved, which could result in your "
3545 "packages being orphaned (see <xref linkend=\"mia-qa\" />)."
3546 msgstr ""
3547
3548 #. type: Content of: <chapter><section><section><title>
3549 #: developer-duties.dbk:87
3550 msgid "Coordination with upstream developers"
3551 msgstr ""
3552
3553 #. type: Content of: <chapter><section><section><para>
3554 #: developer-duties.dbk:89
3555 msgid ""
3556 "A big part of your job as Debian maintainer will be to stay in contact with "
3557 "the upstream developers.  Debian users will sometimes report bugs that are "
3558 "not specific to Debian to our bug tracking system.  You have to forward "
3559 "these bug reports to the upstream developers so that they can be fixed in a "
3560 "future upstream release."
3561 msgstr ""
3562
3563 #. type: Content of: <chapter><section><section><para>
3564 #: developer-duties.dbk:96
3565 msgid ""
3566 "While it's not your job to fix non-Debian specific bugs, you may freely do "
3567 "so if you're able.  When you make such fixes, be sure to pass them on to the "
3568 "upstream maintainers as well.  Debian users and developers will sometimes "
3569 "submit patches to fix upstream bugs — you should evaluate and forward these "
3570 "patches upstream."
3571 msgstr ""
3572
3573 #. type: Content of: <chapter><section><section><para>
3574 #: developer-duties.dbk:103
3575 msgid ""
3576 "If you need to modify the upstream sources in order to build a policy "
3577 "compliant package, then you should propose a nice fix to the upstream "
3578 "developers which can be included there, so that you won't have to modify the "
3579 "sources of the next upstream version.  Whatever changes you need, always try "
3580 "not to fork from the upstream sources."
3581 msgstr ""
3582
3583 #. type: Content of: <chapter><section><section><para>
3584 #: developer-duties.dbk:110
3585 msgid ""
3586 "If you find that the upstream developers are or become hostile towards "
3587 "Debian or the free software community, you may want to re-consider the need "
3588 "to include the software in Debian. Sometimes the social cost to the Debian "
3589 "community is not worth the benefits the software may bring."
3590 msgstr ""
3591
3592 #. type: Content of: <chapter><section><title>
3593 #: developer-duties.dbk:120
3594 msgid "Administrative Duties"
3595 msgstr ""
3596
3597 #. type: Content of: <chapter><section><para>
3598 #: developer-duties.dbk:121
3599 msgid ""
3600 "A project of the size of Debian relies on some administrative infrastructure "
3601 "to keep track of everything. As a project member, you have some duties to "
3602 "ensure everything keeps running smoothly."
3603 msgstr ""
3604
3605 #. type: Content of: <chapter><section><section><title>
3606 #: developer-duties.dbk:126
3607 msgid "Maintaining your Debian information"
3608 msgstr ""
3609
3610 #. type: Content of: <chapter><section><section><para>
3611 #: developer-duties.dbk:128
3612 msgid ""
3613 "There's a LDAP database containing information about Debian developers at "
3614 "<ulink url=\"&url-debian-db;\"></ulink>.  You should enter your information "
3615 "there and update it as it changes.  Most notably, make sure that the address "
3616 "where your debian.org email gets forwarded to is always up to date, as well "
3617 "as the address where you get your debian-private subscription if you choose "
3618 "to subscribe there."
3619 msgstr ""
3620
3621 #. type: Content of: <chapter><section><section><para>
3622 #: developer-duties.dbk:136
3623 msgid ""
3624 "For more information about the database, please see <xref "
3625 "linkend=\"devel-db\"/>."
3626 msgstr ""
3627
3628 #. type: Content of: <chapter><section><section><title>
3629 #: developer-duties.dbk:141
3630 msgid "Maintaining your public key"
3631 msgstr ""
3632
3633 #. type: Content of: <chapter><section><section><para>
3634 #: developer-duties.dbk:143
3635 msgid ""
3636 "Be very careful with your private keys.  Do not place them on any public "
3637 "servers or multiuser machines, such as the Debian servers (see <xref "
3638 "linkend=\"server-machines\"/>).  Back your keys up; keep a copy offline.  "
3639 "Read the documentation that comes with your software; read the <ulink "
3640 "url=\"&url-pgp-faq;\">PGP FAQ</ulink>."
3641 msgstr ""
3642
3643 #. type: Content of: <chapter><section><section><para>
3644 #: developer-duties.dbk:150
3645 msgid ""
3646 "You need to ensure not only that your key is secure against being stolen, "
3647 "but also that it is secure against being lost.  Generate and make a copy "
3648 "(best also in paper form) of your revocation certificate; this is needed if "
3649 "your key is lost."
3650 msgstr ""
3651
3652 #. type: Content of: <chapter><section><section><para>
3653 #: developer-duties.dbk:156
3654 msgid ""
3655 "If you add signatures to your public key, or add user identities, you can "
3656 "update the Debian key ring by sending your key to the key server at "
3657 "<literal>&keyserver-host;</literal>."
3658 msgstr ""
3659
3660 #. type: Content of: <chapter><section><section><para>
3661 #: developer-duties.dbk:161
3662 msgid ""
3663 "If you need to add a completely new key or remove an old key, you need to "
3664 "get the new key signed by another developer.  If the old key is compromised "
3665 "or invalid, you also have to add the revocation certificate.  If there is no "
3666 "real reason for a new key, the Keyring Maintainers might reject the new "
3667 "key.  Details can be found at <ulink "
3668 "url=\"http://&keyserver-host;/replacing_keys.html\"></ulink>."
3669 msgstr ""
3670
3671 #. type: Content of: <chapter><section><section><para>
3672 #: developer-duties.dbk:169
3673 msgid ""
3674 "The same key extraction routines discussed in <xref "
3675 "linkend=\"registering\"/> apply."
3676 msgstr ""
3677
3678 #. type: Content of: <chapter><section><section><para>
3679 #: developer-duties.dbk:173
3680 msgid ""
3681 "You can find a more in-depth discussion of Debian key maintenance in the "
3682 "documentation of the <systemitem "
3683 "role=\"package\">debian-keyring</systemitem> package."
3684 msgstr ""
3685
3686 #. type: Content of: <chapter><section><section><title>
3687 #: developer-duties.dbk:180
3688 msgid "Voting"
3689 msgstr ""
3690
3691 #. type: Content of: <chapter><section><section><para>
3692 #: developer-duties.dbk:182
3693 msgid ""
3694 "Even though Debian isn't really a democracy, we use a democratic process to "
3695 "elect our leaders and to approve general resolutions.  These procedures are "
3696 "defined by the <ulink url=\"&url-constitution;\">Debian "
3697 "Constitution</ulink>."
3698 msgstr ""
3699
3700 #. type: Content of: <chapter><section><section><para>
3701 #: developer-duties.dbk:188
3702 msgid ""
3703 "Other than the yearly leader election, votes are not routinely held, and "
3704 "they are not undertaken lightly.  Each proposal is first discussed on the "
3705 "&email-debian-vote; mailing list and it requires several endorsements before "
3706 "the project secretary starts the voting procedure."
3707 msgstr ""
3708
3709 #. type: Content of: <chapter><section><section><para>
3710 #: developer-duties.dbk:194
3711 msgid ""
3712 "You don't have to track the pre-vote discussions, as the secretary will "
3713 "issue several calls for votes on &email-debian-devel-announce; (and all "
3714 "developers are expected to be subscribed to that list).  Democracy doesn't "
3715 "work well if people don't take part in the vote, which is why we encourage "
3716 "all developers to vote.  Voting is conducted via GPG-signed/encrypted email "
3717 "messages."
3718 msgstr ""
3719
3720 #. type: Content of: <chapter><section><section><para>
3721 #: developer-duties.dbk:202
3722 msgid ""
3723 "The list of all proposals (past and current) is available on the <ulink "
3724 "url=\"&url-vote;\">Debian Voting Information</ulink> page, along with "
3725 "information on how to make, second and vote on proposals."
3726 msgstr ""
3727
3728 #. type: Content of: <chapter><section><section><title>
3729 #: developer-duties.dbk:209
3730 msgid "Going on vacation gracefully"
3731 msgstr ""
3732
3733 #. type: Content of: <chapter><section><section><para>
3734 #: developer-duties.dbk:211
3735 msgid ""
3736 "It is common for developers to have periods of absence, whether those are "
3737 "planned vacations or simply being buried in other work.  The important thing "
3738 "to notice is that other developers need to know that you're on vacation so "
3739 "that they can do whatever is needed if a problem occurs with your packages "
3740 "or other duties in the project."
3741 msgstr ""
3742
3743 #. type: Content of: <chapter><section><section><para>
3744 #: developer-duties.dbk:218
3745 msgid ""
3746 "Usually this means that other developers are allowed to NMU (see <xref "
3747 "linkend=\"nmu\"/>) your package if a big problem (release critical bug, "
3748 "security update, etc.) occurs while you're on vacation.  Sometimes it's "
3749 "nothing as critical as that, but it's still appropriate to let others know "
3750 "that you're unavailable."
3751 msgstr ""
3752
3753 #. type: Content of: <chapter><section><section><para><footnote><para>
3754 #: developer-duties.dbk:227
3755 msgid ""
3756 "This is so that the message can be easily filtered by people who don't want "
3757 "to read vacation notices."
3758 msgstr ""
3759
3760 #. type: Content of: <chapter><section><section><para>
3761 #: developer-duties.dbk:225
3762 msgid ""
3763 "In order to inform the other developers, there are two things that you "
3764 "should do.  First send a mail to <email>debian-private@&lists-host;</email> "
3765 "with [VAC] prepended to the subject of your message<placeholder "
3766 "type=\"footnote\" id=\"0\"/> and state the period of time when you will be "
3767 "on vacation.  You can also give some special instructions on what to do if a "
3768 "problem occurs."
3769 msgstr ""
3770
3771 #. type: Content of: <chapter><section><section><para>
3772 #: developer-duties.dbk:234
3773 msgid ""
3774 "The other thing to do is to mark yourself as on vacation in the <link "
3775 "linkend=\"devel-db\">Debian developers' LDAP database</link> (this "
3776 "information is only accessible to Debian developers).  Don't forget to "
3777 "remove the on vacation flag when you come back!"
3778 msgstr ""
3779
3780 #. type: Content of: <chapter><section><section><para>
3781 #: developer-duties.dbk:240
3782 msgid ""
3783 "Ideally, you should sign up at the <ulink url=\"&url-gpg-coord;\">GPG "
3784 "coordination pages</ulink> when booking a holiday and check if anyone there "
3785 "is looking for signing.  This is especially important when people go to "
3786 "exotic places where we don't have any developers yet but where there are "
3787 "people who are interested in applying."
3788 msgstr ""
3789
3790 #. type: Content of: <chapter><section><section><title>
3791 #: developer-duties.dbk:249
3792 msgid "Retiring"
3793 msgstr ""
3794
3795 #. type: Content of: <chapter><section><section><para>
3796 #: developer-duties.dbk:251
3797 msgid ""
3798 "If you choose to leave the Debian project, you should make sure you do the "
3799 "following steps:"
3800 msgstr ""
3801
3802 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
3803 #: developer-duties.dbk:257
3804 msgid "Orphan all your packages, as described in <xref linkend=\"orphaning\"/>."
3805 msgstr ""
3806
3807 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
3808 #: developer-duties.dbk:262
3809 msgid ""
3810 "Send an gpg-signed email about why you are leaving the project to "
3811 "<email>debian-private@&lists-host;</email>."
3812 msgstr ""
3813
3814 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
3815 #: developer-duties.dbk:268
3816 msgid ""
3817 "Notify the Debian key ring maintainers that you are leaving by opening a "
3818 "ticket in Debian RT by sending a mail to &email-keyring; with the words "
3819 "'Debian RT' somewhere in the subject line (case doesn't matter)."
3820 msgstr ""
3821
3822 #. type: Content of: <chapter><section><section><para>
3823 #: developer-duties.dbk:275
3824 msgid ""
3825 "It is important that the above process is followed, because finding inactive "
3826 "developers and orphaning their packages takes significant time and effort."
3827 msgstr ""
3828
3829 #. type: Content of: <chapter><section><section><title>
3830 #: developer-duties.dbk:281
3831 msgid "Returning after retirement"
3832 msgstr ""
3833
3834 #. type: Content of: <chapter><section><section><para>
3835 #: developer-duties.dbk:283
3836 msgid ""
3837 "A retired developer's account is marked as \"emeritus\" when the process in "
3838 "<xref linkend=\"s3.7\"/> is followed, and \"disabled\" otherwise. Retired "
3839 "developers with an \"emeritus\" account can get their account re-activated "
3840 "as follows:"
3841 msgstr ""
3842
3843 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3844 #: developer-duties.dbk:292
3845 msgid "Contact &email-debian-account-manager;."
3846 msgstr ""
3847
3848 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3849 #: developer-duties.dbk:297
3850 msgid ""
3851 "Go through a shortened NM process (to ensure that the returning developer "
3852 "still knows important parts of P&amp;P and T&amp;S)."
3853 msgstr ""
3854
3855 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3856 #: developer-duties.dbk:303
3857 msgid ""
3858 "Prove that they still control the GPG key associated with the account, or "
3859 "provide proof of identify on a new GPG key, with at least two signatures "
3860 "from other developers."
3861 msgstr ""
3862
3863 #. type: Content of: <chapter><section><section><para>
3864 #: developer-duties.dbk:310
3865 msgid "Retired developers with a \"disabled\" account need to go through NM again."
3866 msgstr ""
3867
3868 #. type: Attribute 'lang' of: <book>
3869 #: index.dbk:7
3870 msgid "en"
3871 msgstr ""
3872
3873 #. type: Content of: <book><title>
3874 #: index.dbk:9
3875 msgid "Debian Developer's Reference"
3876 msgstr ""
3877
3878 #. type: Content of: <book><bookinfo>
3879 #: index.dbk:11
3880 msgid ""
3881 "<author> <othername>Developer's Reference Team</othername> &email-devel-ref; "
3882 "</author> <author> <firstname>Andreas</firstname> <surname>Barth</surname> "
3883 "</author> <author> <firstname>Adam</firstname> <surname>Di Carlo</surname> "
3884 "</author> <author> <firstname>Raphaël</firstname> <surname>Hertzog</surname> "
3885 "</author> <author> <firstname>Lucas</firstname> <surname>Nussbaum</surname> "
3886 "</author> <author> <firstname>Christian</firstname> "
3887 "<surname>Schwarz</surname> </author> <author> <firstname>Ian</firstname> "
3888 "<surname>Jackson</surname> </author>"
3889 msgstr ""
3890
3891 #. type: Content of: <book><bookinfo><releaseinfo>
3892 #: index.dbk:33
3893 msgid "ver. &version;"
3894 msgstr ""
3895
3896 #. type: Content of: <book><bookinfo>
3897 #: index.dbk:34
3898 msgid ""
3899 "<pubdate>&pubdate;</pubdate> <copyright> <year>2004</year> <year>2005</year> "
3900 "<year>2006</year> <year>2007</year> <holder>Andreas Barth</holder> "
3901 "</copyright> <copyright> <year>1998</year> <year>1999</year> "
3902 "<year>2000</year> <year>2001</year> <year>2002</year> <year>2003</year> "
3903 "<holder>Adam Di Carlo</holder> </copyright> <copyright> <year>2002</year> "
3904 "<year>2003</year> <year>2008</year> <year>2009</year> <holder>Raphaël "
3905 "Hertzog</holder> </copyright> <copyright> <year>2008</year> "
3906 "<year>2009</year> <holder>Lucas Nussbaum</holder> </copyright> <copyright> "
3907 "<year>1997</year> <year>1998</year> <holder>Christian Schwarz</holder> "
3908 "</copyright>"
3909 msgstr ""
3910
3911 #. type: Content of: <book><bookinfo><legalnotice><para>
3912 #: index.dbk:70
3913 msgid ""
3914 "This manual is free software; you may redistribute it and/or modify it under "
3915 "the terms of the GNU General Public License as published by the Free "
3916 "Software Foundation; either version 2, or (at your option) any later "
3917 "version."
3918 msgstr ""
3919
3920 #. type: Content of: <book><bookinfo><legalnotice><para>
3921 #: index.dbk:75
3922 msgid ""
3923 "This is distributed in the hope that it will be useful, but "
3924 "<emphasis>without any warranty</emphasis>; without even the implied warranty "
3925 "of merchantability or fitness for a particular purpose.  See the GNU General "
3926 "Public License for more details."
3927 msgstr ""
3928
3929 #. type: Content of: <book><bookinfo><legalnotice><para>
3930 #: index.dbk:81
3931 msgid ""
3932 "A copy of the GNU General Public License is available as &file-GPL; in the "
3933 "&debian-formal; distribution or on the World Wide Web at <ulink "
3934 "url=\"&url-gpl;\">the GNU web site</ulink>.  You can also obtain it by "
3935 "writing to the &fsf-addr;."
3936 msgstr ""
3937
3938 #.  TODO: Maybe better: "This document has originally been written
3939 #. in English.  Translations into different languages are available." 
3940 #. type: Content of: <book><bookinfo><legalnotice><para>
3941 #: index.dbk:88
3942 msgid ""
3943 "If you want to print this reference, you should use the <ulink "
3944 "url=\"developers-reference.pdf\">pdf version</ulink>.  This page is also "
3945 "available in <ulink url=\"index.fr.html\">French</ulink>, <ulink "
3946 "url=\"index.de.html\">German</ulink> and <ulink "
3947 "url=\"index.ja.html\">Japanese</ulink>."
3948 msgstr ""
3949
3950 #. type: Content of: <chapter><title>
3951 #: l10n.dbk:7
3952 msgid "Internationalization and Translations"
3953 msgstr ""
3954
3955 #. type: Content of: <chapter><para>
3956 #: l10n.dbk:9
3957 msgid ""
3958 "Debian supports an ever-increasing number of natural languages.  Even if you "
3959 "are a native English speaker and do not speak any other language, it is part "
3960 "of your duty as a maintainer to be aware of issues of internationalization "
3961 "(abbreviated i18n because there are 18 letters between the 'i' and the 'n' "
3962 "in internationalization).  Therefore, even if you are ok with English-only "
3963 "programs, you should read most of this chapter."
3964 msgstr ""
3965
3966 #. type: Content of: <chapter><para>
3967 #: l10n.dbk:17
3968 msgid ""
3969 "According to <ulink url=\"&url-i18n-intro;\">Introduction to i18n</ulink> "
3970 "from Tomohiro KUBOTA, I18N (internationalization) means modification of a "
3971 "software or related technologies so that a software can potentially handle "
3972 "multiple languages, customs, and so on in the world, while L10N "
3973 "(localization) means implementation of a specific language for an already "
3974 "internationalized software."
3975 msgstr ""
3976
3977 #. type: Content of: <chapter><para>
3978 #: l10n.dbk:26
3979 msgid ""
3980 "l10n and i18n are interconnected, but the difficulties related to each of "
3981 "them are very different.  It's not really difficult to allow a program to "
3982 "change the language in which texts are displayed based on user settings, but "
3983 "it is very time consuming to actually translate these messages.  On the "
3984 "other hand, setting the character encoding is trivial, but adapting the code "
3985 "to use several character encodings is a really hard problem."
3986 msgstr ""
3987
3988 #. type: Content of: <chapter><para>
3989 #: l10n.dbk:34
3990 msgid ""
3991 "Setting aside the i18n problems, where no general guideline can be given, "
3992 "there is actually no central infrastructure for l10n within Debian which "
3993 "could be compared to the buildd mechanism for porting.  So most of the work "
3994 "has to be done manually."
3995 msgstr ""
3996
3997 #. type: Content of: <chapter><section><title>
3998 #: l10n.dbk:40
3999 msgid "How translations are handled within Debian"
4000 msgstr ""
4001
4002 #. type: Content of: <chapter><section><para>
4003 #: l10n.dbk:42
4004 msgid ""
4005 "Handling translation of the texts contained in a package is still a manual "
4006 "task, and the process depends on the kind of text you want to see "
4007 "translated."
4008 msgstr ""
4009
4010 #. type: Content of: <chapter><section><para>
4011 #: l10n.dbk:46
4012 msgid ""
4013 "For program messages, the gettext infrastructure is used most of the time.  "
4014 "Most of the time, the translation is handled upstream within projects like "
4015 "the <ulink url=\"&url-l10n-tp;\">Free Translation Project</ulink>, the "
4016 "<ulink url=\"&url-l10n-gnome;\">Gnome translation Project</ulink> or the "
4017 "<ulink url=\"&url-l10n-kde;\">KDE one</ulink>.  The only centralized "
4018 "resource within Debian is the <ulink url=\"&url-l10n;\">Central Debian "
4019 "translation statistics</ulink>, where you can find some statistics about the "
4020 "translation files found in the actual packages, but no real infrastructure "
4021 "to ease the translation process."
4022 msgstr ""
4023
4024 #. type: Content of: <chapter><section><para>
4025 #: l10n.dbk:59
4026 msgid ""
4027 "An effort to translate the package descriptions started long ago, even if "
4028 "very little support is offered by the tools to actually use them (i.e., only "
4029 "APT can use them, when configured correctly).  Maintainers don't need to do "
4030 "anything special to support translated package descriptions; translators "
4031 "should use the <ulink url=\"&url-ddtp;\">Debian Description Translation "
4032 "Project (DDTP)</ulink>."
4033 msgstr ""
4034
4035 #. type: Content of: <chapter><section><para>
4036 #: l10n.dbk:66
4037 msgid ""
4038 "For <systemitem role=\"package\">debconf</systemitem> templates, maintainers "
4039 "should use the <systemitem role=\"package\">po-debconf</systemitem> package "
4040 "to ease the work of translators, who could use the DDTP to do their work "
4041 "(but the French and Brazilian teams don't).  Some statistics can be found "
4042 "both on the <ulink url=\"&url-ddtp;\">DDTP site</ulink> (about what is "
4043 "actually translated), and on the <ulink url=\"&url-l10n;\">Central Debian "
4044 "translation statistics</ulink> site (about what is integrated in the "
4045 "packages)."
4046 msgstr ""
4047
4048 #. type: Content of: <chapter><section><para>
4049 #: l10n.dbk:75
4050 msgid ""
4051 "For web pages, each l10n team has access to the relevant VCS, and the "
4052 "statistics are available from the Central Debian translation statistics "
4053 "site."
4054 msgstr ""
4055
4056 #. type: Content of: <chapter><section><para>
4057 #: l10n.dbk:79
4058 msgid ""
4059 "For general documentation about Debian, the process is more or less the same "
4060 "as for the web pages (the translators have access to the VCS), but there are "
4061 "no statistics pages."
4062 msgstr ""
4063
4064 #. type: Content of: <chapter><section><para>
4065 #: l10n.dbk:84
4066 msgid ""
4067 "For package-specific documentation (man pages, info documents, other "
4068 "formats), almost everything remains to be done."
4069 msgstr ""
4070
4071 #. type: Content of: <chapter><section><para>
4072 #: l10n.dbk:88
4073 msgid ""
4074 "Most notably, the KDE project handles translation of its documentation in "
4075 "the same way as its program messages."
4076 msgstr ""
4077
4078 #. type: Content of: <chapter><section><para>
4079 #: l10n.dbk:92
4080 msgid ""
4081 "There is an effort to handle Debian-specific man pages within a <ulink "
4082 "url=\"&url-cvsweb;manpages/?cvsroot=debian-doc\">specific VCS "
4083 "repository</ulink>."
4084 msgstr ""
4085
4086 #. type: Content of: <chapter><section><title>
4087 #: l10n.dbk:99
4088 msgid "I18N &amp; L10N FAQ for maintainers"
4089 msgstr ""
4090
4091 #. type: Content of: <chapter><section><para>
4092 #: l10n.dbk:101
4093 msgid ""
4094 "This is a list of problems that maintainers may face concerning i18n and "
4095 "l10n.  While reading this, keep in mind that there is no real consensus on "
4096 "these points within Debian, and that this is only advice.  If you have a "
4097 "better idea for a given problem, or if you disagree on some points, feel "
4098 "free to provide your feedback, so that this document can be enhanced."
4099 msgstr ""
4100
4101 #. type: Content of: <chapter><section><section><title>
4102 #: l10n.dbk:108
4103 msgid "How to get a given text translated"
4104 msgstr ""
4105
4106 #. type: Content of: <chapter><section><section><para>
4107 #: l10n.dbk:110
4108 msgid ""
4109 "To translate package descriptions or <systemitem "
4110 "role=\"package\">debconf</systemitem> templates, you have nothing to do; the "
4111 "DDTP infrastructure will dispatch the material to translate to volunteers "
4112 "with no need for interaction from your part."
4113 msgstr ""
4114
4115 #. type: Content of: <chapter><section><section><para>
4116 #: l10n.dbk:115
4117 msgid ""
4118 "For all other material (gettext files, man pages, or other documentation), "
4119 "the best solution is to put your text somewhere on the Internet, and ask on "
4120 "debian-i18n for a translation in different languages.  Some translation team "
4121 "members are subscribed to this list, and they will take care of the "
4122 "translation and of the reviewing process.  Once they are done, you will get "
4123 "your translated document from them in your mailbox."
4124 msgstr ""
4125
4126 #. type: Content of: <chapter><section><section><title>
4127 #: l10n.dbk:125
4128 msgid "How to get a given translation reviewed"
4129 msgstr ""
4130
4131 #. type: Content of: <chapter><section><section><para>
4132 #: l10n.dbk:127
4133 msgid ""
4134 "From time to time, individuals translate some texts in your package and will "
4135 "ask you for inclusion of the translation in the package.  This can become "
4136 "problematic if you are not fluent in the given language.  It is a good idea "
4137 "to send the document to the corresponding l10n mailing list, asking for a "
4138 "review.  Once it has been done, you should feel more confident in the "
4139 "quality of the translation, and feel safe to include it in your package."
4140 msgstr ""
4141
4142 #. type: Content of: <chapter><section><section><title>
4143 #: l10n.dbk:137
4144 msgid "How to get a given translation updated"
4145 msgstr ""
4146
4147 #. type: Content of: <chapter><section><section><para>
4148 #: l10n.dbk:139
4149 msgid ""
4150 "If you have some translations of a given text lying around, each time you "
4151 "update the original, you should ask the previous translator to update the "
4152 "translation with your new changes.  Keep in mind that this task takes time; "
4153 "at least one week to get the update reviewed and all."
4154 msgstr ""
4155
4156 #. type: Content of: <chapter><section><section><para>
4157 #: l10n.dbk:145
4158 msgid ""
4159 "If the translator is unresponsive, you may ask for help on the corresponding "
4160 "l10n mailing list.  If everything fails, don't forget to put a warning in "
4161 "the translated document, stating that the translation is somehow outdated, "
4162 "and that the reader should refer to the original document if possible."
4163 msgstr ""
4164
4165 #. type: Content of: <chapter><section><section><para>
4166 #: l10n.dbk:151
4167 msgid ""
4168 "Avoid removing a translation completely because it is outdated.  Old "
4169 "documentation is often better than no documentation at all for non-English "
4170 "speakers."
4171 msgstr ""
4172
4173 #. type: Content of: <chapter><section><section><title>
4174 #: l10n.dbk:158
4175 msgid "How to handle a bug report concerning a translation"
4176 msgstr ""
4177
4178 #.  TODO: add the i18n tag to the bug? 
4179 #. type: Content of: <chapter><section><section><para>
4180 #: l10n.dbk:160
4181 msgid ""
4182 "The best solution may be to mark the bug as forwarded to upstream, and "
4183 "forward it to both the previous translator and their team (using the "
4184 "corresponding debian-l10n-XXX mailing list)."
4185 msgstr ""
4186
4187 #. type: Content of: <chapter><section><title>
4188 #: l10n.dbk:170
4189 msgid "I18N &amp; L10N FAQ for translators"
4190 msgstr ""
4191
4192 #. type: Content of: <chapter><section><para>
4193 #: l10n.dbk:172
4194 msgid ""
4195 "While reading this, please keep in mind that there is no general procedure "
4196 "within Debian concerning these points, and that in any case, you should "
4197 "collaborate with your team and the package maintainer."
4198 msgstr ""
4199
4200 #. type: Content of: <chapter><section><section><title>
4201 #: l10n.dbk:177
4202 msgid "How to help the translation effort"
4203 msgstr ""
4204
4205 #. type: Content of: <chapter><section><section><para>
4206 #: l10n.dbk:179
4207 msgid ""
4208 "Choose what you want to translate, make sure that nobody is already working "
4209 "on it (using your debian-l10n-XXX mailing list), translate it, get it "
4210 "reviewed by other native speakers on your l10n mailing list, and provide it "
4211 "to the maintainer of the package (see next point)."
4212 msgstr ""
4213
4214 #. type: Content of: <chapter><section><section><title>
4215 #: l10n.dbk:187
4216 msgid "How to provide a translation for inclusion in a package"
4217 msgstr ""
4218
4219 #. type: Content of: <chapter><section><section><para>
4220 #: l10n.dbk:189
4221 msgid ""
4222 "Make sure your translation is correct (asking for review on your l10n "
4223 "mailing list) before providing it for inclusion.  It will save time for "
4224 "everyone, and avoid the chaos resulting in having several versions of the "
4225 "same document in bug reports."
4226 msgstr ""
4227
4228 #. type: Content of: <chapter><section><section><para>
4229 #: l10n.dbk:195
4230 msgid ""
4231 "The best solution is to file a regular bug containing the translation "
4232 "against the package.  Make sure to use the 'PATCH' tag, and to not use a "
4233 "severity higher than 'wishlist', since the lack of translation never "
4234 "prevented a program from running."
4235 msgstr ""
4236
4237 #. type: Content of: <chapter><section><title>
4238 #: l10n.dbk:205
4239 msgid "Best current practice concerning l10n"
4240 msgstr ""
4241
4242 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4243 #: l10n.dbk:209
4244 msgid ""
4245 "As a maintainer, never edit the translations in any way (even to reformat "
4246 "the layout) without asking on the corresponding l10n mailing list.  You risk "
4247 "for example breaking the encoding of the file by doing so.  Moreover, what "
4248 "you consider an error can be right (or even needed) in the given language."
4249 msgstr ""
4250
4251 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4252 #: l10n.dbk:217
4253 msgid ""
4254 "As a translator, if you find an error in the original text, make sure to "
4255 "report it.  Translators are often the most attentive readers of a given "
4256 "text, and if they don't report the errors they find, nobody will."
4257 msgstr ""
4258
4259 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4260 #: l10n.dbk:224
4261 msgid ""
4262 "In any case, remember that the major issue with l10n is that it requires "
4263 "several people to cooperate, and that it is very easy to start a flamewar "
4264 "about small problems because of misunderstandings.  So if you have problems "
4265 "with your interlocutor, ask for help on the corresponding l10n mailing list, "
4266 "on debian-i18n, or even on debian-devel (but beware, l10n discussions very "
4267 "often become flamewars on that list :)"
4268 msgstr ""
4269
4270 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4271 #: l10n.dbk:234
4272 msgid ""
4273 "In any case, cooperation can only be achieved with <emphasis "
4274 "role=\"strong\">mutual respect</emphasis>."
4275 msgstr ""
4276
4277 #. type: Content of: <chapter><title>
4278 #: new-maintainer.dbk:7
4279 msgid "Applying to Become a Maintainer"
4280 msgstr ""
4281
4282 #. type: Content of: <chapter><section><title>
4283 #: new-maintainer.dbk:9
4284 msgid "Getting started"
4285 msgstr ""
4286
4287 #. type: Content of: <chapter><section><para>
4288 #: new-maintainer.dbk:11
4289 msgid ""
4290 "So, you've read all the documentation, you've gone through the <ulink "
4291 "url=\"&url-newmaint-guide;\">Debian New Maintainers' Guide</ulink>, "
4292 "understand what everything in the <systemitem "
4293 "role=\"package\">hello</systemitem> example package is for, and you're about "
4294 "to Debianize your favorite piece of software.  How do you actually become a "
4295 "Debian developer so that your work can be incorporated into the Project?"
4296 msgstr ""
4297
4298 #. type: Content of: <chapter><section><para>
4299 #: new-maintainer.dbk:19
4300 msgid ""
4301 "Firstly, subscribe to &email-debian-devel; if you haven't already.  Send the "
4302 "word <literal>subscribe</literal> in the <literal>Subject</literal> of an "
4303 "email to &email-debian-devel-req;.  In case of problems, contact the list "
4304 "administrator at &email-listmaster;.  More information on available mailing "
4305 "lists can be found in <xref linkend=\"mailing-lists\"/>.  "
4306 "&email-debian-devel-announce; is another list which is mandatory for anyone "
4307 "who wishes to follow Debian's development."
4308 msgstr ""
4309
4310 #. type: Content of: <chapter><section><para>
4311 #: new-maintainer.dbk:29
4312 msgid ""
4313 "You should subscribe and lurk (that is, read without posting) for a bit "
4314 "before doing any coding, and you should post about your intentions to work "
4315 "on something to avoid duplicated effort."
4316 msgstr ""
4317
4318 #. type: Content of: <chapter><section><para>
4319 #: new-maintainer.dbk:34
4320 msgid ""
4321 "Another good list to subscribe to is &email-debian-mentors;.  See <xref "
4322 "linkend=\"mentors\"/> for details.  The IRC channel "
4323 "<literal>#debian</literal> can also be helpful; see <xref "
4324 "linkend=\"irc-channels\"/>."
4325 msgstr ""
4326
4327 #. type: Content of: <chapter><section><para>
4328 #: new-maintainer.dbk:40
4329 msgid ""
4330 "When you know how you want to contribute to &debian-formal;, you should get "
4331 "in contact with existing Debian maintainers who are working on similar "
4332 "tasks.  That way, you can learn from experienced developers.  For example, "
4333 "if you are interested in packaging existing software for Debian, you should "
4334 "try to get a sponsor.  A sponsor will work together with you on your package "
4335 "and upload it to the Debian archive once they are happy with the packaging "
4336 "work you have done.  You can find a sponsor by mailing the "
4337 "&email-debian-mentors; mailing list, describing your package and yourself "
4338 "and asking for a sponsor (see <xref linkend=\"sponsoring\"/> and <ulink "
4339 "url=\"&url-mentors;\"></ulink> for more information on sponsoring).  On the "
4340 "other hand, if you are interested in porting Debian to alternative "
4341 "architectures or kernels you can subscribe to port specific mailing lists "
4342 "and ask there how to get started.  Finally, if you are interested in "
4343 "documentation or Quality Assurance (QA) work you can join maintainers "
4344 "already working on these tasks and submit patches and improvements."
4345 msgstr ""
4346
4347 #. type: Content of: <chapter><section><para>
4348 #: new-maintainer.dbk:57
4349 msgid ""
4350 "One pitfall could be a too-generic local part in your mailadress: Terms like "
4351 "mail, admin, root, master should be avoided, please see <ulink "
4352 "url=\"&url-debian-lists;\"></ulink> for details."
4353 msgstr ""
4354
4355 #. type: Content of: <chapter><section><title>
4356 #: new-maintainer.dbk:64
4357 msgid "Debian mentors and sponsors"
4358 msgstr ""
4359
4360 #. type: Content of: <chapter><section><para>
4361 #: new-maintainer.dbk:66
4362 msgid ""
4363 "The mailing list &email-debian-mentors; has been set up for novice "
4364 "maintainers who seek help with initial packaging and other developer-related "
4365 "issues.  Every new developer is invited to subscribe to that list (see <xref "
4366 "linkend=\"mailing-lists\"/> for details)."
4367 msgstr ""
4368
4369 #. type: Content of: <chapter><section><para>
4370 #: new-maintainer.dbk:72
4371 msgid ""
4372 "Those who prefer one-on-one help (e.g., via private email) should also post "
4373 "to that list and an experienced developer will volunteer to help."
4374 msgstr ""
4375
4376 #. type: Content of: <chapter><section><para>
4377 #: new-maintainer.dbk:76
4378 msgid ""
4379 "In addition, if you have some packages ready for inclusion in Debian, but "
4380 "are waiting for your new maintainer application to go through, you might be "
4381 "able find a sponsor to upload your package for you.  Sponsors are people who "
4382 "are official Debian Developers, and who are willing to criticize and upload "
4383 "your packages for you. Please read the debian-mentors FAQ at <ulink "
4384 "url=\"&url-mentors;\"></ulink> first."
4385 msgstr ""
4386
4387 #. type: Content of: <chapter><section><para>
4388 #: new-maintainer.dbk:84
4389 msgid ""
4390 "If you wish to be a mentor and/or sponsor, more information is available in "
4391 "<xref linkend=\"newmaint\"/>."
4392 msgstr ""
4393
4394 #. type: Content of: <chapter><section><title>
4395 #: new-maintainer.dbk:90
4396 msgid "Registering as a Debian developer"
4397 msgstr ""
4398
4399 #. type: Content of: <chapter><section><para>
4400 #: new-maintainer.dbk:92
4401 msgid ""
4402 "Before you decide to register with &debian-formal;, you will need to read "
4403 "all the information available at the <ulink url=\"&url-newmaint;\">New "
4404 "Maintainer's Corner</ulink>.  It describes in detail the preparations you "
4405 "have to do before you can register to become a Debian developer.  For "
4406 "example, before you apply, you have to read the <ulink "
4407 "url=\"&url-social-contract;\">Debian Social Contract</ulink>.  Registering "
4408 "as a developer means that you agree with and pledge to uphold the Debian "
4409 "Social Contract; it is very important that maintainers are in accord with "
4410 "the essential ideas behind &debian-formal;.  Reading the <ulink "
4411 "url=\"&url-gnu-manifesto;\">GNU Manifesto</ulink> would also be a good idea."
4412 msgstr ""
4413
4414 #. type: Content of: <chapter><section><para>
4415 #: new-maintainer.dbk:106
4416 msgid ""
4417 "The process of registering as a developer is a process of verifying your "
4418 "identity and intentions, and checking your technical skills.  As the number "
4419 "of people working on &debian-formal; has grown to over "
4420 "&number-of-maintainers; and our systems are used in several very important "
4421 "places, we have to be careful about being compromised.  Therefore, we need "
4422 "to verify new maintainers before we can give them accounts on our servers "
4423 "and let them upload packages."
4424 msgstr ""
4425
4426 #. type: Content of: <chapter><section><para>
4427 #: new-maintainer.dbk:115
4428 msgid ""
4429 "Before you actually register you should have shown that you can do competent "
4430 "work and will be a good contributor.  You show this by submitting patches "
4431 "through the Bug Tracking System and having a package sponsored by an "
4432 "existing Debian Developer for a while.  Also, we expect that contributors "
4433 "are interested in the whole project and not just in maintaining their own "
4434 "packages.  If you can help other maintainers by providing further "
4435 "information on a bug or even a patch, then do so!"
4436 msgstr ""
4437
4438 #. type: Content of: <chapter><section><para>
4439 #: new-maintainer.dbk:124
4440 msgid ""
4441 "Registration requires that you are familiar with Debian's philosophy and "
4442 "technical documentation.  Furthermore, you need a GnuPG key which has been "
4443 "signed by an existing Debian maintainer.  If your GnuPG key is not signed "
4444 "yet, you should try to meet a Debian Developer in person to get your key "
4445 "signed.  There's a <ulink url=\"&url-gpg-coord;\">GnuPG Key Signing "
4446 "Coordination page</ulink> which should help you find a Debian Developer "
4447 "close to you.  (If there is no Debian Developer close to you, alternative "
4448 "ways to pass the ID check may be permitted as an absolute exception on a "
4449 "case-by-case-basis.  See the <ulink url=\"&url-newmaint-id;\">identification "
4450 "page</ulink> for more information.)"
4451 msgstr ""
4452
4453 #. type: Content of: <chapter><section><para>
4454 #: new-maintainer.dbk:137
4455 msgid ""
4456 "If you do not have an OpenPGP key yet, generate one.  Every developer needs "
4457 "an OpenPGP key in order to sign and verify package uploads.  You should read "
4458 "the manual for the software you are using, since it has much important "
4459 "information which is critical to its security.  Many more security failures "
4460 "are due to human error than to software failure or high-powered spy "
4461 "techniques.  See <xref linkend=\"key-maint\"/> for more information on "
4462 "maintaining your public key."
4463 msgstr ""
4464
4465 #. type: Content of: <chapter><section><para>
4466 #: new-maintainer.dbk:145
4467 msgid ""
4468 "Debian uses the <literal>GNU Privacy Guard</literal> (package <systemitem "
4469 "role=\"package\">gnupg</systemitem> version 1 or better) as its baseline "
4470 "standard.  You can use some other implementation of OpenPGP as well.  Note "
4471 "that OpenPGP is an open standard based on <ulink url=\"&url-rfc2440;\">RFC "
4472 "2440</ulink>."
4473 msgstr ""
4474
4475 #. type: Content of: <chapter><section><para><footnote><para>
4476 #: new-maintainer.dbk:155
4477 msgid ""
4478 "Version 4 keys are keys conforming to the OpenPGP standard as defined in RFC "
4479 "2440.  Version 4 is the key type that has always been created when using "
4480 "GnuPG.  PGP versions since 5.x also could create v4 keys, the other choice "
4481 "having been pgp 2.6.x compatible v3 keys (also called legacy RSA by PGP)."
4482 msgstr ""
4483
4484 #. type: Content of: <chapter><section><para><footnote><para>
4485 #: new-maintainer.dbk:159
4486 msgid ""
4487 "Version 4 (primary) keys can either use the RSA or the DSA algorithms, so "
4488 "this has nothing to do with GnuPG's question about which kind of key do you "
4489 "want: (1) DSA and Elgamal, (2)  DSA (sign only), (5) RSA (sign only).  If "
4490 "you don't have any special requirements just pick the default."
4491 msgstr ""
4492
4493 #. type: Content of: <chapter><section><para><footnote><para>
4494 #: new-maintainer.dbk:163
4495 msgid ""
4496 "The easiest way to tell whether an existing key is a v4 key or a v3 (or v2) "
4497 "key is to look at the fingerprint: Fingerprints of version 4 keys are the "
4498 "SHA-1 hash of some key material, so they are 40 hex digits, usually grouped "
4499 "in blocks of 4.  Fingerprints of older key format versions used MD5 and are "
4500 "generally shown in blocks of 2 hex digits.  For example if your fingerprint "
4501 "looks like "
4502 "<literal>5B00 C96D 5D54 AEE1 206B  AF84 DE7A AF6E 94C0 9C7F</literal> then "
4503 "it's a v4 key."
4504 msgstr ""
4505
4506 #. type: Content of: <chapter><section><para><footnote><para>
4507 #: new-maintainer.dbk:170
4508 msgid ""
4509 "Another possibility is to pipe the key into <command>pgpdump</command>, "
4510 "which will say something like Public Key Packet - Ver 4."
4511 msgstr ""
4512
4513 #. type: Content of: <chapter><section><para><footnote><para>
4514 #: new-maintainer.dbk:172
4515 msgid ""
4516 "Also note that your key must be self-signed (i.e.  it has to sign all its "
4517 "own user IDs; this prevents user ID tampering).  All modern OpenPGP software "
4518 "does that automatically, but if you have an older key you may have to "
4519 "manually add those signatures."
4520 msgstr ""
4521
4522 #. type: Content of: <chapter><section><para>
4523 #: new-maintainer.dbk:152
4524 msgid ""
4525 "You need a version 4 key for use in Debian Development. <ulink "
4526 "url=\"http://lists.debian.org/20090520092534.GG22906@earth.li\">Your key "
4527 "length must be greater than 1024 bits</ulink>; there is no reason to use a "
4528 "smaller key, and doing so would be much less secure.<placeholder "
4529 "type=\"footnote\" id=\"0\"/>"
4530 msgstr ""
4531
4532 #. type: Content of: <chapter><section><para>
4533 #: new-maintainer.dbk:178
4534 msgid ""
4535 "If your public key isn't on a public key server such as &pgp-keyserv;, "
4536 "please read the documentation available at <ulink "
4537 "url=\"&url-newmaint-id;\">NM Step 2: Identification</ulink>.  That document "
4538 "contains instructions on how to put your key on the public key servers.  The "
4539 "New Maintainer Group will put your public key on the servers if it isn't "
4540 "already there."
4541 msgstr ""
4542
4543 #. type: Content of: <chapter><section><para>
4544 #: new-maintainer.dbk:186
4545 msgid ""
4546 "Some countries restrict the use of cryptographic software by their "
4547 "citizens.  This need not impede one's activities as a Debian package "
4548 "maintainer however, as it may be perfectly legal to use cryptographic "
4549 "products for authentication, rather than encryption purposes.  If you live "
4550 "in a country where use of cryptography even for authentication is forbidden "
4551 "then please contact us so we can make special arrangements."
4552 msgstr ""
4553
4554 #. type: Content of: <chapter><section><para>
4555 #: new-maintainer.dbk:194
4556 msgid ""
4557 "To apply as a new maintainer, you need an existing Debian Developer to "
4558 "support your application (an <literal>advocate</literal>).  After you have "
4559 "contributed to Debian for a while, and you want to apply to become a "
4560 "registered developer, an existing developer with whom you have worked over "
4561 "the past months has to express their belief that you can contribute to "
4562 "Debian successfully."
4563 msgstr ""
4564
4565 #. type: Content of: <chapter><section><para>
4566 #: new-maintainer.dbk:201
4567 msgid ""
4568 "When you have found an advocate, have your GnuPG key signed and have already "
4569 "contributed to Debian for a while, you're ready to apply.  You can simply "
4570 "register on our <ulink url=\"&url-newmaint-apply;\">application "
4571 "page</ulink>.  After you have signed up, your advocate has to confirm your "
4572 "application.  When your advocate has completed this step you will be "
4573 "assigned an Application Manager who will go with you through the necessary "
4574 "steps of the New Maintainer process.  You can always check your status on "
4575 "the <ulink url=\"&url-newmaint-db;\">applications status board</ulink>."
4576 msgstr ""
4577
4578 #. type: Content of: <chapter><section><para>
4579 #: new-maintainer.dbk:211
4580 msgid ""
4581 "For more details, please consult <ulink url=\"&url-newmaint;\">New "
4582 "Maintainer's Corner</ulink> at the Debian web site.  Make sure that you are "
4583 "familiar with the necessary steps of the New Maintainer process before "
4584 "actually applying.  If you are well prepared, you can save a lot of time "
4585 "later on."
4586 msgstr ""
4587
4588 #. type: Content of: <chapter><title>
4589 #: pkgs.dbk:7
4590 msgid "Managing Packages"
4591 msgstr ""
4592
4593 #. type: Content of: <chapter><para>
4594 #: pkgs.dbk:9
4595 msgid ""
4596 "This chapter contains information related to creating, uploading, "
4597 "maintaining, and porting packages."
4598 msgstr ""
4599
4600 #. type: Content of: <chapter><section><title>
4601 #: pkgs.dbk:13
4602 msgid "New packages"
4603 msgstr ""
4604
4605 #. type: Content of: <chapter><section><para>
4606 #: pkgs.dbk:15
4607 msgid ""
4608 "If you want to create a new package for the Debian distribution, you should "
4609 "first check the <ulink url=\"&url-wnpp;\">Work-Needing and Prospective "
4610 "Packages (WNPP)</ulink> list.  Checking the WNPP list ensures that no one is "
4611 "already working on packaging that software, and that effort is not "
4612 "duplicated.  Read the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink> for "
4613 "more information."
4614 msgstr ""
4615
4616 #. type: Content of: <chapter><section><para>
4617 #: pkgs.dbk:23
4618 msgid ""
4619 "Assuming no one else is already working on your prospective package, you "
4620 "must then submit a bug report (<xref linkend=\"submit-bug\"/>) against the "
4621 "pseudo-package <systemitem role=\"package\">wnpp</systemitem> describing "
4622 "your plan to create a new package, including, but not limiting yourself to, "
4623 "a description of the package, the license of the prospective package, and "
4624 "the current URL where it can be downloaded from."
4625 msgstr ""
4626
4627 #. type: Content of: <chapter><section><para>
4628 #: pkgs.dbk:31
4629 msgid ""
4630 "You should set the subject of the bug to <literal>ITP: "
4631 "<replaceable>foo</replaceable> -- <replaceable>short "
4632 "description</replaceable></literal>, substituting the name of the new "
4633 "package for <replaceable>foo</replaceable>.  The severity of the bug report "
4634 "must be set to <literal>wishlist</literal>.  Please send a copy to "
4635 "&email-debian-devel; by using the X-Debbugs-CC header (don't use CC:, "
4636 "because that way the message's subject won't indicate the bug number). If "
4637 "you are packaging so many new packages (>10)  that notifying the mailing "
4638 "list in separate messages is too disruptive, send a summary after filing the "
4639 "bugs to the debian-devel list instead.  This will inform the other "
4640 "developers about upcoming packages and will allow a review of your "
4641 "description and package name."
4642 msgstr ""
4643
4644 #. type: Content of: <chapter><section><para>
4645 #: pkgs.dbk:45
4646 msgid ""
4647 "Please include a <literal>Closes: "
4648 "#<replaceable>nnnnn</replaceable></literal> entry in the changelog of the "
4649 "new package in order for the bug report to be automatically closed once the "
4650 "new package is installed in the archive (see <xref "
4651 "linkend=\"upload-bugfix\"/>)."
4652 msgstr ""
4653
4654 #. type: Content of: <chapter><section><para>
4655 #: pkgs.dbk:51
4656 msgid ""
4657 "If you think your package needs some explanations for the administrators of "
4658 "the NEW package queue, include them in your changelog, send to "
4659 "&email-ftpmaster; a reply to the email you receive as a maintainer after "
4660 "your upload, or reply to the rejection email in case you are already "
4661 "re-uploading."
4662 msgstr ""
4663
4664 #. type: Content of: <chapter><section><para>
4665 #: pkgs.dbk:57
4666 msgid ""
4667 "When closing security bugs include CVE numbers as well as the "
4668 "<literal>Closes: #<replaceable>nnnnn</replaceable></literal>.  This is "
4669 "useful for the security team to track vulnerabilities.  If an upload is made "
4670 "to fix the bug before the advisory ID is known, it is encouraged to modify "
4671 "the historical changelog entry with the next upload.  Even in this case, "
4672 "please include all available pointers to background information in the "
4673 "original changelog entry."
4674 msgstr ""
4675
4676 #. type: Content of: <chapter><section><para>
4677 #: pkgs.dbk:66
4678 msgid ""
4679 "There are a number of reasons why we ask maintainers to announce their "
4680 "intentions:"
4681 msgstr ""
4682
4683 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4684 #: pkgs.dbk:72
4685 msgid ""
4686 "It helps the (potentially new) maintainer to tap into the experience of "
4687 "people on the list, and lets them know if anyone else is working on it "
4688 "already."
4689 msgstr ""
4690
4691 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4692 #: pkgs.dbk:78
4693 msgid ""
4694 "It lets other people thinking about working on the package know that there "
4695 "already is a volunteer, so efforts may be shared."
4696 msgstr ""
4697
4698 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4699 #: pkgs.dbk:84
4700 msgid ""
4701 "It lets the rest of the maintainers know more about the package than the one "
4702 "line description and the usual changelog entry ``Initial release'' that gets "
4703 "posted to &email-debian-devel-changes;."
4704 msgstr ""
4705
4706 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4707 #: pkgs.dbk:91
4708 msgid ""
4709 "It is helpful to the people who live off <literal>unstable</literal> (and "
4710 "form our first line of testers).  We should encourage these people."
4711 msgstr ""
4712
4713 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4714 #: pkgs.dbk:97
4715 msgid ""
4716 "The announcements give maintainers and other interested parties a better "
4717 "feel of what is going on, and what is new, in the project."
4718 msgstr ""
4719
4720 #. type: Content of: <chapter><section><para>
4721 #: pkgs.dbk:103
4722 msgid ""
4723 "Please see <ulink url=\"http://&ftp-master-host;/REJECT-FAQ.html\"></ulink> "
4724 "for common rejection reasons for a new package."
4725 msgstr ""
4726
4727 #. type: Content of: <chapter><section><title>
4728 #: pkgs.dbk:109
4729 msgid "Recording changes in the package"
4730 msgstr ""
4731
4732 #. type: Content of: <chapter><section><para>
4733 #: pkgs.dbk:111
4734 msgid ""
4735 "Changes that you make to the package need to be recorded in the "
4736 "<filename>debian/changelog</filename>.  These changes should provide a "
4737 "concise description of what was changed, why (if it's in doubt), and note if "
4738 "any bugs were closed.  They also record when the package was completed.  "
4739 "This file will be installed in "
4740 "<filename>/usr/share/doc/<replaceable>package</replaceable>/changelog.Debian.gz</filename>, "
4741 "or "
4742 "<filename>/usr/share/doc/<replaceable>package</replaceable>/changelog.gz</filename> "
4743 "for native packages."
4744 msgstr ""
4745
4746 #. type: Content of: <chapter><section><para>
4747 #: pkgs.dbk:122
4748 msgid ""
4749 "The <filename>debian/changelog</filename> file conforms to a certain "
4750 "structure, with a number of different fields.  One field of note, the "
4751 "<literal>distribution</literal>, is described in <xref "
4752 "linkend=\"distribution\"/>.  More information about the structure of this "
4753 "file can be found in the Debian Policy section titled "
4754 "<filename>debian/changelog</filename>."
4755 msgstr ""
4756
4757 #. type: Content of: <chapter><section><para>
4758 #: pkgs.dbk:130
4759 msgid ""
4760 "Changelog entries can be used to automatically close Debian bugs when the "
4761 "package is installed into the archive.  See <xref "
4762 "linkend=\"upload-bugfix\"/>."
4763 msgstr ""
4764
4765 #. type: Content of: <chapter><section><para>
4766 #: pkgs.dbk:134
4767 msgid ""
4768 "It is conventional that the changelog entry of a package that contains a new "
4769 "upstream version of the software looks like this:"
4770 msgstr ""
4771
4772 #. type: Content of: <chapter><section><screen>
4773 #: pkgs.dbk:138
4774 #, no-wrap
4775 msgid "  * New upstream release.\n"
4776 msgstr ""
4777
4778 #. type: Content of: <chapter><section><para>
4779 #: pkgs.dbk:141
4780 msgid ""
4781 "There are tools to help you create entries and finalize the "
4782 "<filename>changelog</filename> for release — see <xref "
4783 "linkend=\"devscripts\"/> and <xref linkend=\"dpkg-dev-el\"/>."
4784 msgstr ""
4785
4786 #. type: Content of: <chapter><section><para>
4787 #: pkgs.dbk:146
4788 msgid "See also <xref linkend=\"bpp-debian-changelog\"/>."
4789 msgstr ""
4790
4791 #. type: Content of: <chapter><section><title>
4792 #: pkgs.dbk:151
4793 msgid "Testing the package"
4794 msgstr ""
4795
4796 #. type: Content of: <chapter><section><para>
4797 #: pkgs.dbk:153
4798 msgid ""
4799 "Before you upload your package, you should do basic testing on it.  At a "
4800 "minimum, you should try the following activities (you'll need to have an "
4801 "older version of the same Debian package around):"
4802 msgstr ""
4803
4804 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4805 #: pkgs.dbk:160
4806 msgid ""
4807 "Install the package and make sure the software works, or upgrade the package "
4808 "from an older version to your new version if a Debian package for it already "
4809 "exists."
4810 msgstr ""
4811
4812 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4813 #: pkgs.dbk:167
4814 msgid ""
4815 "Run <command>lintian</command> over the package.  You can run "
4816 "<command>lintian</command> as follows: <literal>lintian -v "
4817 "<replaceable>package-version</replaceable>.changes</literal>.  This will "
4818 "check the source package as well as the binary package.  If you don't "
4819 "understand the output that <command>lintian</command> generates, try adding "
4820 "the <literal>-i</literal> switch, which will cause "
4821 "<command>lintian</command> to output a very verbose description of the "
4822 "problem."
4823 msgstr ""
4824
4825 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4826 #: pkgs.dbk:176
4827 msgid ""
4828 "Normally, a package should <emphasis>not</emphasis> be uploaded if it causes "
4829 "<command>lintian</command> to emit errors (they will start with "
4830 "<literal>E</literal>)."
4831 msgstr ""
4832
4833 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4834 #: pkgs.dbk:180
4835 msgid ""
4836 "For more information on <command>lintian</command>, see <xref "
4837 "linkend=\"lintian\"/>."
4838 msgstr ""
4839
4840 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4841 #: pkgs.dbk:186
4842 msgid ""
4843 "Optionally run <command>debdiff</command> (see <xref linkend=\"debdiff\"/>) "
4844 "to analyze changes from an older version, if one exists."
4845 msgstr ""
4846
4847 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4848 #: pkgs.dbk:192
4849 msgid ""
4850 "Downgrade the package to the previous version (if one exists) — this tests "
4851 "the <filename>postrm</filename> and <filename>prerm</filename> scripts."
4852 msgstr ""
4853
4854 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4855 #: pkgs.dbk:198
4856 msgid "Remove the package, then reinstall it."
4857 msgstr ""
4858
4859 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4860 #: pkgs.dbk:203
4861 msgid ""
4862 "Copy the source package in a different directory and try unpacking it and "
4863 "rebuilding it.  This tests if the package relies on existing files outside "
4864 "of it, or if it relies on permissions being preserved on the files shipped "
4865 "inside the <filename>.diff.gz</filename> file."
4866 msgstr ""
4867
4868 #. type: Content of: <chapter><section><title>
4869 #: pkgs.dbk:213
4870 msgid "Layout of the source package"
4871 msgstr ""
4872
4873 #. type: Content of: <chapter><section><para>
4874 #: pkgs.dbk:215
4875 msgid "There are two types of Debian source packages:"
4876 msgstr ""
4877
4878 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4879 #: pkgs.dbk:220
4880 msgid ""
4881 "the so-called <literal>native</literal> packages, where there is no "
4882 "distinction between the original sources and the patches applied for Debian"
4883 msgstr ""
4884
4885 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4886 #: pkgs.dbk:226
4887 msgid ""
4888 "the (more common) packages where there's an original source tarball file "
4889 "accompanied by another file that contains the changes made by Debian"
4890 msgstr ""
4891
4892 #. type: Content of: <chapter><section><para>
4893 #: pkgs.dbk:232
4894 msgid ""
4895 "For the native packages, the source package includes a Debian source control "
4896 "file (<filename>.dsc</filename>) and the source tarball "
4897 "(<filename>.tar.{gz,bz2,xz}</filename>). A source package of a non-native "
4898 "package includes a Debian source control file, the original source tarball "
4899 "(<filename>.orig.tar.{gz,bz2,xz}</filename>) and the Debian changes "
4900 "(<filename>.diff.gz</filename> for the source format “1.0” or "
4901 "<filename>.debian.tar.{gz,bz2,xz}</filename> for the source format “3.0 "
4902 "(quilt)”)."
4903 msgstr ""
4904
4905 #. type: Content of: <chapter><section><para>
4906 #: pkgs.dbk:241
4907 msgid ""
4908 "With source format “1.0”, whether a package is native or not was determined "
4909 "by <command>dpkg-source</command> at build time. Nowadays it is recommended "
4910 "to be explicit about the desired source format by putting either “3.0 "
4911 "(quilt)” or “3.0 (native)” in <filename>debian/source/format</filename>.  "
4912 "The rest of this section relates only to non-native packages."
4913 msgstr ""
4914
4915 #. type: Content of: <chapter><section><para>
4916 #: pkgs.dbk:248
4917 msgid ""
4918 "The first time a version is uploaded which corresponds to a particular "
4919 "upstream version, the original source tar file should be uploaded and "
4920 "included in the <filename>.changes</filename> file.  Subsequently, this very "
4921 "same tar file should be used to build the new diffs and "
4922 "<filename>.dsc</filename> files, and will not need to be re-uploaded."
4923 msgstr ""
4924
4925 #. type: Content of: <chapter><section><para>
4926 #: pkgs.dbk:255
4927 msgid ""
4928 "By default, <command>dpkg-genchanges</command> and "
4929 "<command>dpkg-buildpackage</command> will include the original source tar "
4930 "file if and only if the current changelog entry has a different upstream "
4931 "version from the preceding entry. This behavior may be modified by using "
4932 "<literal>-sa</literal> to always include it or <literal>-sd</literal> to "
4933 "always leave it out."
4934 msgstr ""
4935
4936 #. type: Content of: <chapter><section><para>
4937 #: pkgs.dbk:263
4938 msgid ""
4939 "If no original source is included in the upload, the original source "
4940 "tar-file used by <command>dpkg-source</command> when constructing the "
4941 "<filename>.dsc</filename> file and diff to be uploaded "
4942 "<emphasis>must</emphasis> be byte-for-byte identical with the one already in "
4943 "the archive."
4944 msgstr ""
4945
4946 #. type: Content of: <chapter><section><para>
4947 #: pkgs.dbk:270
4948 msgid ""
4949 "Please notice that, in non-native packages, permissions on files that are "
4950 "not present in the <filename>*.orig.tar.{gz,bz2,xz}</filename> will not be "
4951 "preserved, as diff does not store file permissions in the patch. However "
4952 "when using source format “3.0 (quilt)”, permissions of files inside the "
4953 "<filename>debian</filename> directory are preserved since they are stored in "
4954 "a tar archive."
4955 msgstr ""
4956
4957 #. type: Content of: <chapter><section><title>
4958 #: pkgs.dbk:279
4959 msgid "Picking a distribution"
4960 msgstr ""
4961
4962 #. type: Content of: <chapter><section><para>
4963 #: pkgs.dbk:281
4964 msgid ""
4965 "Each upload needs to specify which distribution the package is intended "
4966 "for.  The package build process extracts this information from the first "
4967 "line of the <filename>debian/changelog</filename> file and places it in the "
4968 "<literal>Distribution</literal> field of the <filename>.changes</filename> "
4969 "file."
4970 msgstr ""
4971
4972 #. type: Content of: <chapter><section><para>
4973 #: pkgs.dbk:287
4974 msgid ""
4975 "There are several possible values for this field: <literal>stable</literal>, "
4976 "<literal>unstable</literal>, <literal>testing-proposed-updates</literal> and "
4977 "<literal>experimental</literal>.  Normally, packages are uploaded into "
4978 "<literal>unstable</literal>."
4979 msgstr ""
4980
4981 #. type: Content of: <chapter><section><para>
4982 #: pkgs.dbk:293
4983 msgid ""
4984 "Actually, there are two other possible distributions: "
4985 "<literal>stable-security</literal> and <literal>testing-security</literal>, "
4986 "but read <xref linkend=\"bug-security\"/> for more information on those."
4987 msgstr ""
4988
4989 #. type: Content of: <chapter><section><para>
4990 #: pkgs.dbk:298
4991 msgid ""
4992 "It is not possible to upload a package into several distributions at the "
4993 "same time."
4994 msgstr ""
4995
4996 #. type: Content of: <chapter><section><section><title>
4997 #: pkgs.dbk:302
4998 msgid ""
4999 "Special case: uploads to the <literal>stable</literal> and "
5000 "<literal>oldstable</literal> distributions"
5001 msgstr ""
5002
5003 #. type: Content of: <chapter><section><section><para>
5004 #: pkgs.dbk:305
5005 msgid ""
5006 "Uploading to <literal>stable</literal> means that the package will "
5007 "transferred to the <literal>proposed-updates-new</literal> queue for review "
5008 "by the stable release managers, and if approved will be installed in "
5009 "<filename>stable-proposed-updates</filename> directory of the Debian "
5010 "archive.  From there, it will be included in <literal>stable</literal> with "
5011 "the next point release."
5012 msgstr ""
5013
5014 #. type: Content of: <chapter><section><section><para>
5015 #: pkgs.dbk:313
5016 msgid ""
5017 "To ensure that your upload will be accepted, you should discuss the changes "
5018 "with the stable release team before you upload. For that, file a bug against "
5019 "the <systemitem role=\"package\">release.debian.org</systemitem> "
5020 "pseudo-package using <command>reportbug</command>, including the patch you "
5021 "want to apply to the package version currently in "
5022 "<literal>stable</literal>. Always be verbose and detailed in your changelog "
5023 "entries for uploads to the <literal>stable</literal> distribution."
5024 msgstr ""
5025
5026 #. type: Content of: <chapter><section><section><para>
5027 #: pkgs.dbk:322
5028 msgid ""
5029 "Extra care should be taken when uploading to <literal>stable</literal>.  "
5030 "Basically, a package should only be uploaded to <literal>stable</literal> if "
5031 "one of the following happens:"
5032 msgstr ""
5033
5034 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5035 #: pkgs.dbk:329
5036 msgid "a truly critical functionality problem"
5037 msgstr ""
5038
5039 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5040 #: pkgs.dbk:334
5041 msgid "the package becomes uninstallable"
5042 msgstr ""
5043
5044 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5045 #: pkgs.dbk:339
5046 msgid "a released architecture lacks the package"
5047 msgstr ""
5048
5049 #. type: Content of: <chapter><section><section><para>
5050 #: pkgs.dbk:344
5051 msgid ""
5052 "In the past, uploads to <literal>stable</literal> were used to address "
5053 "security problems as well.  However, this practice is deprecated, as uploads "
5054 "used for Debian security advisories are automatically copied to the "
5055 "appropriate <filename>proposed-updates</filename> archive when the advisory "
5056 "is released.  See <xref linkend=\"bug-security\"/> for detailed information "
5057 "on handling security problems. If the security teams deems the problem to be "
5058 "too benign to be fixed through a <literal>DSA</literal>, the stable release "
5059 "managers are usually willing to include your fix nonetheless in a regular "
5060 "upload to <literal>stable</literal>."
5061 msgstr ""
5062
5063 #. type: Content of: <chapter><section><section><para>
5064 #: pkgs.dbk:355
5065 msgid ""
5066 "Changing anything else in the package that isn't important is discouraged, "
5067 "because even trivial fixes can cause bugs later on."
5068 msgstr ""
5069
5070 #. type: Content of: <chapter><section><section><para>
5071 #: pkgs.dbk:359
5072 msgid ""
5073 "Packages uploaded to <literal>stable</literal> need to be compiled on "
5074 "systems running <literal>stable</literal>, so that their dependencies are "
5075 "limited to the libraries (and other packages) available in "
5076 "<literal>stable</literal>; for example, a package uploaded to "
5077 "<literal>stable</literal> that depends on a library package that only exists "
5078 "in <literal>unstable</literal> will be rejected.  Making changes to "
5079 "dependencies of other packages (by messing with <literal>Provides</literal> "
5080 "or <filename>shlibs</filename> files), possibly making those other packages "
5081 "uninstallable, is strongly discouraged."
5082 msgstr ""
5083
5084 #. type: Content of: <chapter><section><section><para>
5085 #: pkgs.dbk:369
5086 msgid ""
5087 "Uploads to the <literal>oldstable</literal> distributions are possible as "
5088 "long as it hasn't been archived. The same rules as for "
5089 "<literal>stable</literal> apply."
5090 msgstr ""
5091
5092 #. type: Content of: <chapter><section><section><title>
5093 #: pkgs.dbk:376
5094 msgid "Special case: uploads to <literal>testing/testing-proposed-updates</literal>"
5095 msgstr ""
5096
5097 #. type: Content of: <chapter><section><section><para>
5098 #: pkgs.dbk:378
5099 msgid ""
5100 "Please see the information in the <link linkend=\"t-p-u\">testing "
5101 "section</link> for details."
5102 msgstr ""
5103
5104 #. type: Content of: <chapter><section><title>
5105 #: pkgs.dbk:386
5106 msgid "Uploading a package"
5107 msgstr ""
5108
5109 #. type: Content of: <chapter><section><section><title>
5110 #: pkgs.dbk:388
5111 msgid "Uploading to <literal>ftp-master</literal>"
5112 msgstr ""
5113
5114 #. type: Content of: <chapter><section><section><para>
5115 #: pkgs.dbk:390
5116 msgid ""
5117 "To upload a package, you should upload the files (including the signed "
5118 "changes and dsc-file) with anonymous ftp to "
5119 "<literal>&ftp-upload-host;</literal> in the directory <ulink "
5120 "url=\"ftp://&ftp-upload-host;&upload-queue;\">&upload-queue;</ulink>.  To "
5121 "get the files processed there, they need to be signed with a key in the "
5122 "Debian Developers keyring or the Debian Maintainers keyring (see <ulink "
5123 "url=\"&url-wiki-dm;\"></ulink>)."
5124 msgstr ""
5125
5126 #. type: Content of: <chapter><section><section><para>
5127 #: pkgs.dbk:399
5128 msgid ""
5129 "Please note that you should transfer the changes file last.  Otherwise, your "
5130 "upload may be rejected because the archive maintenance software will parse "
5131 "the changes file and see that not all files have been uploaded."
5132 msgstr ""
5133
5134 #. type: Content of: <chapter><section><section><para>
5135 #: pkgs.dbk:404
5136 msgid ""
5137 "You may also find the Debian packages <link "
5138 "linkend=\"dupload\">dupload</link> or <link linkend=\"dput\">dput</link> "
5139 "useful when uploading packages.These handy programs help automate the "
5140 "process of uploading packages into Debian."
5141 msgstr ""
5142
5143 #. type: Content of: <chapter><section><section><para>
5144 #: pkgs.dbk:409
5145 msgid ""
5146 "For removing packages, please see <ulink "
5147 "url=\"ftp://&ftp-upload-host;&upload-queue;README\"/> and the Debian package "
5148 "<link linkend=\"dcut\">dcut</link>."
5149 msgstr ""
5150
5151 #. type: Content of: <chapter><section><section><title>
5152 #: pkgs.dbk:416
5153 msgid "Delayed uploads"
5154 msgstr ""
5155
5156 #. type: Content of: <chapter><section><section><para>
5157 #: pkgs.dbk:419
5158 msgid ""
5159 "It is sometimes useful to upload a package immediately, but to want this "
5160 "package to arrive in the archive only a few days later. For example, when "
5161 "preparing a <link linkend=\"nmu\">Non-Maintainer Upload</link>, you might "
5162 "want to give the maintainer a few days to react."
5163 msgstr ""
5164
5165 #. type: Content of: <chapter><section><section><para>
5166 #: pkgs.dbk:426
5167 msgid ""
5168 "An upload to the delayed directory keeps the package in <ulink "
5169 "url=\"http://ftp-master.debian.org/deferred.html\">the deferred uploads "
5170 "queue</ulink>.  When the specified waiting time is over, the package is "
5171 "moved into the regular incoming directory for processing.  This is done "
5172 "through automatic uploading to <literal>&ftp-upload-host;</literal> in "
5173 "upload-directory <literal>DELAYED/<replaceable>X</replaceable>-day</literal> "
5174 "(<replaceable>X</replaceable> between 0 and 15). 0-day is uploaded multiple "
5175 "times per day to <literal>&ftp-upload-host;</literal>."
5176 msgstr ""
5177
5178 #. type: Content of: <chapter><section><section><para>
5179 #: pkgs.dbk:437
5180 msgid ""
5181 "With dput, you can use the <literal>--delayed "
5182 "<replaceable>DELAY</replaceable></literal> parameter to put the package into "
5183 "one of the queues."
5184 msgstr ""
5185
5186 #. type: Content of: <chapter><section><section><title>
5187 #: pkgs.dbk:443
5188 msgid "Security uploads"
5189 msgstr ""
5190
5191 #. type: Content of: <chapter><section><section><para>
5192 #: pkgs.dbk:445
5193 msgid ""
5194 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
5195 "upload queue (<literal>oldstable-security</literal>, "
5196 "<literal>stable-security</literal>, etc.) without prior authorization from "
5197 "the security team.  If the package does not exactly meet the team's "
5198 "requirements, it will cause many problems and delays in dealing with the "
5199 "unwanted upload.  For details, please see <xref linkend=\"bug-security\"/>."
5200 msgstr ""
5201
5202 #. type: Content of: <chapter><section><section><title>
5203 #: pkgs.dbk:455
5204 msgid "Other upload queues"
5205 msgstr ""
5206
5207 #. type: Content of: <chapter><section><section><para>
5208 #: pkgs.dbk:457
5209 msgid ""
5210 "There is an alternative upload queue in Europe at <ulink "
5211 "url=\"ftp://&ftp-eu-upload-host;&upload-queue;\"/>. It operates in the same "
5212 "way as <literal>&ftp-upload-host;</literal>, but should be faster for "
5213 "European developers."
5214 msgstr ""
5215
5216 #. type: Content of: <chapter><section><section><para>
5217 #: pkgs.dbk:463
5218 msgid ""
5219 "Packages can also be uploaded via ssh to "
5220 "<literal>&ssh-upload-host;</literal>; files should be put "
5221 "<literal>/srv/upload.debian.org/UploadQueue</literal>. This queue does not "
5222 "support <link linkend=\"delayed-incoming\">delayed uploads</link>."
5223 msgstr ""
5224
5225 #. type: Content of: <chapter><section><section><title>
5226 #: pkgs.dbk:471
5227 msgid "Notification that a new package has been installed"
5228 msgstr ""
5229
5230 #. type: Content of: <chapter><section><section><para>
5231 #: pkgs.dbk:473
5232 msgid ""
5233 "The Debian archive maintainers are responsible for handling package "
5234 "uploads.  For the most part, uploads are automatically handled on a daily "
5235 "basis by the archive maintenance tools, <command>dak "
5236 "process-upload</command>. Specifically, updates to existing packages to the "
5237 "<literal>unstable</literal> distribution are handled automatically. In other "
5238 "cases, notably new packages, placing the uploaded package into the "
5239 "distribution is handled manually. When uploads are handled manually, the "
5240 "change to the archive may take some time to occur. Please be patient."
5241 msgstr ""
5242
5243 #. type: Content of: <chapter><section><section><para>
5244 #: pkgs.dbk:483
5245 msgid ""
5246 "In any case, you will receive an email notification indicating that the "
5247 "package has been added to the archive, which also indicates which bugs will "
5248 "be closed by the upload.  Please examine this notification carefully, "
5249 "checking if any bugs you meant to close didn't get triggered."
5250 msgstr ""
5251
5252 #. type: Content of: <chapter><section><section><para>
5253 #: pkgs.dbk:489
5254 msgid ""
5255 "The installation notification also includes information on what section the "
5256 "package was inserted into.  If there is a disparity, you will receive a "
5257 "separate email notifying you of that.  Read on below."
5258 msgstr ""
5259
5260 #. type: Content of: <chapter><section><section><para>
5261 #: pkgs.dbk:494
5262 msgid ""
5263 "Note that if you upload via queues, the queue daemon software will also send "
5264 "you a notification by email."
5265 msgstr ""
5266
5267 #. type: Content of: <chapter><section><title>
5268 #: pkgs.dbk:502
5269 msgid "Specifying the package section, subsection and priority"
5270 msgstr ""
5271
5272 #. type: Content of: <chapter><section><para>
5273 #: pkgs.dbk:504
5274 msgid ""
5275 "The <filename>debian/control</filename> file's <literal>Section</literal> "
5276 "and <literal>Priority</literal> fields do not actually specify where the "
5277 "file will be placed in the archive, nor its priority.  In order to retain "
5278 "the overall integrity of the archive, it is the archive maintainers who have "
5279 "control over these fields.  The values in the "
5280 "<filename>debian/control</filename> file are actually just hints."
5281 msgstr ""
5282
5283 #. type: Content of: <chapter><section><para>
5284 #: pkgs.dbk:512
5285 msgid ""
5286 "The archive maintainers keep track of the canonical sections and priorities "
5287 "for packages in the <literal>override file</literal>.  If there is a "
5288 "disparity between the <literal>override file</literal> and the package's "
5289 "fields as indicated in <filename>debian/control</filename>, then you will "
5290 "receive an email noting the divergence when the package is installed into "
5291 "the archive.  You can either correct your "
5292 "<filename>debian/control</filename> file for your next upload, or else you "
5293 "may wish to make a change in the <literal>override file</literal>."
5294 msgstr ""
5295
5296 #. type: Content of: <chapter><section><para>
5297 #: pkgs.dbk:522
5298 msgid ""
5299 "To alter the actual section that a package is put in, you need to first make "
5300 "sure that the <filename>debian/control</filename> file in your package is "
5301 "accurate.  Next, submit a bug against <systemitem "
5302 "role=\"package\">ftp.debian.org</systemitem> requesting that the section or "
5303 "priority for your package be changed from the old section or priority to the "
5304 "new one. Use a Subject like <literal>override: PACKAGE1:section/priority, "
5305 "[...], PACKAGEX:section/priority</literal>, and include the justification "
5306 "for the change in the body of the bug report."
5307 msgstr ""
5308
5309 #. type: Content of: <chapter><section><para>
5310 #: pkgs.dbk:533
5311 msgid ""
5312 "For more information about <literal>override files</literal>, see "
5313 "<citerefentry> <refentrytitle>dpkg-scanpackages</refentrytitle> "
5314 "<manvolnum>1</manvolnum> </citerefentry> and <ulink "
5315 "url=\"&url-bts-devel;#maintincorrect\"></ulink>."
5316 msgstr ""
5317
5318 #. type: Content of: <chapter><section><para>
5319 #: pkgs.dbk:539
5320 msgid ""
5321 "Note that the <literal>Section</literal> field describes both the section as "
5322 "well as the subsection, which are described in <xref "
5323 "linkend=\"archive-sections\"/>.  If the section is main, it should be "
5324 "omitted.  The list of allowable subsections can be found in <ulink "
5325 "url=\"&url-debian-policy;ch-archive.html#s-subsections\"></ulink>."
5326 msgstr ""
5327
5328 #. type: Content of: <chapter><section><title>
5329 #: pkgs.dbk:548
5330 msgid "Handling bugs"
5331 msgstr ""
5332
5333 #. type: Content of: <chapter><section><para>
5334 #: pkgs.dbk:550
5335 msgid ""
5336 "Every developer has to be able to work with the Debian <ulink "
5337 "url=\"&url-bts;\">bug tracking system</ulink>.  This includes knowing how to "
5338 "file bug reports properly (see <xref linkend=\"submit-bug\"/>), how to "
5339 "update them and reorder them, and how to process and close them."
5340 msgstr ""
5341
5342 #. type: Content of: <chapter><section><para>
5343 #: pkgs.dbk:556
5344 msgid ""
5345 "The bug tracking system's features are described in the <ulink "
5346 "url=\"&url-bts-devel;\">BTS documentation for developers</ulink>.  This "
5347 "includes closing bugs, sending followup messages, assigning severities and "
5348 "tags, marking bugs as forwarded, and other issues."
5349 msgstr ""
5350
5351 #. type: Content of: <chapter><section><para>
5352 #: pkgs.dbk:562
5353 msgid ""
5354 "Operations such as reassigning bugs to other packages, merging separate bug "
5355 "reports about the same issue, or reopening bugs when they are prematurely "
5356 "closed, are handled using the so-called control mail server.  All of the "
5357 "commands available on this server are described in the <ulink "
5358 "url=\"&url-bts-control;\">BTS control server documentation</ulink>."
5359 msgstr ""
5360
5361 #. type: Content of: <chapter><section><section><title>
5362 #: pkgs.dbk:570
5363 msgid "Monitoring bugs"
5364 msgstr ""
5365
5366 #. type: Content of: <chapter><section><section><para>
5367 #: pkgs.dbk:572
5368 msgid ""
5369 "If you want to be a good maintainer, you should periodically check the "
5370 "<ulink url=\"&url-bts;\">Debian bug tracking system (BTS)</ulink> for your "
5371 "packages.  The BTS contains all the open bugs against your packages.  You "
5372 "can check them by browsing this page: "
5373 "<literal>http://&bugs-host;/<replaceable>yourlogin</replaceable>@debian.org</literal>."
5374 msgstr ""
5375
5376 #. type: Content of: <chapter><section><section><para>
5377 #: pkgs.dbk:579
5378 msgid ""
5379 "Maintainers interact with the BTS via email addresses at "
5380 "<literal>&bugs-host;</literal>.  Documentation on available commands can be "
5381 "found at <ulink url=\"&url-bts;\"></ulink>, or, if you have installed the "
5382 "<systemitem role=\"package\">doc-debian</systemitem> package, you can look "
5383 "at the local files &file-bts-docs;."
5384 msgstr ""
5385
5386 #. type: Content of: <chapter><section><section><para>
5387 #: pkgs.dbk:586
5388 msgid ""
5389 "Some find it useful to get periodic reports on open bugs.  You can add a "
5390 "cron job such as the following if you want to get a weekly email outlining "
5391 "all the open bugs against your packages:"
5392 msgstr ""
5393
5394 #. type: Content of: <chapter><section><section><screen>
5395 #: pkgs.dbk:591
5396 #, no-wrap
5397 msgid ""
5398 "# ask for weekly reports of bugs in my packages\n"
5399 "&cron-bug-report;\n"
5400 msgstr ""
5401
5402 #. type: Content of: <chapter><section><section><para>
5403 #: pkgs.dbk:595
5404 msgid ""
5405 "Replace <replaceable>address</replaceable> with your official Debian "
5406 "maintainer address."
5407 msgstr ""
5408
5409 #. type: Content of: <chapter><section><section><title>
5410 #: pkgs.dbk:601
5411 msgid "Responding to bugs"
5412 msgstr ""
5413
5414 #. type: Content of: <chapter><section><section><para>
5415 #: pkgs.dbk:603
5416 msgid ""
5417 "When responding to bugs, make sure that any discussion you have about bugs "
5418 "is sent both to the original submitter of the bug, and to the bug itself "
5419 "(e.g., <email><replaceable>123</replaceable>@&bugs-host;</email>).  If "
5420 "you're writing a new mail and you don't remember the submitter email "
5421 "address, you can use the "
5422 "<email><replaceable>123</replaceable>-submitter@&bugs-host;</email> email to "
5423 "contact the submitter <emphasis>and</emphasis> to record your mail within "
5424 "the bug log (that means you don't need to send a copy of the mail to "
5425 "<email><replaceable>123</replaceable>@&bugs-host;</email>)."
5426 msgstr ""
5427
5428 #. type: Content of: <chapter><section><section><para>
5429 #: pkgs.dbk:612
5430 msgid ""
5431 "If you get a bug which mentions FTBFS, this means Fails to build from "
5432 "source.  Porters frequently use this acronym."
5433 msgstr ""
5434
5435 #. type: Content of: <chapter><section><section><para>
5436 #: pkgs.dbk:616
5437 msgid ""
5438 "Once you've dealt with a bug report (e.g.  fixed it), mark it as "
5439 "<literal>done</literal> (close it) by sending an explanation message to "
5440 "<email><replaceable>123</replaceable>-done@&bugs-host;</email>.  If you're "
5441 "fixing a bug by changing and uploading the package, you can automate bug "
5442 "closing as described in <xref linkend=\"upload-bugfix\"/>."
5443 msgstr ""
5444
5445 #. type: Content of: <chapter><section><section><para>
5446 #: pkgs.dbk:623
5447 msgid ""
5448 "You should <emphasis>never</emphasis> close bugs via the bug server "
5449 "<literal>close</literal> command sent to &email-bts-control;.  If you do so, "
5450 "the original submitter will not receive any information about why the bug "
5451 "was closed."
5452 msgstr ""
5453
5454 #. type: Content of: <chapter><section><section><title>
5455 #: pkgs.dbk:631
5456 msgid "Bug housekeeping"
5457 msgstr ""
5458
5459 #. type: Content of: <chapter><section><section><para>
5460 #: pkgs.dbk:633
5461 msgid ""
5462 "As a package maintainer, you will often find bugs in other packages or have "
5463 "bugs reported against your packages which are actually bugs in other "
5464 "packages.  The bug tracking system's features are described in the <ulink "
5465 "url=\"&url-bts-devel;\">BTS documentation for Debian developers</ulink>.  "
5466 "Operations such as reassigning, merging, and tagging bug reports are "
5467 "described in the <ulink url=\"&url-bts-control;\">BTS control server "
5468 "documentation</ulink>.  This section contains some guidelines for managing "
5469 "your own bugs, based on the collective Debian developer experience."
5470 msgstr ""
5471
5472 #. type: Content of: <chapter><section><section><para>
5473 #: pkgs.dbk:644
5474 msgid ""
5475 "Filing bugs for problems that you find in other packages is one of the civic "
5476 "obligations of maintainership, see <xref linkend=\"submit-bug\"/> for "
5477 "details.  However, handling the bugs in your own packages is even more "
5478 "important."
5479 msgstr ""
5480
5481 #. type: Content of: <chapter><section><section><para>
5482 #: pkgs.dbk:649
5483 msgid "Here's a list of steps that you may follow to handle a bug report:"
5484 msgstr ""
5485
5486 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5487 #: pkgs.dbk:654
5488 msgid ""
5489 "Decide whether the report corresponds to a real bug or not.  Sometimes users "
5490 "are just calling a program in the wrong way because they haven't read the "
5491 "documentation.  If you diagnose this, just close the bug with enough "
5492 "information to let the user correct their problem (give pointers to the good "
5493 "documentation and so on).  If the same report comes up again and again you "
5494 "may ask yourself if the documentation is good enough or if the program "
5495 "shouldn't detect its misuse in order to give an informative error message.  "
5496 "This is an issue that may need to be brought up with the upstream author."
5497 msgstr ""
5498
5499 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5500 #: pkgs.dbk:664
5501 msgid ""
5502 "If the bug submitter disagrees with your decision to close the bug, they may "
5503 "reopen it until you find an agreement on how to handle it.  If you don't "
5504 "find any, you may want to tag the bug <literal>wontfix</literal> to let "
5505 "people know that the bug exists but that it won't be corrected.  If this "
5506 "situation is unacceptable, you (or the submitter) may want to require a "
5507 "decision of the technical committee by reassigning the bug to <systemitem "
5508 "role=\"package\">tech-ctte</systemitem> (you may use the clone command of "
5509 "the BTS if you wish to keep it reported against your package).  Before doing "
5510 "so, please read the <ulink url=\"&url-tech-ctte;\">recommended "
5511 "procedure</ulink>."
5512 msgstr ""
5513
5514 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5515 #: pkgs.dbk:678
5516 msgid ""
5517 "If the bug is real but it's caused by another package, just reassign the bug "
5518 "to the right package.  If you don't know which package it should be "
5519 "reassigned to, you should ask for help on <link "
5520 "linkend=\"irc-channels\">IRC</link> or on &email-debian-devel;.  Please "
5521 "inform the maintainer(s) of the package you reassign the bug to, for example "
5522 "by Cc:ing the message that does the reassign to "
5523 "<email><replaceable>packagename</replaceable>@packages.debian.org</email> "
5524 "and explaining your reasons in that mail. Please note that a simple "
5525 "reassignment is <emphasis>not</emphasis> e-mailed to the maintainers of the "
5526 "package being reassigned to, so they won't know about it until they look at "
5527 "a bug overview for their packages."
5528 msgstr ""
5529
5530 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5531 #: pkgs.dbk:690
5532 msgid ""
5533 "If the bug affects the operation of your package, please consider cloning "
5534 "the bug and reassigning the clone to the package that really causes the "
5535 "behavior. Otherwise, the bug will not be shown in your package's bug list, "
5536 "possibly causing users to report the same bug over and over again. You "
5537 "should block \"your\" bug with the reassigned, cloned bug to document the "
5538 "relationship."
5539 msgstr ""
5540
5541 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5542 #: pkgs.dbk:700
5543 msgid ""
5544 "Sometimes you also have to adjust the severity of the bug so that it matches "
5545 "our definition of the severity.  That's because people tend to inflate the "
5546 "severity of bugs to make sure their bugs are fixed quickly.  Some bugs may "
5547 "even be dropped to wishlist severity when the requested change is just "
5548 "cosmetic."
5549 msgstr ""
5550
5551 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5552 #: pkgs.dbk:708
5553 msgid ""
5554 "If the bug is real but the same problem has already been reported by someone "
5555 "else, then the two relevant bug reports should be merged into one using the "
5556 "merge command of the BTS.  In this way, when the bug is fixed, all of the "
5557 "submitters will be informed of this.  (Note, however, that emails sent to "
5558 "one bug report's submitter won't automatically be sent to the other report's "
5559 "submitter.) For more details on the technicalities of the merge command and "
5560 "its relative, the unmerge command, see the BTS control server documentation."
5561 msgstr ""
5562
5563 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5564 #: pkgs.dbk:719
5565 msgid ""
5566 "The bug submitter may have forgotten to provide some information, in which "
5567 "case you have to ask them for the required information.  You may use the "
5568 "<literal>moreinfo</literal> tag to mark the bug as such.  Moreover if you "
5569 "can't reproduce the bug, you tag it <literal>unreproducible</literal>.  "
5570 "Anyone who can reproduce the bug is then invited to provide more information "
5571 "on how to reproduce it.  After a few months, if this information has not "
5572 "been sent by someone, the bug may be closed."
5573 msgstr ""
5574
5575 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5576 #: pkgs.dbk:730
5577 msgid ""
5578 "If the bug is related to the packaging, you just fix it.  If you are not "
5579 "able to fix it yourself, then tag the bug as <literal>help</literal>.  You "
5580 "can also ask for help on &email-debian-devel; or &email-debian-qa;.  If it's "
5581 "an upstream problem, you have to forward it to the upstream author.  "
5582 "Forwarding a bug is not enough, you have to check at each release if the bug "
5583 "has been fixed or not.  If it has, you just close it, otherwise you have to "
5584 "remind the author about it.  If you have the required skills you can prepare "
5585 "a patch that fixes the bug and send it to the author at the same time.  Make "
5586 "sure to send the patch to the BTS and to tag the bug as "
5587 "<literal>patch</literal>."
5588 msgstr ""
5589
5590 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5591 #: pkgs.dbk:744
5592 msgid ""
5593 "If you have fixed a bug in your local copy, or if a fix has been committed "
5594 "to the VCS repository, you may tag the bug as <literal>pending</literal> to "
5595 "let people know that the bug is corrected and that it will be closed with "
5596 "the next upload (add the <literal>closes:</literal> in the "
5597 "<filename>changelog</filename>).  This is particularly useful if you are "
5598 "several developers working on the same package."
5599 msgstr ""
5600
5601 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5602 #: pkgs.dbk:754
5603 msgid ""
5604 "Once a corrected package is available in the archive, the bug should be "
5605 "closed indicating the version in which it was fixed. This can be done "
5606 "automatically, read <xref linkend=\"upload-bugfix\"/>."
5607 msgstr ""
5608
5609 #. type: Content of: <chapter><section><section><title>
5610 #: pkgs.dbk:763
5611 msgid "When bugs are closed by new uploads"
5612 msgstr ""
5613
5614 #. type: Content of: <chapter><section><section><para>
5615 #: pkgs.dbk:765
5616 msgid ""
5617 "As bugs and problems are fixed in your packages, it is your responsibility "
5618 "as the package maintainer to close these bugs.  However, you should not "
5619 "close a bug until the package which fixes the bug has been accepted into the "
5620 "Debian archive.  Therefore, once you get notification that your updated "
5621 "package has been installed into the archive, you can and should close the "
5622 "bug in the BTS.  Also, the bug should be closed with the correct version."
5623 msgstr ""
5624
5625 #. type: Content of: <chapter><section><section><para>
5626 #: pkgs.dbk:773
5627 msgid ""
5628 "However, it's possible to avoid having to manually close bugs after the "
5629 "upload — just list the fixed bugs in your "
5630 "<filename>debian/changelog</filename> file, following a certain syntax, and "
5631 "the archive maintenance software will close the bugs for you.  For example:"
5632 msgstr ""
5633
5634 #. type: Content of: <chapter><section><section><screen>
5635 #: pkgs.dbk:779
5636 #, no-wrap
5637 msgid ""
5638 "acme-cannon (3.1415) unstable; urgency=low\n"
5639 "\n"
5640 "  * Frobbed with options (closes: Bug#98339)\n"
5641 "  * Added safety to prevent operator dismemberment, closes: bug#98765,\n"
5642 "    bug#98713, #98714.\n"
5643 "  * Added man page. Closes: #98725.\n"
5644 msgstr ""
5645
5646 #. type: Content of: <chapter><section><section><para>
5647 #: pkgs.dbk:787
5648 msgid ""
5649 "Technically speaking, the following Perl regular expression describes how "
5650 "bug closing changelogs are identified:"
5651 msgstr ""
5652
5653 #. type: Content of: <chapter><section><section><screen>
5654 #: pkgs.dbk:791
5655 #, no-wrap
5656 msgid "  /closes:\\s*(?:bug)?\\#\\s*\\d+(?:,\\s*(?:bug)?\\#\\s*\\d+)*/ig\n"
5657 msgstr ""
5658
5659 #. type: Content of: <chapter><section><section><para>
5660 #: pkgs.dbk:794
5661 msgid ""
5662 "We prefer the <literal>closes: #<replaceable>XXX</replaceable></literal> "
5663 "syntax, as it is the most concise entry and the easiest to integrate with "
5664 "the text of the <filename>changelog</filename>.  Unless specified different "
5665 "by the <literal>-v</literal>-switch to <command>dpkg-buildpackage</command>, "
5666 "only the bugs closed in the most recent changelog entry are closed "
5667 "(basically, exactly the bugs mentioned in the changelog-part in the "
5668 "<filename>.changes</filename> file are closed)."
5669 msgstr ""
5670
5671 #. type: Content of: <chapter><section><section><para>
5672 #: pkgs.dbk:803
5673 msgid ""
5674 "Historically, uploads identified as <link linkend=\"nmu\">non-maintainer "
5675 "upload (NMU)</link> were tagged <literal>fixed</literal> instead of being "
5676 "closed, but that practice was ceased with the advent of version-tracking.  "
5677 "The same applied to the tag <literal>fixed-in-experimental</literal>."
5678 msgstr ""
5679
5680 #. type: Content of: <chapter><section><section><para>
5681 #: pkgs.dbk:809
5682 msgid ""
5683 "If you happen to mistype a bug number or forget a bug in the changelog "
5684 "entries, don't hesitate to undo any damage the error caused.  To reopen "
5685 "wrongly closed bugs, send a <literal>reopen "
5686 "<replaceable>XXX</replaceable></literal> command to the bug tracking "
5687 "system's control address, &email-bts-control;.  To close any remaining bugs "
5688 "that were fixed by your upload, email the <filename>.changes</filename> file "
5689 "to <email><replaceable>XXX</replaceable>-done@&bugs-host;</email>, where "
5690 "<replaceable>XXX</replaceable> is the bug number, and put Version: "
5691 "<replaceable>YYY</replaceable> and an empty line as the first two lines of "
5692 "the body of the email, where <replaceable>YYY</replaceable> is the first "
5693 "version where the bug has been fixed."
5694 msgstr ""
5695
5696 #. type: Content of: <chapter><section><section><para>
5697 #: pkgs.dbk:821
5698 msgid ""
5699 "Bear in mind that it is not obligatory to close bugs using the changelog as "
5700 "described above.  If you simply want to close bugs that don't have anything "
5701 "to do with an upload you made, do it by emailing an explanation to "
5702 "<email><replaceable>XXX</replaceable>-done@&bugs-host;</email>.  Do "
5703 "<emphasis role=\"strong\">not</emphasis> close bugs in the changelog entry "
5704 "of a version if the changes in that version of the package don't have any "
5705 "bearing on the bug."
5706 msgstr ""
5707
5708 #. type: Content of: <chapter><section><section><para>
5709 #: pkgs.dbk:829
5710 msgid ""
5711 "For general information on how to write your changelog entries, see <xref "
5712 "linkend=\"bpp-debian-changelog\"/>."
5713 msgstr ""
5714
5715 #. type: Content of: <chapter><section><section><title>
5716 #: pkgs.dbk:835
5717 msgid "Handling security-related bugs"
5718 msgstr ""
5719
5720 #. type: Content of: <chapter><section><section><para>
5721 #: pkgs.dbk:837
5722 msgid ""
5723 "Due to their sensitive nature, security-related bugs must be handled "
5724 "carefully.  The Debian Security Team exists to coordinate this activity, "
5725 "keeping track of outstanding security problems, helping maintainers with "
5726 "security problems or fixing them themselves, sending security advisories, "
5727 "and maintaining <literal>security.debian.org</literal>."
5728 msgstr ""
5729
5730 #. type: Content of: <chapter><section><section><para>
5731 #: pkgs.dbk:844
5732 msgid ""
5733 "When you become aware of a security-related bug in a Debian package, whether "
5734 "or not you are the maintainer, collect pertinent information about the "
5735 "problem, and promptly contact the security team, preferably by filing a "
5736 "ticket in their Request Tracker.  See <ulink "
5737 "url=\"http://wiki.debian.org/rt.debian.org#Security_Team\"></ulink>.  "
5738 "Alternatively you may email &email-security-team;.  <emphasis "
5739 "role=\"strong\">DO NOT UPLOAD</emphasis> any packages for "
5740 "<literal>stable</literal> without contacting the team.  Useful information "
5741 "includes, for example:"
5742 msgstr ""
5743
5744 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5745 #: pkgs.dbk:857
5746 msgid "Whether or not the bug is already public."
5747 msgstr ""
5748
5749 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5750 #: pkgs.dbk:862
5751 msgid ""
5752 "Which versions of the package are known to be affected by the bug.  Check "
5753 "each version that is present in a supported Debian release, as well as "
5754 "<literal>testing</literal> and <literal>unstable</literal>."
5755 msgstr ""
5756
5757 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5758 #: pkgs.dbk:869
5759 msgid "The nature of the fix, if any is available (patches are especially helpful)"
5760 msgstr ""
5761
5762 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5763 #: pkgs.dbk:874
5764 msgid ""
5765 "Any fixed packages that you have prepared yourself (send only the "
5766 "<filename>.diff.gz</filename> and <filename>.dsc</filename> files and read "
5767 "<xref linkend=\"bug-security-building\"/> first)"
5768 msgstr ""
5769
5770 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5771 #: pkgs.dbk:881
5772 msgid ""
5773 "Any assistance you can provide to help with testing (exploits, regression "
5774 "testing, etc.)"
5775 msgstr ""
5776
5777 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5778 #: pkgs.dbk:887
5779 msgid ""
5780 "Any information needed for the advisory (see <xref "
5781 "linkend=\"bug-security-advisories\"/>)"
5782 msgstr ""
5783
5784 #. type: Content of: <chapter><section><section><para>
5785 #: pkgs.dbk:892
5786 msgid ""
5787 "As the maintainer of the package, you have the responsibility to maintain "
5788 "it, even in the stable release. You are in the best position to evaluate "
5789 "patches and test updated packages, so please see the sections below on how "
5790 "to prepare packages for the Security Team to handle."
5791 msgstr ""
5792
5793 #. type: Content of: <chapter><section><section><section><title>
5794 #: pkgs.dbk:898
5795 msgid "The Security Tracker"
5796 msgstr ""
5797
5798 #. type: Content of: <chapter><section><section><section><para>
5799 #: pkgs.dbk:900
5800 msgid ""
5801 "The security team maintains a central database, the <ulink "
5802 "url=\"http://security-tracker.debian.org/\">Debian Security "
5803 "Tracker</ulink>.  This contains all public information that is known about "
5804 "security issues: which packages and versions are affected or fixed, and thus "
5805 "whether stable, testing and/or unstable are vulnerable. Information that is "
5806 "still confidential is not added to the tracker."
5807 msgstr ""
5808
5809 #. type: Content of: <chapter><section><section><section><para>
5810 #: pkgs.dbk:908
5811 msgid ""
5812 "You can search it for a specific issue, but also on package name. Look for "
5813 "your package to see which issues are still open. If you can, please provide "
5814 "more information about those issues, or help to address them in your "
5815 "package.  Instructions are on the tracker web pages."
5816 msgstr ""
5817
5818 #. type: Content of: <chapter><section><section><section><title>
5819 #: pkgs.dbk:916
5820 msgid "Confidentiality"
5821 msgstr ""
5822
5823 #. type: Content of: <chapter><section><section><section><para>
5824 #: pkgs.dbk:918
5825 msgid ""
5826 "Unlike most other activities within Debian, information about security "
5827 "issues must sometimes be kept private for a time.  This allows software "
5828 "distributors to coordinate their disclosure in order to minimize their "
5829 "users' exposure.  Whether this is the case depends on the nature of the "
5830 "problem and corresponding fix, and whether it is already a matter of public "
5831 "knowledge."
5832 msgstr ""
5833
5834 #. type: Content of: <chapter><section><section><section><para>
5835 #: pkgs.dbk:925
5836 msgid "There are several ways developers can learn of a security problem:"
5837 msgstr ""
5838
5839 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5840 #: pkgs.dbk:930
5841 msgid "they notice it on a public forum (mailing list, web site, etc.)"
5842 msgstr ""
5843
5844 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5845 #: pkgs.dbk:935
5846 msgid "someone files a bug report"
5847 msgstr ""
5848
5849 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5850 #: pkgs.dbk:940
5851 msgid "someone informs them via private email"
5852 msgstr ""
5853
5854 #. type: Content of: <chapter><section><section><section><para>
5855 #: pkgs.dbk:945
5856 msgid ""
5857 "In the first two cases, the information is public and it is important to "
5858 "have a fix as soon as possible.  In the last case, however, it might not be "
5859 "public information.  In that case there are a few possible options for "
5860 "dealing with the problem:"
5861 msgstr ""
5862
5863 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5864 #: pkgs.dbk:953
5865 msgid ""
5866 "If the security exposure is minor, there is sometimes no need to keep the "
5867 "problem a secret and a fix should be made and released."
5868 msgstr ""
5869
5870 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5871 #: pkgs.dbk:959
5872 msgid ""
5873 "If the problem is severe, it is preferable to share the information with "
5874 "other vendors and coordinate a release.  The security team keeps in contact "
5875 "with the various organizations and individuals and can take care of that."
5876 msgstr ""
5877
5878 #. type: Content of: <chapter><section><section><section><para>
5879 #: pkgs.dbk:966
5880 msgid ""
5881 "In all cases if the person who reports the problem asks that it not be "
5882 "disclosed, such requests should be honored, with the obvious exception of "
5883 "informing the security team in order that a fix may be produced for a stable "
5884 "release of Debian.  When sending confidential information to the security "
5885 "team, be sure to mention this fact."
5886 msgstr ""
5887
5888 #. type: Content of: <chapter><section><section><section><para>
5889 #: pkgs.dbk:973
5890 msgid ""
5891 "Please note that if secrecy is needed you may not upload a fix to "
5892 "<literal>unstable</literal> (or anywhere else, such as a public VCS "
5893 "repository).  It is not sufficient to obfuscate the details of the change, "
5894 "as the code itself is public, and can (and will) be examined by the general "
5895 "public."
5896 msgstr ""
5897
5898 #. type: Content of: <chapter><section><section><section><para>
5899 #: pkgs.dbk:980
5900 msgid ""
5901 "There are two reasons for releasing information even though secrecy is "
5902 "requested: the problem has been known for a while, or the problem or exploit "
5903 "has become public."
5904 msgstr ""
5905
5906 #. type: Content of: <chapter><section><section><section><para>
5907 #: pkgs.dbk:985
5908 msgid ""
5909 "The Security Team has a PGP-key to enable encrypted communication about "
5910 "sensitive issues. See the <ulink "
5911 "url=\"http://www.debian.org/security/faq#contact\">Security Team FAQ</ulink> "
5912 "for details."
5913 msgstr ""
5914
5915 #. type: Content of: <chapter><section><section><section><title>
5916 #: pkgs.dbk:991
5917 msgid "Security Advisories"
5918 msgstr ""
5919
5920 #. type: Content of: <chapter><section><section><section><para>
5921 #: pkgs.dbk:993
5922 msgid ""
5923 "Security advisories are only issued for the current, released stable "
5924 "distribution, and <emphasis>not</emphasis> for <literal>testing</literal> or "
5925 "<literal>unstable</literal>.  When released, advisories are sent to the "
5926 "&email-debian-security-announce; mailing list and posted on <ulink "
5927 "url=\"&url-debian-security-advisories;\">the security web page</ulink>.  "
5928 "Security advisories are written and posted by the security team.  However "
5929 "they certainly do not mind if a maintainer can supply some of the "
5930 "information for them, or write part of the text.  Information that should be "
5931 "in an advisory includes:"
5932 msgstr ""
5933
5934 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5935 #: pkgs.dbk:1006
5936 msgid "A description of the problem and its scope, including:"
5937 msgstr ""
5938
5939 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5940 #: pkgs.dbk:1011
5941 msgid "The type of problem (privilege escalation, denial of service, etc.)"
5942 msgstr ""
5943
5944 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5945 #: pkgs.dbk:1016
5946 msgid "What privileges may be gained, and by whom (if any)"
5947 msgstr ""
5948
5949 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5950 #: pkgs.dbk:1021
5951 msgid "How it can be exploited"
5952 msgstr ""
5953
5954 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5955 #: pkgs.dbk:1026
5956 msgid "Whether it is remotely or locally exploitable"
5957 msgstr ""
5958
5959 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5960 #: pkgs.dbk:1031
5961 msgid "How the problem was fixed"
5962 msgstr ""
5963
5964 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5965 #: pkgs.dbk:1036
5966 msgid "This information allows users to assess the threat to their systems."
5967 msgstr ""
5968
5969 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5970 #: pkgs.dbk:1041
5971 msgid "Version numbers of affected packages"
5972 msgstr ""
5973
5974 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5975 #: pkgs.dbk:1046
5976 msgid "Version numbers of fixed packages"
5977 msgstr ""
5978
5979 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5980 #: pkgs.dbk:1051
5981 msgid ""
5982 "Information on where to obtain the updated packages (usually from the Debian "
5983 "security archive)"
5984 msgstr ""
5985
5986 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5987 #: pkgs.dbk:1057
5988 msgid ""
5989 "References to upstream advisories, <ulink "
5990 "url=\"http://cve.mitre.org\">CVE</ulink> identifiers, and any other "
5991 "information useful in cross-referencing the vulnerability"
5992 msgstr ""
5993
5994 #. type: Content of: <chapter><section><section><section><title>
5995 #: pkgs.dbk:1066
5996 msgid "Preparing packages to address security issues"
5997 msgstr ""
5998
5999 #. type: Content of: <chapter><section><section><section><para>
6000 #: pkgs.dbk:1068
6001 msgid ""
6002 "One way that you can assist the security team in their duties is to provide "
6003 "them with fixed packages suitable for a security advisory for the stable "
6004 "Debian release."
6005 msgstr ""
6006
6007 #. type: Content of: <chapter><section><section><section><para>
6008 #: pkgs.dbk:1073
6009 msgid ""
6010 "When an update is made to the stable release, care must be taken to avoid "
6011 "changing system behavior or introducing new bugs.  In order to do this, make "
6012 "as few changes as possible to fix the bug.  Users and administrators rely on "
6013 "the exact behavior of a release once it is made, so any change that is made "
6014 "might break someone's system.  This is especially true of libraries: make "
6015 "sure you never change the API or ABI, no matter how small the change."
6016 msgstr ""
6017
6018 #. type: Content of: <chapter><section><section><section><para>
6019 #: pkgs.dbk:1081
6020 msgid ""
6021 "This means that moving to a new upstream version is not a good solution.  "
6022 "Instead, the relevant changes should be back-ported to the version present "
6023 "in the current stable Debian release.  Generally, upstream maintainers are "
6024 "willing to help if needed.  If not, the Debian security team may be able to "
6025 "help."
6026 msgstr ""
6027
6028 #. type: Content of: <chapter><section><section><section><para>
6029 #: pkgs.dbk:1087
6030 msgid ""
6031 "In some cases, it is not possible to back-port a security fix, for example "
6032 "when large amounts of source code need to be modified or rewritten.  If this "
6033 "happens, it may be necessary to move to a new upstream version.  However, "
6034 "this is only done in extreme situations, and you must always coordinate that "
6035 "with the security team beforehand."
6036 msgstr ""
6037
6038 #. type: Content of: <chapter><section><section><section><para>
6039 #: pkgs.dbk:1094
6040 msgid ""
6041 "Related to this is another important guideline: always test your changes.  "
6042 "If you have an exploit available, try it and see if it indeed succeeds on "
6043 "the unpatched package and fails on the fixed package.  Test other, normal "
6044 "actions as well, as sometimes a security fix can break seemingly unrelated "
6045 "features in subtle ways."
6046 msgstr ""
6047
6048 #. type: Content of: <chapter><section><section><section><para>
6049 #: pkgs.dbk:1101
6050 msgid ""
6051 "Do <emphasis role=\"strong\">NOT</emphasis> include any changes in your "
6052 "package which are not directly related to fixing the vulnerability.  These "
6053 "will only need to be reverted, and this wastes time.  If there are other "
6054 "bugs in your package that you would like to fix, make an upload to "
6055 "proposed-updates in the usual way, after the security advisory is issued.  "
6056 "The security update mechanism is not a means for introducing changes to your "
6057 "package which would otherwise be rejected from the stable release, so please "
6058 "do not attempt to do this."
6059 msgstr ""
6060
6061 #. type: Content of: <chapter><section><section><section><para>
6062 #: pkgs.dbk:1111
6063 msgid ""
6064 "Review and test your changes as much as possible.  Check the differences "
6065 "from the previous version repeatedly (<command>interdiff</command> from the "
6066 "<systemitem role=\"package\">patchutils</systemitem> package and "
6067 "<command>debdiff</command> from <systemitem "
6068 "role=\"package\">devscripts</systemitem> are useful tools for this, see "
6069 "<xref linkend=\"debdiff\"/>)."
6070 msgstr ""
6071
6072 #. type: Content of: <chapter><section><section><section><para>
6073 #: pkgs.dbk:1119
6074 msgid "Be sure to verify the following items:"
6075 msgstr ""
6076
6077 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6078 #: pkgs.dbk:1124
6079 msgid ""
6080 "<emphasis role=\"strong\">Target the right distribution</emphasis> in your "
6081 "<filename>debian/changelog</filename>.  For <literal>stable</literal> this "
6082 "is <literal>stable-security</literal> and for <literal>testing</literal> "
6083 "this is <literal>testing-security</literal>, and for the previous stable "
6084 "release, this is <literal>oldstable-security</literal>.  Do not target "
6085 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
6086 "or <literal>stable</literal>!"
6087 msgstr ""
6088
6089 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6090 #: pkgs.dbk:1135
6091 msgid "The upload should have <emphasis role=\"strong\">urgency=high</emphasis>."
6092 msgstr ""
6093
6094 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6095 #: pkgs.dbk:1140
6096 msgid ""
6097 "Make descriptive, meaningful changelog entries.  Others will rely on them to "
6098 "determine whether a particular bug was fixed.  Add "
6099 "<literal>closes:</literal> statements for any <emphasis "
6100 "role=\"strong\">Debian bugs</emphasis> filed.  Always include an external "
6101 "reference, preferably a <emphasis role=\"strong\">CVE identifier</emphasis>, "
6102 "so that it can be cross-referenced. However, if a CVE identifier has not yet "
6103 "been assigned, do not wait for it but continue the process. The identifier "
6104 "can be cross-referenced later."
6105 msgstr ""
6106
6107 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6108 #: pkgs.dbk:1151
6109 msgid ""
6110 "Make sure the <emphasis role=\"strong\">version number</emphasis> is "
6111 "proper.  It must be greater than the current package, but less than package "
6112 "versions in later distributions.  If in doubt, test it with <literal>dpkg "
6113 "--compare-versions</literal>.  Be careful not to re-use a version number "
6114 "that you have already used for a previous upload, or one that conflicts with "
6115 "a binNMU. The convention is to append "
6116 "<literal>+</literal><replaceable>codename</replaceable><literal>1</literal>, "
6117 "e.g.  <literal>1:2.4.3-4+lenny1</literal>, of course increasing 1 for any "
6118 "subsequent uploads."
6119 msgstr ""
6120
6121 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6122 #: pkgs.dbk:1164
6123 msgid ""
6124 "Unless the upstream source has been uploaded to "
6125 "<literal>security.debian.org</literal> before (by a previous security "
6126 "update), build the upload <emphasis role=\"strong\">with full upstream "
6127 "source</emphasis> (<literal>dpkg-buildpackage -sa</literal>).  If there has "
6128 "been a previous upload to <literal>security.debian.org</literal> with the "
6129 "same upstream version, you may upload without upstream source "
6130 "(<literal>dpkg-buildpackage -sd</literal>)."
6131 msgstr ""
6132
6133 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6134 #: pkgs.dbk:1175
6135 msgid ""
6136 "Be sure to use the <emphasis role=\"strong\">exact same "
6137 "<filename>*.orig.tar.{gz,bz2,xz}</filename></emphasis> as used in the normal "
6138 "archive, otherwise it is not possible to move the security fix into the main "
6139 "archives later."
6140 msgstr ""
6141
6142 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6143 #: pkgs.dbk:1183
6144 msgid ""
6145 "Build the package on a <emphasis role=\"strong\">clean system</emphasis> "
6146 "which only has packages installed from the distribution you are building "
6147 "for. If you do not have such a system yourself, you can use a debian.org "
6148 "machine (see <xref linkend=\"server-machines\"/>) or setup a chroot (see "
6149 "<xref linkend=\"pbuilder\"/> and <xref linkend=\"debootstrap\"/>)."
6150 msgstr ""
6151
6152 #. type: Content of: <chapter><section><section><section><title>
6153 #: pkgs.dbk:1194
6154 msgid "Uploading the fixed package"
6155 msgstr ""
6156
6157 #. type: Content of: <chapter><section><section><section><para>
6158 #: pkgs.dbk:1196
6159 msgid ""
6160 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
6161 "upload queue (<literal>oldstable-security</literal>, "
6162 "<literal>stable-security</literal>, etc.) without prior authorization from "
6163 "the security team.  If the package does not exactly meet the team's "
6164 "requirements, it will cause many problems and delays in dealing with the "
6165 "unwanted upload."
6166 msgstr ""
6167
6168 #. type: Content of: <chapter><section><section><section><para>
6169 #: pkgs.dbk:1203
6170 msgid ""
6171 "Do <emphasis role=\"strong\">NOT</emphasis> upload your fix to "
6172 "<literal>proposed-updates</literal> without coordinating with the security "
6173 "team.  Packages from <literal>security.debian.org</literal> will be copied "
6174 "into the <literal>proposed-updates</literal> directory automatically.  If a "
6175 "package with the same or a higher version number is already installed into "
6176 "the archive, the security update will be rejected by the archive system.  "
6177 "That way, the stable distribution will end up without a security update for "
6178 "this package instead."
6179 msgstr ""
6180
6181 #. type: Content of: <chapter><section><section><section><para>
6182 #: pkgs.dbk:1213
6183 msgid ""
6184 "Once you have created and tested the new package and it has been approved by "
6185 "the security team, it needs to be uploaded so that it can be installed in "
6186 "the archives.  For security uploads, the place to upload to is "
6187 "<literal>ftp://security-master.debian.org/pub/SecurityUploadQueue/</literal>."
6188 msgstr ""
6189
6190 #. type: Content of: <chapter><section><section><section><para>
6191 #: pkgs.dbk:1219
6192 msgid ""
6193 "Once an upload to the security queue has been accepted, the package will "
6194 "automatically be built for all architectures and stored for verification by "
6195 "the security team."
6196 msgstr ""
6197
6198 #. type: Content of: <chapter><section><section><section><para>
6199 #: pkgs.dbk:1224
6200 msgid ""
6201 "Uploads which are waiting for acceptance or verification are only accessible "
6202 "by the security team.  This is necessary since there might be fixes for "
6203 "security problems that cannot be disclosed yet."
6204 msgstr ""
6205
6206 #. type: Content of: <chapter><section><section><section><para>
6207 #: pkgs.dbk:1229
6208 msgid ""
6209 "If a member of the security team accepts a package, it will be installed on "
6210 "<literal>security.debian.org</literal> as well as proposed for the proper "
6211 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
6212 "on <literal>&ftp-master-host;</literal>."
6213 msgstr ""
6214
6215 #. type: Content of: <chapter><section><title>
6216 #: pkgs.dbk:1241
6217 msgid "Moving, removing, renaming, adopting, and orphaning packages"
6218 msgstr ""
6219
6220 #. type: Content of: <chapter><section><para>
6221 #: pkgs.dbk:1243
6222 msgid ""
6223 "Some archive manipulation operations are not automated in the Debian upload "
6224 "process.  These procedures should be manually followed by maintainers.  This "
6225 "chapter gives guidelines on what to do in these cases."
6226 msgstr ""
6227
6228 #. type: Content of: <chapter><section><section><title>
6229 #: pkgs.dbk:1248
6230 msgid "Moving packages"
6231 msgstr ""
6232
6233 #. type: Content of: <chapter><section><section><para><footnote><para>
6234 #: pkgs.dbk:1252
6235 msgid ""
6236 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
6237 "guidelines on what section a package belongs in."
6238 msgstr ""
6239
6240 #. type: Content of: <chapter><section><section><para>
6241 #: pkgs.dbk:1250
6242 msgid ""
6243 "Sometimes a package will change its section.  For instance, a package from "
6244 "the <literal>non-free</literal> section might be GPL'd in a later version, "
6245 "in which case the package should be moved to `main' or "
6246 "`contrib'.<placeholder type=\"footnote\" id=\"0\"/>"
6247 msgstr ""
6248
6249 #. type: Content of: <chapter><section><section><para>
6250 #: pkgs.dbk:1257
6251 msgid ""
6252 "If you need to change the section for one of your packages, change the "
6253 "package control information to place the package in the desired section, and "
6254 "re-upload the package (see the <ulink url=\"&url-debian-policy;\">Debian "
6255 "Policy Manual</ulink> for details).  You must ensure that you include the "
6256 "<filename>.orig.tar.{gz,bz2,xz}</filename> in your upload (even if you are "
6257 "not uploading a new upstream version), or it will not appear in the new "
6258 "section together with the rest of the package.  If your new section is "
6259 "valid, it will be moved automatically.  If it does not, then contact the "
6260 "ftpmasters in order to understand what happened."
6261 msgstr ""
6262
6263 #. type: Content of: <chapter><section><section><para>
6264 #: pkgs.dbk:1269
6265 msgid ""
6266 "If, on the other hand, you need to change the <literal>subsection</literal> "
6267 "of one of your packages (e.g., ``devel'', ``admin''), the procedure is "
6268 "slightly different.  Correct the subsection as found in the control file of "
6269 "the package, and re-upload that.  Also, you'll need to get the override file "
6270 "updated, as described in <xref linkend=\"override-file\"/>."
6271 msgstr ""
6272
6273 #. type: Content of: <chapter><section><section><title>
6274 #: pkgs.dbk:1278
6275 msgid "Removing packages"
6276 msgstr ""
6277
6278 #. type: Content of: <chapter><section><section><para>
6279 #: pkgs.dbk:1280
6280 msgid ""
6281 "If for some reason you want to completely remove a package (say, if it is an "
6282 "old compatibility library which is no longer required), you need to file a "
6283 "bug against <systemitem role=\"package\">&ftp-debian-org;</systemitem> "
6284 "asking that the package be removed; as all bugs, this bug should normally "
6285 "have normal severity.  The bug title should be in the form <literal>RM: "
6286 "<replaceable>package</replaceable> <replaceable>[architecture "
6287 "list]</replaceable> -- <replaceable>reason</replaceable></literal>, where "
6288 "<replaceable>package</replaceable> is the package to be removed and "
6289 "<replaceable>reason</replaceable> is a short summary of the reason for the "
6290 "removal request.  <replaceable>[architecture list]</replaceable> is optional "
6291 "and only needed if the removal request only applies to some architectures, "
6292 "not all. Note that the <command>reportbug</command> will create a title "
6293 "conforming to these rules when you use it to report a bug against the "
6294 "<systemitem role=\"package\">&ftp-debian-org;</systemitem> pseudo-package."
6295 msgstr ""
6296
6297 #. type: Content of: <chapter><section><section><para>
6298 #: pkgs.dbk:1297
6299 msgid ""
6300 "If you want to remove a package you maintain, you should note this in the "
6301 "bug title by prepending <literal>ROM</literal> (Request Of Maintainer).  "
6302 "There are several other standard acronyms used in the reasoning for a "
6303 "package removal, see <ulink "
6304 "url=\"http://&ftp-master-host;/removals.html\"></ulink> for a complete "
6305 "list. That page also provides a convenient overview of pending removal "
6306 "requests."
6307 msgstr ""
6308
6309 #. type: Content of: <chapter><section><section><para>
6310 #: pkgs.dbk:1306
6311 msgid ""
6312 "Note that removals can only be done for the <literal>unstable</literal>, "
6313 "<literal>experimental</literal> and <literal>stable</literal> distribution.  "
6314 "Packages are not removed from <literal>testing</literal> directly.  Rather, "
6315 "they will be removed automatically after the package has been removed from "
6316 "<literal>unstable</literal> and no package in <literal>testing</literal> "
6317 "depends on it. (Removals from <literal>testing</literal> are possible though "
6318 "by filing a removal bug report against the <systemitem "
6319 "role=\"package\">&release-debian-org;</systemitem> pseudo-package. See the "
6320 "section <xref linkend=\"removals\"/>.)"
6321 msgstr ""
6322
6323 #. type: Content of: <chapter><section><section><para>
6324 #: pkgs.dbk:1318
6325 msgid ""
6326 "There is one exception when an explicit removal request is not necessary: If "
6327 "a (source or binary) package is no longer built from source, it will be "
6328 "removed semi-automatically. For a binary-package, this means if there is no "
6329 "longer any source package producing this binary package; if the binary "
6330 "package is just no longer produced on some architectures, a removal request "
6331 "is still necessary. For a source-package, this means that all binary "
6332 "packages it refers to have been taken over by another source package."
6333 msgstr ""
6334
6335 #. type: Content of: <chapter><section><section><para>
6336 #: pkgs.dbk:1327
6337 msgid ""
6338 "In your removal request, you have to detail the reasons justifying the "
6339 "request.  This is to avoid unwanted removals and to keep a trace of why a "
6340 "package has been removed.  For example, you can provide the name of the "
6341 "package that supersedes the one to be removed."
6342 msgstr ""
6343
6344 #. type: Content of: <chapter><section><section><para>
6345 #: pkgs.dbk:1333
6346 msgid ""
6347 "Usually you only ask for the removal of a package maintained by yourself.  "
6348 "If you want to remove another package, you have to get the approval of its "
6349 "maintainer. Should the package be orphaned and thus have no maintainer, you "
6350 "should first discuss the removal request on &email-debian-qa;. If there is a "
6351 "consensus that the package should be removed, you should reassign and "
6352 "retitle the <literal>O:</literal> bug filed against the "
6353 "<literal>wnpp</literal> package instead of filing a new bug as removal "
6354 "request."
6355 msgstr ""
6356
6357 #. type: Content of: <chapter><section><section><para>
6358 #: pkgs.dbk:1343
6359 msgid ""
6360 "Further information relating to these and other package removal related "
6361 "topics may be found at <ulink "
6362 "url=\"http://wiki.debian.org/ftpmaster_Removals\"></ulink> and <ulink "
6363 "url=\"&url-debian-qa;howto-remove.html\"></ulink>."
6364 msgstr ""
6365
6366 #. type: Content of: <chapter><section><section><para>
6367 #: pkgs.dbk:1348
6368 msgid ""
6369 "If in doubt concerning whether a package is disposable, email "
6370 "&email-debian-devel; asking for opinions.  Also of interest is the "
6371 "<command>apt-cache</command> program from the <systemitem "
6372 "role=\"package\">apt</systemitem> package.  When invoked as "
6373 "<literal>apt-cache showpkg <replaceable>package</replaceable></literal>, the "
6374 "program will show details for <replaceable>package</replaceable>, including "
6375 "reverse depends.  Other useful programs include <command>apt-cache "
6376 "rdepends</command>, <command>apt-rdepends</command>, "
6377 "<command>build-rdeps</command> (in the <systemitem "
6378 "role=\"package\">devscripts</systemitem> package) and "
6379 "<command>grep-dctrl</command>.  Removal of orphaned packages is discussed on "
6380 "&email-debian-qa;."
6381 msgstr ""
6382
6383 #. type: Content of: <chapter><section><section><para>
6384 #: pkgs.dbk:1361
6385 msgid ""
6386 "Once the package has been removed, the package's bugs should be handled.  "
6387 "They should either be reassigned to another package in the case where the "
6388 "actual code has evolved into another package (e.g.  "
6389 "<literal>libfoo12</literal> was removed because <literal>libfoo13</literal> "
6390 "supersedes it) or closed if the software is simply no longer part of "
6391 "Debian.  When closing the bugs, to avoid marking the bugs as fixed in "
6392 "versions of the packages in previous Debian releases, they should be marked "
6393 "as fixed in the version "
6394 "<literal>&lt;most-recent-version-ever-in-Debian&gt;+rm</literal>."
6395 msgstr ""
6396
6397 #. type: Content of: <chapter><section><section><section><title>
6398 #: pkgs.dbk:1372
6399 msgid "Removing packages from <filename>Incoming</filename>"
6400 msgstr ""
6401
6402 #. type: Content of: <chapter><section><section><section><para>
6403 #: pkgs.dbk:1374
6404 msgid ""
6405 "In the past, it was possible to remove packages from "
6406 "<filename>incoming</filename>.  However, with the introduction of the new "
6407 "incoming system, this is no longer possible.  Instead, you have to upload a "
6408 "new revision of your package with a higher version than the package you want "
6409 "to replace.  Both versions will be installed in the archive but only the "
6410 "higher version will actually be available in <literal>unstable</literal> "
6411 "since the previous version will immediately be replaced by the higher.  "
6412 "However, if you do proper testing of your packages, the need to replace a "
6413 "package should not occur too often anyway."
6414 msgstr ""
6415
6416 #. type: Content of: <chapter><section><section><title>
6417 #: pkgs.dbk:1389
6418 msgid "Replacing or renaming packages"
6419 msgstr ""
6420
6421 #. type: Content of: <chapter><section><section><para>
6422 #: pkgs.dbk:1391
6423 msgid ""
6424 "When the upstream maintainers for one of your packages chose to rename their "
6425 "software (or you made a mistake naming your package), you should follow a "
6426 "two-step process to rename it. In the first step, change the "
6427 "<filename>debian/control</filename> file to reflect the new name and to "
6428 "replace, provide and conflict with the obsolete package name (see the <ulink "
6429 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for details).  "
6430 "Please note that you should only add a <literal>Provides</literal> relation "
6431 "if all packages depending on the obsolete package name continue to work "
6432 "after the renaming. Once you've uploaded the package and the package has "
6433 "moved into the archive, file a bug against <systemitem "
6434 "role=\"package\">&ftp-debian-org;</systemitem> asking to remove the package "
6435 "with the obsolete name (see <xref linkend=\"removing-pkgs\"/>).  Do not "
6436 "forget to properly reassign the package's bugs at the same time."
6437 msgstr ""
6438
6439 #. type: Content of: <chapter><section><section><para>
6440 #: pkgs.dbk:1407
6441 msgid ""
6442 "At other times, you may make a mistake in constructing your package and wish "
6443 "to replace it.  The only way to do this is to increase the version number "
6444 "and upload a new version.  The old version will be expired in the usual "
6445 "manner.  Note that this applies to each part of your package, including the "
6446 "sources: if you wish to replace the upstream source tarball of your package, "
6447 "you will need to upload it with a different version.  An easy possibility is "
6448 "to replace <filename>foo_1.00.orig.tar.gz</filename> with "
6449 "<filename>foo_1.00+0.orig.tar.gz</filename> or "
6450 "<filename>foo_1.00.orig.tar.bz2</filename>.  This restriction gives each "
6451 "file on the ftp site a unique name, which helps to ensure consistency across "
6452 "the mirror network."
6453 msgstr ""
6454
6455 #. type: Content of: <chapter><section><section><title>
6456 #: pkgs.dbk:1422
6457 msgid "Orphaning a package"
6458 msgstr ""
6459
6460 #. type: Content of: <chapter><section><section><para>
6461 #: pkgs.dbk:1424
6462 msgid ""
6463 "If you can no longer maintain a package, you need to inform others, and see "
6464 "that the package is marked as orphaned.  You should set the package "
6465 "maintainer to <literal>Debian QA Group &orphan-address;</literal> and submit "
6466 "a bug report against the pseudo package <systemitem "
6467 "role=\"package\">wnpp</systemitem>.  The bug report should be titled "
6468 "<literal>O: <replaceable>package</replaceable> -- <replaceable>short "
6469 "description</replaceable></literal> indicating that the package is now "
6470 "orphaned.  The severity of the bug should be set to "
6471 "<literal>normal</literal>; if the package has a priority of standard or "
6472 "higher, it should be set to important.  If you feel it's necessary, send a "
6473 "copy to &email-debian-devel; by putting the address in the X-Debbugs-CC: "
6474 "header of the message (no, don't use CC:, because that way the message's "
6475 "subject won't indicate the bug number)."
6476 msgstr ""
6477
6478 #. type: Content of: <chapter><section><section><para>
6479 #: pkgs.dbk:1439
6480 msgid ""
6481 "If you just intend to give the package away, but you can keep maintainership "
6482 "for the moment, then you should instead submit a bug against <systemitem "
6483 "role=\"package\">wnpp</systemitem> and title it <literal>RFA: "
6484 "<replaceable>package</replaceable> -- <replaceable>short "
6485 "description</replaceable></literal>.  <literal>RFA</literal> stands for "
6486 "<literal>Request For Adoption</literal>."
6487 msgstr ""
6488
6489 #. type: Content of: <chapter><section><section><para>
6490 #: pkgs.dbk:1447
6491 msgid "More information is on the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink>."
6492 msgstr ""
6493
6494 #. type: Content of: <chapter><section><section><title>
6495 #: pkgs.dbk:1453
6496 msgid "Adopting a package"
6497 msgstr ""
6498
6499 #. type: Content of: <chapter><section><section><para>
6500 #: pkgs.dbk:1455
6501 msgid ""
6502 "A list of packages in need of a new maintainer is available in the <ulink "
6503 "url=\"&url-wnpp;\">Work-Needing and Prospective Packages list "
6504 "(WNPP)</ulink>.  If you wish to take over maintenance of any of the packages "
6505 "listed in the WNPP, please take a look at the aforementioned page for "
6506 "information and procedures."
6507 msgstr ""
6508
6509 #. type: Content of: <chapter><section><section><para>
6510 #: pkgs.dbk:1462
6511 msgid ""
6512 "It is not OK to simply take over a package that you feel is neglected — that "
6513 "would be package hijacking.  You can, of course, contact the current "
6514 "maintainer and ask them if you may take over the package.  If you have "
6515 "reason to believe a maintainer has gone AWOL (absent without leave), see "
6516 "<xref linkend=\"mia-qa\"/>."
6517 msgstr ""
6518
6519 #. type: Content of: <chapter><section><section><para>
6520 #: pkgs.dbk:1468
6521 msgid ""
6522 "Generally, you may not take over the package without the assent of the "
6523 "current maintainer.  Even if they ignore you, that is still not grounds to "
6524 "take over a package.  Complaints about maintainers should be brought up on "
6525 "the developers' mailing list.  If the discussion doesn't end with a positive "
6526 "conclusion, and the issue is of a technical nature, consider bringing it to "
6527 "the attention of the technical committee (see the <ulink "
6528 "url=\"&url-tech-ctte;\">technical committee web page</ulink> for more "
6529 "information)."
6530 msgstr ""
6531
6532 #. type: Content of: <chapter><section><section><para>
6533 #: pkgs.dbk:1478
6534 msgid ""
6535 "If you take over an old package, you probably want to be listed as the "
6536 "package's official maintainer in the bug system.  This will happen "
6537 "automatically once you upload a new version with an updated "
6538 "<literal>Maintainer</literal> field, although it can take a few hours after "
6539 "the upload is done.  If you do not expect to upload a new version for a "
6540 "while, you can use <xref linkend=\"pkg-tracking-system\"/> to get the bug "
6541 "reports.  However, make sure that the old maintainer has no problem with the "
6542 "fact that they will continue to receive the bugs during that time."
6543 msgstr ""
6544
6545 #. type: Content of: <chapter><section><title>
6546 #: pkgs.dbk:1492
6547 msgid "Porting and being ported"
6548 msgstr ""
6549
6550 #. type: Content of: <chapter><section><para>
6551 #: pkgs.dbk:1494
6552 msgid ""
6553 "Debian supports an ever-increasing number of architectures.  Even if you are "
6554 "not a porter, and you don't use any architecture but one, it is part of your "
6555 "duty as a maintainer to be aware of issues of portability.  Therefore, even "
6556 "if you are not a porter, you should read most of this chapter."
6557 msgstr ""
6558
6559 #. type: Content of: <chapter><section><para>
6560 #: pkgs.dbk:1500
6561 msgid ""
6562 "Porting is the act of building Debian packages for architectures that are "
6563 "different from the original architecture of the package maintainer's binary "
6564 "package.  It is a unique and essential activity.  In fact, porters do most "
6565 "of the actual compiling of Debian packages.  For instance, when a maintainer "
6566 "uploads a (portable) source packages with binaries for the "
6567 "<literal>i386</literal> architecture, it will be built for each of the other "
6568 "architectures, amounting to &number-of-arches; more builds."
6569 msgstr ""
6570
6571 #. type: Content of: <chapter><section><section><title>
6572 #: pkgs.dbk:1509
6573 msgid "Being kind to porters"
6574 msgstr ""
6575
6576 #. type: Content of: <chapter><section><section><para>
6577 #: pkgs.dbk:1511
6578 msgid ""
6579 "Porters have a difficult and unique task, since they are required to deal "
6580 "with a large volume of packages.  Ideally, every source package should build "
6581 "right out of the box.  Unfortunately, this is often not the case.  This "
6582 "section contains a checklist of ``gotchas'' often committed by Debian "
6583 "maintainers — common problems which often stymie porters, and make their "
6584 "jobs unnecessarily difficult."
6585 msgstr ""
6586
6587 #. type: Content of: <chapter><section><section><para>
6588 #: pkgs.dbk:1519
6589 msgid ""
6590 "The first and most important thing is to respond quickly to bug or issues "
6591 "raised by porters.  Please treat porters with courtesy, as if they were in "
6592 "fact co-maintainers of your package (which, in a way, they are).  Please be "
6593 "tolerant of succinct or even unclear bug reports; do your best to hunt down "
6594 "whatever the problem is."
6595 msgstr ""
6596
6597 #. type: Content of: <chapter><section><section><para>
6598 #: pkgs.dbk:1526
6599 msgid ""
6600 "By far, most of the problems encountered by porters are caused by "
6601 "<emphasis>packaging bugs</emphasis> in the source packages.  Here is a "
6602 "checklist of things you should check or be aware of."
6603 msgstr ""
6604
6605 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6606 #: pkgs.dbk:1533
6607 msgid ""
6608 "Make sure that your <literal>Build-Depends</literal> and "
6609 "<literal>Build-Depends-Indep</literal> settings in "
6610 "<filename>debian/control</filename> are set properly.  The best way to "
6611 "validate this is to use the <systemitem "
6612 "role=\"package\">debootstrap</systemitem> package to create an "
6613 "<literal>unstable</literal> chroot environment (see <xref "
6614 "linkend=\"debootstrap\"/>).  Within that chrooted environment, install the "
6615 "<systemitem role=\"package\">build-essential</systemitem> package and any "
6616 "package dependencies mentioned in <literal>Build-Depends</literal> and/or "
6617 "<literal>Build-Depends-Indep</literal>.  Finally, try building your package "
6618 "within that chrooted environment.  These steps can be automated by the use "
6619 "of the <command>pbuilder</command> program which is provided by the package "
6620 "of the same name (see <xref linkend=\"pbuilder\"/>)."
6621 msgstr ""
6622
6623 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6624 #: pkgs.dbk:1548
6625 msgid ""
6626 "If you can't set up a proper chroot, <command>dpkg-depcheck</command> may be "
6627 "of assistance (see <xref linkend=\"dpkg-depcheck\"/>)."
6628 msgstr ""
6629
6630 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6631 #: pkgs.dbk:1552
6632 msgid ""
6633 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
6634 "instructions on setting build dependencies."
6635 msgstr ""
6636
6637 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6638 #: pkgs.dbk:1558
6639 msgid ""
6640 "Don't set architecture to a value other than <literal>all</literal> or "
6641 "<literal>any</literal> unless you really mean it.  In too many cases, "
6642 "maintainers don't follow the instructions in the <ulink "
6643 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>.  Setting your "
6644 "architecture to only one architecture (such as <literal>i386</literal> or "
6645 "<literal>amd64</literal>) is usually incorrect."
6646 msgstr ""
6647
6648 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6649 #: pkgs.dbk:1568
6650 msgid ""
6651 "Make sure your source package is correct.  Do <literal>dpkg-source -x "
6652 "<replaceable>package</replaceable>.dsc</literal> to make sure your source "
6653 "package unpacks properly.  Then, in there, try building your package from "
6654 "scratch with <command>dpkg-buildpackage</command>."
6655 msgstr ""
6656
6657 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6658 #: pkgs.dbk:1576
6659 msgid ""
6660 "Make sure you don't ship your source package with the "
6661 "<filename>debian/files</filename> or <filename>debian/substvars</filename> "
6662 "files.  They should be removed by the <literal>clean</literal> target of "
6663 "<filename>debian/rules</filename>."
6664 msgstr ""
6665
6666 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6667 #: pkgs.dbk:1584
6668 msgid ""
6669 "Make sure you don't rely on locally installed or hacked configurations or "
6670 "programs.  For instance, you should never be calling programs in "
6671 "<filename>/usr/local/bin</filename> or the like.  Try not to rely on "
6672 "programs being setup in a special way.  Try building your package on another "
6673 "machine, even if it's the same architecture."
6674 msgstr ""
6675
6676 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6677 #: pkgs.dbk:1593
6678 msgid ""
6679 "Don't depend on the package you're building being installed already (a "
6680 "sub-case of the above issue). There are, of course, exceptions to this rule, "
6681 "but be aware that any case like this needs manual bootstrapping and cannot "
6682 "be done by automated package builders."
6683 msgstr ""
6684
6685 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6686 #: pkgs.dbk:1601
6687 msgid ""
6688 "Don't rely on the compiler being a certain version, if possible.  If not, "
6689 "then make sure your build dependencies reflect the restrictions, although "
6690 "you are probably asking for trouble, since different architectures sometimes "
6691 "standardize on different compilers."
6692 msgstr ""
6693
6694 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6695 #: pkgs.dbk:1609
6696 msgid ""
6697 "Make sure your <filename>debian/rules</filename> contains separate "
6698 "<literal>binary-arch</literal> and <literal>binary-indep</literal> targets, "
6699 "as the Debian Policy Manual requires.  Make sure that both targets work "
6700 "independently, that is, that you can call the target without having called "
6701 "the other before.  To test this, try to run <command>dpkg-buildpackage "
6702 "-B</command>."
6703 msgstr ""
6704
6705 #. type: Content of: <chapter><section><section><title>
6706 #: pkgs.dbk:1620
6707 msgid "Guidelines for porter uploads"
6708 msgstr ""
6709
6710 #. type: Content of: <chapter><section><section><para>
6711 #: pkgs.dbk:1622
6712 msgid ""
6713 "If the package builds out of the box for the architecture to be ported to, "
6714 "you are in luck and your job is easy.  This section applies to that case; it "
6715 "describes how to build and upload your binary package so that it is properly "
6716 "installed into the archive.  If you do have to patch the package in order to "
6717 "get it to compile for the other architecture, you are actually doing a "
6718 "source NMU, so consult <xref linkend=\"nmu-guidelines\"/> instead."
6719 msgstr ""
6720
6721 #. type: Content of: <chapter><section><section><para>
6722 #: pkgs.dbk:1630
6723 msgid ""
6724 "For a porter upload, no changes are being made to the source.  You do not "
6725 "need to touch any of the files in the source package.  This includes "
6726 "<filename>debian/changelog</filename>."
6727 msgstr ""
6728
6729 #. type: Content of: <chapter><section><section><para>
6730 #: pkgs.dbk:1635
6731 msgid ""
6732 "The way to invoke <command>dpkg-buildpackage</command> is as "
6733 "<literal>dpkg-buildpackage -B "
6734 "-m<replaceable>porter-email</replaceable></literal>.  Of course, set "
6735 "<replaceable>porter-email</replaceable> to your email address.  This will do "
6736 "a binary-only build of only the architecture-dependent portions of the "
6737 "package, using the <literal>binary-arch</literal> target in "
6738 "<filename>debian/rules</filename>."
6739 msgstr ""
6740
6741 #. type: Content of: <chapter><section><section><para>
6742 #: pkgs.dbk:1644
6743 msgid ""
6744 "If you are working on a Debian machine for your porting efforts and you need "
6745 "to sign your upload locally for its acceptance in the archive, you can run "
6746 "<command>debsign</command> on your <filename>.changes</filename> file to "
6747 "have it signed conveniently, or use the remote signing mode of "
6748 "<command>dpkg-sig</command>."
6749 msgstr ""
6750
6751 #. type: Content of: <chapter><section><section><section><title>
6752 #: pkgs.dbk:1651
6753 msgid "Recompilation or binary-only NMU"
6754 msgstr ""
6755
6756 #. type: Content of: <chapter><section><section><section><para>
6757 #: pkgs.dbk:1653
6758 msgid ""
6759 "Sometimes the initial porter upload is problematic because the environment "
6760 "in which the package was built was not good enough (outdated or obsolete "
6761 "library, bad compiler, etc.).  Then you may just need to recompile it in an "
6762 "updated environment.  However, you have to bump the version number in this "
6763 "case, so that the old bad package can be replaced in the Debian archive "
6764 "(<command>dak</command> refuses to install new packages if they don't have a "
6765 "version number greater than the currently available one)."
6766 msgstr ""
6767
6768 #. type: Content of: <chapter><section><section><section><para>
6769 #: pkgs.dbk:1662
6770 msgid ""
6771 "You have to make sure that your binary-only NMU doesn't render the package "
6772 "uninstallable.  This could happen when a source package generates "
6773 "arch-dependent and arch-independent packages that have inter-dependencies "
6774 "generated using dpkg's substitution variable "
6775 "<literal>$(Source-Version)</literal>."
6776 msgstr ""
6777
6778 #. type: Content of: <chapter><section><section><section><para>
6779 #: pkgs.dbk:1668
6780 msgid ""
6781 "Despite the required modification of the changelog, these are called "
6782 "binary-only NMUs — there is no need in this case to trigger all other "
6783 "architectures to consider themselves out of date or requiring recompilation."
6784 msgstr ""
6785
6786 #. type: Content of: <chapter><section><section><section><para>
6787 #: pkgs.dbk:1673
6788 msgid ""
6789 "Such recompilations require special ``magic'' version numbering, so that the "
6790 "archive maintenance tools recognize that, even though there is a new Debian "
6791 "version, there is no corresponding source update.  If you get this wrong, "
6792 "the archive maintainers will reject your upload (due to lack of "
6793 "corresponding source code)."
6794 msgstr ""
6795
6796 #. type: Content of: <chapter><section><section><section><para><footnote><para>
6797 #: pkgs.dbk:1688
6798 msgid ""
6799 "In the past, such NMUs used the third-level number on the Debian part of the "
6800 "revision to denote their recompilation-only status; however, this syntax was "
6801 "ambiguous with native packages and did not allow proper ordering of "
6802 "recompile-only NMUs, source NMUs, and security NMUs on the same package, and "
6803 "has therefore been abandoned in favor of this new syntax."
6804 msgstr ""
6805
6806 #. type: Content of: <chapter><section><section><section><para>
6807 #: pkgs.dbk:1680
6808 msgid ""
6809 "The ``magic'' for a recompilation-only NMU is triggered by using a suffix "
6810 "appended to the package version number, following the form "
6811 "<literal>b<replaceable>number</replaceable></literal>.  For instance, if the "
6812 "latest version you are recompiling against was version "
6813 "<literal>2.9-3</literal>, your binary-only NMU should carry a version of "
6814 "<literal>2.9-3+b1</literal>.  If the latest version was "
6815 "<literal>3.4+b1</literal> (i.e, a native package with a previous "
6816 "recompilation NMU), your binary-only NMU should have a version number of "
6817 "<literal>3.4+b2</literal>.<placeholder type=\"footnote\" id=\"0\"/>"
6818 msgstr ""
6819
6820 #. type: Content of: <chapter><section><section><section><para>
6821 #: pkgs.dbk:1696
6822 msgid ""
6823 "Similar to initial porter uploads, the correct way of invoking "
6824 "<command>dpkg-buildpackage</command> is <literal>dpkg-buildpackage "
6825 "-B</literal> to only build the architecture-dependent parts of the package."
6826 msgstr ""
6827
6828 #. type: Content of: <chapter><section><section><section><title>
6829 #: pkgs.dbk:1703
6830 msgid "When to do a source NMU if you are a porter"
6831 msgstr ""
6832
6833 #. type: Content of: <chapter><section><section><section><para>
6834 #: pkgs.dbk:1705
6835 msgid ""
6836 "Porters doing a source NMU generally follow the guidelines found in <xref "
6837 "linkend=\"nmu\"/>, just like non-porters.  However, it is expected that the "
6838 "wait cycle for a porter's source NMU is smaller than for a non-porter, since "
6839 "porters have to cope with a large quantity of packages.  Again, the "
6840 "situation varies depending on the distribution they are uploading to.  It "
6841 "also varies whether the architecture is a candidate for inclusion into the "
6842 "next stable release; the release managers decide and announce which "
6843 "architectures are candidates."
6844 msgstr ""
6845
6846 #. type: Content of: <chapter><section><section><section><para>
6847 #: pkgs.dbk:1714
6848 msgid ""
6849 "If you are a porter doing an NMU for <literal>unstable</literal>, the above "
6850 "guidelines for porting should be followed, with two variations.  Firstly, "
6851 "the acceptable waiting period — the time between when the bug is submitted "
6852 "to the BTS and when it is OK to do an NMU — is seven days for porters "
6853 "working on the <literal>unstable</literal> distribution.  This period can be "
6854 "shortened if the problem is critical and imposes hardship on the porting "
6855 "effort, at the discretion of the porter group.  (Remember, none of this is "
6856 "Policy, just mutually agreed upon guidelines.) For uploads to "
6857 "<literal>stable</literal> or <literal>testing</literal>, please coordinate "
6858 "with the appropriate release team first."
6859 msgstr ""
6860
6861 #. type: Content of: <chapter><section><section><section><para>
6862 #: pkgs.dbk:1726
6863 msgid ""
6864 "Secondly, porters doing source NMUs should make sure that the bug they "
6865 "submit to the BTS should be of severity <literal>serious</literal> or "
6866 "greater.  This ensures that a single source package can be used to compile "
6867 "every supported Debian architecture by release time.  It is very important "
6868 "that we have one version of the binary and source package for all "
6869 "architectures in order to comply with many licenses."
6870 msgstr ""
6871
6872 #. type: Content of: <chapter><section><section><section><para>
6873 #: pkgs.dbk:1734
6874 msgid ""
6875 "Porters should try to avoid patches which simply kludge around bugs in the "
6876 "current version of the compile environment, kernel, or libc.  Sometimes such "
6877 "kludges can't be helped.  If you have to kludge around compiler bugs and the "
6878 "like, make sure you <literal>#ifdef</literal> your work properly; also, "
6879 "document your kludge so that people know to remove it once the external "
6880 "problems have been fixed."
6881 msgstr ""
6882
6883 #. type: Content of: <chapter><section><section><section><para>
6884 #: pkgs.dbk:1742
6885 msgid ""
6886 "Porters may also have an unofficial location where they can put the results "
6887 "of their work during the waiting period.  This helps others running the port "
6888 "have the benefit of the porter's work, even during the waiting period.  Of "
6889 "course, such locations have no official blessing or status, so buyer beware."
6890 msgstr ""
6891
6892 #. type: Content of: <chapter><section><section><title>
6893 #: pkgs.dbk:1752
6894 msgid "Porting infrastructure and automation"
6895 msgstr ""
6896
6897 #. type: Content of: <chapter><section><section><para>
6898 #: pkgs.dbk:1754
6899 msgid ""
6900 "There is infrastructure and several tools to help automate package porting.  "
6901 "This section contains a brief overview of this automation and porting to "
6902 "these tools; see the package documentation or references for full "
6903 "information."
6904 msgstr ""
6905
6906 #. type: Content of: <chapter><section><section><section><title>
6907 #: pkgs.dbk:1759
6908 msgid "Mailing lists and web pages"
6909 msgstr ""
6910
6911 #. type: Content of: <chapter><section><section><section><para>
6912 #: pkgs.dbk:1761
6913 msgid ""
6914 "Web pages containing the status of each port can be found at <ulink "
6915 "url=\"&url-debian-ports;\"></ulink>."
6916 msgstr ""
6917
6918 #. type: Content of: <chapter><section><section><section><para>
6919 #: pkgs.dbk:1765
6920 msgid ""
6921 "Each port of Debian has a mailing list.  The list of porting mailing lists "
6922 "can be found at <ulink url=\"&url-debian-port-lists;\"></ulink>.  These "
6923 "lists are used to coordinate porters, and to connect the users of a given "
6924 "port with the porters."
6925 msgstr ""
6926
6927 #. type: Content of: <chapter><section><section><section><title>
6928 #: pkgs.dbk:1773
6929 msgid "Porter tools"
6930 msgstr ""
6931
6932 #. type: Content of: <chapter><section><section><section><para>
6933 #: pkgs.dbk:1775
6934 msgid ""
6935 "Descriptions of several porting tools can be found in <xref "
6936 "linkend=\"tools-porting\"/>."
6937 msgstr ""
6938
6939 #. type: Content of: <chapter><section><section><section><title>
6940 #: pkgs.dbk:1781
6941 msgid "<systemitem role=\"package\">wanna-build</systemitem>"
6942 msgstr ""
6943
6944 #. type: Content of: <chapter><section><section><section><para>
6945 #: pkgs.dbk:1783
6946 msgid ""
6947 "The <systemitem role=\"package\">wanna-build</systemitem> system is used as "
6948 "a distributed, client-server build distribution system.  It is usually used "
6949 "in conjunction with build daemons running the <systemitem "
6950 "role=\"package\">buildd</systemitem> program. <literal>Build "
6951 "daemons</literal> are ``slave'' hosts which contact the central <systemitem "
6952 "role=\"package\">wanna-build</systemitem> system to receive a list of "
6953 "packages that need to be built."
6954 msgstr ""
6955
6956 #. type: Content of: <chapter><section><section><section><para>
6957 #: pkgs.dbk:1791
6958 msgid ""
6959 "<systemitem role=\"package\">wanna-build</systemitem> is not yet available "
6960 "as a package; however, all Debian porting efforts are using it for automated "
6961 "package building.  The tool used to do the actual package builds, "
6962 "<systemitem role=\"package\">sbuild</systemitem> is available as a package, "
6963 "see its description in <xref linkend=\"sbuild\"/>.  Please note that the "
6964 "packaged version is not the same as the one used on build daemons, but it is "
6965 "close enough to reproduce problems."
6966 msgstr ""
6967
6968 #. type: Content of: <chapter><section><section><section><para>
6969 #: pkgs.dbk:1800
6970 msgid ""
6971 "Most of the data produced by <systemitem "
6972 "role=\"package\">wanna-build</systemitem> which is generally useful to "
6973 "porters is available on the web at <ulink url=\"&url-buildd;\"></ulink>.  "
6974 "This data includes nightly updated statistics, queueing information and logs "
6975 "for build attempts."
6976 msgstr ""
6977
6978 #. type: Content of: <chapter><section><section><section><para>
6979 #: pkgs.dbk:1806
6980 msgid ""
6981 "We are quite proud of this system, since it has so many possible uses.  "
6982 "Independent development groups can use the system for different sub-flavors "
6983 "of Debian, which may or may not really be of general interest (for instance, "
6984 "a flavor of Debian built with <command>gcc</command> bounds checking).  It "
6985 "will also enable Debian to recompile entire distributions quickly."
6986 msgstr ""
6987
6988 #. type: Content of: <chapter><section><section><section><para>
6989 #: pkgs.dbk:1813
6990 msgid ""
6991 "The wanna-build team, in charge of the buildds, can be reached at "
6992 "<literal>debian-wb-team@lists.debian.org</literal>.  To determine who "
6993 "(wanna-build team, release team) and how (mail, BTS)  to contact, refer to "
6994 "<ulink url=\"&url-wb-team;\"></ulink>."
6995 msgstr ""
6996
6997 #. type: Content of: <chapter><section><section><section><para>
6998 #: pkgs.dbk:1820
6999 msgid ""
7000 "When requesting binNMUs or give-backs (retries after a failed build), please "
7001 "use the format described at <ulink url=\"&url-release-wb;\"/>."
7002 msgstr ""
7003
7004 #. type: Content of: <chapter><section><section><title>
7005 #: pkgs.dbk:1829
7006 msgid "When your package is <emphasis>not</emphasis> portable"
7007 msgstr ""
7008
7009 #. type: Content of: <chapter><section><section><para>
7010 #: pkgs.dbk:1831
7011 msgid ""
7012 "Some packages still have issues with building and/or working on some of the "
7013 "architectures supported by Debian, and cannot be ported at all, or not "
7014 "within a reasonable amount of time.  An example is a package that is "
7015 "SVGA-specific (only available for <literal>i386</literal> and "
7016 "<literal>amd64</literal>), or uses other hardware-specific features not "
7017 "supported on all architectures."
7018 msgstr ""
7019
7020 #. type: Content of: <chapter><section><section><para>
7021 #: pkgs.dbk:1838
7022 msgid ""
7023 "In order to prevent broken packages from being uploaded to the archive, and "
7024 "wasting buildd time, you need to do a few things:"
7025 msgstr ""
7026
7027 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7028 #: pkgs.dbk:1844
7029 msgid ""
7030 "First, make sure your package <emphasis>does</emphasis> fail to build on "
7031 "architectures that it cannot support.  There are a few ways to achieve "
7032 "this.  The preferred way is to have a small testsuite during build time that "
7033 "will test the functionality, and fail if it doesn't work.  This is a good "
7034 "idea anyway, as this will prevent (some) broken uploads on all "
7035 "architectures, and also will allow the package to build as soon as the "
7036 "required functionality is available."
7037 msgstr ""
7038
7039 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7040 #: pkgs.dbk:1852
7041 msgid ""
7042 "Additionally, if you believe the list of supported architectures is pretty "
7043 "constant, you should change <literal>any</literal> to a list of supported "
7044 "architectures in <filename>debian/control</filename>.  This way, the build "
7045 "will fail also, and indicate this to a human reader without actually trying."
7046 msgstr ""
7047
7048 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7049 #: pkgs.dbk:1860
7050 msgid ""
7051 "In order to prevent autobuilders from needlessly trying to build your "
7052 "package, it must be included in <filename>Packages-arch-specific</filename>, "
7053 "a list used by the <command>wanna-build</command> script.  The current "
7054 "version is available as <ulink url=\"&url-buildd-p-a-s;\"/>; please see the "
7055 "top of the file for whom to contact for changes."
7056 msgstr ""
7057
7058 #. type: Content of: <chapter><section><section><para>
7059 #: pkgs.dbk:1869
7060 msgid ""
7061 "Please note that it is insufficient to only add your package to "
7062 "<filename>Packages-arch-specific</filename> without making it fail to build "
7063 "on unsupported architectures: A porter or any other person trying to build "
7064 "your package might accidently upload it without noticing it doesn't work.  "
7065 "If in the past some binary packages were uploaded on unsupported "
7066 "architectures, request their removal by filing a bug against <systemitem "
7067 "role=\"package\">ftp.debian.org</systemitem>."
7068 msgstr ""
7069
7070 #. type: Content of: <chapter><section><section><title>
7071 #: pkgs.dbk:1880
7072 msgid "Marking non-free packages as auto-buildable"
7073 msgstr ""
7074
7075 #. type: Content of: <chapter><section><section><para>
7076 #: pkgs.dbk:1882
7077 msgid ""
7078 "By default packages from the <literal>non-free</literal> section are not "
7079 "built by the autobuilder network (mostly because the license of the packages "
7080 "could disapprove).  To enable a package to be build you need to perform the "
7081 "following steps:"
7082 msgstr ""
7083
7084 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7085 #: pkgs.dbk:1890
7086 msgid ""
7087 "Check whether it is legally allowed and technically possible to auto-build "
7088 "the package;"
7089 msgstr ""
7090
7091 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7092 #: pkgs.dbk:1896
7093 msgid ""
7094 "Add <literal>XS-Autobuild: yes</literal> into the header part of "
7095 "<filename>debian/control</filename>;"
7096 msgstr ""
7097
7098 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7099 #: pkgs.dbk:1902
7100 msgid ""
7101 "Send an email to &email-nonfree-release; and explain why the package can "
7102 "legitimately and technically be auto-built."
7103 msgstr ""
7104
7105 #. type: Content of: <chapter><section><title>
7106 #: pkgs.dbk:1911
7107 msgid "Non-Maintainer Uploads (NMUs)"
7108 msgstr ""
7109
7110 #. type: Content of: <chapter><section><para>
7111 #: pkgs.dbk:1913
7112 msgid ""
7113 "Every package has one or more maintainers. Normally, these are the people "
7114 "who work on and upload new versions of the package. In some situations, it "
7115 "is useful that other developers can upload a new version as well, for "
7116 "example if they want to fix a bug in a package they don't maintain, when the "
7117 "maintainer needs help to respond to issues.  Such uploads are called "
7118 "<emphasis>Non-Maintainer Uploads (NMU)</emphasis>."
7119 msgstr ""
7120
7121 #. type: Content of: <chapter><section><section><title>
7122 #: pkgs.dbk:1922
7123 msgid "When and how to do an NMU"
7124 msgstr ""
7125
7126 #. type: Content of: <chapter><section><section><para>
7127 #: pkgs.dbk:1925
7128 msgid "Before doing an NMU, consider the following questions:"
7129 msgstr ""
7130
7131 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7132 #: pkgs.dbk:1930
7133 msgid ""
7134 "Does your NMU really fix bugs? Fixing cosmetic issues or changing the "
7135 "packaging style in NMUs is discouraged."
7136 msgstr ""
7137
7138 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7139 #: pkgs.dbk:1936
7140 msgid ""
7141 "Did you give enough time to the maintainer? When was the bug reported to the "
7142 "BTS? Being busy for a week or two isn't unusual.  Is the bug so severe that "
7143 "it needs to be fixed right now, or can it wait a few more days?"
7144 msgstr ""
7145
7146 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7147 #: pkgs.dbk:1943
7148 msgid ""
7149 "How confident are you about your changes? Please remember the Hippocratic "
7150 "Oath: \"Above all, do no harm.\" It is better to leave a package with an "
7151 "open grave bug than applying a non-functional patch, or one that hides the "
7152 "bug instead of resolving it. If you are not 100% sure of what you did, it "
7153 "might be a good idea to seek advice from others. Remember that if you break "
7154 "something in your NMU, many people will be very unhappy about it."
7155 msgstr ""
7156
7157 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7158 #: pkgs.dbk:1953
7159 msgid ""
7160 "Have you clearly expressed your intention to NMU, at least in the BTS? It is "
7161 "also a good idea to try to contact the maintainer by other means (private "
7162 "email, IRC)."
7163 msgstr ""
7164
7165 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7166 #: pkgs.dbk:1960
7167 msgid ""
7168 "If the maintainer is usually active and responsive, have you tried to "
7169 "contact them? In general it should be considered preferable that maintainers "
7170 "take care of an issue themselves and that they are given the chance to "
7171 "review and correct your patch, because they can be expected to be more aware "
7172 "of potential issues which an NMUer might miss. It is often a better use of "
7173 "everyone's time if the maintainer is given an opportunity to upload a fix on "
7174 "their own."
7175 msgstr ""
7176
7177 #. type: Content of: <chapter><section><section><para>
7178 #: pkgs.dbk:1970
7179 msgid ""
7180 "When doing an NMU, you must first make sure that your intention to NMU is "
7181 "clear.  Then, you must send a patch with the differences between the current "
7182 "package and your proposed NMU to the BTS. The <command>nmudiff</command> "
7183 "script in the <systemitem role=\"package\">devscripts</systemitem> package "
7184 "might be helpful."
7185 msgstr ""
7186
7187 #. type: Content of: <chapter><section><section><para>
7188 #: pkgs.dbk:1977
7189 msgid ""
7190 "While preparing the patch, you should better be aware of any "
7191 "package-specific practices that the maintainer might be using. Taking them "
7192 "into account reduces the burden of integrating your changes into the normal "
7193 "package workflow and thus increases the chances that integration will "
7194 "happen. A good place where to look for for possible package-specific "
7195 "practices is <ulink "
7196 "url=\"&url-debian-policy;ch-source.html#s-readmesource\"><filename>debian/README.source</filename></ulink>."
7197 msgstr ""
7198
7199 #. type: Content of: <chapter><section><section><para>
7200 #: pkgs.dbk:1985
7201 msgid ""
7202 "Unless you have an excellent reason not to do so, you must then give some "
7203 "time to the maintainer to react (for example, by uploading to the "
7204 "<literal>DELAYED</literal> queue).  Here are some recommended values to use "
7205 "for delays:"
7206 msgstr ""
7207
7208 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7209 #: pkgs.dbk:1992
7210 msgid ""
7211 "Upload fixing only release-critical bugs older than 7 days, with no "
7212 "maintainer activity on the bug for 7 days and no indication that a fix is in "
7213 "progress: 0 days"
7214 msgstr ""
7215
7216 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7217 #: pkgs.dbk:1997
7218 msgid "Upload fixing only release-critical bugs older than 7 days: 2 days"
7219 msgstr ""
7220
7221 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7222 #: pkgs.dbk:2002
7223 msgid "Upload fixing only release-critical and important bugs: 5 days"
7224 msgstr ""
7225
7226 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7227 #: pkgs.dbk:2007
7228 msgid "Other NMUs: 10 days"
7229 msgstr ""
7230
7231 #. type: Content of: <chapter><section><section><para>
7232 #: pkgs.dbk:2013
7233 msgid ""
7234 "Those delays are only examples. In some cases, such as uploads fixing "
7235 "security issues, or fixes for trivial bugs that blocking a transition, it is "
7236 "desirable that the fixed package reaches <literal>unstable</literal> sooner."
7237 msgstr ""
7238
7239 #. type: Content of: <chapter><section><section><para>
7240 #: pkgs.dbk:2019
7241 msgid ""
7242 "Sometimes, release managers decide to allow NMUs with shorter delays for a "
7243 "subset of bugs (e.g release-critical bugs older than 7 days). Also, some "
7244 "maintainers list themselves in the <ulink "
7245 "url=\"&url-low-threshold-nmu;\">Low Threshold NMU list</ulink>, and accept "
7246 "that NMUs are uploaded without delay. But even in those cases, it's still a "
7247 "good idea to give the maintainer a few days to react before you upload, "
7248 "especially if the patch wasn't available in the BTS before, or if you know "
7249 "that the maintainer is generally active."
7250 msgstr ""
7251
7252 #. type: Content of: <chapter><section><section><para>
7253 #: pkgs.dbk:2029
7254 msgid ""
7255 "After you upload an NMU, you are responsible for the possible problems that "
7256 "you might have introduced. You must keep an eye on the package (subscribing "
7257 "to the package on the PTS is a good way to achieve this)."
7258 msgstr ""
7259
7260 #. type: Content of: <chapter><section><section><para>
7261 #: pkgs.dbk:2035
7262 msgid ""
7263 "This is not a license to perform NMUs thoughtlessly.  If you NMU when it is "
7264 "clear that the maintainers are active and would have acknowledged a patch in "
7265 "a timely manner, or if you ignore the recommendations of this document, your "
7266 "upload might be a cause of conflict with the maintainer.  You should always "
7267 "be prepared to defend the wisdom of any NMU you perform on its own merits."
7268 msgstr ""
7269
7270 #. type: Content of: <chapter><section><section><title>
7271 #: pkgs.dbk:2045
7272 msgid "NMUs and <filename>debian/changelog</filename>"
7273 msgstr ""
7274
7275 #. type: Content of: <chapter><section><section><para>
7276 #: pkgs.dbk:2047
7277 msgid ""
7278 "Just like any other (source) upload, NMUs must add an entry to "
7279 "<filename>debian/changelog</filename>, telling what has changed with this "
7280 "upload.  The first line of this entry must explicitely mention that this "
7281 "upload is an NMU, e.g.:"
7282 msgstr ""
7283
7284 #. type: Content of: <chapter><section><section><screen>
7285 #: pkgs.dbk:2052
7286 #, no-wrap
7287 msgid "  * Non-maintainer upload.\n"
7288 msgstr ""
7289
7290 #. type: Content of: <chapter><section><section><para>
7291 #: pkgs.dbk:2056
7292 msgid "The way to version NMUs differs for native and non-native packages."
7293 msgstr ""
7294
7295 #. type: Content of: <chapter><section><section><para>
7296 #: pkgs.dbk:2059
7297 msgid ""
7298 "If the package is a native package (without a Debian revision in the version "
7299 "number), the version must be the version of the last maintainer upload, plus "
7300 "<literal>+nmu<replaceable>X</replaceable></literal>, where "
7301 "<replaceable>X</replaceable> is a counter starting at <literal>1</literal>.  "
7302 "If the last upload was also an NMU, the counter should be increased.  For "
7303 "example, if the current version is <literal>1.5</literal>, then an NMU would "
7304 "get version <literal>1.5+nmu1</literal>."
7305 msgstr ""
7306
7307 #. type: Content of: <chapter><section><section><para>
7308 #: pkgs.dbk:2069
7309 msgid ""
7310 "If the package is not a native package, you should add a minor version "
7311 "number to the Debian revision part of the version number (the portion after "
7312 "the last hyphen). This extra number must start at <literal>1</literal>.  For "
7313 "example, if the current version is <literal>1.5-2</literal>, then an NMU "
7314 "would get version <literal>1.5-2.1</literal>. If a new upstream version is "
7315 "packaged in the NMU, the Debian revision is set to <literal>0</literal>, for "
7316 "example <literal>1.6-0.1</literal>."
7317 msgstr ""
7318
7319 #. type: Content of: <chapter><section><section><para>
7320 #: pkgs.dbk:2078
7321 msgid ""
7322 "In both cases, if the last upload was also an NMU, the counter should be "
7323 "increased. For example, if the current version is "
7324 "<literal>1.5+nmu3</literal> (a native package which has already been NMUed), "
7325 "the NMU would get version <literal>1.5+nmu4</literal>."
7326 msgstr ""
7327
7328 #. type: Content of: <chapter><section><section><para>
7329 #: pkgs.dbk:2084
7330 msgid ""
7331 "A special versioning scheme is needed to avoid disrupting the maintainer's "
7332 "work, since using an integer for the Debian revision will potentially "
7333 "conflict with a maintainer upload already in preparation at the time of an "
7334 "NMU, or even one sitting in the ftp NEW queue.  It also has the benefit of "
7335 "making it visually clear that a package in the archive was not made by the "
7336 "official maintainer."
7337 msgstr ""
7338
7339 #. type: Content of: <chapter><section><section><para>
7340 #: pkgs.dbk:2094
7341 msgid ""
7342 "If you upload a package to testing or stable, you sometimes need to \"fork\" "
7343 "the version number tree. This is the case for security uploads, for "
7344 "example.  For this, a version of the form "
7345 "<literal>+deb<replaceable>XY</replaceable>u<replaceable>Z</replaceable></literal> "
7346 "should be used, where <replaceable>X</replaceable> and "
7347 "<replaceable>Y</replaceable> are the major and minor release numbers, and "
7348 "<replaceable>Z</replaceable> is a counter starting at <literal>1</literal>.  "
7349 "When the release number is not yet known (often the case for "
7350 "<literal>testing</literal>, at the beginning of release cycles), the lowest "
7351 "release number higher than the last stable release number must be used.  For "
7352 "example, while Lenny (Debian 5.0) is stable, a security NMU to stable for a "
7353 "package at version <literal>1.5-3</literal> would have version "
7354 "<literal>1.5-3+deb50u1</literal>, whereas a security NMU to Squeeze would "
7355 "get version <literal>1.5-3+deb60u1</literal>. After the release of Squeeze, "
7356 "security uploads to the <literal>testing</literal> distribution will be "
7357 "versioned <literal>+deb61uZ</literal>, until it is known whether that "
7358 "release will be Debian 6.1 or Debian 7.0 (if that becomes the case, uploads "
7359 "will be versioned as <literal>+deb70uZ</literal>)."
7360 msgstr ""
7361
7362 #. type: Content of: <chapter><section><section><title>
7363 #: pkgs.dbk:2116
7364 msgid "Using the <literal>DELAYED/</literal> queue"
7365 msgstr ""
7366
7367 #. type: Content of: <chapter><section><section><para>
7368 #: pkgs.dbk:2119
7369 msgid ""
7370 "Having to wait for a response after you request permission to NMU is "
7371 "inefficient, because it costs the NMUer a context switch to come back to the "
7372 "issue.  The <literal>DELAYED</literal> queue (see <xref "
7373 "linkend=\"delayed-incoming\"/>)  allows the developer doing the NMU to "
7374 "perform all the necessary tasks at the same time. For instance, instead of "
7375 "telling the maintainer that you will upload the updated package in 7 days, "
7376 "you should upload the package to <literal>DELAYED/7</literal> and tell the "
7377 "maintainer that they have 7 days to react.  During this time, the maintainer "
7378 "can ask you to delay the upload some more, or cancel your upload."
7379 msgstr ""
7380
7381 #. type: Content of: <chapter><section><section><para>
7382 #: pkgs.dbk:2133
7383 msgid ""
7384 "The <literal>DELAYED</literal> queue should not be used to put additional "
7385 "pressure on the maintainer. In particular, it's important that you are "
7386 "available to cancel or delay the upload before the delay expires since the "
7387 "maintainer cannot cancel the upload themselves."
7388 msgstr ""
7389
7390 #. type: Content of: <chapter><section><section><para>
7391 #: pkgs.dbk:2140
7392 msgid ""
7393 "If you make an NMU to <literal>DELAYED</literal> and the maintainer updates "
7394 "the package before the delay expires, your upload will be rejected because a "
7395 "newer version is already available in the archive.  Ideally, the maintainer "
7396 "will take care to include your proposed changes (or at least a solution for "
7397 "the problems they address) in that upload."
7398 msgstr ""
7399
7400 #. type: Content of: <chapter><section><section><title>
7401 #: pkgs.dbk:2150
7402 msgid "NMUs from the maintainer's point of view"
7403 msgstr ""
7404
7405 #. type: Content of: <chapter><section><section><para>
7406 #: pkgs.dbk:2153
7407 msgid ""
7408 "When someone NMUs your package, this means they want to help you to keep it "
7409 "in good shape.  This gives users fixed packages faster.  You can consider "
7410 "asking the NMUer to become a co-maintainer of the package.  Receiving an NMU "
7411 "on a package is not a bad thing; it just means that the package is "
7412 "interesting enough for other people to work on it."
7413 msgstr ""
7414
7415 #. type: Content of: <chapter><section><section><para>
7416 #: pkgs.dbk:2162
7417 msgid ""
7418 "To acknowledge an NMU, include its changes and changelog entry in your next "
7419 "maintainer upload.  If you do not acknowledge the NMU by including the NMU "
7420 "changelog entry in your changelog, the bugs will remain closed in the BTS "
7421 "but will be listed as affecting your maintainer version of the package."
7422 msgstr ""
7423
7424 #. type: Content of: <chapter><section><section><title>
7425 #: pkgs.dbk:2171
7426 msgid "Source NMUs vs Binary-only NMUs (binNMUs)"
7427 msgstr ""
7428
7429 #. type: Content of: <chapter><section><section><para>
7430 #: pkgs.dbk:2174
7431 msgid ""
7432 "The full name of an NMU is <emphasis>source NMU</emphasis>.  There is also "
7433 "another type, namely the <emphasis>binary-only NMU</emphasis>, or "
7434 "<emphasis>binNMU</emphasis>.  A binNMU is also a package upload by someone "
7435 "other than the package's maintainer.  However, it is a binary-only upload."
7436 msgstr ""
7437
7438 #. type: Content of: <chapter><section><section><para>
7439 #: pkgs.dbk:2181
7440 msgid ""
7441 "When a library (or other dependency) is updated, the packages using it may "
7442 "need to be rebuilt.  Since no changes to the source are needed, the same "
7443 "source package is used."
7444 msgstr ""
7445
7446 #. type: Content of: <chapter><section><section><para>
7447 #: pkgs.dbk:2187
7448 msgid ""
7449 "BinNMUs are usually triggered on the buildds by wanna-build.  An entry is "
7450 "added to <filename>debian/changelog</filename>, explaining why the upload "
7451 "was needed and increasing the version number as described in <xref "
7452 "linkend=\"binary-only-nmu\"/>.  This entry should not be included in the "
7453 "next upload."
7454 msgstr ""
7455
7456 #. type: Content of: <chapter><section><section><para>
7457 #: pkgs.dbk:2195
7458 msgid ""
7459 "Buildds upload packages for their architecture to the archive as binary-only "
7460 "uploads.  Strictly speaking, these are binNMUs.  However, they are not "
7461 "normally called NMU, and they don't add an entry to "
7462 "<filename>debian/changelog</filename>."
7463 msgstr ""
7464
7465 #. type: Content of: <chapter><section><section><title>
7466 #: pkgs.dbk:2203
7467 msgid "NMUs vs QA uploads"
7468 msgstr ""
7469
7470 #. type: Content of: <chapter><section><section><para>
7471 #: pkgs.dbk:2206
7472 msgid ""
7473 "NMUs are uploads of packages by somebody else than their assigned "
7474 "maintainer.  There is another type of upload where the uploaded package is "
7475 "not yours: QA uploads. QA uploads are uploads of orphaned packages."
7476 msgstr ""
7477
7478 #. type: Content of: <chapter><section><section><para>
7479 #: pkgs.dbk:2213
7480 msgid ""
7481 "QA uploads are very much like normal maintainer uploads: they may fix "
7482 "anything, even minor issues; the version numbering is normal, and there is "
7483 "no need to use a delayed upload.  The difference is that you are not listed "
7484 "as the <literal>Maintainer</literal> or <literal>Uploader</literal> for the "
7485 "package.  Also, the changelog entry of a QA upload has a special first line:"
7486 msgstr ""
7487
7488 #. type: Content of: <chapter><section><section><screen>
7489 #: pkgs.dbk:2221
7490 #, no-wrap
7491 msgid " * QA upload.\n"
7492 msgstr ""
7493
7494 #. type: Content of: <chapter><section><section><para>
7495 #: pkgs.dbk:2225
7496 msgid ""
7497 "If you want to do an NMU, and it seems that the maintainer is not active, it "
7498 "is wise to check if the package is orphaned (this information is displayed "
7499 "on the package's Package Tracking System page).  When doing the first QA "
7500 "upload to an orphaned package, the maintainer should be set to "
7501 "<literal>Debian QA Group &lt;packages@qa.debian.org&gt;</literal>.  Orphaned "
7502 "packages which did not yet have a QA upload still have their old maintainer "
7503 "set.  There is a list of them at <ulink url=\"&url-orphaned-not-qa;\"/>."
7504 msgstr ""
7505
7506 #. type: Content of: <chapter><section><section><para>
7507 #: pkgs.dbk:2236
7508 msgid ""
7509 "Instead of doing a QA upload, you can also consider adopting the package by "
7510 "making yourself the maintainer.  You don't need permission from anybody to "
7511 "adopt an orphaned package, you can just set yourself as maintainer and "
7512 "upload the new version (see <xref linkend=\"adopting\"/>)."
7513 msgstr ""
7514
7515 #. type: Content of: <chapter><section><section><title>
7516 #: pkgs.dbk:2245
7517 msgid "NMUs vs team uploads"
7518 msgstr ""
7519
7520 #. type: Content of: <chapter><section><section><para>
7521 #: pkgs.dbk:2248
7522 msgid ""
7523 "Sometimes you are fixing and/or updating a package because you are member of "
7524 "a packaging team (which uses a mailing list as <literal>Maintainer</literal> "
7525 "or <literal>Uploader</literal>, see <xref linkend=\"collaborative-maint\"/>) "
7526 "but you don't want to add yourself to <literal>Uploaders</literal> because "
7527 "you do not plan to contribute regularly to this specific package. If it "
7528 "conforms with your team's policy, you can perform a normal upload without "
7529 "being listed directly as <literal>Maintainer</literal> or "
7530 "<literal>Uploader</literal>. In that case, you should start your changelog "
7531 "entry with the following line:"
7532 msgstr ""
7533
7534 #. type: Content of: <chapter><section><section><screen>
7535 #: pkgs.dbk:2258
7536 #, no-wrap
7537 msgid " * Team upload.\n"
7538 msgstr ""
7539
7540 #. type: Content of: <chapter><section><title>
7541 #: pkgs.dbk:2266
7542 msgid "Collaborative maintenance"
7543 msgstr ""
7544
7545 #. type: Content of: <chapter><section><para>
7546 #: pkgs.dbk:2268
7547 msgid ""
7548 "Collaborative maintenance is a term describing the sharing of Debian package "
7549 "maintenance duties by several people.  This collaboration is almost always a "
7550 "good idea, since it generally results in higher quality and faster bug fix "
7551 "turnaround times.  It is strongly recommended that packages with a priority "
7552 "of <literal>standard</literal> or which are part of the base set have "
7553 "co-maintainers."
7554 msgstr ""
7555
7556 #. type: Content of: <chapter><section><para>
7557 #: pkgs.dbk:2276
7558 msgid ""
7559 "Generally there is a primary maintainer and one or more co-maintainers.  The "
7560 "primary maintainer is the person whose name is listed in the "
7561 "<literal>Maintainer</literal> field of the "
7562 "<filename>debian/control</filename> file.  Co-maintainers are all the other "
7563 "maintainers, usually listed in the <literal>Uploaders</literal> field of the "
7564 "<filename>debian/control</filename> file."
7565 msgstr ""
7566
7567 #. type: Content of: <chapter><section><para>
7568 #: pkgs.dbk:2284
7569 msgid ""
7570 "In its most basic form, the process of adding a new co-maintainer is quite "
7571 "easy:"
7572 msgstr ""
7573
7574 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7575 #: pkgs.dbk:2290
7576 msgid ""
7577 "Setup the co-maintainer with access to the sources you build the package "
7578 "from.  Generally this implies you are using a network-capable version "
7579 "control system, such as <literal>CVS</literal> or "
7580 "<literal>Subversion</literal>.  Alioth (see <xref linkend=\"alioth\"/>) "
7581 "provides such tools, amongst others."
7582 msgstr ""
7583
7584 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7585 #: pkgs.dbk:2298
7586 msgid ""
7587 "Add the co-maintainer's correct maintainer name and address to the "
7588 "<literal>Uploaders</literal> field in the first paragraph of the "
7589 "<filename>debian/control</filename> file."
7590 msgstr ""
7591
7592 #. type: Content of: <chapter><section><itemizedlist><listitem><screen>
7593 #: pkgs.dbk:2303
7594 #, no-wrap
7595 msgid ""
7596 "Uploaders: John Buzz &lt;jbuzz@debian.org&gt;, Adam Rex "
7597 "&lt;arex@debian.org&gt;\n"
7598 msgstr ""
7599
7600 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7601 #: pkgs.dbk:2308
7602 msgid ""
7603 "Using the PTS (<xref linkend=\"pkg-tracking-system\"/>), the co-maintainers "
7604 "should subscribe themselves to the appropriate source package."
7605 msgstr ""
7606
7607 #. type: Content of: <chapter><section><para>
7608 #: pkgs.dbk:2314
7609 msgid ""
7610 "Another form of collaborative maintenance is team maintenance, which is "
7611 "recommended if you maintain several packages with the same group of "
7612 "developers.  In that case, the <literal>Maintainer</literal> and "
7613 "<literal>Uploaders</literal> field of each package must be managed with "
7614 "care.  It is recommended to choose between one of the two following schemes:"
7615 msgstr ""
7616
7617 #. type: Content of: <chapter><section><orderedlist><listitem><para>
7618 #: pkgs.dbk:2323
7619 msgid ""
7620 "Put the team member mainly responsible for the package in the "
7621 "<literal>Maintainer</literal> field.  In the <literal>Uploaders</literal>, "
7622 "put the mailing list address, and the team members who care for the package."
7623 msgstr ""
7624
7625 #. type: Content of: <chapter><section><orderedlist><listitem><para>
7626 #: pkgs.dbk:2330
7627 msgid ""
7628 "Put the mailing list address in the <literal>Maintainer</literal> field.  In "
7629 "the <literal>Uploaders</literal> field, put the team members who care for "
7630 "the package.  In this case, you must make sure the mailing list accept bug "
7631 "reports without any human interaction (like moderation for non-subscribers)."
7632 msgstr ""
7633
7634 #. type: Content of: <chapter><section><para>
7635 #: pkgs.dbk:2339
7636 msgid ""
7637 "In any case, it is a bad idea to automatically put all team members in the "
7638 "<literal>Uploaders</literal> field. It clutters the Developer's Package "
7639 "Overview listing (see <xref linkend=\"ddpo\"/>) with packages one doesn't "
7640 "really care for, and creates a false sense of good maintenance. For the same "
7641 "reason, team members do not need to add themselves to the "
7642 "<literal>Uploaders</literal> field just because they are uploading the "
7643 "package once, they can do a “Team upload” (see <xref "
7644 "linkend=\"nmu-team-upload\"/>). Conversely, it is a bad idea to keep a "
7645 "package with only the mailing list address as a "
7646 "<literal>Maintainer</literal> and no <literal>Uploaders</literal>."
7647 msgstr ""
7648
7649 #. type: Content of: <chapter><section><title>
7650 #: pkgs.dbk:2352
7651 msgid "The testing distribution"
7652 msgstr ""
7653
7654 #. type: Content of: <chapter><section><section><title>
7655 #: pkgs.dbk:2354
7656 msgid "Basics"
7657 msgstr ""
7658
7659 #. type: Content of: <chapter><section><section><para>
7660 #: pkgs.dbk:2356
7661 msgid ""
7662 "Packages are usually installed into the <literal>testing</literal> "
7663 "distribution after they have undergone some degree of "
7664 "<literal>testing</literal> in <literal>unstable</literal>."
7665 msgstr ""
7666
7667 #. type: Content of: <chapter><section><section><para>
7668 #: pkgs.dbk:2361
7669 msgid ""
7670 "They must be in sync on all architectures and mustn't have dependencies that "
7671 "make them uninstallable; they also have to have generally no known "
7672 "release-critical bugs at the time they're installed into "
7673 "<literal>testing</literal>.  This way, <literal>testing</literal> should "
7674 "always be close to being a release candidate.  Please see below for details."
7675 msgstr ""
7676
7677 #. type: Content of: <chapter><section><section><title>
7678 #: pkgs.dbk:2370
7679 msgid "Updates from unstable"
7680 msgstr ""
7681
7682 #. type: Content of: <chapter><section><section><para>
7683 #: pkgs.dbk:2372
7684 msgid ""
7685 "The scripts that update the <literal>testing</literal> distribution are run "
7686 "twice each day, right after the installation of the updated packages; these "
7687 "scripts are called <literal>britney</literal>.  They generate the "
7688 "<filename>Packages</filename> files for the <literal>testing</literal> "
7689 "distribution, but they do so in an intelligent manner; they try to avoid any "
7690 "inconsistency and to use only non-buggy packages."
7691 msgstr ""
7692
7693 #. type: Content of: <chapter><section><section><para>
7694 #: pkgs.dbk:2380
7695 msgid ""
7696 "The inclusion of a package from <literal>unstable</literal> is conditional "
7697 "on the following:"
7698 msgstr ""
7699
7700 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7701 #: pkgs.dbk:2386
7702 msgid ""
7703 "The package must have been available in <literal>unstable</literal> for 2, 5 "
7704 "or 10 days, depending on the urgency (high, medium or low).  Please note "
7705 "that the urgency is sticky, meaning that the highest urgency uploaded since "
7706 "the previous <literal>testing</literal> transition is taken into account.  "
7707 "Those delays may be doubled during a freeze, or <literal>testing</literal> "
7708 "transitions may be switched off altogether;"
7709 msgstr ""
7710
7711 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7712 #: pkgs.dbk:2396
7713 msgid ""
7714 "It must not have new release-critical bugs (RC bugs affecting the version "
7715 "available in <literal>unstable</literal>, but not affecting the version in "
7716 "<literal>testing</literal>);"
7717 msgstr ""
7718
7719 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7720 #: pkgs.dbk:2403
7721 msgid ""
7722 "It must be available on all architectures on which it has previously been "
7723 "built in <literal>unstable</literal>. <link linkend=\"dak-ls\">dak ls</link> "
7724 "may be of interest to check that information;"
7725 msgstr ""
7726
7727 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7728 #: pkgs.dbk:2410
7729 msgid ""
7730 "It must not break any dependency of a package which is already available in "
7731 "<literal>testing</literal>;"
7732 msgstr ""
7733
7734 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7735 #: pkgs.dbk:2416
7736 msgid ""
7737 "The packages on which it depends must either be available in "
7738 "<literal>testing</literal> or they must be accepted into "
7739 "<literal>testing</literal> at the same time (and they will be if they "
7740 "fulfill all the necessary criteria)."
7741 msgstr ""
7742
7743 #. type: Content of: <chapter><section><section><para>
7744 #: pkgs.dbk:2424
7745 msgid ""
7746 "To find out whether a package is progressing into <literal>testing</literal> "
7747 "or not, see the <literal>testing</literal> script output on the <ulink "
7748 "url=\"&url-testing-maint;\">web page of the testing distribution</ulink>, or "
7749 "use the program <command>grep-excuses</command> which is in the <systemitem "
7750 "role=\"package\">devscripts</systemitem> package.  This utility can easily "
7751 "be used in a <citerefentry> <refentrytitle>crontab</refentrytitle> "
7752 "<manvolnum>5</manvolnum> </citerefentry> to keep yourself informed of the "
7753 "progression of your packages into <literal>testing</literal>."
7754 msgstr ""
7755
7756 #. type: Content of: <chapter><section><section><para>
7757 #: pkgs.dbk:2435
7758 msgid ""
7759 "The <filename>update_excuses</filename> file does not always give the "
7760 "precise reason why the package is refused; you may have to find it on your "
7761 "own by looking for what would break with the inclusion of the package.  The "
7762 "<ulink url=\"&url-testing-maint;\">testing web page</ulink> gives some more "
7763 "information about the usual problems which may be causing such troubles."
7764 msgstr ""
7765
7766 #. type: Content of: <chapter><section><section><para>
7767 #: pkgs.dbk:2442
7768 msgid ""
7769 "Sometimes, some packages never enter <literal>testing</literal> because the "
7770 "set of interrelationship is too complicated and cannot be sorted out by the "
7771 "scripts.  See below for details."
7772 msgstr ""
7773
7774 #. type: Content of: <chapter><section><section><para>
7775 #: pkgs.dbk:2447
7776 msgid ""
7777 "Some further dependency analysis is shown on <ulink "
7778 "url=\"http://release.debian.org/migration/\"></ulink> — but be warned, this "
7779 "page also shows build dependencies which are not considered by britney."
7780 msgstr ""
7781
7782 #. type: Content of: <chapter><section><section><section><title>
7783 #: pkgs.dbk:2452
7784 msgid "Out-of-date"
7785 msgstr ""
7786
7787 #.  FIXME: better rename this file than document rampant professionalism? 
7788 #. type: Content of: <chapter><section><section><section><para>
7789 #: pkgs.dbk:2455
7790 msgid ""
7791 "For the <literal>testing</literal> migration script, outdated means: There "
7792 "are different versions in <literal>unstable</literal> for the release "
7793 "architectures (except for the architectures in fuckedarches; fuckedarches is "
7794 "a list of architectures that don't keep up (in "
7795 "<filename>update_out.py</filename>), but currently, it's empty).  outdated "
7796 "has nothing whatsoever to do with the architectures this package has in "
7797 "<literal>testing</literal>."
7798 msgstr ""
7799
7800 #. type: Content of: <chapter><section><section><section><para>
7801 #: pkgs.dbk:2463
7802 msgid "Consider this example:"
7803 msgstr ""
7804
7805 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7806 #: pkgs.dbk:2470 pkgs.dbk:2503
7807 msgid "alpha"
7808 msgstr ""
7809
7810 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7811 #: pkgs.dbk:2471 pkgs.dbk:2504
7812 msgid "arm"
7813 msgstr ""
7814
7815 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7816 #: pkgs.dbk:2476 pkgs.dbk:2510 pkgs.dbk:2572
7817 msgid "testing"
7818 msgstr ""
7819
7820 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7821 #: pkgs.dbk:2477 pkgs.dbk:2482 pkgs.dbk:2511 pkgs.dbk:2512 pkgs.dbk:2519
7822 msgid "1"
7823 msgstr ""
7824
7825 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7826 #: pkgs.dbk:2478 pkgs.dbk:2513 pkgs.dbk:2518
7827 msgid "-"
7828 msgstr ""
7829
7830 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7831 #: pkgs.dbk:2481 pkgs.dbk:2516 pkgs.dbk:2573
7832 msgid "unstable"
7833 msgstr ""
7834
7835 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7836 #: pkgs.dbk:2483 pkgs.dbk:2517
7837 msgid "2"
7838 msgstr ""
7839
7840 #. type: Content of: <chapter><section><section><section><para>
7841 #: pkgs.dbk:2489
7842 msgid ""
7843 "The package is out of date on <literal>alpha</literal> in "
7844 "<literal>unstable</literal>, and will not go to "
7845 "<literal>testing</literal>. Removing the package would not help at all, the "
7846 "package is still out of date on <literal>alpha</literal>, and will not "
7847 "propagate to <literal>testing</literal>."
7848 msgstr ""
7849
7850 #. type: Content of: <chapter><section><section><section><para>
7851 #: pkgs.dbk:2495
7852 msgid ""
7853 "However, if ftp-master removes a package in <literal>unstable</literal> "
7854 "(here on <literal>arm</literal>):"
7855 msgstr ""
7856
7857 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7858 #: pkgs.dbk:2505
7859 msgid "hurd-i386"
7860 msgstr ""
7861
7862 #. type: Content of: <chapter><section><section><section><para>
7863 #: pkgs.dbk:2525
7864 msgid ""
7865 "In this case, the package is up to date on all release architectures in "
7866 "<literal>unstable</literal> (and the extra <literal>hurd-i386</literal> "
7867 "doesn't matter, as it's not a release architecture)."
7868 msgstr ""
7869
7870 #. type: Content of: <chapter><section><section><section><para>
7871 #: pkgs.dbk:2530
7872 msgid ""
7873 "Sometimes, the question is raised if it is possible to allow packages in "
7874 "that are not yet built on all architectures: No.  Just plainly no.  (Except "
7875 "if you maintain glibc or so.)"
7876 msgstr ""
7877
7878 #. type: Content of: <chapter><section><section><section><title>
7879 #: pkgs.dbk:2537
7880 msgid "Removals from testing"
7881 msgstr ""
7882
7883 #. type: Content of: <chapter><section><section><section><para>
7884 #: pkgs.dbk:2539
7885 msgid ""
7886 "Sometimes, a package is removed to allow another package in: This happens "
7887 "only to allow <emphasis>another</emphasis> package to go in if it's ready in "
7888 "every other sense.  Suppose e.g.  that <literal>a</literal> cannot be "
7889 "installed with the new version of <literal>b</literal>; then "
7890 "<literal>a</literal> may be removed to allow <literal>b</literal> in."
7891 msgstr ""
7892
7893 #. type: Content of: <chapter><section><section><section><para>
7894 #: pkgs.dbk:2546
7895 msgid ""
7896 "Of course, there is another reason to remove a package from "
7897 "<literal>testing</literal>: It's just too buggy (and having a single RC-bug "
7898 "is enough to be in this state)."
7899 msgstr ""
7900
7901 #. type: Content of: <chapter><section><section><section><para>
7902 #: pkgs.dbk:2551
7903 msgid ""
7904 "Furthermore, if a package has been removed from <literal>unstable</literal>, "
7905 "and no package in <literal>testing</literal> depends on it any more, then it "
7906 "will automatically be removed."
7907 msgstr ""
7908
7909 #. type: Content of: <chapter><section><section><section><title>
7910 #: pkgs.dbk:2558
7911 msgid "Circular dependencies"
7912 msgstr ""
7913
7914 #. type: Content of: <chapter><section><section><section><para>
7915 #: pkgs.dbk:2560
7916 msgid ""
7917 "A situation which is not handled very well by britney is if package "
7918 "<literal>a</literal> depends on the new version of package "
7919 "<literal>b</literal>, and vice versa."
7920 msgstr ""
7921
7922 #. type: Content of: <chapter><section><section><section><para>
7923 #: pkgs.dbk:2565
7924 msgid "An example of this is:"
7925 msgstr ""
7926
7927 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7928 #: pkgs.dbk:2578
7929 msgid "a"
7930 msgstr ""
7931
7932 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7933 #: pkgs.dbk:2579
7934 msgid "1; depends: b=1"
7935 msgstr ""
7936
7937 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7938 #: pkgs.dbk:2580
7939 msgid "2; depends: b=2"
7940 msgstr ""
7941
7942 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7943 #: pkgs.dbk:2583
7944 msgid "b"
7945 msgstr ""
7946
7947 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7948 #: pkgs.dbk:2584
7949 msgid "1; depends: a=1"
7950 msgstr ""
7951
7952 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7953 #: pkgs.dbk:2585
7954 msgid "2; depends: a=2"
7955 msgstr ""
7956
7957 #. type: Content of: <chapter><section><section><section><para>
7958 #: pkgs.dbk:2591
7959 msgid ""
7960 "Neither package <literal>a</literal> nor package <literal>b</literal> is "
7961 "considered for update."
7962 msgstr ""
7963
7964 #. type: Content of: <chapter><section><section><section><para>
7965 #: pkgs.dbk:2595
7966 msgid ""
7967 "Currently, this requires some manual hinting from the release team.  Please "
7968 "contact them by sending mail to &email-debian-release; if this happens to "
7969 "one of your packages."
7970 msgstr ""
7971
7972 #. type: Content of: <chapter><section><section><section><title>
7973 #: pkgs.dbk:2602
7974 msgid "Influence of package in testing"
7975 msgstr ""
7976
7977 #. type: Content of: <chapter><section><section><section><para>
7978 #: pkgs.dbk:2604
7979 msgid ""
7980 "Generally, there is nothing that the status of a package in "
7981 "<literal>testing</literal> means for transition of the next version from "
7982 "<literal>unstable</literal> to <literal>testing</literal>, with two "
7983 "exceptions: If the RC-bugginess of the package goes down, it may go in even "
7984 "if it is still RC-buggy.  The second exception is if the version of the "
7985 "package in <literal>testing</literal> is out of sync on the different "
7986 "arches: Then any arch might just upgrade to the version of the source "
7987 "package; however, this can happen only if the package was previously forced "
7988 "through, the arch is in fuckedarches, or there was no binary package of that "
7989 "arch present in <literal>unstable</literal> at all during the "
7990 "<literal>testing</literal> migration."
7991 msgstr ""
7992
7993 #. type: Content of: <chapter><section><section><section><para>
7994 #: pkgs.dbk:2616
7995 msgid ""
7996 "In summary this means: The only influence that a package being in "
7997 "<literal>testing</literal> has on a new version of the same package is that "
7998 "the new version might go in easier."
7999 msgstr ""
8000
8001 #. type: Content of: <chapter><section><section><section><title>
8002 #: pkgs.dbk:2623
8003 msgid "Details"
8004 msgstr ""
8005
8006 #. type: Content of: <chapter><section><section><section><para>
8007 #: pkgs.dbk:2625
8008 msgid "If you are interested in details, this is how britney works:"
8009 msgstr ""
8010
8011 #. type: Content of: <chapter><section><section><section><para>
8012 #: pkgs.dbk:2628
8013 msgid ""
8014 "The packages are looked at to determine whether they are valid candidates.  "
8015 "This gives the update excuses.  The most common reasons why a package is not "
8016 "considered are too young, RC-bugginess, and out of date on some arches.  For "
8017 "this part of britney, the release managers have hammers of various sizes to "
8018 "force britney to consider a package.  (Also, the base freeze is coded in "
8019 "that part of britney.) (There is a similar thing for binary-only updates, "
8020 "but this is not described here.  If you're interested in that, please peruse "
8021 "the code.)"
8022 msgstr ""
8023
8024 #. type: Content of: <chapter><section><section><section><para>
8025 #: pkgs.dbk:2637
8026 msgid ""
8027 "Now, the more complex part happens: Britney tries to update "
8028 "<literal>testing</literal> with the valid candidates. For that, britney "
8029 "tries to add each valid candidate to the testing distribution. If the number "
8030 "of uninstallable packages in <literal>testing</literal> doesn't increase, "
8031 "the package is accepted. From that point on, the accepted package is "
8032 "considered to be part of <literal>testing</literal>, such that all "
8033 "subsequent installability tests include this package.  Hints from the "
8034 "release team are processed before or after this main run, depending on the "
8035 "exact type."
8036 msgstr ""
8037
8038 #. type: Content of: <chapter><section><section><section><para>
8039 #: pkgs.dbk:2647
8040 msgid ""
8041 "If you want to see more details, you can look it up on <ulink "
8042 "url=\"http://&ftp-master-host;/testing/update_output/\"></ulink>."
8043 msgstr ""
8044
8045 #. type: Content of: <chapter><section><section><section><para>
8046 #: pkgs.dbk:2651
8047 msgid ""
8048 "The hints are available via <ulink "
8049 "url=\"http://&ftp-master-host;/testing/hints/\"></ulink>."
8050 msgstr ""
8051
8052 #. type: Content of: <chapter><section><section><title>
8053 #: pkgs.dbk:2659
8054 msgid "Direct updates to testing"
8055 msgstr ""
8056
8057 #. type: Content of: <chapter><section><section><para>
8058 #: pkgs.dbk:2661
8059 msgid ""
8060 "The <literal>testing</literal> distribution is fed with packages from "
8061 "<literal>unstable</literal> according to the rules explained above.  "
8062 "However, in some cases, it is necessary to upload packages built only for "
8063 "<literal>testing</literal>.  For that, you may want to upload to "
8064 "<literal>testing-proposed-updates</literal>."
8065 msgstr ""
8066
8067 #. type: Content of: <chapter><section><section><para>
8068 #: pkgs.dbk:2668
8069 msgid ""
8070 "Keep in mind that packages uploaded there are not automatically processed, "
8071 "they have to go through the hands of the release manager.  So you'd better "
8072 "have a good reason to upload there.  In order to know what a good reason is "
8073 "in the release managers' eyes, you should read the instructions that they "
8074 "regularly give on &email-debian-devel-announce;."
8075 msgstr ""
8076
8077 #. type: Content of: <chapter><section><section><para>
8078 #: pkgs.dbk:2675
8079 msgid ""
8080 "You should not upload to <literal>testing-proposed-updates</literal> when "
8081 "you can update your packages through <literal>unstable</literal>.  If you "
8082 "can't (for example because you have a newer development version in "
8083 "<literal>unstable</literal>), you may use this facility, but it is "
8084 "recommended that you ask for authorization from the release manager first.  "
8085 "Even if a package is frozen, updates through <literal>unstable</literal> are "
8086 "possible, if the upload via <literal>unstable</literal> does not pull in any "
8087 "new dependencies."
8088 msgstr ""
8089
8090 #. type: Content of: <chapter><section><section><para>
8091 #: pkgs.dbk:2684
8092 msgid ""
8093 "Version numbers are usually selected by adding the codename of the "
8094 "<literal>testing</literal> distribution and a running number, like "
8095 "<literal>1.2squeeze1</literal> for the first upload through "
8096 "<literal>testing-proposed-updates</literal> of package version "
8097 "<literal>1.2</literal>."
8098 msgstr ""
8099
8100 #. type: Content of: <chapter><section><section><para>
8101 #: pkgs.dbk:2691
8102 msgid "Please make sure you didn't miss any of these items in your upload:"
8103 msgstr ""
8104
8105 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8106 #: pkgs.dbk:2696
8107 msgid ""
8108 "Make sure that your package really needs to go through "
8109 "<literal>testing-proposed-updates</literal>, and can't go through "
8110 "<literal>unstable</literal>;"
8111 msgstr ""
8112
8113 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8114 #: pkgs.dbk:2703
8115 msgid "Make sure that you included only the minimal amount of changes;"
8116 msgstr ""
8117
8118 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8119 #: pkgs.dbk:2708
8120 msgid "Make sure that you included an appropriate explanation in the changelog;"
8121 msgstr ""
8122
8123 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8124 #: pkgs.dbk:2713
8125 msgid ""
8126 "Make sure that you've written <literal>testing</literal> or "
8127 "<literal>testing-proposed-updates</literal> into your target distribution;"
8128 msgstr ""
8129
8130 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8131 #: pkgs.dbk:2719
8132 msgid ""
8133 "Make sure that you've built and tested your package in "
8134 "<literal>testing</literal>, not in <literal>unstable</literal>;"
8135 msgstr ""
8136
8137 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8138 #: pkgs.dbk:2725
8139 msgid ""
8140 "Make sure that your version number is higher than the version in "
8141 "<literal>testing</literal> and <literal>testing-proposed-updates</literal>, "
8142 "and lower than in <literal>unstable</literal>;"
8143 msgstr ""
8144
8145 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8146 #: pkgs.dbk:2732
8147 msgid ""
8148 "After uploading and successful build on all platforms, contact the release "
8149 "team at &email-debian-release; and ask them to approve your upload."
8150 msgstr ""
8151
8152 #. type: Content of: <chapter><section><section><title>
8153 #: pkgs.dbk:2740
8154 msgid "Frequently asked questions"
8155 msgstr ""
8156
8157 #. type: Content of: <chapter><section><section><section><title>
8158 #: pkgs.dbk:2742
8159 msgid "What are release-critical bugs, and how do they get counted?"
8160 msgstr ""
8161
8162 #. type: Content of: <chapter><section><section><section><para>
8163 #: pkgs.dbk:2744
8164 msgid ""
8165 "All bugs of some higher severities are by default considered "
8166 "release-critical; currently, these are <literal>critical</literal>, "
8167 "<literal>grave</literal> and <literal>serious</literal> bugs."
8168 msgstr ""
8169
8170 #. type: Content of: <chapter><section><section><section><para>
8171 #: pkgs.dbk:2749
8172 msgid ""
8173 "Such bugs are presumed to have an impact on the chances that the package "
8174 "will be released with the <literal>stable</literal> release of Debian: in "
8175 "general, if a package has open release-critical bugs filed on it, it won't "
8176 "get into <literal>testing</literal>, and consequently won't be released in "
8177 "<literal>stable</literal>."
8178 msgstr ""
8179
8180 #. type: Content of: <chapter><section><section><section><para>
8181 #: pkgs.dbk:2756
8182 msgid ""
8183 "The <literal>unstable</literal> bug count are all release-critical bugs "
8184 "which are marked to apply to "
8185 "<replaceable>package</replaceable>/<replaceable>version</replaceable> "
8186 "combinations that are available in unstable for a release architecture. The "
8187 "<literal>testing</literal> bug count is defined analogously."
8188 msgstr ""
8189
8190 #. type: Content of: <chapter><section><section><section><title>
8191 #: pkgs.dbk:2764
8192 msgid ""
8193 "How could installing a package into <literal>testing</literal> possibly "
8194 "break other packages?"
8195 msgstr ""
8196
8197 #. type: Content of: <chapter><section><section><section><para>
8198 #: pkgs.dbk:2767
8199 msgid ""
8200 "The structure of the distribution archives is such that they can only "
8201 "contain one version of a package; a package is defined by its name.  So when "
8202 "the source package <literal>acmefoo</literal> is installed into "
8203 "<literal>testing</literal>, along with its binary packages "
8204 "<literal>acme-foo-bin</literal>, <literal>acme-bar-bin</literal>, "
8205 "<literal>libacme-foo1</literal> and <literal>libacme-foo-dev</literal>, the "
8206 "old version is removed."
8207 msgstr ""
8208
8209 #. type: Content of: <chapter><section><section><section><para>
8210 #: pkgs.dbk:2775
8211 msgid ""
8212 "However, the old version may have provided a binary package with an old "
8213 "soname of a library, such as <literal>libacme-foo0</literal>.  Removing the "
8214 "old <literal>acmefoo</literal> will remove <literal>libacme-foo0</literal>, "
8215 "which will break any packages which depend on it."
8216 msgstr ""
8217
8218 #. type: Content of: <chapter><section><section><section><para>
8219 #: pkgs.dbk:2781
8220 msgid ""
8221 "Evidently, this mainly affects packages which provide changing sets of "
8222 "binary packages in different versions (in turn, mainly libraries).  However, "
8223 "it will also affect packages upon which versioned dependencies have been "
8224 "declared of the ==, &lt;=, or &lt;&lt; varieties."
8225 msgstr ""
8226
8227 #. type: Content of: <chapter><section><section><section><para>
8228 #: pkgs.dbk:2787
8229 msgid ""
8230 "When the set of binary packages provided by a source package change in this "
8231 "way, all the packages that depended on the old binaries will have to be "
8232 "updated to depend on the new binaries instead.  Because installing such a "
8233 "source package into <literal>testing</literal> breaks all the packages that "
8234 "depended on it in <literal>testing</literal>, some care has to be taken now: "
8235 "all the depending packages must be updated and ready to be installed "
8236 "themselves so that they won't be broken, and, once everything is ready, "
8237 "manual intervention by the release manager or an assistant is normally "
8238 "required."
8239 msgstr ""
8240
8241 #. type: Content of: <chapter><section><section><section><para>
8242 #: pkgs.dbk:2798
8243 msgid ""
8244 "If you are having problems with complicated groups of packages like this, "
8245 "contact &email-debian-devel; or &email-debian-release; for help."
8246 msgstr ""
8247
8248 #. type: Content of: <chapter><title>
8249 #: resources.dbk:7
8250 msgid "Resources for Debian Developers"
8251 msgstr ""
8252
8253 #. type: Content of: <chapter><para>
8254 #: resources.dbk:9
8255 msgid ""
8256 "In this chapter you will find a very brief road map of the Debian mailing "
8257 "lists, the Debian machines which may be available to you as a developer, and "
8258 "all the other resources that are available to help you in your maintainer "
8259 "work."
8260 msgstr ""
8261
8262 #. type: Content of: <chapter><section><title>
8263 #: resources.dbk:14
8264 msgid "Mailing lists"
8265 msgstr ""
8266
8267 #. type: Content of: <chapter><section><para>
8268 #: resources.dbk:16
8269 msgid ""
8270 "Much of the conversation between Debian developers (and users) is managed "
8271 "through a wide array of mailing lists we host at <literal><ulink "
8272 "url=\"http://&lists-host;/\">&lists-host;</ulink></literal>.  To find out "
8273 "more on how to subscribe or unsubscribe, how to post and how not to post, "
8274 "where to find old posts and how to search them, how to contact the list "
8275 "maintainers and see various other information about the mailing lists, "
8276 "please read <ulink url=\"&url-debian-lists;\"></ulink>.  This section will "
8277 "only cover aspects of mailing lists that are of particular interest to "
8278 "developers."
8279 msgstr ""
8280
8281 #. type: Content of: <chapter><section><section><title>
8282 #: resources.dbk:27
8283 msgid "Basic rules for use"
8284 msgstr ""
8285
8286 #. type: Content of: <chapter><section><section><para>
8287 #: resources.dbk:29
8288 msgid ""
8289 "When replying to messages on the mailing list, please do not send a carbon "
8290 "copy (<literal>CC</literal>) to the original poster unless they explicitly "
8291 "request to be copied.  Anyone who posts to a mailing list should read it to "
8292 "see the responses."
8293 msgstr ""
8294
8295 #. type: Content of: <chapter><section><section><para>
8296 #: resources.dbk:35
8297 msgid ""
8298 "Cross-posting (sending the same message to multiple lists) is discouraged.  "
8299 "As ever on the net, please trim down the quoting of articles you're replying "
8300 "to.  In general, please adhere to the usual conventions for posting "
8301 "messages."
8302 msgstr ""
8303
8304 #. type: Content of: <chapter><section><section><para>
8305 #: resources.dbk:40
8306 msgid ""
8307 "Please read the <ulink url=\"&url-debian-lists;#codeofconduct\">code of "
8308 "conduct</ulink> for more information. The <ulink url=\"&url-dcg;\">Debian "
8309 "Community Guidelines</ulink> are also worth reading."
8310 msgstr ""
8311
8312 #. type: Content of: <chapter><section><section><title>
8313 #: resources.dbk:48
8314 msgid "Core development mailing lists"
8315 msgstr ""
8316
8317 #. type: Content of: <chapter><section><section><para>
8318 #: resources.dbk:50
8319 msgid "The core Debian mailing lists that developers should use are:"
8320 msgstr ""
8321
8322 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8323 #: resources.dbk:55
8324 msgid ""
8325 "&email-debian-devel-announce;, used to announce important things to "
8326 "developers.  All developers are expected to be subscribed to this list."
8327 msgstr ""
8328
8329 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8330 #: resources.dbk:62
8331 msgid ""
8332 "&email-debian-devel;, used to discuss various development related technical "
8333 "issues."
8334 msgstr ""
8335
8336 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8337 #: resources.dbk:68
8338 msgid "&email-debian-policy;, where the Debian Policy is discussed and voted on."
8339 msgstr ""
8340
8341 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8342 #: resources.dbk:74
8343 msgid ""
8344 "&email-debian-project;, used to discuss various non-technical issues related "
8345 "to the project."
8346 msgstr ""
8347
8348 #. type: Content of: <chapter><section><section><para>
8349 #: resources.dbk:80
8350 msgid ""
8351 "There are other mailing lists available for a variety of special topics; see "
8352 "<ulink url=\"http://&lists-host;/\"></ulink> for a list."
8353 msgstr ""
8354
8355 #. type: Content of: <chapter><section><section><title>
8356 #: resources.dbk:86
8357 msgid "Special lists"
8358 msgstr ""
8359
8360 #. type: Content of: <chapter><section><section><para>
8361 #: resources.dbk:88
8362 msgid ""
8363 "&email-debian-private; is a special mailing list for private discussions "
8364 "amongst Debian developers.  It is meant to be used for posts which for "
8365 "whatever reason should not be published publicly.  As such, it is a low "
8366 "volume list, and users are urged not to use &email-debian-private; unless it "
8367 "is really necessary.  Moreover, do <emphasis>not</emphasis> forward email "
8368 "from that list to anyone.  Archives of this list are not available on the "
8369 "web for obvious reasons, but you can see them using your shell account on "
8370 "<literal>&master-host;</literal> and looking in the "
8371 "<filename>&file-debian-private-archive;</filename> directory."
8372 msgstr ""
8373
8374 #. type: Content of: <chapter><section><section><para>
8375 #: resources.dbk:100
8376 msgid ""
8377 "&email-debian-email; is a special mailing list used as a grab-bag for Debian "
8378 "related correspondence such as contacting upstream authors about licenses, "
8379 "bugs, etc.  or discussing the project with others where it might be useful "
8380 "to have the discussion archived somewhere."
8381 msgstr ""
8382
8383 #. type: Content of: <chapter><section><section><title>
8384 #: resources.dbk:108
8385 msgid "Requesting new development-related lists"
8386 msgstr ""
8387
8388 #. type: Content of: <chapter><section><section><para>
8389 #: resources.dbk:110
8390 msgid ""
8391 "Before requesting a mailing list that relates to the development of a "
8392 "package (or a small group of related packages), please consider if using an "
8393 "alias (via a .forward-aliasname file on master.debian.org, which translates "
8394 "into a reasonably nice <replaceable>you-aliasname@debian.org</replaceable> "
8395 "address) or a self-managed mailing list on <link "
8396 "linkend=\"alioth\">Alioth</link> is more appropriate."
8397 msgstr ""
8398
8399 #. type: Content of: <chapter><section><section><para>
8400 #: resources.dbk:118
8401 msgid ""
8402 "If you decide that a regular mailing list on &lists-host; is really what you "
8403 "want, go ahead and fill in a request, following <ulink "
8404 "url=\"&url-debian-lists-new;\">the HOWTO</ulink>."
8405 msgstr ""
8406
8407 #. type: Content of: <chapter><section><title>
8408 #: resources.dbk:127
8409 msgid "IRC channels"
8410 msgstr ""
8411
8412 #. type: Content of: <chapter><section><para>
8413 #: resources.dbk:129
8414 msgid ""
8415 "Several IRC channels are dedicated to Debian's development.  They are mainly "
8416 "hosted on the <ulink url=\"&url-oftc;\">Open and free technology community "
8417 "(OFTC)</ulink> network.  The <literal>irc.debian.org</literal> DNS entry is "
8418 "an alias to <literal>irc.oftc.net</literal>."
8419 msgstr ""
8420
8421 #. type: Content of: <chapter><section><para>
8422 #: resources.dbk:135
8423 msgid ""
8424 "The main channel for Debian in general is <literal>#debian</literal>.  This "
8425 "is a large, general-purpose channel where users can find recent news in the "
8426 "topic and served by bots.  <literal>#debian</literal> is for English "
8427 "speakers; there are also <literal>#debian.de</literal>, "
8428 "<literal>#debian-fr</literal>, <literal>#debian-br</literal> and other "
8429 "similarly named channels for speakers of other languages."
8430 msgstr ""
8431
8432 #. type: Content of: <chapter><section><para>
8433 #: resources.dbk:143
8434 msgid ""
8435 "The main channel for Debian development is "
8436 "<literal>#debian-devel</literal>.  It is a very active channel; it will "
8437 "typically have a minimum of 150 people at any time of day.  It's a channel "
8438 "for people who work on Debian, it's not a support channel (there's "
8439 "<literal>#debian</literal> for that).  It is however open to anyone who "
8440 "wants to lurk (and learn).  Its topic is commonly full of interesting "
8441 "information for developers."
8442 msgstr ""
8443
8444 #. type: Content of: <chapter><section><para>
8445 #: resources.dbk:152
8446 msgid ""
8447 "Since <literal>#debian-devel</literal> is an open channel, you should not "
8448 "speak there of issues that are discussed in &email-debian-private;.  There's "
8449 "another channel for this purpose, it's called "
8450 "<literal>#debian-private</literal> and it's protected by a key.  This key is "
8451 "available at "
8452 "<filename>master.debian.org:&file-debian-private-key;</filename>."
8453 msgstr ""
8454
8455 #. type: Content of: <chapter><section><para>
8456 #: resources.dbk:160
8457 msgid ""
8458 "There are other additional channels dedicated to specific subjects.  "
8459 "<literal>#debian-bugs</literal> is used for coordinating bug squashing "
8460 "parties.  <literal>#debian-boot</literal> is used to coordinate the work on "
8461 "the debian-installer.  <literal>#debian-doc</literal> is occasionally used "
8462 "to talk about documentation, like the document you are reading.  Other "
8463 "channels are dedicated to an architecture or a set of packages: "
8464 "<literal>#debian-kde</literal>, <literal>#debian-dpkg</literal>, "
8465 "<literal>#debian-jr</literal>, <literal>#debian-edu</literal>, "
8466 "<literal>#debian-oo</literal> (OpenOffice.org package)..."
8467 msgstr ""
8468
8469 #. type: Content of: <chapter><section><para>
8470 #: resources.dbk:171
8471 msgid ""
8472 "Some non-English developers' channels exist as well, for example "
8473 "<literal>#debian-devel-fr</literal> for French speaking people interested in "
8474 "Debian's development."
8475 msgstr ""
8476
8477 #. type: Content of: <chapter><section><para>
8478 #: resources.dbk:176
8479 msgid ""
8480 "Channels dedicated to Debian also exist on other IRC networks, notably on "
8481 "the <ulink url=\"&url-openprojects;\">freenode</ulink> IRC network, which "
8482 "was pointed at by the <literal>irc.debian.org</literal> alias until 4th June "
8483 "2006."
8484 msgstr ""
8485
8486 #. type: Content of: <chapter><section><para>
8487 #: resources.dbk:182
8488 msgid ""
8489 "To get a cloak on freenode, you send Jörg Jaspert &lt;joerg@debian.org&gt; a "
8490 "signed mail where you tell what your nick is.  Put cloak somewhere in the "
8491 "Subject: header.  The nick should be registered: <ulink "
8492 "url=\"http://freenode.net/faq.shtml#nicksetup\">Nick Setup Page</ulink>.  "
8493 "The mail needs to be signed by a key in the Debian keyring.  Please see "
8494 "<ulink url=\"http://freenode.net/faq.shtml#projectcloak\">Freenodes "
8495 "documentation</ulink> for more information about cloaks."
8496 msgstr ""
8497
8498 #. type: Content of: <chapter><section><para>
8499 #: resources.dbk:195
8500 msgid ""
8501 "This document contains a lot of information which is useful to Debian "
8502 "developers, but it cannot contain everything.  Most of the other interesting "
8503 "documents are linked from <ulink url=\"&url-devel-docs;\">The Developers' "
8504 "Corner</ulink>.  Take the time to browse all the links, you will learn many "
8505 "more things."
8506 msgstr ""
8507
8508 #. type: Content of: <chapter><section><title>
8509 #: resources.dbk:204
8510 msgid "Debian machines"
8511 msgstr ""
8512
8513 #. type: Content of: <chapter><section><para>
8514 #: resources.dbk:206
8515 msgid ""
8516 "Debian has several computers working as servers, most of which serve "
8517 "critical functions in the Debian project.  Most of the machines are used for "
8518 "porting activities, and they all have a permanent connection to the "
8519 "Internet."
8520 msgstr ""
8521
8522 #. type: Content of: <chapter><section><para>
8523 #: resources.dbk:211
8524 msgid ""
8525 "Some of the machines are available for individual developers to use, as long "
8526 "as the developers follow the rules set forth in the <ulink "
8527 "url=\"&url-dmup;\">Debian Machine Usage Policies</ulink>."
8528 msgstr ""
8529
8530 #. type: Content of: <chapter><section><para>
8531 #: resources.dbk:216
8532 msgid ""
8533 "Generally speaking, you can use these machines for Debian-related purposes "
8534 "as you see fit.  Please be kind to system administrators, and do not use up "
8535 "tons and tons of disk space, network bandwidth, or CPU without first getting "
8536 "the approval of the system administrators.  Usually these machines are run "
8537 "by volunteers."
8538 msgstr ""
8539
8540 #. type: Content of: <chapter><section><para>
8541 #: resources.dbk:223
8542 msgid ""
8543 "Please take care to protect your Debian passwords and SSH keys installed on "
8544 "Debian machines.  Avoid login or upload methods which send passwords over "
8545 "the Internet in the clear, such as Telnet, FTP, POP etc."
8546 msgstr ""
8547
8548 #. type: Content of: <chapter><section><para>
8549 #: resources.dbk:228
8550 msgid ""
8551 "Please do not put any material that doesn't relate to Debian on the Debian "
8552 "servers, unless you have prior permission."
8553 msgstr ""
8554
8555 #. type: Content of: <chapter><section><para>
8556 #: resources.dbk:232
8557 msgid ""
8558 "The current list of Debian machines is available at <ulink "
8559 "url=\"&url-devel-machines;\"></ulink>.  That web page contains machine "
8560 "names, contact information, information about who can log in, SSH keys etc."
8561 msgstr ""
8562
8563 #. type: Content of: <chapter><section><para>
8564 #: resources.dbk:238
8565 msgid ""
8566 "If you have a problem with the operation of a Debian server, and you think "
8567 "that the system operators need to be notified of this problem, you can check "
8568 "the list of open issues in the DSA queue of our request tracker at <ulink "
8569 "url=\"&url-rt;\" /> (you can login with user \"debian\", its password is "
8570 "available at "
8571 "<filename>master.debian.org:&file-debian-rt-password;</filename>).  To "
8572 "report a new problem, simply send a mail to &email-rt-dsa; and make sure to "
8573 "put the string \"Debian RT\" somewhere in the subject."
8574 msgstr ""
8575
8576 #. type: Content of: <chapter><section><para>
8577 #: resources.dbk:247
8578 msgid ""
8579 "If you have a problem with a certain service, not related to the system "
8580 "administration (such as packages to be removed from the archive, suggestions "
8581 "for the web site, etc.), generally you'll report a bug against a "
8582 "``pseudo-package''.  See <xref linkend=\"submit-bug\"/> for information on "
8583 "how to submit bugs."
8584 msgstr ""
8585
8586 #. type: Content of: <chapter><section><para>
8587 #: resources.dbk:254
8588 msgid ""
8589 "Some of the core servers are restricted, but the information from there is "
8590 "mirrored to another server."
8591 msgstr ""
8592
8593 #. type: Content of: <chapter><section><section><title>
8594 #: resources.dbk:258
8595 msgid "The bugs server"
8596 msgstr ""
8597
8598 #. type: Content of: <chapter><section><section><para>
8599 #: resources.dbk:260
8600 msgid ""
8601 "<literal>&bugs-host;</literal> is the canonical location for the Bug "
8602 "Tracking System (BTS)."
8603 msgstr ""
8604
8605 #. type: Content of: <chapter><section><section><para>
8606 #: resources.dbk:264
8607 msgid ""
8608 "If you plan on doing some statistical analysis or processing of Debian bugs, "
8609 "this would be the place to do it.  Please describe your plans on "
8610 "&email-debian-devel; before implementing anything, however, to reduce "
8611 "unnecessary duplication of effort or wasted processing time."
8612 msgstr ""
8613
8614 #. type: Content of: <chapter><section><section><title>
8615 #: resources.dbk:272
8616 msgid "The ftp-master server"
8617 msgstr ""
8618
8619 #. type: Content of: <chapter><section><section><para>
8620 #: resources.dbk:274
8621 msgid ""
8622 "The <literal>&ftp-master-host;</literal> server holds the canonical copy of "
8623 "the Debian archive.  Generally, package uploaded to &ftp-upload-host; end up "
8624 "on this server, see <xref linkend=\"upload\"/>."
8625 msgstr ""
8626
8627 #. type: Content of: <chapter><section><section><para>
8628 #: resources.dbk:279
8629 msgid ""
8630 "It is restricted; a mirror is available on "
8631 "<literal>&ftp-master-mirror;</literal>."
8632 msgstr ""
8633
8634 #. type: Content of: <chapter><section><section><para>
8635 #: resources.dbk:282
8636 msgid ""
8637 "Problems with the Debian FTP archive generally need to be reported as bugs "
8638 "against the <systemitem role=\"package\">&ftp-debian-org;</systemitem> "
8639 "pseudo-package or an email to &email-ftpmaster;, but also see the procedures "
8640 "in <xref linkend=\"archive-manip\"/>."
8641 msgstr ""
8642
8643 #. type: Content of: <chapter><section><section><title>
8644 #: resources.dbk:290
8645 msgid "The www-master server"
8646 msgstr ""
8647
8648 #. type: Content of: <chapter><section><section><para>
8649 #: resources.dbk:292
8650 msgid ""
8651 "The main web server is <literal>www-master.debian.org</literal>.  It holds "
8652 "the official web pages, the face of Debian for most newbies."
8653 msgstr ""
8654
8655 #. type: Content of: <chapter><section><section><para>
8656 #: resources.dbk:296
8657 msgid ""
8658 "If you find a problem with the Debian web server, you should generally "
8659 "submit a bug against the pseudo-package, <systemitem "
8660 "role=\"package\">www.debian.org</systemitem>.  Remember to check whether or "
8661 "not someone else has already reported the problem to the <ulink "
8662 "url=\"http://&bugs-host;/&www-debian-org;\">Bug Tracking System</ulink>."
8663 msgstr ""
8664
8665 #. type: Content of: <chapter><section><section><title>
8666 #: resources.dbk:305
8667 msgid "The people web server"
8668 msgstr ""
8669
8670 #. type: Content of: <chapter><section><section><para>
8671 #: resources.dbk:307
8672 msgid ""
8673 "<literal>people.debian.org</literal> is the server used for developers' own "
8674 "web pages about anything related to Debian."
8675 msgstr ""
8676
8677 #. type: Content of: <chapter><section><section><para>
8678 #: resources.dbk:311
8679 msgid ""
8680 "If you have some Debian-specific information which you want to serve on the "
8681 "web, you can do this by putting material in the "
8682 "<filename>public_html</filename> directory under your home directory on "
8683 "<literal>people.debian.org</literal>.  This will be accessible at the URL "
8684 "<literal>http://people.debian.org/~<replaceable>your-user-id</replaceable>/</literal>."
8685 msgstr ""
8686
8687 #. type: Content of: <chapter><section><section><para>
8688 #: resources.dbk:318
8689 msgid ""
8690 "You should only use this particular location because it will be backed up, "
8691 "whereas on other hosts it won't."
8692 msgstr ""
8693
8694 #. type: Content of: <chapter><section><section><para>
8695 #: resources.dbk:322
8696 msgid ""
8697 "Usually the only reason to use a different host is when you need to publish "
8698 "materials subject to the U.S.  export restrictions, in which case you can "
8699 "use one of the other servers located outside the United States."
8700 msgstr ""
8701
8702 #. type: Content of: <chapter><section><section><para>
8703 #: resources.dbk:327
8704 msgid "Send mail to &email-debian-devel; if you have any questions."
8705 msgstr ""
8706
8707 #. type: Content of: <chapter><section><section><title>
8708 #: resources.dbk:332
8709 msgid "The VCS servers"
8710 msgstr ""
8711
8712 #. type: Content of: <chapter><section><section><para>
8713 #: resources.dbk:334
8714 msgid ""
8715 "If you need to use a Version Control System for any of your Debian work, you "
8716 "can use one of the existing repositories hosted on Alioth or you can request "
8717 "a new project and ask for the VCS repository of your choice.  Alioth "
8718 "supports CVS (cvs.alioth.debian.org/cvs.debian.org), Subversion "
8719 "(svn.debian.org), Arch (tla/baz, both on arch.debian.org), Bazaar "
8720 "(bzr.debian.org), Darcs (darcs.debian.org), Mercurial (hg.debian.org) and "
8721 "Git (git.debian.org).  Checkout <ulink url=\"&url-alioth-pkg;\" /> if you "
8722 "plan to maintain packages in a VCS repository. See <xref "
8723 "linkend=\"alioth\"/> for information on the services provided by Alioth."
8724 msgstr ""
8725
8726 #. type: Content of: <chapter><section><section><title>
8727 #: resources.dbk:347
8728 msgid "chroots to different distributions"
8729 msgstr ""
8730
8731 #. type: Content of: <chapter><section><section><para>
8732 #: resources.dbk:349
8733 msgid ""
8734 "On some machines, there are chroots to different distributions available.  "
8735 "You can use them like this:"
8736 msgstr ""
8737
8738 #. type: Content of: <chapter><section><section><screen>
8739 #: resources.dbk:353
8740 #, no-wrap
8741 msgid ""
8742 "vore$ dchroot unstable\n"
8743 "Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable\n"
8744 msgstr ""
8745
8746 #. type: Content of: <chapter><section><section><para>
8747 #: resources.dbk:357
8748 msgid ""
8749 "In all chroots, the normal user home directories are available.  You can "
8750 "find out which chroots are available via <ulink "
8751 "url=\"&url-devel-machines;\"></ulink>."
8752 msgstr ""
8753
8754 #. type: Content of: <chapter><section><title>
8755 #: resources.dbk:366
8756 msgid "The Developers Database"
8757 msgstr ""
8758
8759 #. type: Content of: <chapter><section><para>
8760 #: resources.dbk:368
8761 msgid ""
8762 "The Developers Database, at <ulink url=\"&url-debian-db;\"></ulink>, is an "
8763 "LDAP directory for managing Debian developer attributes.  You can use this "
8764 "resource to search the list of Debian developers.  Part of this information "
8765 "is also available through the finger service on Debian servers, try "
8766 "<command>finger yourlogin@db.debian.org</command> to see what it reports."
8767 msgstr ""
8768
8769 #. type: Content of: <chapter><section><para>
8770 #: resources.dbk:376
8771 msgid ""
8772 "Developers can <ulink url=\"&url-debian-db-login;\">log into the "
8773 "database</ulink> to change various information about themselves, such as:"
8774 msgstr ""
8775
8776 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8777 #: resources.dbk:382
8778 msgid "forwarding address for your debian.org email"
8779 msgstr ""
8780
8781 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8782 #: resources.dbk:387
8783 msgid "subscription to debian-private"
8784 msgstr ""
8785
8786 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8787 #: resources.dbk:392
8788 msgid "whether you are on vacation"
8789 msgstr ""
8790
8791 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8792 #: resources.dbk:397
8793 msgid ""
8794 "personal information such as your address, country, the latitude and "
8795 "longitude of the place where you live for use in <ulink "
8796 "url=\"&url-worldmap;\">the world map of Debian developers</ulink>, phone and "
8797 "fax numbers, IRC nickname and web page"
8798 msgstr ""
8799
8800 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8801 #: resources.dbk:405
8802 msgid "password and preferred shell on Debian Project machines"
8803 msgstr ""
8804
8805 #. type: Content of: <chapter><section><para>
8806 #: resources.dbk:410
8807 msgid ""
8808 "Most of the information is not accessible to the public, naturally.  For "
8809 "more information please read the online documentation that you can find at "
8810 "<ulink url=\"&url-debian-db-doc;\"></ulink>."
8811 msgstr ""
8812
8813 #. type: Content of: <chapter><section><para>
8814 #: resources.dbk:415
8815 msgid ""
8816 "Developers can also submit their SSH keys to be used for authorization on "
8817 "the official Debian machines, and even add new *.debian.net DNS entries.  "
8818 "Those features are documented at <ulink "
8819 "url=\"&url-debian-db-mail-gw;\"></ulink>."
8820 msgstr ""
8821
8822 #. type: Content of: <chapter><section><title>
8823 #: resources.dbk:423
8824 msgid "The Debian archive"
8825 msgstr ""
8826
8827 #. type: Content of: <chapter><section><para>
8828 #: resources.dbk:425
8829 msgid ""
8830 "The &debian-formal; distribution consists of a lot of packages (currently "
8831 "around &number-of-pkgs; source packages) and a few additional files (such as "
8832 "documentation and installation disk images)."
8833 msgstr ""
8834
8835 #. type: Content of: <chapter><section><para>
8836 #: resources.dbk:430
8837 msgid "Here is an example directory tree of a complete Debian archive:"
8838 msgstr ""
8839
8840 #. type: Content of: <chapter><section><para>
8841 #: resources.dbk:434
8842 msgid ""
8843 "As you can see, the top-level directory contains two directories, "
8844 "<filename>dists/</filename> and <filename>pool/</filename>.  The latter is a "
8845 "“pool” in which the packages actually are, and which is handled by the "
8846 "archive maintenance database and the accompanying programs.  The former "
8847 "contains the distributions, <literal>stable</literal>, "
8848 "<literal>testing</literal> and <literal>unstable</literal>.  The "
8849 "<filename>Packages</filename> and <filename>Sources</filename> files in the "
8850 "distribution subdirectories can reference files in the "
8851 "<filename>pool/</filename> directory.  The directory tree below each of the "
8852 "distributions is arranged in an identical manner.  What we describe below "
8853 "for <literal>stable</literal> is equally applicable to the "
8854 "<literal>unstable</literal> and <literal>testing</literal> distributions."
8855 msgstr ""
8856
8857 #. type: Content of: <chapter><section><para>
8858 #: resources.dbk:448
8859 msgid ""
8860 "<filename>dists/stable</filename> contains three directories, namely "
8861 "<filename>main</filename>, <filename>contrib</filename>, and "
8862 "<filename>non-free</filename>."
8863 msgstr ""
8864
8865 #. type: Content of: <chapter><section><para>
8866 #: resources.dbk:453
8867 msgid ""
8868 "In each of the areas, there is a directory for the source packages "
8869 "(<filename>source</filename>) and a directory for each supported "
8870 "architecture (<filename>binary-i386</filename>, "
8871 "<filename>binary-amd64</filename>, etc.)."
8872 msgstr ""
8873
8874 #. type: Content of: <chapter><section><para>
8875 #: resources.dbk:458
8876 msgid ""
8877 "The <filename>main</filename> area contains additional directories which "
8878 "hold the disk images and some essential pieces of documentation required for "
8879 "installing the Debian distribution on a specific architecture "
8880 "(<filename>disks-i386</filename>, <filename>disks-amd64</filename>, etc.)."
8881 msgstr ""
8882
8883 #. type: Content of: <chapter><section><section><title>
8884 #: resources.dbk:464
8885 msgid "Sections"
8886 msgstr ""
8887
8888 #. type: Content of: <chapter><section><section><para>
8889 #: resources.dbk:466
8890 msgid ""
8891 "The <literal>main</literal> section of the Debian archive is what makes up "
8892 "the <emphasis role=\"strong\">official &debian-formal; "
8893 "distribution</emphasis>.  The <literal>main</literal> section is official "
8894 "because it fully complies with all our guidelines.  The other two sections "
8895 "do not, to different degrees; as such, they are <emphasis "
8896 "role=\"strong\">not</emphasis> officially part of &debian-formal;."
8897 msgstr ""
8898
8899 #. type: Content of: <chapter><section><section><para>
8900 #: resources.dbk:474
8901 msgid ""
8902 "Every package in the main section must fully comply with the <ulink "
8903 "url=\"&url-dfsg;\">Debian Free Software Guidelines</ulink> (DFSG) and with "
8904 "all other policy requirements as described in the <ulink "
8905 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>.  The DFSG is our "
8906 "definition of “free software.” Check out the Debian Policy Manual for "
8907 "details."
8908 msgstr ""
8909
8910 #. type: Content of: <chapter><section><section><para>
8911 #: resources.dbk:482
8912 msgid ""
8913 "Packages in the <literal>contrib</literal> section have to comply with the "
8914 "DFSG, but may fail other requirements.  For instance, they may depend on "
8915 "non-free packages."
8916 msgstr ""
8917
8918 #. type: Content of: <chapter><section><section><para>
8919 #: resources.dbk:487
8920 msgid ""
8921 "Packages which do not conform to the DFSG are placed in the "
8922 "<literal>non-free</literal> section.  These packages are not considered as "
8923 "part of the Debian distribution, though we enable their use, and we provide "
8924 "infrastructure (such as our bug-tracking system and mailing lists) for "
8925 "non-free software packages."
8926 msgstr ""
8927
8928 #. type: Content of: <chapter><section><section><para>
8929 #: resources.dbk:494
8930 msgid ""
8931 "The <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> contains "
8932 "a more exact definition of the three sections.  The above discussion is just "
8933 "an introduction."
8934 msgstr ""
8935
8936 #. type: Content of: <chapter><section><section><para>
8937 #: resources.dbk:499
8938 msgid ""
8939 "The separation of the three sections at the top-level of the archive is "
8940 "important for all people who want to distribute Debian, either via FTP "
8941 "servers on the Internet or on CD-ROMs: by distributing only the "
8942 "<literal>main</literal> and <literal>contrib</literal> sections, one can "
8943 "avoid any legal risks.  Some packages in the <literal>non-free</literal> "
8944 "section do not allow commercial distribution, for example."
8945 msgstr ""
8946
8947 #. type: Content of: <chapter><section><section><para>
8948 #: resources.dbk:507
8949 msgid ""
8950 "On the other hand, a CD-ROM vendor could easily check the individual package "
8951 "licenses of the packages in <literal>non-free</literal> and include as many "
8952 "on the CD-ROMs as it's allowed to.  (Since this varies greatly from vendor "
8953 "to vendor, this job can't be done by the Debian developers.)"
8954 msgstr ""
8955
8956 #. type: Content of: <chapter><section><section><para>
8957 #: resources.dbk:513
8958 msgid ""
8959 "Note that the term section is also used to refer to categories which "
8960 "simplify the organization and browsing of available packages, e.g.  "
8961 "<literal>admin</literal>, <literal>net</literal>, <literal>utils</literal> "
8962 "etc.  Once upon a time, these sections (subsections, rather) existed in the "
8963 "form of subdirectories within the Debian archive.  Nowadays, these exist "
8964 "only in the Section header fields of packages."
8965 msgstr ""
8966
8967 #. type: Content of: <chapter><section><section><title>
8968 #: resources.dbk:523
8969 msgid "Architectures"
8970 msgstr ""
8971
8972 #. type: Content of: <chapter><section><section><para>
8973 #: resources.dbk:525
8974 msgid ""
8975 "In the first days, the Linux kernel was only available for Intel i386 (or "
8976 "greater) platforms, and so was Debian.  But as Linux became more and more "
8977 "popular, the kernel was ported to other architectures and Debian started to "
8978 "support them. And as if supporting so much hardware was not enough, Debian "
8979 "decided to build some ports based on other Unix kernels, like "
8980 "<literal>hurd</literal> and <literal>kfreebsd</literal>."
8981 msgstr ""
8982
8983 #. type: Content of: <chapter><section><section><para>
8984 #: resources.dbk:533
8985 msgid ""
8986 "&debian-formal; 1.3 was only available as <literal>i386</literal>.  Debian "
8987 "2.0 shipped for <literal>i386</literal> and <literal>m68k</literal> "
8988 "architectures.  Debian 2.1 shipped for the <literal>i386</literal>, "
8989 "<literal>m68k</literal>, <literal>alpha</literal>, and "
8990 "<literal>sparc</literal> architectures.  Since then Debian has grown "
8991 "hugely.  Debian 6 supports a total of nine Linux architectures "
8992 "(<literal>amd64</literal>, <literal>armel</literal>, "
8993 "<literal>i386</literal>, <literal>ia64</literal>, <literal>mips</literal>, "
8994 "<literal>mipsel</literal>, <literal>powerpc</literal>, "
8995 "<literal>s390</literal>, <literal>sparc</literal>) and two kFreeBSD "
8996 "architectures (<literal>kfreebsd-i386</literal> and "
8997 "<literal>kfreebsd-amd64</literal>)."
8998 msgstr ""
8999
9000 #. type: Content of: <chapter><section><section><para>
9001 #: resources.dbk:546
9002 msgid ""
9003 "Information for developers and users about the specific ports are available "
9004 "at the <ulink url=\"&url-debian-ports;\">Debian Ports web pages</ulink>."
9005 msgstr ""
9006
9007 #. type: Content of: <chapter><section><section><title>
9008 #: resources.dbk:552
9009 msgid "Packages"
9010 msgstr ""
9011
9012 #. type: Content of: <chapter><section><section><para>
9013 #: resources.dbk:554
9014 msgid ""
9015 "There are two types of Debian packages, namely <literal>source</literal> and "
9016 "<literal>binary</literal> packages."
9017 msgstr ""
9018
9019 #. type: Content of: <chapter><section><section><para>
9020 #: resources.dbk:558
9021 msgid ""
9022 "Depending on the format of the source package, it will consist of one or "
9023 "more files in addition to the mandatory <filename>.dsc</filename> file:"
9024 msgstr ""
9025
9026 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9027 #: resources.dbk:562
9028 msgid ""
9029 "with format “1.0”, it has either a <filename>.tar.gz</filename> file or both "
9030 "an <filename>.orig.tar.gz</filename> and a <filename>.diff.gz</filename> "
9031 "file;"
9032 msgstr ""
9033
9034 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9035 #: resources.dbk:565
9036 msgid ""
9037 "with format “3.0 (quilt)”, it has a mandatory "
9038 "<filename>.orig.tar.{gz,bz2,xz}</filename> upstream tarball, multiple "
9039 "optional "
9040 "<filename>.orig-<replaceable>component</replaceable>.tar.{gz,bz2,xz}</filename> "
9041 "additional upstream tarballs and a mandatory "
9042 "<filename>debian.tar.{gz,bz2,xz}</filename> debian tarball;"
9043 msgstr ""
9044
9045 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9046 #: resources.dbk:571
9047 msgid ""
9048 "with format “3.0 (native)”, it has only a single "
9049 "<filename>.tar.{gz,bz2,xz}</filename> tarball."
9050 msgstr ""
9051
9052 #. type: Content of: <chapter><section><section><para>
9053 #: resources.dbk:576
9054 msgid ""
9055 "If a package is developed specially for Debian and is not distributed "
9056 "outside of Debian, there is just one <filename>.tar.{gz,bz2,xz}</filename> "
9057 "file which contains the sources of the program, it's called a “native” "
9058 "source package.  If a package is distributed elsewhere too, the "
9059 "<filename>.orig.tar.{gz,bz2,xz}</filename> file stores the so-called "
9060 "<literal>upstream source code</literal>, that is the source code that's "
9061 "distributed by the <literal>upstream maintainer</literal> (often the author "
9062 "of the software). In this case, the <filename>.diff.gz</filename> or the "
9063 "<filename>debian.tar.{gz,bz2,xz}</filename> contains the changes made by the "
9064 "Debian maintainer."
9065 msgstr ""
9066
9067 #. type: Content of: <chapter><section><section><para>
9068 #: resources.dbk:589
9069 msgid ""
9070 "The <filename>.dsc</filename> file lists all the files in the source package "
9071 "together with checksums (<command>md5sums</command>) and some additional "
9072 "info about the package (maintainer, version, etc.)."
9073 msgstr ""
9074
9075 #. type: Content of: <chapter><section><section><title>
9076 #: resources.dbk:596
9077 msgid "Distributions"
9078 msgstr ""
9079
9080 #. type: Content of: <chapter><section><section><para>
9081 #: resources.dbk:598
9082 msgid ""
9083 "The directory system described in the previous chapter is itself contained "
9084 "within <literal>distribution directories</literal>.  Each distribution is "
9085 "actually contained in the <filename>pool</filename> directory in the "
9086 "top-level of the Debian archive itself."
9087 msgstr ""
9088
9089 #. type: Content of: <chapter><section><section><para>
9090 #: resources.dbk:604
9091 msgid ""
9092 "To summarize, the Debian archive has a root directory within an FTP server.  "
9093 "For instance, at the mirror site, <literal>ftp.us.debian.org</literal>, the "
9094 "Debian archive itself is contained in <ulink "
9095 "url=\"ftp://ftp.us.debian.org/debian\">/debian</ulink>, which is a common "
9096 "location (another is <filename>/pub/debian</filename>)."
9097 msgstr ""
9098
9099 #. type: Content of: <chapter><section><section><para>
9100 #: resources.dbk:611
9101 msgid ""
9102 "A distribution comprises Debian source and binary packages, and the "
9103 "respective <filename>Sources</filename> and <filename>Packages</filename> "
9104 "index files, containing the header information from all those packages.  The "
9105 "former are kept in the <filename>pool/</filename> directory, while the "
9106 "latter are kept in the <filename>dists/</filename> directory of the archive "
9107 "(for backwards compatibility)."
9108 msgstr ""
9109
9110 #. type: Content of: <chapter><section><section><section><title>
9111 #: resources.dbk:619
9112 msgid "Stable, testing, and unstable"
9113 msgstr ""
9114
9115 #. type: Content of: <chapter><section><section><section><para>
9116 #: resources.dbk:621
9117 msgid ""
9118 "There are always distributions called <literal>stable</literal> (residing in "
9119 "<filename>dists/stable</filename>), <literal>testing</literal> (residing in "
9120 "<filename>dists/testing</filename>), and <literal>unstable</literal> "
9121 "(residing in <filename>dists/unstable</filename>).  This reflects the "
9122 "development process of the Debian project."
9123 msgstr ""
9124
9125 #. type: Content of: <chapter><section><section><section><para>
9126 #: resources.dbk:628
9127 msgid ""
9128 "Active development is done in the <literal>unstable</literal> distribution "
9129 "(that's why this distribution is sometimes called the <literal>development "
9130 "distribution</literal>).  Every Debian developer can update their packages "
9131 "in this distribution at any time.  Thus, the contents of this distribution "
9132 "change from day to day.  Since no special effort is made to make sure "
9133 "everything in this distribution is working properly, it is sometimes "
9134 "literally unstable."
9135 msgstr ""
9136
9137 #. type: Content of: <chapter><section><section><section><para>
9138 #: resources.dbk:637
9139 msgid ""
9140 "The <link linkend=\"testing\">testing</link> distribution is generated "
9141 "automatically by taking packages from <literal>unstable</literal> if they "
9142 "satisfy certain criteria.  Those criteria should ensure a good quality for "
9143 "packages within <literal>testing</literal>.  The update to "
9144 "<literal>testing</literal> is launched twice each day, right after the new "
9145 "packages have been installed.  See <xref linkend=\"testing\"/>."
9146 msgstr ""
9147
9148 #. type: Content of: <chapter><section><section><section><para>
9149 #: resources.dbk:645
9150 msgid ""
9151 "After a period of development, once the release manager deems fit, the "
9152 "<literal>testing</literal> distribution is frozen, meaning that the policies "
9153 "which control how packages move from <literal>unstable</literal> to "
9154 "<literal>testing</literal> are tightened.  Packages which are too buggy are "
9155 "removed.  No changes are allowed into <literal>testing</literal> except for "
9156 "bug fixes.  After some time has elapsed, depending on progress, the "
9157 "<literal>testing</literal> distribution is frozen even further.  Details of "
9158 "the handling of the testing distribution are published by the Release Team "
9159 "on debian-devel-announce.  After the open issues are solved to the "
9160 "satisfaction of the Release Team, the distribution is released.  Releasing "
9161 "means that <literal>testing</literal> is renamed to "
9162 "<literal>stable</literal>, and a new copy is created for the new "
9163 "<literal>testing</literal>, and the previous <literal>stable</literal> is "
9164 "renamed to <literal>oldstable</literal> and stays there until it is finally "
9165 "archived.  On archiving, the contents are moved to "
9166 "<literal>&archive-host;</literal>."
9167 msgstr ""
9168
9169 #. type: Content of: <chapter><section><section><section><para>
9170 #: resources.dbk:662
9171 msgid ""
9172 "This development cycle is based on the assumption that the "
9173 "<literal>unstable</literal> distribution becomes <literal>stable</literal> "
9174 "after passing a period of being in <literal>testing</literal>.  Even once a "
9175 "distribution is considered stable, a few bugs inevitably remain — that's why "
9176 "the stable distribution is updated every now and then.  However, these "
9177 "updates are tested very carefully and have to be introduced into the archive "
9178 "individually to reduce the risk of introducing new bugs.  You can find "
9179 "proposed additions to <literal>stable</literal> in the "
9180 "<filename>proposed-updates</filename> directory.  Those packages in "
9181 "<filename>proposed-updates</filename> that pass muster are periodically "
9182 "moved as a batch into the stable distribution and the revision level of the "
9183 "stable distribution is incremented (e.g., ‘6.0’ becomes ‘6.0.1’, ‘5.0.7’ "
9184 "becomes ‘5.0.8’, and so forth).  Please refer to <link "
9185 "linkend=\"upload-stable\">uploads to the <literal>stable</literal> "
9186 "distribution</link> for details."
9187 msgstr ""
9188
9189 #. type: Content of: <chapter><section><section><section><para>
9190 #: resources.dbk:679
9191 msgid ""
9192 "Note that development under <literal>unstable</literal> continues during the "
9193 "freeze period, since the <literal>unstable</literal> distribution remains in "
9194 "place in parallel with <literal>testing</literal>."
9195 msgstr ""
9196
9197 #. type: Content of: <chapter><section><section><section><title>
9198 #: resources.dbk:686
9199 msgid "More information about the testing distribution"
9200 msgstr ""
9201
9202 #. type: Content of: <chapter><section><section><section><para>
9203 #: resources.dbk:688
9204 msgid ""
9205 "Packages are usually installed into the <literal>testing</literal> "
9206 "distribution after they have undergone some degree of testing in "
9207 "<literal>unstable</literal>."
9208 msgstr ""
9209
9210 #. type: Content of: <chapter><section><section><section><para>
9211 #: resources.dbk:692
9212 msgid ""
9213 "For more details, please see the <link linkend=\"testing\">information about "
9214 "the testing distribution</link>."
9215 msgstr ""
9216
9217 #. type: Content of: <chapter><section><section><section><title>
9218 #: resources.dbk:698
9219 msgid "Experimental"
9220 msgstr ""
9221
9222 #. type: Content of: <chapter><section><section><section><para>
9223 #: resources.dbk:700
9224 msgid ""
9225 "The <literal>experimental</literal> distribution is a special distribution.  "
9226 "It is not a full distribution in the same sense as "
9227 "<literal>stable</literal>, <literal>testing</literal> and "
9228 "<literal>unstable</literal> are.  Instead, it is meant to be a temporary "
9229 "staging area for highly experimental software where there's a good chance "
9230 "that the software could break your system, or software that's just too "
9231 "unstable even for the <literal>unstable</literal> distribution (but there is "
9232 "a reason to package it nevertheless).  Users who download and install "
9233 "packages from <literal>experimental</literal> are expected to have been duly "
9234 "warned.  In short, all bets are off for the <literal>experimental</literal> "
9235 "distribution."
9236 msgstr ""
9237
9238 #. type: Content of: <chapter><section><section><section><para>
9239 #: resources.dbk:712
9240 msgid ""
9241 "These are the <citerefentry> <refentrytitle>sources.list</refentrytitle> "
9242 "<manvolnum>5</manvolnum> </citerefentry> lines for "
9243 "<literal>experimental</literal>:"
9244 msgstr ""
9245
9246 #. type: Content of: <chapter><section><section><section><programlisting>
9247 #: resources.dbk:717
9248 #, no-wrap
9249 msgid ""
9250 "deb http://ftp.<replaceable>xy</replaceable>.debian.org/debian/ experimental "
9251 "main\n"
9252 "deb-src http://ftp.<replaceable>xy</replaceable>.debian.org/debian/ "
9253 "experimental main\n"
9254 msgstr ""
9255
9256 #. type: Content of: <chapter><section><section><section><para>
9257 #: resources.dbk:721
9258 msgid ""
9259 "If there is a chance that the software could do grave damage to a system, it "
9260 "is likely to be better to put it into <literal>experimental</literal>.  For "
9261 "instance, an experimental compressed file system should probably go into "
9262 "<literal>experimental</literal>."
9263 msgstr ""
9264
9265 #. type: Content of: <chapter><section><section><section><para>
9266 #: resources.dbk:727
9267 msgid ""
9268 "Whenever there is a new upstream version of a package that introduces new "
9269 "features but breaks a lot of old ones, it should either not be uploaded, or "
9270 "be uploaded to <literal>experimental</literal>.  A new, beta, version of "
9271 "some software which uses a completely different configuration can go into "
9272 "<literal>experimental</literal>, at the maintainer's discretion.  If you are "
9273 "working on an incompatible or complex upgrade situation, you can also use "
9274 "<literal>experimental</literal> as a staging area, so that testers can get "
9275 "early access."
9276 msgstr ""
9277
9278 #. type: Content of: <chapter><section><section><section><para>
9279 #: resources.dbk:737
9280 msgid ""
9281 "Some experimental software can still go into <literal>unstable</literal>, "
9282 "with a few warnings in the description, but that isn't recommended because "
9283 "packages from <literal>unstable</literal> are expected to propagate to "
9284 "<literal>testing</literal> and thus to <literal>stable</literal>.  You "
9285 "should not be afraid to use <literal>experimental</literal> since it does "
9286 "not cause any pain to the ftpmasters, the experimental packages are "
9287 "periodically removed once you upload the package in "
9288 "<literal>unstable</literal> with a higher version number."
9289 msgstr ""
9290
9291 #. type: Content of: <chapter><section><section><section><para>
9292 #: resources.dbk:747
9293 msgid ""
9294 "New software which isn't likely to damage your system can go directly into "
9295 "<literal>unstable</literal>."
9296 msgstr ""
9297
9298 #. type: Content of: <chapter><section><section><section><para>
9299 #: resources.dbk:751
9300 msgid ""
9301 "An alternative to <literal>experimental</literal> is to use your personal "
9302 "web space on <literal>people.debian.org</literal>."
9303 msgstr ""
9304
9305 #. type: Content of: <chapter><section><section><title>
9306 #: resources.dbk:759
9307 msgid "Release code names"
9308 msgstr ""
9309
9310 #. type: Content of: <chapter><section><section><para>
9311 #: resources.dbk:761
9312 msgid ""
9313 "Every released Debian distribution has a <literal>code name</literal>: "
9314 "Debian 1.1 is called <literal>buzz</literal>; Debian 1.2, "
9315 "<literal>rex</literal>; Debian 1.3, <literal>bo</literal>; Debian 2.0, "
9316 "<literal>hamm</literal>; Debian 2.1, <literal>slink</literal>; Debian 2.2, "
9317 "<literal>potato</literal>; Debian 3.0, <literal>woody</literal>; Debian 3.1, "
9318 "<literal>sarge</literal>; Debian 4.0, <literal>etch</literal>; Debian 5.0, "
9319 "<literal>lenny</literal>; Debian 6.0, <literal>squeeze</literal> and the "
9320 "next release will be called <literal>wheezy</literal>.  There is also a "
9321 "``pseudo-distribution'', called <literal>sid</literal>, which is the current "
9322 "<literal>unstable</literal> distribution; since packages are moved from "
9323 "<literal>unstable</literal> to <literal>testing</literal> as they approach "
9324 "stability, <literal>sid</literal> itself is never released.  As well as the "
9325 "usual contents of a Debian distribution, <literal>sid</literal> contains "
9326 "packages for architectures which are not yet officially supported or "
9327 "released by Debian.  These architectures are planned to be integrated into "
9328 "the mainstream distribution at some future date."
9329 msgstr ""
9330
9331 #. type: Content of: <chapter><section><section><para>
9332 #: resources.dbk:780
9333 msgid ""
9334 "Since Debian has an open development model (i.e., everyone can participate "
9335 "and follow the development) even the <literal>unstable</literal> and "
9336 "<literal> testing</literal> distributions are distributed to the Internet "
9337 "through the Debian FTP and HTTP server network. Thus, if we had called the "
9338 "directory which contains the release candidate version "
9339 "<literal>testing</literal>, then we would have to rename it to "
9340 "<literal>stable</literal> when the version is released, which would cause "
9341 "all FTP mirrors to re-retrieve the whole distribution (which is quite "
9342 "large)."
9343 msgstr ""
9344
9345 #. type: Content of: <chapter><section><section><para>
9346 #: resources.dbk:790
9347 msgid ""
9348 "On the other hand, if we called the distribution directories "
9349 "<literal>Debian-x.y</literal> from the beginning, people would think that "
9350 "Debian release <literal>x.y</literal> is available.  (This happened in the "
9351 "past, where a CD-ROM vendor built a Debian 1.0 CD-ROM based on a pre-1.0 "
9352 "development version.  That's the reason why the first official Debian "
9353 "release was 1.1, and not 1.0.)"
9354 msgstr ""
9355
9356 #. type: Content of: <chapter><section><section><para>
9357 #: resources.dbk:798
9358 msgid ""
9359 "Thus, the names of the distribution directories in the archive are "
9360 "determined by their code names and not their release status (e.g., "
9361 "`squeeze'). These names stay the same during the development period and "
9362 "after the release; symbolic links, which can be changed easily, indicate the "
9363 "currently released stable distribution.  That's why the real distribution "
9364 "directories use the <literal>code names</literal>, while symbolic links for "
9365 "<literal>stable</literal>, <literal>testing</literal>, and "
9366 "<literal>unstable</literal> point to the appropriate release directories."
9367 msgstr ""
9368
9369 #. type: Content of: <chapter><section><title>
9370 #: resources.dbk:812
9371 msgid "Debian mirrors"
9372 msgstr ""
9373
9374 #. type: Content of: <chapter><section><para>
9375 #: resources.dbk:814
9376 msgid ""
9377 "The various download archives and the web site have several mirrors "
9378 "available in order to relieve our canonical servers from heavy load.  In "
9379 "fact, some of the canonical servers aren't public — a first tier of mirrors "
9380 "balances the load instead.  That way, users always access the mirrors and "
9381 "get used to using them, which allows Debian to better spread its bandwidth "
9382 "requirements over several servers and networks, and basically makes users "
9383 "avoid hammering on one primary location.  Note that the first tier of "
9384 "mirrors is as up-to-date as it can be since they update when triggered from "
9385 "the internal sites (we call this push mirroring)."
9386 msgstr ""
9387
9388 #. type: Content of: <chapter><section><para>
9389 #: resources.dbk:825
9390 msgid ""
9391 "All the information on Debian mirrors, including a list of the available "
9392 "public FTP/HTTP servers, can be found at <ulink "
9393 "url=\"&url-debian-mirrors;\"></ulink>.  This useful page also includes "
9394 "information and tools which can be helpful if you are interested in setting "
9395 "up your own mirror, either for internal or public access."
9396 msgstr ""
9397
9398 #. type: Content of: <chapter><section><para>
9399 #: resources.dbk:832
9400 msgid ""
9401 "Note that mirrors are generally run by third-parties who are interested in "
9402 "helping Debian.  As such, developers generally do not have accounts on these "
9403 "machines."
9404 msgstr ""
9405
9406 #. type: Content of: <chapter><section><title>
9407 #: resources.dbk:839
9408 msgid "The Incoming system"
9409 msgstr ""
9410
9411 #. type: Content of: <chapter><section><para>
9412 #: resources.dbk:841
9413 msgid ""
9414 "The Incoming system is responsible for collecting updated packages and "
9415 "installing them in the Debian archive.  It consists of a set of directories "
9416 "and scripts that are installed on <literal>&ftp-master-host;</literal>."
9417 msgstr ""
9418
9419 #. type: Content of: <chapter><section><para>
9420 #: resources.dbk:846
9421 msgid ""
9422 "Packages are uploaded by all the maintainers into a directory called "
9423 "<filename>UploadQueue</filename>.  This directory is scanned every few "
9424 "minutes by a daemon called <command>queued</command>, "
9425 "<filename>*.command</filename>-files are executed, and remaining and "
9426 "correctly signed <filename>*.changes</filename>-files are moved together "
9427 "with their corresponding files to the <filename>unchecked</filename> "
9428 "directory.  This directory is not visible for most Developers, as ftp-master "
9429 "is restricted; it is scanned every 15 minutes by the <command>dak "
9430 "process-upload</command> script, which verifies the integrity of the "
9431 "uploaded packages and their cryptographic signatures.  If the package is "
9432 "considered ready to be installed, it is moved into the "
9433 "<filename>done</filename> directory.  If this is the first upload of the "
9434 "package (or it has new binary packages), it is moved to the "
9435 "<filename>new</filename> directory, where it waits for approval by the "
9436 "ftpmasters.  If the package contains files to be installed by hand it is "
9437 "moved to the <filename>byhand</filename> directory, where it waits for "
9438 "manual installation by the ftpmasters.  Otherwise, if any error has been "
9439 "detected, the package is refused and is moved to the "
9440 "<filename>reject</filename> directory."
9441 msgstr ""
9442
9443 #. type: Content of: <chapter><section><para>
9444 #: resources.dbk:865
9445 msgid ""
9446 "Once the package is accepted, the system sends a confirmation mail to the "
9447 "maintainer and closes all the bugs marked as fixed by the upload, and the "
9448 "auto-builders may start recompiling it.  The package is now publicly "
9449 "accessible at <ulink url=\"&url-incoming;\"></ulink> until it is really "
9450 "installed in the Debian archive.  This happens four times a day (and is also "
9451 "called the `dinstall run' for historical reasons); the package is then "
9452 "removed from incoming and installed in the pool along with all the other "
9453 "packages.  Once all the other updates (generating new "
9454 "<filename>Packages</filename> and <filename>Sources</filename> index files "
9455 "for example) have been made, a special script is called to ask all the "
9456 "primary mirrors to update themselves."
9457 msgstr ""
9458
9459 #. type: Content of: <chapter><section><para>
9460 #: resources.dbk:877
9461 msgid ""
9462 "The archive maintenance software will also send the OpenPGP/GnuPG signed "
9463 "<filename>.changes</filename> file that you uploaded to the appropriate "
9464 "mailing lists.  If a package is released with the "
9465 "<literal>Distribution</literal> set to <literal>stable</literal>, the "
9466 "announcement is sent to &email-debian-changes;.  If a package is released "
9467 "with <literal>Distribution</literal> set to <literal>unstable</literal> or "
9468 "<literal>experimental</literal>, the announcement will be posted to "
9469 "&email-debian-devel-changes; instead."
9470 msgstr ""
9471
9472 #. type: Content of: <chapter><section><para>
9473 #: resources.dbk:887
9474 msgid ""
9475 "Though ftp-master is restricted, a copy of the installation is available to "
9476 "all developers on <literal>&ftp-master-mirror;</literal>."
9477 msgstr ""
9478
9479 #. type: Content of: <chapter><section><title>
9480 #: resources.dbk:950
9481 msgid "Package information"
9482 msgstr ""
9483
9484 #. type: Content of: <chapter><section><section><title>
9485 #: resources.dbk:952
9486 msgid "On the web"
9487 msgstr ""
9488
9489 #. type: Content of: <chapter><section><section><para>
9490 #: resources.dbk:954
9491 msgid ""
9492 "Each package has several dedicated web pages.  "
9493 "<literal>http://&packages-host;/<replaceable>package-name</replaceable></literal> "
9494 "displays each version of the package available in the various "
9495 "distributions.  Each version links to a page which provides information, "
9496 "including the package description, the dependencies, and package download "
9497 "links."
9498 msgstr ""
9499
9500 #. type: Content of: <chapter><section><section><para>
9501 #: resources.dbk:961
9502 msgid ""
9503 "The bug tracking system tracks bugs for each package.  You can view the bugs "
9504 "of a given package at the URL "
9505 "<literal>http://&bugs-host;/<replaceable>package-name</replaceable></literal>."
9506 msgstr ""
9507
9508 #. type: Content of: <chapter><section><section><title>
9509 #: resources.dbk:968
9510 msgid "The <command>dak ls</command> utility"
9511 msgstr ""
9512
9513 #. type: Content of: <chapter><section><section><para>
9514 #: resources.dbk:970
9515 msgid ""
9516 "<command>dak ls</command> is part of the dak suite of tools, listing "
9517 "available package versions for all known distributions and architectures.  "
9518 "The <command>dak</command> tool is available on "
9519 "<literal>&ftp-master-host;</literal>, and on the mirror on "
9520 "<literal>&ftp-master-mirror;</literal>.  It uses a single argument "
9521 "corresponding to a package name. An example will explain it better:"
9522 msgstr ""
9523
9524 #. type: Content of: <chapter><section><section><screen>
9525 #: resources.dbk:978
9526 #, no-wrap
9527 msgid ""
9528 "$ dak ls evince\n"
9529 "evince | 0.1.5-2sarge1 |     oldstable | source, alpha, arm, hppa, i386, "
9530 "ia64, m68k, mips, mipsel, powerpc, s390, sparc\n"
9531 "evince |    0.4.0-5 |     etch-m68k | source, m68k\n"
9532 "evince |    0.4.0-5 |        stable | source, alpha, amd64, arm, hppa, i386, "
9533 "ia64, mips, mipsel, powerpc, s390, sparc\n"
9534 "evince |   2.20.2-1 |       testing | source\n"
9535 "evince | 2.20.2-1+b1 |       testing | alpha, amd64, arm, armel, hppa, i386, "
9536 "ia64, mips, mipsel, powerpc, s390, sparc\n"
9537 "evince |   2.22.2-1 |      unstable | source, alpha, amd64, arm, armel, "
9538 "hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc\n"
9539 msgstr ""
9540
9541 #. type: Content of: <chapter><section><section><para>
9542 #: resources.dbk:987
9543 msgid ""
9544 "In this example, you can see that the version in <literal>unstable</literal> "
9545 "differs from the version in <literal>testing</literal> and that there has "
9546 "been a binary-only NMU of the package for all architectures.  Each version "
9547 "of the package has been recompiled on all architectures."
9548 msgstr ""
9549
9550 #. type: Content of: <chapter><section><title>
9551 #: resources.dbk:997
9552 msgid "The Package Tracking System"
9553 msgstr ""
9554
9555 #. type: Content of: <chapter><section><para>
9556 #: resources.dbk:999
9557 msgid ""
9558 "The Package Tracking System (PTS) is an email-based tool to track the "
9559 "activity of a source package.  This really means that you can get the same "
9560 "emails that the package maintainer gets, simply by subscribing to the "
9561 "package in the PTS."
9562 msgstr ""
9563
9564 #. type: Content of: <chapter><section><para>
9565 #: resources.dbk:1004
9566 msgid ""
9567 "Each email sent through the PTS is classified under one of the keywords "
9568 "listed below.  This will let you select the mails that you want to receive."
9569 msgstr ""
9570
9571 #. type: Content of: <chapter><section><para>
9572 #: resources.dbk:1008
9573 msgid "By default you will get:"
9574 msgstr ""
9575
9576 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9577 #: resources.dbk:1012
9578 msgid "<literal>bts</literal>"
9579 msgstr ""
9580
9581 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9582 #: resources.dbk:1015
9583 msgid "All the bug reports and following discussions."
9584 msgstr ""
9585
9586 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9587 #: resources.dbk:1020
9588 msgid "<literal>bts-control</literal>"
9589 msgstr ""
9590
9591 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9592 #: resources.dbk:1023
9593 msgid ""
9594 "The email notifications from <email>control@&bugs-host;</email> about bug "
9595 "report status changes."
9596 msgstr ""
9597
9598 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9599 #: resources.dbk:1029
9600 msgid "<literal>upload-source</literal>"
9601 msgstr ""
9602
9603 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9604 #: resources.dbk:1032
9605 msgid ""
9606 "The email notification from <command>dak</command> when an uploaded source "
9607 "package is accepted."
9608 msgstr ""
9609
9610 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9611 #: resources.dbk:1038
9612 msgid "<literal>katie-other</literal>"
9613 msgstr ""
9614
9615 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9616 #: resources.dbk:1041
9617 msgid ""
9618 "Other warning and error emails from <command>dak</command> (such as an "
9619 "override disparity for the section and/or the priority field)."
9620 msgstr ""
9621
9622 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9623 #: resources.dbk:1047
9624 msgid "<literal>buildd</literal>"
9625 msgstr ""
9626
9627 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9628 #: resources.dbk:1050
9629 msgid ""
9630 "Build failures notifications sent by the network of build daemons, they "
9631 "contain a pointer to the build logs for analysis."
9632 msgstr ""
9633
9634 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9635 #: resources.dbk:1056
9636 msgid "<literal>default</literal>"
9637 msgstr ""
9638
9639 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9640 #: resources.dbk:1059
9641 msgid ""
9642 "Any non-automatic email sent to the PTS by people who wanted to contact the "
9643 "subscribers of the package.  This can be done by sending mail to "
9644 "<literal><replaceable>sourcepackage</replaceable>@&pts-host;</literal>.  In "
9645 "order to prevent spam, all messages sent to these addresses must contain the "
9646 "<literal>X-PTS-Approved</literal> header with a non-empty value."
9647 msgstr ""
9648
9649 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9650 #: resources.dbk:1068
9651 msgid "<literal>contact</literal>"
9652 msgstr ""
9653
9654 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9655 #: resources.dbk:1071
9656 msgid ""
9657 "Mails sent to the maintainer through the *@packages.debian.org email "
9658 "aliases."
9659 msgstr ""
9660
9661 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9662 #: resources.dbk:1077
9663 msgid "<literal>summary</literal>"
9664 msgstr ""
9665
9666 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9667 #: resources.dbk:1080
9668 msgid ""
9669 "Regular summary emails about the package's status, including progression "
9670 "into <literal>testing</literal>, <ulink url=\"&url-dehs;\">DEHS</ulink> "
9671 "notifications of new upstream versions, and a notification if the package is "
9672 "removed or orphaned."
9673 msgstr ""
9674
9675 #. type: Content of: <chapter><section><para>
9676 #: resources.dbk:1090
9677 msgid "You can also decide to receive additional information:"
9678 msgstr ""
9679
9680 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9681 #: resources.dbk:1094
9682 msgid "<literal>upload-binary</literal>"
9683 msgstr ""
9684
9685 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9686 #: resources.dbk:1097
9687 msgid ""
9688 "The email notification from <command>katie</command> when an uploaded binary "
9689 "package is accepted.  In other words, whenever a build daemon or a porter "
9690 "uploads your package for another architecture, you can get an email to track "
9691 "how your package gets recompiled for all architectures."
9692 msgstr ""
9693
9694 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9695 #: resources.dbk:1105
9696 msgid "<literal>cvs</literal>"
9697 msgstr ""
9698
9699 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9700 #: resources.dbk:1108
9701 msgid ""
9702 "VCS commit notifications, if the package has a VCS repository and the "
9703 "maintainer has set up forwarding of commit notifications to the PTS. The "
9704 "\"cvs\" name is historic, in most cases commit notifications will come from "
9705 "some other VCS like subversion or git."
9706 msgstr ""
9707
9708 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9709 #: resources.dbk:1116
9710 msgid "<literal>ddtp</literal>"
9711 msgstr ""
9712
9713 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9714 #: resources.dbk:1119
9715 msgid ""
9716 "Translations of descriptions or debconf templates submitted to the Debian "
9717 "Description Translation Project."
9718 msgstr ""
9719
9720 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9721 #: resources.dbk:1125
9722 msgid "<literal>derivatives</literal>"
9723 msgstr ""
9724
9725 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9726 #: resources.dbk:1128
9727 msgid ""
9728 "Information about changes made to the package in derivative distributions "
9729 "(for example Ubuntu)."
9730 msgstr ""
9731
9732 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9733 #: resources.dbk:1134
9734 msgid "<literal>derivatives-bugs</literal>"
9735 msgstr ""
9736
9737 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9738 #: resources.dbk:1137
9739 msgid ""
9740 "Bugs reports and comments from derivative distributions (for example "
9741 "Ubuntu)."
9742 msgstr ""
9743
9744 #. type: Content of: <chapter><section><section><title>
9745 #: resources.dbk:1143
9746 msgid "The PTS email interface"
9747 msgstr ""
9748
9749 #. type: Content of: <chapter><section><section><para>
9750 #: resources.dbk:1145
9751 msgid ""
9752 "You can control your subscription(s) to the PTS by sending various commands "
9753 "to <email>pts@qa.debian.org</email>."
9754 msgstr ""
9755
9756 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9757 #: resources.dbk:1150
9758 msgid "<literal>subscribe &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9759 msgstr ""
9760
9761 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9762 #: resources.dbk:1153
9763 msgid ""
9764 "Subscribes <replaceable>email</replaceable> to communications related to the "
9765 "source package <replaceable>sourcepackage</replaceable>.  Sender address is "
9766 "used if the second argument is not present.  If "
9767 "<replaceable>sourcepackage</replaceable> is not a valid source package, "
9768 "you'll get a warning.  However if it's a valid binary package, the PTS will "
9769 "subscribe you to the corresponding source package."
9770 msgstr ""
9771
9772 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9773 #: resources.dbk:1163
9774 msgid "<literal>unsubscribe &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9775 msgstr ""
9776
9777 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9778 #: resources.dbk:1166
9779 msgid ""
9780 "Removes a previous subscription to the source package "
9781 "<replaceable>sourcepackage</replaceable> using the specified email address "
9782 "or the sender address if the second argument is left out."
9783 msgstr ""
9784
9785 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9786 #: resources.dbk:1173
9787 msgid "<literal>unsubscribeall [&lt;email&gt;]</literal>"
9788 msgstr ""
9789
9790 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9791 #: resources.dbk:1176
9792 msgid ""
9793 "Removes all subscriptions of the specified email address or the sender "
9794 "address if the second argument is left out."
9795 msgstr ""
9796
9797 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9798 #: resources.dbk:1182
9799 msgid "<literal>which [&lt;email&gt;]</literal>"
9800 msgstr ""
9801
9802 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9803 #: resources.dbk:1185
9804 msgid ""
9805 "Lists all subscriptions for the sender or the email address optionally "
9806 "specified."
9807 msgstr ""
9808
9809 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9810 #: resources.dbk:1191
9811 msgid "<literal>keyword [&lt;email&gt;]</literal>"
9812 msgstr ""
9813
9814 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9815 #: resources.dbk:1194
9816 msgid ""
9817 "Tells you the keywords that you are accepting.  For an explanation of "
9818 "keywords, <link linkend=\"pkg-tracking-system\">see above</link>.  Here's a "
9819 "quick summary:"
9820 msgstr ""
9821
9822 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9823 #: resources.dbk:1201
9824 msgid "<literal>bts</literal>: mails coming from the Debian Bug Tracking System"
9825 msgstr ""
9826
9827 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9828 #: resources.dbk:1206
9829 msgid "<literal>bts-control</literal>: reply to mails sent to &email-bts-control;"
9830 msgstr ""
9831
9832 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9833 #: resources.dbk:1212
9834 msgid ""
9835 "<literal>summary</literal>: automatic summary mails about the state of a "
9836 "package"
9837 msgstr ""
9838
9839 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9840 #: resources.dbk:1218
9841 msgid ""
9842 "<literal>contact</literal>: mails sent to the maintainer through the "
9843 "*@packages.debian.org aliases"
9844 msgstr ""
9845
9846 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9847 #: resources.dbk:1224
9848 msgid "<literal>cvs</literal>: notification of VCS commits"
9849 msgstr ""
9850
9851 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9852 #: resources.dbk:1229
9853 msgid "<literal>ddtp</literal>: translations of descriptions and debconf templates"
9854 msgstr ""
9855
9856 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9857 #: resources.dbk:1234
9858 msgid ""
9859 "<literal>derivatives</literal>: changes made on the package by derivative "
9860 "distributions"
9861 msgstr ""
9862
9863 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9864 #: resources.dbk:1240
9865 msgid ""
9866 "<literal>derivatives-bugs</literal>: bugs reports and comments from "
9867 "derivative distributions"
9868 msgstr ""
9869
9870 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9871 #: resources.dbk:1246
9872 msgid ""
9873 "<literal>upload-source</literal>: announce of a new source upload that has "
9874 "been accepted"
9875 msgstr ""
9876
9877 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9878 #: resources.dbk:1252
9879 msgid ""
9880 "<literal>upload-binary</literal>: announce of a new binary-only upload "
9881 "(porting)"
9882 msgstr ""
9883
9884 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9885 #: resources.dbk:1258
9886 msgid ""
9887 "<literal>katie-other</literal>: other mails from ftpmasters (override "
9888 "disparity, etc.)"
9889 msgstr ""
9890
9891 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9892 #: resources.dbk:1264
9893 msgid "<literal>buildd</literal>: build failures notifications from build daemons"
9894 msgstr ""
9895
9896 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9897 #: resources.dbk:1269
9898 msgid ""
9899 "<literal>default</literal>: all the other mails (those which aren't "
9900 "automatic)"
9901 msgstr ""
9902
9903 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9904 #: resources.dbk:1276
9905 msgid "<literal>keyword &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9906 msgstr ""
9907
9908 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9909 #: resources.dbk:1279
9910 msgid ""
9911 "Same as the previous item but for the given source package, since you may "
9912 "select a different set of keywords for each source package."
9913 msgstr ""
9914
9915 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9916 #: resources.dbk:1285
9917 msgid "<literal>keyword [&lt;email&gt;] {+|-|=} &lt;list of keywords&gt;</literal>"
9918 msgstr ""
9919
9920 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9921 #: resources.dbk:1288
9922 msgid ""
9923 "Accept (+) or refuse (-) mails classified under the given keyword(s).  "
9924 "Define the list (=) of accepted keywords.  This changes the default set of "
9925 "keywords accepted by a user."
9926 msgstr ""
9927
9928 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9929 #: resources.dbk:1295
9930 msgid ""
9931 "<literal>keywordall [&lt;email&gt;] {+|-|=} &lt;list of "
9932 "keywords&gt;</literal>"
9933 msgstr ""
9934
9935 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9936 #: resources.dbk:1298
9937 msgid ""
9938 "Accept (+) or refuse (-) mails classified under the given keyword(s).  "
9939 "Define the list (=) of accepted keywords.  This changes the set of accepted "
9940 "keywords of all the currently active subscriptions of a user."
9941 msgstr ""
9942
9943 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9944 #: resources.dbk:1305
9945 msgid ""
9946 "<literal>keyword &lt;sourcepackage&gt; [&lt;email&gt;] {+|-|=} &lt;list of "
9947 "keywords&gt;</literal>"
9948 msgstr ""
9949
9950 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9951 #: resources.dbk:1308
9952 msgid ""
9953 "Same as previous item but overrides the keywords list for the indicated "
9954 "source package."
9955 msgstr ""
9956
9957 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9958 #: resources.dbk:1314
9959 msgid "<literal>quit | thanks | --</literal>"
9960 msgstr ""
9961
9962 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9963 #: resources.dbk:1317
9964 msgid "Stops processing commands.  All following lines are ignored by the bot."
9965 msgstr ""
9966
9967 #. type: Content of: <chapter><section><section><para>
9968 #: resources.dbk:1323
9969 msgid ""
9970 "The <command>pts-subscribe</command> command-line utility (from the "
9971 "<systemitem role=\"package\">devscripts</systemitem> package) can be handy "
9972 "to temporarily subscribe to some packages, for example after having made an "
9973 "non-maintainer upload."
9974 msgstr ""
9975
9976 #. type: Content of: <chapter><section><section><title>
9977 #: resources.dbk:1331
9978 msgid "Filtering PTS mails"
9979 msgstr ""
9980
9981 #. type: Content of: <chapter><section><section><para>
9982 #: resources.dbk:1333
9983 msgid ""
9984 "Once you are subscribed to a package, you will get the mails sent to "
9985 "<literal><replaceable>sourcepackage</replaceable>@&pts-host;</literal>.  "
9986 "Those mails have special headers appended to let you filter them in a "
9987 "special mailbox (e.g.  with <command>procmail</command>).  The added headers "
9988 "are <literal>X-Loop</literal>, <literal>X-PTS-Package</literal>, "
9989 "<literal>X-PTS-Keyword</literal> and <literal>X-Unsubscribe</literal>."
9990 msgstr ""
9991
9992 #. type: Content of: <chapter><section><section><para>
9993 #: resources.dbk:1341
9994 msgid ""
9995 "Here is an example of added headers for a source upload notification on the "
9996 "<systemitem role=\"package\">dpkg</systemitem> package:"
9997 msgstr ""
9998
9999 #. type: Content of: <chapter><section><section><screen>
10000 #: resources.dbk:1345
10001 #, no-wrap
10002 msgid ""
10003 "X-Loop: dpkg@&pts-host;\n"
10004 "X-PTS-Package: dpkg\n"
10005 "X-PTS-Keyword: upload-source\n"
10006 "List-Unsubscribe: &lt;mailto:pts@qa.debian.org?body=unsubscribe+dpkg&gt;\n"
10007 msgstr ""
10008
10009 #. type: Content of: <chapter><section><section><title>
10010 #: resources.dbk:1353
10011 msgid "Forwarding VCS commits in the PTS"
10012 msgstr ""
10013
10014 #. type: Content of: <chapter><section><section><para>
10015 #: resources.dbk:1355
10016 msgid ""
10017 "If you use a publicly accessible VCS repository for maintaining your Debian "
10018 "package, you may want to forward the commit notification to the PTS so that "
10019 "the subscribers (and possible co-maintainers) can closely follow the "
10020 "package's evolution."
10021 msgstr ""
10022
10023 #. type: Content of: <chapter><section><section><para>
10024 #: resources.dbk:1361
10025 msgid ""
10026 "Once you set up the VCS repository to generate commit notifications, you "
10027 "just have to make sure it sends a copy of those mails to "
10028 "<literal><replaceable>sourcepackage</replaceable>_cvs@&pts-host;</literal>.  "
10029 "Only the people who accept the <literal>cvs</literal> keyword will receive "
10030 "these notifications. Note that the mail needs to be sent from a "
10031 "<literal>debian.org</literal> machine, otherwise you'll have to add the "
10032 "<literal>X-PTS-Approved: 1</literal> header."
10033 msgstr ""
10034
10035 #. type: Content of: <chapter><section><section><para>
10036 #: resources.dbk:1370
10037 msgid ""
10038 "For Subversion repositories, the usage of svnmailer is recommended.  See "
10039 "<ulink url=\"&url-alioth-pkg;\" /> for an example on how to do it."
10040 msgstr ""
10041
10042 #. type: Content of: <chapter><section><section><title>
10043 #: resources.dbk:1376
10044 msgid "The PTS web interface"
10045 msgstr ""
10046
10047 #. type: Content of: <chapter><section><section><para>
10048 #: resources.dbk:1378
10049 msgid ""
10050 "The PTS has a web interface at <ulink url=\"http://&pts-host;/\"></ulink> "
10051 "that puts together a lot of information about each source package.  It "
10052 "features many useful links (BTS, QA stats, contact information, DDTP "
10053 "translation status, buildd logs) and gathers much more information from "
10054 "various places (30 latest changelog entries, testing status, etc.).  It's a "
10055 "very useful tool if you want to know what's going on with a specific source "
10056 "package.  Furthermore there's a form that allows easy subscription to the "
10057 "PTS via email."
10058 msgstr ""
10059
10060 #. type: Content of: <chapter><section><section><para>
10061 #: resources.dbk:1388
10062 msgid ""
10063 "You can jump directly to the web page concerning a specific source package "
10064 "with a URL like "
10065 "<literal>http://&pts-host;/<replaceable>sourcepackage</replaceable></literal>."
10066 msgstr ""
10067
10068 #. type: Content of: <chapter><section><section><para>
10069 #: resources.dbk:1393
10070 msgid ""
10071 "This web interface has been designed like a portal for the development of "
10072 "packages: you can add custom content on your packages' pages.  You can add "
10073 "static information (news items that are meant to stay available "
10074 "indefinitely)  and news items in the latest news section."
10075 msgstr ""
10076
10077 #. type: Content of: <chapter><section><section><para>
10078 #: resources.dbk:1399
10079 msgid "Static news items can be used to indicate:"
10080 msgstr ""
10081
10082 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10083 #: resources.dbk:1404
10084 msgid ""
10085 "the availability of a project hosted on <link "
10086 "linkend=\"alioth\">Alioth</link> for co-maintaining the package"
10087 msgstr ""
10088
10089 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10090 #: resources.dbk:1410
10091 msgid "a link to the upstream web site"
10092 msgstr ""
10093
10094 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10095 #: resources.dbk:1415
10096 msgid "a link to the upstream bug tracker"
10097 msgstr ""
10098
10099 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10100 #: resources.dbk:1420
10101 msgid "the existence of an IRC channel dedicated to the software"
10102 msgstr ""
10103
10104 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10105 #: resources.dbk:1425
10106 msgid ""
10107 "any other available resource that could be useful in the maintenance of the "
10108 "package"
10109 msgstr ""
10110
10111 #. type: Content of: <chapter><section><section><para>
10112 #: resources.dbk:1431
10113 msgid "Usual news items may be used to announce that:"
10114 msgstr ""
10115
10116 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10117 #: resources.dbk:1436
10118 msgid "beta packages are available for testing"
10119 msgstr ""
10120
10121 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10122 #: resources.dbk:1441
10123 msgid "final packages are expected for next week"
10124 msgstr ""
10125
10126 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10127 #: resources.dbk:1446
10128 msgid "the packaging is about to be redone from scratch"
10129 msgstr ""
10130
10131 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10132 #: resources.dbk:1451
10133 msgid "backports are available"
10134 msgstr ""
10135
10136 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10137 #: resources.dbk:1456
10138 msgid "the maintainer is on vacation (if they wish to publish this information)"
10139 msgstr ""
10140
10141 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10142 #: resources.dbk:1461
10143 msgid "a NMU is being worked on"
10144 msgstr ""
10145
10146 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10147 #: resources.dbk:1466
10148 msgid "something important will affect the package"
10149 msgstr ""
10150
10151 #. type: Content of: <chapter><section><section><para>
10152 #: resources.dbk:1471
10153 msgid ""
10154 "Both kinds of news are generated in a similar manner: you just have to send "
10155 "an email either to <email>pts-static-news@qa.debian.org</email> or to "
10156 "<email>pts-news@qa.debian.org</email>.  The mail should indicate which "
10157 "package is concerned by having the name of the source package in a "
10158 "<literal>X-PTS-Package</literal> mail header or in a "
10159 "<literal>Package</literal> pseudo-header (like the BTS reports).  If a URL "
10160 "is available in the <literal>X-PTS-Url</literal> mail header or in the "
10161 "<literal>Url</literal> pseudo-header, then the result is a link to that URL "
10162 "instead of a complete news item."
10163 msgstr ""
10164
10165 #. type: Content of: <chapter><section><section><para>
10166 #: resources.dbk:1482
10167 msgid ""
10168 "Here are a few examples of valid mails used to generate news items in the "
10169 "PTS.  The first one adds a link to the viewsvn interface of debian-cd in the "
10170 "Static information section:"
10171 msgstr ""
10172
10173 #. type: Content of: <chapter><section><section><screen>
10174 #: resources.dbk:1487
10175 #, no-wrap
10176 msgid ""
10177 "From: Raphael Hertzog &lt;hertzog@debian.org&gt;\n"
10178 "To: pts-static-news@qa.debian.org\n"
10179 "Subject: Browse debian-cd SVN repository\n"
10180 "\n"
10181 "Package: debian-cd\n"
10182 "Url: http://svn.debian.org/viewsvn/debian-cd/trunk/\n"
10183 msgstr ""
10184
10185 #. type: Content of: <chapter><section><section><para>
10186 #: resources.dbk:1495
10187 msgid ""
10188 "The second one is an announcement sent to a mailing list which is also sent "
10189 "to the PTS so that it is published on the PTS web page of the package.  Note "
10190 "the use of the BCC field to avoid answers sent to the PTS by mistake."
10191 msgstr ""
10192
10193 #. type: Content of: <chapter><section><section><screen>
10194 #: resources.dbk:1500
10195 #, no-wrap
10196 msgid ""
10197 "From: Raphael Hertzog &lt;hertzog@debian.org&gt;\n"
10198 "To: debian-gtk-gnome@&lists-host;\n"
10199 "Bcc: pts-news@qa.debian.org\n"
10200 "Subject: Galeon 2.0 backported for woody\n"
10201 "X-PTS-Package: galeon\n"
10202 "\n"
10203 "Hello gnomers!\n"
10204 "\n"
10205 "I'm glad to announce that galeon has been backported for woody. You'll "
10206 "find\n"
10207 "everything here:\n"
10208 "...\n"
10209 msgstr ""
10210
10211 #. type: Content of: <chapter><section><section><para>
10212 #: resources.dbk:1513
10213 msgid ""
10214 "Think twice before adding a news item to the PTS because you won't be able "
10215 "to remove it later and you won't be able to edit it either.  The only thing "
10216 "that you can do is send a second news item that will deprecate the "
10217 "information contained in the previous one."
10218 msgstr ""
10219
10220 #. type: Content of: <chapter><section><title>
10221 #: resources.dbk:1523
10222 msgid "Developer's packages overview"
10223 msgstr ""
10224
10225 #. type: Content of: <chapter><section><para>
10226 #: resources.dbk:1525
10227 msgid ""
10228 "A QA (quality assurance) web portal is available at <ulink "
10229 "url=\"&url-ddpo;\"></ulink> which displays a table listing all the packages "
10230 "of a single developer (including those where the party is listed as a "
10231 "co-maintainer).  The table gives a good summary about the developer's "
10232 "packages: number of bugs by severity, list of available versions in each "
10233 "distribution, testing status and much more including links to any other "
10234 "useful information."
10235 msgstr ""
10236
10237 #. type: Content of: <chapter><section><para>
10238 #: resources.dbk:1534
10239 msgid ""
10240 "It is a good idea to look up your own data regularly so that you don't "
10241 "forget any open bugs, and so that you don't forget which packages are your "
10242 "responsibility."
10243 msgstr ""
10244
10245 #. type: Content of: <chapter><section><title>
10246 #: resources.dbk:1541
10247 msgid "Debian's FusionForge installation: Alioth"
10248 msgstr ""
10249
10250 #. type: Content of: <chapter><section><para>
10251 #: resources.dbk:1543
10252 msgid ""
10253 "Alioth is a Debian service based on a slightly modified version of the "
10254 "FusionForge software (which evolved from SourceForge and GForge). This "
10255 "software offers developers access to easy-to-use tools such as bug trackers, "
10256 "patch manager, project/task managers, file hosting services, mailing lists, "
10257 "VCS repositories etc.  All these tools are managed via a web interface."
10258 msgstr ""
10259
10260 #. type: Content of: <chapter><section><para>
10261 #: resources.dbk:1550
10262 msgid ""
10263 "It is intended to provide facilities to free software projects backed or led "
10264 "by Debian, facilitate contributions from external developers to projects "
10265 "started by Debian, and help projects whose goals are the promotion of Debian "
10266 "or its derivatives. It's heavily used by many Debian teams and provides "
10267 "hosting for all sorts of VCS repositories."
10268 msgstr ""
10269
10270 #. type: Content of: <chapter><section><para>
10271 #: resources.dbk:1557
10272 msgid ""
10273 "All Debian developers automatically have an account on Alioth.  They can "
10274 "activate it by using the recover password facility.  External developers can "
10275 "request guest accounts on Alioth."
10276 msgstr ""
10277
10278 #. type: Content of: <chapter><section><para>
10279 #: resources.dbk:1562
10280 msgid "For more information please visit the following links:"
10281 msgstr ""
10282
10283 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10284 #: resources.dbk:1565
10285 msgid "<ulink url=\"&url-alioth-wiki;\" />"
10286 msgstr ""
10287
10288 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10289 #: resources.dbk:1566
10290 msgid "<ulink url=\"&url-alioth-faq;\" />"
10291 msgstr ""
10292
10293 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10294 #: resources.dbk:1567
10295 msgid "<ulink url=\"&url-alioth-pkg;\" />"
10296 msgstr ""
10297
10298 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10299 #: resources.dbk:1568
10300 msgid "<ulink url=\"&url-alioth;\" />"
10301 msgstr ""
10302
10303 #. type: Content of: <chapter><section><title>
10304 #: resources.dbk:1573
10305 msgid "Goodies for Developers"
10306 msgstr ""
10307
10308 #. type: Content of: <chapter><section><section><title>
10309 #: resources.dbk:1575
10310 msgid "LWN Subscriptions"
10311 msgstr ""
10312
10313 #. type: Content of: <chapter><section><section><para>
10314 #: resources.dbk:1577
10315 msgid ""
10316 "Since October of 2002, HP has sponsored a subscription to LWN for all "
10317 "interested Debian developers.  Details on how to get access to this benefit "
10318 "are in <ulink "
10319 "url=\"http://&lists-host;/debian-devel-announce/2002/10/msg00018.html\"></ulink>."
10320 msgstr ""
10321
10322 #. type: Content of: <chapter><section><section><title>
10323 #: resources.dbk:1584
10324 msgid "Gandi.net Hosting Discount"
10325 msgstr ""
10326
10327 #. type: Content of: <chapter><section><section><para>
10328 #: resources.dbk:1586
10329 msgid ""
10330 "As of November 2008, Gandi.net offers a discount rate on their VPS hosting "
10331 "for Debian Developers.  See <ulink "
10332 "url=\"http://&lists-host;/debian-devel-announce/2008/11/msg00004.html\"></ulink>."
10333 msgstr ""
10334
10335 #. type: Content of: <chapter><title>
10336 #: scope.dbk:7
10337 msgid "Scope of This Document"
10338 msgstr ""
10339
10340 #. type: Content of: <chapter><para>
10341 #: scope.dbk:9
10342 msgid ""
10343 "The purpose of this document is to provide an overview of the recommended "
10344 "procedures and the available resources for Debian developers."
10345 msgstr ""
10346
10347 #. type: Content of: <chapter><para>
10348 #: scope.dbk:14
10349 msgid ""
10350 "The procedures discussed within include how to become a maintainer (<xref "
10351 "linkend=\"new-maintainer\"/>); how to create new packages (<xref "
10352 "linkend=\"newpackage\"/>) and how to upload packages (<xref "
10353 "linkend=\"upload\"/>); how to handle bug reports (<xref "
10354 "linkend=\"bug-handling\"/>); how to move, remove, or orphan packages (<xref "
10355 "linkend=\"archive-manip\"/>); how to port packages (<xref "
10356 "linkend=\"porting\"/>); and how and when to do interim releases of other "
10357 "maintainers' packages (<xref linkend=\"nmu\"/>)."
10358 msgstr ""
10359
10360 #. type: Content of: <chapter><para>
10361 #: scope.dbk:23
10362 msgid ""
10363 "The resources discussed in this reference include the mailing lists (<xref "
10364 "linkend=\"mailing-lists\"/>) and servers (<xref "
10365 "linkend=\"server-machines\"/>); a discussion of the structure of the Debian "
10366 "archive (<xref linkend=\"archive\"/>); explanation of the different servers "
10367 "which accept package uploads (<xref linkend=\"upload-ftp-master\"/>); and a "
10368 "discussion of resources which can help maintainers with the quality of their "
10369 "packages (<xref linkend=\"tools\"/>)."
10370 msgstr ""
10371
10372 #. type: Content of: <chapter><para>
10373 #: scope.dbk:31
10374 msgid ""
10375 "It should be clear that this reference does not discuss the technical "
10376 "details of Debian packages nor how to generate them.  Nor does this "
10377 "reference detail the standards to which Debian software must comply.  All of "
10378 "such information can be found in the <ulink "
10379 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>."
10380 msgstr ""
10381
10382 #. type: Content of: <chapter><para>
10383 #: scope.dbk:38
10384 msgid ""
10385 "Furthermore, this document is <emphasis>not an expression of formal "
10386 "policy</emphasis>.  It contains documentation for the Debian system and "
10387 "generally agreed-upon best practices.  Thus, it is not what is called a "
10388 "``normative'' document."
10389 msgstr ""
10390
10391 #. type: Content of: <appendix><title>
10392 #: tools.dbk:7
10393 msgid "Overview of Debian Maintainer Tools"
10394 msgstr ""
10395
10396 #. type: Content of: <appendix><para>
10397 #: tools.dbk:9
10398 msgid ""
10399 "This section contains a rough overview of the tools available to "
10400 "maintainers.  The following is by no means complete or definitive, but just "
10401 "a guide to some of the more popular tools."
10402 msgstr ""
10403
10404 #. type: Content of: <appendix><para>
10405 #: tools.dbk:14
10406 msgid ""
10407 "Debian maintainer tools are meant to aid developers and free their time for "
10408 "critical tasks.  As Larry Wall says, there's more than one way to do it."
10409 msgstr ""
10410
10411 #. type: Content of: <appendix><para>
10412 #: tools.dbk:18
10413 msgid ""
10414 "Some people prefer to use high-level package maintenance tools and some do "
10415 "not.  Debian is officially agnostic on this issue; any tool which gets the "
10416 "job done is fine.  Therefore, this section is not meant to stipulate to "
10417 "anyone which tools they should use or how they should go about their duties "
10418 "of maintainership.  Nor is it meant to endorse any particular tool to the "
10419 "exclusion of a competing tool."
10420 msgstr ""
10421
10422 #. type: Content of: <appendix><para>
10423 #: tools.dbk:26
10424 msgid ""
10425 "Most of the descriptions of these packages come from the actual package "
10426 "descriptions themselves.  Further information can be found in the package "
10427 "documentation itself.  You can also see more info with the command "
10428 "<command>apt-cache show <replaceable>package-name</replaceable></command>."
10429 msgstr ""
10430
10431 #. type: Content of: <appendix><section><title>
10432 #: tools.dbk:32
10433 msgid "Core tools"
10434 msgstr ""
10435
10436 #. type: Content of: <appendix><section><para>
10437 #: tools.dbk:34
10438 msgid "The following tools are pretty much required for any maintainer."
10439 msgstr ""
10440
10441 #. type: Content of: <appendix><section><section><title>
10442 #: tools.dbk:37
10443 msgid "<systemitem role=\"package\">dpkg-dev</systemitem>"
10444 msgstr ""
10445
10446 #. type: Content of: <appendix><section><section><para>
10447 #: tools.dbk:39
10448 msgid ""
10449 "<systemitem role=\"package\">dpkg-dev</systemitem> contains the tools "
10450 "(including <command>dpkg-source</command>) required to unpack, build, and "
10451 "upload Debian source packages.  These utilities contain the fundamental, "
10452 "low-level functionality required to create and manipulate packages; as such, "
10453 "they are essential for any Debian maintainer."
10454 msgstr ""
10455
10456 #. type: Content of: <appendix><section><section><title>
10457 #: tools.dbk:48
10458 msgid "<systemitem role=\"package\">debconf</systemitem>"
10459 msgstr ""
10460
10461 #. type: Content of: <appendix><section><section><para>
10462 #: tools.dbk:50
10463 msgid ""
10464 "<systemitem role=\"package\">debconf</systemitem> provides a consistent "
10465 "interface to configuring packages interactively.  It is user interface "
10466 "independent, allowing end-users to configure packages with a text-only "
10467 "interface, an HTML interface, or a dialog interface.  New interfaces can be "
10468 "added as modules."
10469 msgstr ""
10470
10471 #. type: Content of: <appendix><section><section><para>
10472 #: tools.dbk:56
10473 msgid ""
10474 "You can find documentation for this package in the <systemitem "
10475 "role=\"package\">debconf-doc</systemitem> package."
10476 msgstr ""
10477
10478 #. type: Content of: <appendix><section><section><para>
10479 #: tools.dbk:60
10480 msgid ""
10481 "Many feel that this system should be used for all packages which require "
10482 "interactive configuration; see <xref linkend=\"bpp-config-mgmt\"/>.  "
10483 "<systemitem role=\"package\">debconf</systemitem> is not currently required "
10484 "by Debian Policy, but that may change in the future."
10485 msgstr ""
10486
10487 #. type: Content of: <appendix><section><section><title>
10488 #: tools.dbk:68
10489 msgid "<systemitem role=\"package\">fakeroot</systemitem>"
10490 msgstr ""
10491
10492 #. type: Content of: <appendix><section><section><para>
10493 #: tools.dbk:70
10494 msgid ""
10495 "<systemitem role=\"package\">fakeroot</systemitem> simulates root "
10496 "privileges.  This enables you to build packages without being root (packages "
10497 "usually want to install files with root ownership).  If you have <systemitem "
10498 "role=\"package\">fakeroot</systemitem> installed, you can build packages as "
10499 "a regular user: <literal>dpkg-buildpackage -rfakeroot</literal>."
10500 msgstr ""
10501
10502 #. type: Content of: <appendix><section><title>
10503 #: tools.dbk:81
10504 msgid "Package lint tools"
10505 msgstr ""
10506
10507 #. type: Content of: <appendix><section><para>
10508 #: tools.dbk:83
10509 msgid ""
10510 "According to the Free On-line Dictionary of Computing (FOLDOC), `lint' is a "
10511 "Unix C language processor which carries out more thorough checks on the code "
10512 "than is usual with C compilers.  Package lint tools help package maintainers "
10513 "by automatically finding common problems and policy violations in their "
10514 "packages."
10515 msgstr ""
10516
10517 #. type: Content of: <appendix><section><section><title>
10518 #: tools.dbk:89
10519 msgid "<systemitem role=\"package\">lintian</systemitem>"
10520 msgstr ""
10521
10522 #. type: Content of: <appendix><section><section><para>
10523 #: tools.dbk:91
10524 msgid ""
10525 "<systemitem role=\"package\">lintian</systemitem> dissects Debian packages "
10526 "and emits information about bugs and policy violations.  It contains "
10527 "automated checks for many aspects of Debian policy as well as some checks "
10528 "for common errors."
10529 msgstr ""
10530
10531 #. type: Content of: <appendix><section><section><para>
10532 #: tools.dbk:97
10533 msgid ""
10534 "You should periodically get the newest <systemitem "
10535 "role=\"package\">lintian</systemitem> from <literal>unstable</literal> and "
10536 "check over all your packages.  Notice that the <literal>-i</literal> option "
10537 "provides detailed explanations of what each error or warning means, what its "
10538 "basis in Policy is, and commonly how you can fix the problem."
10539 msgstr ""
10540
10541 #. type: Content of: <appendix><section><section><para>
10542 #: tools.dbk:104
10543 msgid ""
10544 "Refer to <xref linkend=\"sanitycheck\"/> for more information on how and "
10545 "when to use Lintian."
10546 msgstr ""
10547
10548 #. type: Content of: <appendix><section><section><para>
10549 #: tools.dbk:108
10550 msgid ""
10551 "You can also see a summary of all problems reported by Lintian on your "
10552 "packages at <ulink url=\"&url-lintian;\"></ulink>.  These reports contain "
10553 "the latest <command>lintian</command> output for the whole development "
10554 "distribution (<literal>unstable</literal>)."
10555 msgstr ""
10556
10557 #. type: Content of: <appendix><section><section><title>
10558 #: tools.dbk:116
10559 msgid "<command>debdiff</command>"
10560 msgstr ""
10561
10562 #. type: Content of: <appendix><section><section><para>
10563 #: tools.dbk:118
10564 msgid ""
10565 "<command>debdiff</command> (from the <systemitem "
10566 "role=\"package\">devscripts</systemitem> package, <xref "
10567 "linkend=\"devscripts\"/>)  compares file lists and control files of two "
10568 "packages.  It is a simple regression test, as it will help you notice if the "
10569 "number of binary packages has changed since the last upload, or if something "
10570 "has changed in the control file.  Of course, some of the changes it reports "
10571 "will be all right, but it can help you prevent various accidents."
10572 msgstr ""
10573
10574 #. type: Content of: <appendix><section><section><para>
10575 #: tools.dbk:127
10576 msgid "You can run it over a pair of binary packages:"
10577 msgstr ""
10578
10579 #. type: Content of: <appendix><section><section><screen>
10580 #: tools.dbk:130
10581 #, no-wrap
10582 msgid "debdiff package_1-1_arch.deb package_2-1_arch.deb\n"
10583 msgstr ""
10584
10585 #. type: Content of: <appendix><section><section><para>
10586 #: tools.dbk:133
10587 msgid "Or even a pair of changes files:"
10588 msgstr ""
10589
10590 #. type: Content of: <appendix><section><section><screen>
10591 #: tools.dbk:136
10592 #, no-wrap
10593 msgid "debdiff package_1-1_arch.changes package_2-1_arch.changes\n"
10594 msgstr ""
10595
10596 #. type: Content of: <appendix><section><section><para>
10597 #: tools.dbk:139
10598 msgid ""
10599 "For more information please see <citerefentry> "
10600 "<refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> "
10601 "</citerefentry>."
10602 msgstr ""
10603
10604 #. type: Content of: <appendix><section><title>
10605 #: tools.dbk:148
10606 msgid "Helpers for <filename>debian/rules</filename>"
10607 msgstr ""
10608
10609 #. type: Content of: <appendix><section><para>
10610 #: tools.dbk:150
10611 msgid ""
10612 "Package building tools make the process of writing "
10613 "<filename>debian/rules</filename> files easier.  See <xref "
10614 "linkend=\"helper-scripts\"/> for more information about why these might or "
10615 "might not be desired."
10616 msgstr ""
10617
10618 #. type: Content of: <appendix><section><section><title>
10619 #: tools.dbk:156
10620 msgid "<systemitem role=\"package\">debhelper</systemitem>"
10621 msgstr ""
10622
10623 #. type: Content of: <appendix><section><section><para>
10624 #: tools.dbk:158
10625 msgid ""
10626 "<systemitem role=\"package\">debhelper</systemitem> is a collection of "
10627 "programs which can be used in <filename>debian/rules</filename> to automate "
10628 "common tasks related to building binary Debian packages.  <systemitem "
10629 "role=\"package\">debhelper</systemitem> includes programs to install various "
10630 "files into your package, compress files, fix file permissions, and integrate "
10631 "your package with the Debian menu system."
10632 msgstr ""
10633
10634 #. type: Content of: <appendix><section><section><para>
10635 #: tools.dbk:166
10636 msgid ""
10637 "Unlike some approaches, <systemitem role=\"package\">debhelper</systemitem> "
10638 "is broken into several small, simple commands which act in a consistent "
10639 "manner.  As such, it allows more fine-grained control than some of the other "
10640 "debian/rules tools."
10641 msgstr ""
10642
10643 #. type: Content of: <appendix><section><section><para>
10644 #: tools.dbk:172
10645 msgid ""
10646 "There are a number of little <systemitem "
10647 "role=\"package\">debhelper</systemitem> add-on packages, too transient to "
10648 "document.  You can see the list of most of them by doing <literal>apt-cache "
10649 "search ^dh-</literal>."
10650 msgstr ""
10651
10652 #. type: Content of: <appendix><section><section><title>
10653 #: tools.dbk:179
10654 msgid "<systemitem role=\"package\">dh-make</systemitem>"
10655 msgstr ""
10656
10657 #. type: Content of: <appendix><section><section><para>
10658 #: tools.dbk:181
10659 msgid ""
10660 "The <systemitem role=\"package\">dh-make</systemitem> package contains "
10661 "<command>dh_make</command>, a program that creates a skeleton of files "
10662 "necessary to build a Debian package out of a source tree.  As the name "
10663 "suggests, <command>dh_make</command> is a rewrite of <systemitem "
10664 "role=\"package\">debmake</systemitem> and its template files use "
10665 "<command>dh_*</command> programs from <systemitem "
10666 "role=\"package\">debhelper</systemitem>."
10667 msgstr ""
10668
10669 #. type: Content of: <appendix><section><section><para>
10670 #: tools.dbk:189
10671 msgid ""
10672 "While the rules files generated by <command>dh_make</command> are in general "
10673 "a sufficient basis for a working package, they are still just the "
10674 "groundwork: the burden still lies on the maintainer to finely tune the "
10675 "generated files and make the package entirely functional and "
10676 "Policy-compliant."
10677 msgstr ""
10678
10679 #. type: Content of: <appendix><section><section><title>
10680 #: tools.dbk:197
10681 msgid "<systemitem role=\"package\">equivs</systemitem>"
10682 msgstr ""
10683
10684 #. type: Content of: <appendix><section><section><para>
10685 #: tools.dbk:199
10686 msgid ""
10687 "<systemitem role=\"package\">equivs</systemitem> is another package for "
10688 "making packages.  It is often suggested for local use if you need to make a "
10689 "package simply to fulfill dependencies.  It is also sometimes used when "
10690 "making ``meta-packages'', which are packages whose only purpose is to depend "
10691 "on other packages."
10692 msgstr ""
10693
10694 #. type: Content of: <appendix><section><title>
10695 #: tools.dbk:210
10696 msgid "Package builders"
10697 msgstr ""
10698
10699 #. type: Content of: <appendix><section><para>
10700 #: tools.dbk:212
10701 msgid ""
10702 "The following packages help with the package building process, general "
10703 "driving <command>dpkg-buildpackage</command> as well as handling supporting "
10704 "tasks."
10705 msgstr ""
10706
10707 #. type: Content of: <appendix><section><section><title>
10708 #: tools.dbk:216
10709 msgid "<systemitem role=\"package\">cvs-buildpackage</systemitem>"
10710 msgstr ""
10711
10712 #. type: Content of: <appendix><section><section><para>
10713 #: tools.dbk:218
10714 msgid ""
10715 "<systemitem role=\"package\">cvs-buildpackage</systemitem> provides the "
10716 "capability to inject or import Debian source packages into a CVS repository, "
10717 "build a Debian package from the CVS repository, and helps in integrating "
10718 "upstream changes into the repository."
10719 msgstr ""
10720
10721 #. type: Content of: <appendix><section><section><para>
10722 #: tools.dbk:224
10723 msgid ""
10724 "These utilities provide an infrastructure to facilitate the use of CVS by "
10725 "Debian maintainers.  This allows one to keep separate CVS branches of a "
10726 "package for <literal>stable</literal>, <literal>unstable</literal> and "
10727 "possibly <literal>experimental</literal> distributions, along with the other "
10728 "benefits of a version control system."
10729 msgstr ""
10730
10731 #. type: Content of: <appendix><section><section><title>
10732 #: tools.dbk:233
10733 msgid "<systemitem role=\"package\">debootstrap</systemitem>"
10734 msgstr ""
10735
10736 #. type: Content of: <appendix><section><section><para>
10737 #: tools.dbk:235
10738 msgid ""
10739 "The <systemitem role=\"package\">debootstrap</systemitem> package and script "
10740 "allows you to bootstrap a Debian base system into any part of your "
10741 "filesystem.  By base system, we mean the bare minimum of packages required "
10742 "to operate and install the rest of the system."
10743 msgstr ""
10744
10745 #. type: Content of: <appendix><section><section><para>
10746 #: tools.dbk:241
10747 msgid ""
10748 "Having a system like this can be useful in many ways.  For instance, you can "
10749 "<command>chroot</command> into it if you want to test your build "
10750 "dependencies.  Or you can test how your package behaves when installed into "
10751 "a bare base system.  Chroot builders use this package; see below."
10752 msgstr ""
10753
10754 #. type: Content of: <appendix><section><section><title>
10755 #: tools.dbk:249
10756 msgid "<systemitem role=\"package\">pbuilder</systemitem>"
10757 msgstr ""
10758
10759 #. type: Content of: <appendix><section><section><para>
10760 #: tools.dbk:251
10761 msgid ""
10762 "<systemitem role=\"package\">pbuilder</systemitem> constructs a chrooted "
10763 "system, and builds a package inside the chroot.  It is very useful to check "
10764 "that a package's build-dependencies are correct, and to be sure that "
10765 "unnecessary and wrong build dependencies will not exist in the resulting "
10766 "package."
10767 msgstr ""
10768
10769 #. type: Content of: <appendix><section><section><para>
10770 #: tools.dbk:257
10771 msgid ""
10772 "A related package is <systemitem role=\"package\">pbuilder-uml</systemitem>, "
10773 "which goes even further by doing the build within a User Mode Linux "
10774 "environment."
10775 msgstr ""
10776
10777 #. type: Content of: <appendix><section><section><title>
10778 #: tools.dbk:264
10779 msgid "<systemitem role=\"package\">sbuild</systemitem>"
10780 msgstr ""
10781
10782 #. type: Content of: <appendix><section><section><para>
10783 #: tools.dbk:266
10784 msgid ""
10785 "<systemitem role=\"package\">sbuild</systemitem> is another automated "
10786 "builder.  It can use chrooted environments as well.  It can be used "
10787 "stand-alone, or as part of a networked, distributed build environment.  As "
10788 "the latter, it is part of the system used by porters to build binary "
10789 "packages for all the available architectures.  See <xref "
10790 "linkend=\"wanna-build\"/> for more information, and <ulink "
10791 "url=\"&url-buildd;\"></ulink> to see the system in action."
10792 msgstr ""
10793
10794 #. type: Content of: <appendix><section><title>
10795 #: tools.dbk:278
10796 msgid "Package uploaders"
10797 msgstr ""
10798
10799 #. type: Content of: <appendix><section><para>
10800 #: tools.dbk:280
10801 msgid ""
10802 "The following packages help automate or simplify the process of uploading "
10803 "packages into the official archive."
10804 msgstr ""
10805
10806 #. type: Content of: <appendix><section><section><title>
10807 #: tools.dbk:284
10808 msgid "<systemitem role=\"package\">dupload</systemitem>"
10809 msgstr ""
10810
10811 #. type: Content of: <appendix><section><section><para>
10812 #: tools.dbk:286
10813 msgid ""
10814 "<systemitem role=\"package\">dupload</systemitem> is a package and a script "
10815 "to automatically upload Debian packages to the Debian archive, to log the "
10816 "upload, and to send mail about the upload of a package.  You can configure "
10817 "it for new upload locations or methods."
10818 msgstr ""
10819
10820 #. type: Content of: <appendix><section><section><title>
10821 #: tools.dbk:294
10822 msgid "<systemitem role=\"package\">dput</systemitem>"
10823 msgstr ""
10824
10825 #. type: Content of: <appendix><section><section><para>
10826 #: tools.dbk:296
10827 msgid ""
10828 "The <systemitem role=\"package\">dput</systemitem> package and script does "
10829 "much the same thing as <systemitem role=\"package\">dupload</systemitem>, "
10830 "but in a different way.  It has some features over <systemitem "
10831 "role=\"package\">dupload</systemitem>, such as the ability to check the "
10832 "GnuPG signature and checksums before uploading, and the possibility of "
10833 "running <command>dinstall</command> in dry-run mode after the upload."
10834 msgstr ""
10835
10836 #. type: Content of: <appendix><section><section><title>
10837 #: tools.dbk:306
10838 msgid "<command>dcut</command>"
10839 msgstr ""
10840
10841 #. type: Content of: <appendix><section><section><para>
10842 #: tools.dbk:308
10843 msgid ""
10844 "The <command>dcut</command> script (part of the package <systemitem "
10845 "role=\"package\">dput</systemitem>, <xref linkend=\"dput\"/>) helps in "
10846 "removing files from the ftp upload directory."
10847 msgstr ""
10848
10849 #. type: Content of: <appendix><section><title>
10850 #: tools.dbk:316
10851 msgid "Maintenance automation"
10852 msgstr ""
10853
10854 #. type: Content of: <appendix><section><para>
10855 #: tools.dbk:318
10856 msgid ""
10857 "The following tools help automate different maintenance tasks, from adding "
10858 "changelog entries or signature lines and looking up bugs in Emacs to making "
10859 "use of the newest and official <filename>config.sub</filename>."
10860 msgstr ""
10861
10862 #. type: Content of: <appendix><section><section><title>
10863 #: tools.dbk:323
10864 msgid "<systemitem role=\"package\">devscripts</systemitem>"
10865 msgstr ""
10866
10867 #. type: Content of: <appendix><section><section><para>
10868 #: tools.dbk:325
10869 msgid ""
10870 "<systemitem role=\"package\">devscripts</systemitem> is a package containing "
10871 "wrappers and tools which are very helpful for maintaining your Debian "
10872 "packages.  Example scripts include <command>debchange</command> and "
10873 "<command>dch</command>, which manipulate your "
10874 "<filename>debian/changelog</filename> file from the command-line, and "
10875 "<command>debuild</command>, which is a wrapper around "
10876 "<command>dpkg-buildpackage</command>.  The <command>bts</command> utility is "
10877 "also very helpful to update the state of bug reports on the command line.  "
10878 "<command>uscan</command> can be used to watch for new upstream versions of "
10879 "your packages.  <command>debrsign</command> can be used to remotely sign a "
10880 "package prior to upload, which is nice when the machine you build the "
10881 "package on is different from where your GPG keys are."
10882 msgstr ""
10883
10884 #. type: Content of: <appendix><section><section><para>
10885 #: tools.dbk:339
10886 msgid ""
10887 "See the <citerefentry> <refentrytitle>devscripts</refentrytitle> "
10888 "<manvolnum>1</manvolnum> </citerefentry> manual page for a complete list of "
10889 "available scripts."
10890 msgstr ""
10891
10892 #. type: Content of: <appendix><section><section><title>
10893 #: tools.dbk:346
10894 msgid "<systemitem role=\"package\">autotools-dev</systemitem>"
10895 msgstr ""
10896
10897 #. type: Content of: <appendix><section><section><para>
10898 #: tools.dbk:348
10899 msgid ""
10900 "<systemitem role=\"package\">autotools-dev</systemitem> contains best "
10901 "practices for people who maintain packages which use "
10902 "<command>autoconf</command> and/or <command>automake</command>.  Also "
10903 "contains canonical <filename>config.sub</filename> and "
10904 "<filename>config.guess</filename> files which are known to work on all "
10905 "Debian ports."
10906 msgstr ""
10907
10908 #. type: Content of: <appendix><section><section><title>
10909 #: tools.dbk:357
10910 msgid "<systemitem role=\"package\">dpkg-repack</systemitem>"
10911 msgstr ""
10912
10913 #. type: Content of: <appendix><section><section><para>
10914 #: tools.dbk:359
10915 msgid ""
10916 "<command>dpkg-repack</command> creates Debian package file out of a package "
10917 "that has already been installed.  If any changes have been made to the "
10918 "package while it was unpacked (e.g., files in <filename>/etc</filename> were "
10919 "modified), the new package will inherit the changes."
10920 msgstr ""
10921
10922 #. type: Content of: <appendix><section><section><para>
10923 #: tools.dbk:365
10924 msgid ""
10925 "This utility can make it easy to copy packages from one computer to another, "
10926 "or to recreate packages which are installed on your system but no longer "
10927 "available elsewhere, or to save the current state of a package before you "
10928 "upgrade it."
10929 msgstr ""
10930
10931 #. type: Content of: <appendix><section><section><title>
10932 #: tools.dbk:372
10933 msgid "<systemitem role=\"package\">alien</systemitem>"
10934 msgstr ""
10935
10936 #. type: Content of: <appendix><section><section><para>
10937 #: tools.dbk:374
10938 msgid ""
10939 "<command>alien</command> converts binary packages between various packaging "
10940 "formats, including Debian, RPM (RedHat), LSB (Linux Standard Base), Solaris, "
10941 "and Slackware packages."
10942 msgstr ""
10943
10944 #. type: Content of: <appendix><section><section><title>
10945 #: tools.dbk:381
10946 msgid "<systemitem role=\"package\">debsums</systemitem>"
10947 msgstr ""
10948
10949 #. type: Content of: <appendix><section><section><para>
10950 #: tools.dbk:383
10951 msgid ""
10952 "<command>debsums</command> checks installed packages against their MD5 "
10953 "sums.  Note that not all packages have MD5 sums, since they aren't required "
10954 "by Policy."
10955 msgstr ""
10956
10957 #. type: Content of: <appendix><section><section><title>
10958 #: tools.dbk:389
10959 msgid "<systemitem role=\"package\">dpkg-dev-el</systemitem>"
10960 msgstr ""
10961
10962 #. type: Content of: <appendix><section><section><para>
10963 #: tools.dbk:391
10964 msgid ""
10965 "<systemitem role=\"package\">dpkg-dev-el</systemitem> is an Emacs lisp "
10966 "package which provides assistance when editing some of the files in the "
10967 "<filename>debian</filename> directory of your package.  For instance, there "
10968 "are handy functions for listing a package's current bugs, and for finalizing "
10969 "the latest entry in a <filename>debian/changelog</filename> file."
10970 msgstr ""
10971
10972 #. type: Content of: <appendix><section><section><title>
10973 #: tools.dbk:400
10974 msgid "<command>dpkg-depcheck</command>"
10975 msgstr ""
10976
10977 #. type: Content of: <appendix><section><section><para>
10978 #: tools.dbk:402
10979 msgid ""
10980 "<command>dpkg-depcheck</command> (from the <systemitem "
10981 "role=\"package\">devscripts</systemitem> package, <xref "
10982 "linkend=\"devscripts\"/>)  runs a command under <command>strace</command> to "
10983 "determine all the packages that were used by the said command."
10984 msgstr ""
10985
10986 #. type: Content of: <appendix><section><section><para>
10987 #: tools.dbk:408
10988 msgid ""
10989 "For Debian packages, this is useful when you have to compose a "
10990 "<literal>Build-Depends</literal> line for your new package: running the "
10991 "build process through <command>dpkg-depcheck</command> will provide you with "
10992 "a good first approximation of the build-dependencies.  For example:"
10993 msgstr ""
10994
10995 #. type: Content of: <appendix><section><section><screen>
10996 #: tools.dbk:414
10997 #, no-wrap
10998 msgid "dpkg-depcheck -b debian/rules build\n"
10999 msgstr ""
11000
11001 #. type: Content of: <appendix><section><section><para>
11002 #: tools.dbk:417
11003 msgid ""
11004 "<command>dpkg-depcheck</command> can also be used to check for run-time "
11005 "dependencies, especially if your package uses <citerefentry> "
11006 "<refentrytitle>exec</refentrytitle> <manvolnum>2</manvolnum> </citerefentry> "
11007 "to run other programs."
11008 msgstr ""
11009
11010 #. type: Content of: <appendix><section><section><para>
11011 #: tools.dbk:423
11012 msgid ""
11013 "For more information please see <citerefentry> "
11014 "<refentrytitle>dpkg-depcheck</refentrytitle> <manvolnum>1</manvolnum> "
11015 "</citerefentry>."
11016 msgstr ""
11017
11018 #. type: Content of: <appendix><section><title>
11019 #: tools.dbk:432
11020 msgid "Porting tools"
11021 msgstr ""
11022
11023 #. type: Content of: <appendix><section><para>
11024 #: tools.dbk:434
11025 msgid "The following tools are helpful for porters and for cross-compilation."
11026 msgstr ""
11027
11028 #. type: Content of: <appendix><section><section><title>
11029 #: tools.dbk:437
11030 msgid "<systemitem role=\"package\">quinn-diff</systemitem>"
11031 msgstr ""
11032
11033 #. type: Content of: <appendix><section><section><para>
11034 #: tools.dbk:439
11035 msgid ""
11036 "<systemitem role=\"package\">quinn-diff</systemitem> is used to locate the "
11037 "differences from one architecture to another.  For instance, it could tell "
11038 "you which packages need to be ported for architecture "
11039 "<replaceable>Y</replaceable>, based on architecture "
11040 "<replaceable>X</replaceable>."
11041 msgstr ""
11042
11043 #. type: Content of: <appendix><section><section><title>
11044 #: tools.dbk:447
11045 msgid "<systemitem role=\"package\">dpkg-cross</systemitem>"
11046 msgstr ""
11047
11048 #. type: Content of: <appendix><section><section><para>
11049 #: tools.dbk:449
11050 msgid ""
11051 "<systemitem role=\"package\">dpkg-cross</systemitem> is a tool for "
11052 "installing libraries and headers for cross-compiling in a way similar to "
11053 "<systemitem role=\"package\">dpkg</systemitem>.  Furthermore, the "
11054 "functionality of <command>dpkg-buildpackage</command> and "
11055 "<command>dpkg-shlibdeps</command> is enhanced to support cross-compiling."
11056 msgstr ""
11057
11058 #. type: Content of: <appendix><section><title>
11059 #: tools.dbk:460
11060 msgid "Documentation and information"
11061 msgstr ""
11062
11063 #. type: Content of: <appendix><section><para>
11064 #: tools.dbk:462
11065 msgid ""
11066 "The following packages provide information for maintainers or help with "
11067 "building documentation."
11068 msgstr ""
11069
11070 #. type: Content of: <appendix><section><section><title>
11071 #: tools.dbk:467
11072 msgid "<systemitem role=\"package\">docbook-xml</systemitem>"
11073 msgstr ""
11074
11075 #. type: Content of: <appendix><section><section><para>
11076 #: tools.dbk:469
11077 msgid ""
11078 "<systemitem role=\"package\">docbook-xml</systemitem> provides the DocBook "
11079 "XML DTDs, which are commonly used for Debian documentation (as is the older "
11080 "debiandoc SGML DTD). This manual, for instance, is written in DocBook XML."
11081 msgstr ""
11082
11083 #. type: Content of: <appendix><section><section><para>
11084 #: tools.dbk:475
11085 msgid ""
11086 "The <systemitem role=\"package\">docbook-xsl</systemitem> package provides "
11087 "the XSL files for building and styling the source to various output "
11088 "formats. You will need an XSLT processor, such as <systemitem "
11089 "role=\"package\">xsltproc</systemitem>, to use the XSL stylesheets.  "
11090 "Documentation for the stylesheets can be found in the various <systemitem "
11091 "role=\"package\">docbook-xsl-doc-*</systemitem> packages."
11092 msgstr ""
11093
11094 #. type: Content of: <appendix><section><section><para>
11095 #: tools.dbk:483
11096 msgid ""
11097 "To produce PDF from FO, you need an FO processor, such as <systemitem "
11098 "role=\"package\">xmlroff</systemitem> or <systemitem "
11099 "role=\"package\">fop</systemitem>. Another tool to generate PDF from DocBook "
11100 "XML is <systemitem role=\"package\">dblatex</systemitem>."
11101 msgstr ""
11102
11103 #. type: Content of: <appendix><section><section><title>
11104 #: tools.dbk:491
11105 msgid "<systemitem role=\"package\">debiandoc-sgml</systemitem>"
11106 msgstr ""
11107
11108 #. type: Content of: <appendix><section><section><para>
11109 #: tools.dbk:493
11110 msgid ""
11111 "<systemitem role=\"package\">debiandoc-sgml</systemitem> provides the "
11112 "DebianDoc SGML DTD, which is commonly used for Debian documentation, but is "
11113 "now deprecated (<systemitem role=\"package\">docbook-xml</systemitem> should "
11114 "be used instead).  It also provides scripts for building and styling the "
11115 "source to various output formats."
11116 msgstr ""
11117
11118 #. type: Content of: <appendix><section><section><para>
11119 #: tools.dbk:502
11120 msgid ""
11121 "Documentation for the DTD can be found in the <systemitem "
11122 "role=\"package\">debiandoc-sgml-doc</systemitem> package."
11123 msgstr ""
11124
11125 #. type: Content of: <appendix><section><section><title>
11126 #: tools.dbk:508
11127 msgid "<systemitem role=\"package\">debian-keyring</systemitem>"
11128 msgstr ""
11129
11130 #. type: Content of: <appendix><section><section><para>
11131 #: tools.dbk:510
11132 msgid ""
11133 "Contains the public GPG and PGP keys of Debian developers.  See <xref "
11134 "linkend=\"key-maint\"/> and the package documentation for more information."
11135 msgstr ""
11136
11137 #. type: Content of: <appendix><section><section><title>
11138 #: tools.dbk:516
11139 msgid "<systemitem role=\"package\">debian-maintainers</systemitem>"
11140 msgstr ""
11141
11142 #. type: Content of: <appendix><section><section><para>
11143 #: tools.dbk:518
11144 msgid ""
11145 "Contains the public GPG keys of Debian Maintainers.  See <ulink "
11146 "url=\"&url-wiki-dm;\"></ulink> for more information."
11147 msgstr ""
11148
11149 #. type: Content of: <appendix><section><section><title>
11150 #: tools.dbk:524
11151 msgid "<systemitem role=\"package\">debview</systemitem>"
11152 msgstr ""
11153
11154 #. type: Content of: <appendix><section><section><para>
11155 #: tools.dbk:526
11156 msgid ""
11157 "<systemitem role=\"package\">debview</systemitem> provides an Emacs mode for "
11158 "viewing Debian binary packages.  This lets you examine a package without "
11159 "unpacking it."
11160 msgstr ""