chiark / gitweb /
[dev-ref] POT and PO updates — trivial unfuzzy for the last consistency fixes
[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-04-25 09:19-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 notices that he wasn't using maximal compression in his original "
2284 "distribution and then re-<command>gzip</command>s it), that's just too bad.  "
2285 "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 himself.  We refer to such a "
2367 "tarball as a repackaged upstream source.  Note that a repackaged upstream "
2368 "source is different from a Debian-native package.  A repackaged source still "
2369 "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 he will lose if he removes 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 she finds issues, she informs the "
3095 "maintainer and asks her 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. She builds the package, "
3103 "signs it, and uploads 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. Does she already have some experience with other packages? If "
3135 "yes, is she doing a good job with them (check out some bugs)? Is she "
3136 "familiar with the package and its programming language? Does she have the "
3137 "skills needed for this package? If not, is she 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 she stands towards Debian: does she "
3144 "agree with Debian's philosophy and does she intend to join Debian? Given how "
3145 "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, the "
3285 "sponsor is still responsible of what he uploaded 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 "she 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 in his "
3392 "package. Maybe there's a release critical bug that he has left unhandled and "
3393 "that's blocking migration to <literal>testing</literal>. Whatever. If you "
3394 "find something that she could have done (better), it's time to tell her so "
3395 "that she can improve for next time, and so that she has a better "
3396 "understanding of her 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 his job also entails taking "
3487 "care of the packages in the current <literal>stable</literal> release."
3488 msgstr ""
3489
3490 #. type: Content of: <chapter><section><section><para>
3491 #: developer-duties.dbk:44
3492 msgid ""
3493 "While changes in <literal>stable</literal> are discouraged, they are "
3494 "possible. Whenever a security problem is reported, you should collaborate "
3495 "with the security team to provide a fixed version (see <xref "
3496 "linkend=\"bug-security\"/>). When bugs of severity important (or more) are "
3497 "reported against the <literal>stable</literal> version of your packages, you "
3498 "should consider providing a targeted fix.  You can ask the "
3499 "<literal>stable</literal> release team whether they would accept such an "
3500 "update and then prepare a <literal>stable</literal> upload (see <xref "
3501 "linkend=\"upload-stable\"/>)."
3502 msgstr ""
3503
3504 #. type: Content of: <chapter><section><section><title>
3505 #: developer-duties.dbk:56
3506 msgid "Manage release-critical bugs"
3507 msgstr ""
3508
3509 #. type: Content of: <chapter><section><section><para>
3510 #: developer-duties.dbk:58
3511 msgid ""
3512 "Generally you should deal with bug reports on your packages as described in "
3513 "<xref linkend=\"bug-handling\"/>.  However, there's a special category of "
3514 "bugs that you need to take care of — the so-called release-critical bugs (RC "
3515 "bugs). All bug reports that have severity <literal>critical</literal>, "
3516 "<literal>grave</literal> or <literal>serious</literal> make the package "
3517 "unsuitable for inclusion in the next <literal>stable</literal> release.  "
3518 "They can thus delay the Debian release (when they affect a package in "
3519 "<literal>testing</literal>) or block migrations to "
3520 "<literal>testing</literal> (when they only affect the package in "
3521 "<literal>unstable</literal>). In the worst scenario, they will lead to the "
3522 "package's removal. That's why these bugs need to be corrected as quickly as "
3523 "possible."
3524 msgstr ""
3525
3526 #. type: Content of: <chapter><section><section><para>
3527 #: developer-duties.dbk:70
3528 msgid ""
3529 "If, for any reason, you aren't able fix an RC bug in a package of yours "
3530 "within 2 weeks (for example due to time constraints, or because it's "
3531 "difficult to fix), you should mention it clearly in the bug report and you "
3532 "should tag the bug <literal>help</literal> to invite other volunteers to "
3533 "chime in. Be aware that RC bugs are frequently the targets of Non-Maintainer "
3534 "Uploads (see <xref linkend=\"nmu\"/>) because they can block the "
3535 "<literal>testing</literal> migration of many packages."
3536 msgstr ""
3537
3538 #. type: Content of: <chapter><section><section><para>
3539 #: developer-duties.dbk:79
3540 msgid ""
3541 "Lack of attention to RC bugs is often interpreted by the QA team as a sign "
3542 "that the maintainer has disappeared without properly orphaning his package.  "
3543 "The MIA team might also get involved, which could result in your packages "
3544 "being orphaned (see <xref linkend=\"mia-qa\" />)."
3545 msgstr ""
3546
3547 #. type: Content of: <chapter><section><section><title>
3548 #: developer-duties.dbk:87
3549 msgid "Coordination with upstream developers"
3550 msgstr ""
3551
3552 #. type: Content of: <chapter><section><section><para>
3553 #: developer-duties.dbk:89
3554 msgid ""
3555 "A big part of your job as Debian maintainer will be to stay in contact with "
3556 "the upstream developers.  Debian users will sometimes report bugs that are "
3557 "not specific to Debian to our bug tracking system.  You have to forward "
3558 "these bug reports to the upstream developers so that they can be fixed in a "
3559 "future upstream release."
3560 msgstr ""
3561
3562 #. type: Content of: <chapter><section><section><para>
3563 #: developer-duties.dbk:96
3564 msgid ""
3565 "While it's not your job to fix non-Debian specific bugs, you may freely do "
3566 "so if you're able.  When you make such fixes, be sure to pass them on to the "
3567 "upstream maintainers as well.  Debian users and developers will sometimes "
3568 "submit patches to fix upstream bugs — you should evaluate and forward these "
3569 "patches upstream."
3570 msgstr ""
3571
3572 #. type: Content of: <chapter><section><section><para>
3573 #: developer-duties.dbk:103
3574 msgid ""
3575 "If you need to modify the upstream sources in order to build a policy "
3576 "compliant package, then you should propose a nice fix to the upstream "
3577 "developers which can be included there, so that you won't have to modify the "
3578 "sources of the next upstream version.  Whatever changes you need, always try "
3579 "not to fork from the upstream sources."
3580 msgstr ""
3581
3582 #. type: Content of: <chapter><section><section><para>
3583 #: developer-duties.dbk:110
3584 msgid ""
3585 "If you find that the upstream developers are or become hostile towards "
3586 "Debian or the free software community, you may want to re-consider the need "
3587 "to include the software in Debian. Sometimes the social cost to the Debian "
3588 "community is not worth the benefits the software may bring."
3589 msgstr ""
3590
3591 #. type: Content of: <chapter><section><title>
3592 #: developer-duties.dbk:120
3593 msgid "Administrative Duties"
3594 msgstr ""
3595
3596 #. type: Content of: <chapter><section><para>
3597 #: developer-duties.dbk:121
3598 msgid ""
3599 "A project of the size of Debian relies on some administrative infrastructure "
3600 "to keep track of everything. As a project member, you have some duties to "
3601 "ensure everything keeps running smoothly."
3602 msgstr ""
3603
3604 #. type: Content of: <chapter><section><section><title>
3605 #: developer-duties.dbk:126
3606 msgid "Maintaining your Debian information"
3607 msgstr ""
3608
3609 #. type: Content of: <chapter><section><section><para>
3610 #: developer-duties.dbk:128
3611 msgid ""
3612 "There's a LDAP database containing information about Debian developers at "
3613 "<ulink url=\"&url-debian-db;\"></ulink>.  You should enter your information "
3614 "there and update it as it changes.  Most notably, make sure that the address "
3615 "where your debian.org email gets forwarded to is always up to date, as well "
3616 "as the address where you get your debian-private subscription if you choose "
3617 "to subscribe there."
3618 msgstr ""
3619
3620 #. type: Content of: <chapter><section><section><para>
3621 #: developer-duties.dbk:136
3622 msgid ""
3623 "For more information about the database, please see <xref "
3624 "linkend=\"devel-db\"/>."
3625 msgstr ""
3626
3627 #. type: Content of: <chapter><section><section><title>
3628 #: developer-duties.dbk:141
3629 msgid "Maintaining your public key"
3630 msgstr ""
3631
3632 #. type: Content of: <chapter><section><section><para>
3633 #: developer-duties.dbk:143
3634 msgid ""
3635 "Be very careful with your private keys.  Do not place them on any public "
3636 "servers or multiuser machines, such as the Debian servers (see <xref "
3637 "linkend=\"server-machines\"/>).  Back your keys up; keep a copy offline.  "
3638 "Read the documentation that comes with your software; read the <ulink "
3639 "url=\"&url-pgp-faq;\">PGP FAQ</ulink>."
3640 msgstr ""
3641
3642 #. type: Content of: <chapter><section><section><para>
3643 #: developer-duties.dbk:150
3644 msgid ""
3645 "You need to ensure not only that your key is secure against being stolen, "
3646 "but also that it is secure against being lost.  Generate and make a copy "
3647 "(best also in paper form) of your revocation certificate; this is needed if "
3648 "your key is lost."
3649 msgstr ""
3650
3651 #. type: Content of: <chapter><section><section><para>
3652 #: developer-duties.dbk:156
3653 msgid ""
3654 "If you add signatures to your public key, or add user identities, you can "
3655 "update the Debian key ring by sending your key to the key server at "
3656 "<literal>&keyserver-host;</literal>."
3657 msgstr ""
3658
3659 #. type: Content of: <chapter><section><section><para>
3660 #: developer-duties.dbk:161
3661 msgid ""
3662 "If you need to add a completely new key or remove an old key, you need to "
3663 "get the new key signed by another developer.  If the old key is compromised "
3664 "or invalid, you also have to add the revocation certificate.  If there is no "
3665 "real reason for a new key, the Keyring Maintainers might reject the new "
3666 "key.  Details can be found at <ulink "
3667 "url=\"http://&keyserver-host;/replacing_keys.html\"></ulink>."
3668 msgstr ""
3669
3670 #. type: Content of: <chapter><section><section><para>
3671 #: developer-duties.dbk:169
3672 msgid ""
3673 "The same key extraction routines discussed in <xref "
3674 "linkend=\"registering\"/> apply."
3675 msgstr ""
3676
3677 #. type: Content of: <chapter><section><section><para>
3678 #: developer-duties.dbk:173
3679 msgid ""
3680 "You can find a more in-depth discussion of Debian key maintenance in the "
3681 "documentation of the <systemitem "
3682 "role=\"package\">debian-keyring</systemitem> package."
3683 msgstr ""
3684
3685 #. type: Content of: <chapter><section><section><title>
3686 #: developer-duties.dbk:180
3687 msgid "Voting"
3688 msgstr ""
3689
3690 #. type: Content of: <chapter><section><section><para>
3691 #: developer-duties.dbk:182
3692 msgid ""
3693 "Even though Debian isn't really a democracy, we use a democratic process to "
3694 "elect our leaders and to approve general resolutions.  These procedures are "
3695 "defined by the <ulink url=\"&url-constitution;\">Debian "
3696 "Constitution</ulink>."
3697 msgstr ""
3698
3699 #. type: Content of: <chapter><section><section><para>
3700 #: developer-duties.dbk:188
3701 msgid ""
3702 "Other than the yearly leader election, votes are not routinely held, and "
3703 "they are not undertaken lightly.  Each proposal is first discussed on the "
3704 "&email-debian-vote; mailing list and it requires several endorsements before "
3705 "the project secretary starts the voting procedure."
3706 msgstr ""
3707
3708 #. type: Content of: <chapter><section><section><para>
3709 #: developer-duties.dbk:194
3710 msgid ""
3711 "You don't have to track the pre-vote discussions, as the secretary will "
3712 "issue several calls for votes on &email-debian-devel-announce; (and all "
3713 "developers are expected to be subscribed to that list).  Democracy doesn't "
3714 "work well if people don't take part in the vote, which is why we encourage "
3715 "all developers to vote.  Voting is conducted via GPG-signed/encrypted email "
3716 "messages."
3717 msgstr ""
3718
3719 #. type: Content of: <chapter><section><section><para>
3720 #: developer-duties.dbk:202
3721 msgid ""
3722 "The list of all proposals (past and current) is available on the <ulink "
3723 "url=\"&url-vote;\">Debian Voting Information</ulink> page, along with "
3724 "information on how to make, second and vote on proposals."
3725 msgstr ""
3726
3727 #. type: Content of: <chapter><section><section><title>
3728 #: developer-duties.dbk:209
3729 msgid "Going on vacation gracefully"
3730 msgstr ""
3731
3732 #. type: Content of: <chapter><section><section><para>
3733 #: developer-duties.dbk:211
3734 msgid ""
3735 "It is common for developers to have periods of absence, whether those are "
3736 "planned vacations or simply being buried in other work.  The important thing "
3737 "to notice is that other developers need to know that you're on vacation so "
3738 "that they can do whatever is needed if a problem occurs with your packages "
3739 "or other duties in the project."
3740 msgstr ""
3741
3742 #. type: Content of: <chapter><section><section><para>
3743 #: developer-duties.dbk:218
3744 msgid ""
3745 "Usually this means that other developers are allowed to NMU (see <xref "
3746 "linkend=\"nmu\"/>) your package if a big problem (release critical bug, "
3747 "security update, etc.) occurs while you're on vacation.  Sometimes it's "
3748 "nothing as critical as that, but it's still appropriate to let others know "
3749 "that you're unavailable."
3750 msgstr ""
3751
3752 #. type: Content of: <chapter><section><section><para><footnote><para>
3753 #: developer-duties.dbk:227
3754 msgid ""
3755 "This is so that the message can be easily filtered by people who don't want "
3756 "to read vacation notices."
3757 msgstr ""
3758
3759 #. type: Content of: <chapter><section><section><para>
3760 #: developer-duties.dbk:225
3761 msgid ""
3762 "In order to inform the other developers, there are two things that you "
3763 "should do.  First send a mail to <email>debian-private@&lists-host;</email> "
3764 "with [VAC] prepended to the subject of your message<placeholder "
3765 "type=\"footnote\" id=\"0\"/> and state the period of time when you will be "
3766 "on vacation.  You can also give some special instructions on what to do if a "
3767 "problem occurs."
3768 msgstr ""
3769
3770 #. type: Content of: <chapter><section><section><para>
3771 #: developer-duties.dbk:234
3772 msgid ""
3773 "The other thing to do is to mark yourself as on vacation in the <link "
3774 "linkend=\"devel-db\">Debian developers' LDAP database</link> (this "
3775 "information is only accessible to Debian developers).  Don't forget to "
3776 "remove the on vacation flag when you come back!"
3777 msgstr ""
3778
3779 #. type: Content of: <chapter><section><section><para>
3780 #: developer-duties.dbk:240
3781 msgid ""
3782 "Ideally, you should sign up at the <ulink url=\"&url-gpg-coord;\">GPG "
3783 "coordination pages</ulink> when booking a holiday and check if anyone there "
3784 "is looking for signing.  This is especially important when people go to "
3785 "exotic places where we don't have any developers yet but where there are "
3786 "people who are interested in applying."
3787 msgstr ""
3788
3789 #. type: Content of: <chapter><section><section><title>
3790 #: developer-duties.dbk:249
3791 msgid "Retiring"
3792 msgstr ""
3793
3794 #. type: Content of: <chapter><section><section><para>
3795 #: developer-duties.dbk:251
3796 msgid ""
3797 "If you choose to leave the Debian project, you should make sure you do the "
3798 "following steps:"
3799 msgstr ""
3800
3801 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
3802 #: developer-duties.dbk:257
3803 msgid "Orphan all your packages, as described in <xref linkend=\"orphaning\"/>."
3804 msgstr ""
3805
3806 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
3807 #: developer-duties.dbk:262
3808 msgid ""
3809 "Send an gpg-signed email about why you are leaving the project to "
3810 "<email>debian-private@&lists-host;</email>."
3811 msgstr ""
3812
3813 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
3814 #: developer-duties.dbk:268
3815 msgid ""
3816 "Notify the Debian key ring maintainers that you are leaving by opening a "
3817 "ticket in Debian RT by sending a mail to &email-keyring; with the words "
3818 "'Debian RT' somewhere in the subject line (case doesn't matter)."
3819 msgstr ""
3820
3821 #. type: Content of: <chapter><section><section><para>
3822 #: developer-duties.dbk:275
3823 msgid ""
3824 "It is important that the above process is followed, because finding inactive "
3825 "developers and orphaning their packages takes significant time and effort."
3826 msgstr ""
3827
3828 #. type: Content of: <chapter><section><section><title>
3829 #: developer-duties.dbk:281
3830 msgid "Returning after retirement"
3831 msgstr ""
3832
3833 #. type: Content of: <chapter><section><section><para>
3834 #: developer-duties.dbk:283
3835 msgid ""
3836 "A retired developer's account is marked as \"emeritus\" when the process in "
3837 "<xref linkend=\"s3.7\"/> is followed, and \"disabled\" otherwise. Retired "
3838 "developers with an \"emeritus\" account can get their account re-activated "
3839 "as follows:"
3840 msgstr ""
3841
3842 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3843 #: developer-duties.dbk:292
3844 msgid "Contact &email-debian-account-manager;."
3845 msgstr ""
3846
3847 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3848 #: developer-duties.dbk:297
3849 msgid ""
3850 "Go through a shortened NM process (to ensure that the returning developer "
3851 "still knows important parts of P&amp;P and T&amp;S)."
3852 msgstr ""
3853
3854 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3855 #: developer-duties.dbk:303
3856 msgid ""
3857 "Prove that they still control the GPG key associated with the account, or "
3858 "provide proof of identify on a new GPG key, with at least two signatures "
3859 "from other developers."
3860 msgstr ""
3861
3862 #. type: Content of: <chapter><section><section><para>
3863 #: developer-duties.dbk:310
3864 msgid "Retired developers with a \"disabled\" account need to go through NM again."
3865 msgstr ""
3866
3867 #. type: Attribute 'lang' of: <book>
3868 #: index.dbk:7
3869 msgid "en"
3870 msgstr ""
3871
3872 #. type: Content of: <book><title>
3873 #: index.dbk:9
3874 msgid "Debian Developer's Reference"
3875 msgstr ""
3876
3877 #. type: Content of: <book><bookinfo>
3878 #: index.dbk:11
3879 msgid ""
3880 "<author> <othername>Developer's Reference Team</othername> &email-devel-ref; "
3881 "</author> <author> <firstname>Andreas</firstname> <surname>Barth</surname> "
3882 "</author> <author> <firstname>Adam</firstname> <surname>Di Carlo</surname> "
3883 "</author> <author> <firstname>Raphaël</firstname> <surname>Hertzog</surname> "
3884 "</author> <author> <firstname>Lucas</firstname> <surname>Nussbaum</surname> "
3885 "</author> <author> <firstname>Christian</firstname> "
3886 "<surname>Schwarz</surname> </author> <author> <firstname>Ian</firstname> "
3887 "<surname>Jackson</surname> </author>"
3888 msgstr ""
3889
3890 #. type: Content of: <book><bookinfo><releaseinfo>
3891 #: index.dbk:33
3892 msgid "ver. &version;"
3893 msgstr ""
3894
3895 #. type: Content of: <book><bookinfo>
3896 #: index.dbk:34
3897 msgid ""
3898 "<pubdate>&pubdate;</pubdate> <copyright> <year>2004</year> <year>2005</year> "
3899 "<year>2006</year> <year>2007</year> <holder>Andreas Barth</holder> "
3900 "</copyright> <copyright> <year>1998</year> <year>1999</year> "
3901 "<year>2000</year> <year>2001</year> <year>2002</year> <year>2003</year> "
3902 "<holder>Adam Di Carlo</holder> </copyright> <copyright> <year>2002</year> "
3903 "<year>2003</year> <year>2008</year> <year>2009</year> <holder>Raphaël "
3904 "Hertzog</holder> </copyright> <copyright> <year>2008</year> "
3905 "<year>2009</year> <holder>Lucas Nussbaum</holder> </copyright> <copyright> "
3906 "<year>1997</year> <year>1998</year> <holder>Christian Schwarz</holder> "
3907 "</copyright>"
3908 msgstr ""
3909
3910 #. type: Content of: <book><bookinfo><legalnotice><para>
3911 #: index.dbk:70
3912 msgid ""
3913 "This manual is free software; you may redistribute it and/or modify it under "
3914 "the terms of the GNU General Public License as published by the Free "
3915 "Software Foundation; either version 2, or (at your option) any later "
3916 "version."
3917 msgstr ""
3918
3919 #. type: Content of: <book><bookinfo><legalnotice><para>
3920 #: index.dbk:75
3921 msgid ""
3922 "This is distributed in the hope that it will be useful, but "
3923 "<emphasis>without any warranty</emphasis>; without even the implied warranty "
3924 "of merchantability or fitness for a particular purpose.  See the GNU General "
3925 "Public License for more details."
3926 msgstr ""
3927
3928 #. type: Content of: <book><bookinfo><legalnotice><para>
3929 #: index.dbk:81
3930 msgid ""
3931 "A copy of the GNU General Public License is available as &file-GPL; in the "
3932 "&debian-formal; distribution or on the World Wide Web at <ulink "
3933 "url=\"&url-gpl;\">the GNU web site</ulink>.  You can also obtain it by "
3934 "writing to the &fsf-addr;."
3935 msgstr ""
3936
3937 #.  TODO: Maybe better: "This document has originally been written
3938 #. in English.  Translations into different languages are available." 
3939 #. type: Content of: <book><bookinfo><legalnotice><para>
3940 #: index.dbk:88
3941 msgid ""
3942 "If you want to print this reference, you should use the <ulink "
3943 "url=\"developers-reference.pdf\">pdf version</ulink>.  This page is also "
3944 "available in <ulink url=\"index.fr.html\">French</ulink>, <ulink "
3945 "url=\"index.de.html\">German</ulink> and <ulink "
3946 "url=\"index.ja.html\">Japanese</ulink>."
3947 msgstr ""
3948
3949 #. type: Content of: <chapter><title>
3950 #: l10n.dbk:7
3951 msgid "Internationalization and Translations"
3952 msgstr ""
3953
3954 #. type: Content of: <chapter><para>
3955 #: l10n.dbk:9
3956 msgid ""
3957 "Debian supports an ever-increasing number of natural languages.  Even if you "
3958 "are a native English speaker and do not speak any other language, it is part "
3959 "of your duty as a maintainer to be aware of issues of internationalization "
3960 "(abbreviated i18n because there are 18 letters between the 'i' and the 'n' "
3961 "in internationalization).  Therefore, even if you are ok with English-only "
3962 "programs, you should read most of this chapter."
3963 msgstr ""
3964
3965 #. type: Content of: <chapter><para>
3966 #: l10n.dbk:17
3967 msgid ""
3968 "According to <ulink url=\"&url-i18n-intro;\">Introduction to i18n</ulink> "
3969 "from Tomohiro KUBOTA, I18N (internationalization) means modification of a "
3970 "software or related technologies so that a software can potentially handle "
3971 "multiple languages, customs, and so on in the world, while L10N "
3972 "(localization) means implementation of a specific language for an already "
3973 "internationalized software."
3974 msgstr ""
3975
3976 #. type: Content of: <chapter><para>
3977 #: l10n.dbk:26
3978 msgid ""
3979 "l10n and i18n are interconnected, but the difficulties related to each of "
3980 "them are very different.  It's not really difficult to allow a program to "
3981 "change the language in which texts are displayed based on user settings, but "
3982 "it is very time consuming to actually translate these messages.  On the "
3983 "other hand, setting the character encoding is trivial, but adapting the code "
3984 "to use several character encodings is a really hard problem."
3985 msgstr ""
3986
3987 #. type: Content of: <chapter><para>
3988 #: l10n.dbk:34
3989 msgid ""
3990 "Setting aside the i18n problems, where no general guideline can be given, "
3991 "there is actually no central infrastructure for l10n within Debian which "
3992 "could be compared to the buildd mechanism for porting.  So most of the work "
3993 "has to be done manually."
3994 msgstr ""
3995
3996 #. type: Content of: <chapter><section><title>
3997 #: l10n.dbk:40
3998 msgid "How translations are handled within Debian"
3999 msgstr ""
4000
4001 #. type: Content of: <chapter><section><para>
4002 #: l10n.dbk:42
4003 msgid ""
4004 "Handling translation of the texts contained in a package is still a manual "
4005 "task, and the process depends on the kind of text you want to see "
4006 "translated."
4007 msgstr ""
4008
4009 #. type: Content of: <chapter><section><para>
4010 #: l10n.dbk:46
4011 msgid ""
4012 "For program messages, the gettext infrastructure is used most of the time.  "
4013 "Most of the time, the translation is handled upstream within projects like "
4014 "the <ulink url=\"&url-l10n-tp;\">Free Translation Project</ulink>, the "
4015 "<ulink url=\"&url-l10n-gnome;\">Gnome translation Project</ulink> or the "
4016 "<ulink url=\"&url-l10n-kde;\">KDE one</ulink>.  The only centralized "
4017 "resource within Debian is the <ulink url=\"&url-l10n;\">Central Debian "
4018 "translation statistics</ulink>, where you can find some statistics about the "
4019 "translation files found in the actual packages, but no real infrastructure "
4020 "to ease the translation process."
4021 msgstr ""
4022
4023 #. type: Content of: <chapter><section><para>
4024 #: l10n.dbk:59
4025 msgid ""
4026 "An effort to translate the package descriptions started long ago, even if "
4027 "very little support is offered by the tools to actually use them (i.e., only "
4028 "APT can use them, when configured correctly).  Maintainers don't need to do "
4029 "anything special to support translated package descriptions; translators "
4030 "should use the <ulink url=\"&url-ddtp;\">Debian Description Translation "
4031 "Project (DDTP)</ulink>."
4032 msgstr ""
4033
4034 #. type: Content of: <chapter><section><para>
4035 #: l10n.dbk:66
4036 msgid ""
4037 "For <systemitem role=\"package\">debconf</systemitem> templates, maintainers "
4038 "should use the <systemitem role=\"package\">po-debconf</systemitem> package "
4039 "to ease the work of translators, who could use the DDTP to do their work "
4040 "(but the French and Brazilian teams don't).  Some statistics can be found "
4041 "both on the <ulink url=\"&url-ddtp;\">DDTP site</ulink> (about what is "
4042 "actually translated), and on the <ulink url=\"&url-l10n;\">Central Debian "
4043 "translation statistics</ulink> site (about what is integrated in the "
4044 "packages)."
4045 msgstr ""
4046
4047 #. type: Content of: <chapter><section><para>
4048 #: l10n.dbk:75
4049 msgid ""
4050 "For web pages, each l10n team has access to the relevant VCS, and the "
4051 "statistics are available from the Central Debian translation statistics "
4052 "site."
4053 msgstr ""
4054
4055 #. type: Content of: <chapter><section><para>
4056 #: l10n.dbk:79
4057 msgid ""
4058 "For general documentation about Debian, the process is more or less the same "
4059 "as for the web pages (the translators have access to the VCS), but there are "
4060 "no statistics pages."
4061 msgstr ""
4062
4063 #. type: Content of: <chapter><section><para>
4064 #: l10n.dbk:84
4065 msgid ""
4066 "For package-specific documentation (man pages, info documents, other "
4067 "formats), almost everything remains to be done."
4068 msgstr ""
4069
4070 #. type: Content of: <chapter><section><para>
4071 #: l10n.dbk:88
4072 msgid ""
4073 "Most notably, the KDE project handles translation of its documentation in "
4074 "the same way as its program messages."
4075 msgstr ""
4076
4077 #. type: Content of: <chapter><section><para>
4078 #: l10n.dbk:92
4079 msgid ""
4080 "There is an effort to handle Debian-specific man pages within a <ulink "
4081 "url=\"&url-cvsweb;manpages/?cvsroot=debian-doc\">specific VCS "
4082 "repository</ulink>."
4083 msgstr ""
4084
4085 #. type: Content of: <chapter><section><title>
4086 #: l10n.dbk:99
4087 msgid "I18N &amp; L10N FAQ for maintainers"
4088 msgstr ""
4089
4090 #. type: Content of: <chapter><section><para>
4091 #: l10n.dbk:101
4092 msgid ""
4093 "This is a list of problems that maintainers may face concerning i18n and "
4094 "l10n.  While reading this, keep in mind that there is no real consensus on "
4095 "these points within Debian, and that this is only advice.  If you have a "
4096 "better idea for a given problem, or if you disagree on some points, feel "
4097 "free to provide your feedback, so that this document can be enhanced."
4098 msgstr ""
4099
4100 #. type: Content of: <chapter><section><section><title>
4101 #: l10n.dbk:108
4102 msgid "How to get a given text translated"
4103 msgstr ""
4104
4105 #. type: Content of: <chapter><section><section><para>
4106 #: l10n.dbk:110
4107 msgid ""
4108 "To translate package descriptions or <systemitem "
4109 "role=\"package\">debconf</systemitem> templates, you have nothing to do; the "
4110 "DDTP infrastructure will dispatch the material to translate to volunteers "
4111 "with no need for interaction from your part."
4112 msgstr ""
4113
4114 #. type: Content of: <chapter><section><section><para>
4115 #: l10n.dbk:115
4116 msgid ""
4117 "For all other material (gettext files, man pages, or other documentation), "
4118 "the best solution is to put your text somewhere on the Internet, and ask on "
4119 "debian-i18n for a translation in different languages.  Some translation team "
4120 "members are subscribed to this list, and they will take care of the "
4121 "translation and of the reviewing process.  Once they are done, you will get "
4122 "your translated document from them in your mailbox."
4123 msgstr ""
4124
4125 #. type: Content of: <chapter><section><section><title>
4126 #: l10n.dbk:125
4127 msgid "How to get a given translation reviewed"
4128 msgstr ""
4129
4130 #. type: Content of: <chapter><section><section><para>
4131 #: l10n.dbk:127
4132 msgid ""
4133 "From time to time, individuals translate some texts in your package and will "
4134 "ask you for inclusion of the translation in the package.  This can become "
4135 "problematic if you are not fluent in the given language.  It is a good idea "
4136 "to send the document to the corresponding l10n mailing list, asking for a "
4137 "review.  Once it has been done, you should feel more confident in the "
4138 "quality of the translation, and feel safe to include it in your package."
4139 msgstr ""
4140
4141 #. type: Content of: <chapter><section><section><title>
4142 #: l10n.dbk:137
4143 msgid "How to get a given translation updated"
4144 msgstr ""
4145
4146 #. type: Content of: <chapter><section><section><para>
4147 #: l10n.dbk:139
4148 msgid ""
4149 "If you have some translations of a given text lying around, each time you "
4150 "update the original, you should ask the previous translator to update the "
4151 "translation with your new changes.  Keep in mind that this task takes time; "
4152 "at least one week to get the update reviewed and all."
4153 msgstr ""
4154
4155 #. type: Content of: <chapter><section><section><para>
4156 #: l10n.dbk:145
4157 msgid ""
4158 "If the translator is unresponsive, you may ask for help on the corresponding "
4159 "l10n mailing list.  If everything fails, don't forget to put a warning in "
4160 "the translated document, stating that the translation is somehow outdated, "
4161 "and that the reader should refer to the original document if possible."
4162 msgstr ""
4163
4164 #. type: Content of: <chapter><section><section><para>
4165 #: l10n.dbk:151
4166 msgid ""
4167 "Avoid removing a translation completely because it is outdated.  Old "
4168 "documentation is often better than no documentation at all for non-English "
4169 "speakers."
4170 msgstr ""
4171
4172 #. type: Content of: <chapter><section><section><title>
4173 #: l10n.dbk:158
4174 msgid "How to handle a bug report concerning a translation"
4175 msgstr ""
4176
4177 #.  TODO: add the i18n tag to the bug? 
4178 #. type: Content of: <chapter><section><section><para>
4179 #: l10n.dbk:160
4180 msgid ""
4181 "The best solution may be to mark the bug as forwarded to upstream, and "
4182 "forward it to both the previous translator and his/her team (using the "
4183 "corresponding debian-l10n-XXX mailing list)."
4184 msgstr ""
4185
4186 #. type: Content of: <chapter><section><title>
4187 #: l10n.dbk:170
4188 msgid "I18N &amp; L10N FAQ for translators"
4189 msgstr ""
4190
4191 #. type: Content of: <chapter><section><para>
4192 #: l10n.dbk:172
4193 msgid ""
4194 "While reading this, please keep in mind that there is no general procedure "
4195 "within Debian concerning these points, and that in any case, you should "
4196 "collaborate with your team and the package maintainer."
4197 msgstr ""
4198
4199 #. type: Content of: <chapter><section><section><title>
4200 #: l10n.dbk:177
4201 msgid "How to help the translation effort"
4202 msgstr ""
4203
4204 #. type: Content of: <chapter><section><section><para>
4205 #: l10n.dbk:179
4206 msgid ""
4207 "Choose what you want to translate, make sure that nobody is already working "
4208 "on it (using your debian-l10n-XXX mailing list), translate it, get it "
4209 "reviewed by other native speakers on your l10n mailing list, and provide it "
4210 "to the maintainer of the package (see next point)."
4211 msgstr ""
4212
4213 #. type: Content of: <chapter><section><section><title>
4214 #: l10n.dbk:187
4215 msgid "How to provide a translation for inclusion in a package"
4216 msgstr ""
4217
4218 #. type: Content of: <chapter><section><section><para>
4219 #: l10n.dbk:189
4220 msgid ""
4221 "Make sure your translation is correct (asking for review on your l10n "
4222 "mailing list) before providing it for inclusion.  It will save time for "
4223 "everyone, and avoid the chaos resulting in having several versions of the "
4224 "same document in bug reports."
4225 msgstr ""
4226
4227 #. type: Content of: <chapter><section><section><para>
4228 #: l10n.dbk:195
4229 msgid ""
4230 "The best solution is to file a regular bug containing the translation "
4231 "against the package.  Make sure to use the 'PATCH' tag, and to not use a "
4232 "severity higher than 'wishlist', since the lack of translation never "
4233 "prevented a program from running."
4234 msgstr ""
4235
4236 #. type: Content of: <chapter><section><title>
4237 #: l10n.dbk:205
4238 msgid "Best current practice concerning l10n"
4239 msgstr ""
4240
4241 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4242 #: l10n.dbk:209
4243 msgid ""
4244 "As a maintainer, never edit the translations in any way (even to reformat "
4245 "the layout) without asking on the corresponding l10n mailing list.  You risk "
4246 "for example breaking the encoding of the file by doing so.  Moreover, what "
4247 "you consider an error can be right (or even needed) in the given language."
4248 msgstr ""
4249
4250 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4251 #: l10n.dbk:217
4252 msgid ""
4253 "As a translator, if you find an error in the original text, make sure to "
4254 "report it.  Translators are often the most attentive readers of a given "
4255 "text, and if they don't report the errors they find, nobody will."
4256 msgstr ""
4257
4258 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4259 #: l10n.dbk:224
4260 msgid ""
4261 "In any case, remember that the major issue with l10n is that it requires "
4262 "several people to cooperate, and that it is very easy to start a flamewar "
4263 "about small problems because of misunderstandings.  So if you have problems "
4264 "with your interlocutor, ask for help on the corresponding l10n mailing list, "
4265 "on debian-i18n, or even on debian-devel (but beware, l10n discussions very "
4266 "often become flamewars on that list :)"
4267 msgstr ""
4268
4269 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4270 #: l10n.dbk:234
4271 msgid ""
4272 "In any case, cooperation can only be achieved with <emphasis "
4273 "role=\"strong\">mutual respect</emphasis>."
4274 msgstr ""
4275
4276 #. type: Content of: <chapter><title>
4277 #: new-maintainer.dbk:7
4278 msgid "Applying to Become a Maintainer"
4279 msgstr ""
4280
4281 #. type: Content of: <chapter><section><title>
4282 #: new-maintainer.dbk:9
4283 msgid "Getting started"
4284 msgstr ""
4285
4286 #. type: Content of: <chapter><section><para>
4287 #: new-maintainer.dbk:11
4288 msgid ""
4289 "So, you've read all the documentation, you've gone through the <ulink "
4290 "url=\"&url-newmaint-guide;\">Debian New Maintainers' Guide</ulink>, "
4291 "understand what everything in the <systemitem "
4292 "role=\"package\">hello</systemitem> example package is for, and you're about "
4293 "to Debianize your favorite piece of software.  How do you actually become a "
4294 "Debian developer so that your work can be incorporated into the Project?"
4295 msgstr ""
4296
4297 #. type: Content of: <chapter><section><para>
4298 #: new-maintainer.dbk:19
4299 msgid ""
4300 "Firstly, subscribe to &email-debian-devel; if you haven't already.  Send the "
4301 "word <literal>subscribe</literal> in the <literal>Subject</literal> of an "
4302 "email to &email-debian-devel-req;.  In case of problems, contact the list "
4303 "administrator at &email-listmaster;.  More information on available mailing "
4304 "lists can be found in <xref linkend=\"mailing-lists\"/>.  "
4305 "&email-debian-devel-announce; is another list which is mandatory for anyone "
4306 "who wishes to follow Debian's development."
4307 msgstr ""
4308
4309 #. type: Content of: <chapter><section><para>
4310 #: new-maintainer.dbk:29
4311 msgid ""
4312 "You should subscribe and lurk (that is, read without posting) for a bit "
4313 "before doing any coding, and you should post about your intentions to work "
4314 "on something to avoid duplicated effort."
4315 msgstr ""
4316
4317 #. type: Content of: <chapter><section><para>
4318 #: new-maintainer.dbk:34
4319 msgid ""
4320 "Another good list to subscribe to is &email-debian-mentors;.  See <xref "
4321 "linkend=\"mentors\"/> for details.  The IRC channel "
4322 "<literal>#debian</literal> can also be helpful; see <xref "
4323 "linkend=\"irc-channels\"/>."
4324 msgstr ""
4325
4326 #. type: Content of: <chapter><section><para>
4327 #: new-maintainer.dbk:40
4328 msgid ""
4329 "When you know how you want to contribute to &debian-formal;, you should get "
4330 "in contact with existing Debian maintainers who are working on similar "
4331 "tasks.  That way, you can learn from experienced developers.  For example, "
4332 "if you are interested in packaging existing software for Debian, you should "
4333 "try to get a sponsor.  A sponsor will work together with you on your package "
4334 "and upload it to the Debian archive once they are happy with the packaging "
4335 "work you have done.  You can find a sponsor by mailing the "
4336 "&email-debian-mentors; mailing list, describing your package and yourself "
4337 "and asking for a sponsor (see <xref linkend=\"sponsoring\"/> and <ulink "
4338 "url=\"&url-mentors;\"></ulink> for more information on sponsoring).  On the "
4339 "other hand, if you are interested in porting Debian to alternative "
4340 "architectures or kernels you can subscribe to port specific mailing lists "
4341 "and ask there how to get started.  Finally, if you are interested in "
4342 "documentation or Quality Assurance (QA) work you can join maintainers "
4343 "already working on these tasks and submit patches and improvements."
4344 msgstr ""
4345
4346 #. type: Content of: <chapter><section><para>
4347 #: new-maintainer.dbk:57
4348 msgid ""
4349 "One pitfall could be a too-generic local part in your mailadress: Terms like "
4350 "mail, admin, root, master should be avoided, please see <ulink "
4351 "url=\"&url-debian-lists;\"></ulink> for details."
4352 msgstr ""
4353
4354 #. type: Content of: <chapter><section><title>
4355 #: new-maintainer.dbk:64
4356 msgid "Debian mentors and sponsors"
4357 msgstr ""
4358
4359 #. type: Content of: <chapter><section><para>
4360 #: new-maintainer.dbk:66
4361 msgid ""
4362 "The mailing list &email-debian-mentors; has been set up for novice "
4363 "maintainers who seek help with initial packaging and other developer-related "
4364 "issues.  Every new developer is invited to subscribe to that list (see <xref "
4365 "linkend=\"mailing-lists\"/> for details)."
4366 msgstr ""
4367
4368 #. type: Content of: <chapter><section><para>
4369 #: new-maintainer.dbk:72
4370 msgid ""
4371 "Those who prefer one-on-one help (e.g., via private email) should also post "
4372 "to that list and an experienced developer will volunteer to help."
4373 msgstr ""
4374
4375 #. type: Content of: <chapter><section><para>
4376 #: new-maintainer.dbk:76
4377 msgid ""
4378 "In addition, if you have some packages ready for inclusion in Debian, but "
4379 "are waiting for your new maintainer application to go through, you might be "
4380 "able find a sponsor to upload your package for you.  Sponsors are people who "
4381 "are official Debian Developers, and who are willing to criticize and upload "
4382 "your packages for you. Please read the debian-mentors FAQ at <ulink "
4383 "url=\"&url-mentors;\"></ulink> first."
4384 msgstr ""
4385
4386 #. type: Content of: <chapter><section><para>
4387 #: new-maintainer.dbk:84
4388 msgid ""
4389 "If you wish to be a mentor and/or sponsor, more information is available in "
4390 "<xref linkend=\"newmaint\"/>."
4391 msgstr ""
4392
4393 #. type: Content of: <chapter><section><title>
4394 #: new-maintainer.dbk:90
4395 msgid "Registering as a Debian developer"
4396 msgstr ""
4397
4398 #. type: Content of: <chapter><section><para>
4399 #: new-maintainer.dbk:92
4400 msgid ""
4401 "Before you decide to register with &debian-formal;, you will need to read "
4402 "all the information available at the <ulink url=\"&url-newmaint;\">New "
4403 "Maintainer's Corner</ulink>.  It describes in detail the preparations you "
4404 "have to do before you can register to become a Debian developer.  For "
4405 "example, before you apply, you have to read the <ulink "
4406 "url=\"&url-social-contract;\">Debian Social Contract</ulink>.  Registering "
4407 "as a developer means that you agree with and pledge to uphold the Debian "
4408 "Social Contract; it is very important that maintainers are in accord with "
4409 "the essential ideas behind &debian-formal;.  Reading the <ulink "
4410 "url=\"&url-gnu-manifesto;\">GNU Manifesto</ulink> would also be a good idea."
4411 msgstr ""
4412
4413 #. type: Content of: <chapter><section><para>
4414 #: new-maintainer.dbk:106
4415 msgid ""
4416 "The process of registering as a developer is a process of verifying your "
4417 "identity and intentions, and checking your technical skills.  As the number "
4418 "of people working on &debian-formal; has grown to over "
4419 "&number-of-maintainers; and our systems are used in several very important "
4420 "places, we have to be careful about being compromised.  Therefore, we need "
4421 "to verify new maintainers before we can give them accounts on our servers "
4422 "and let them upload packages."
4423 msgstr ""
4424
4425 #. type: Content of: <chapter><section><para>
4426 #: new-maintainer.dbk:115
4427 msgid ""
4428 "Before you actually register you should have shown that you can do competent "
4429 "work and will be a good contributor.  You show this by submitting patches "
4430 "through the Bug Tracking System and having a package sponsored by an "
4431 "existing Debian Developer for a while.  Also, we expect that contributors "
4432 "are interested in the whole project and not just in maintaining their own "
4433 "packages.  If you can help other maintainers by providing further "
4434 "information on a bug or even a patch, then do so!"
4435 msgstr ""
4436
4437 #. type: Content of: <chapter><section><para>
4438 #: new-maintainer.dbk:124
4439 msgid ""
4440 "Registration requires that you are familiar with Debian's philosophy and "
4441 "technical documentation.  Furthermore, you need a GnuPG key which has been "
4442 "signed by an existing Debian maintainer.  If your GnuPG key is not signed "
4443 "yet, you should try to meet a Debian Developer in person to get your key "
4444 "signed.  There's a <ulink url=\"&url-gpg-coord;\">GnuPG Key Signing "
4445 "Coordination page</ulink> which should help you find a Debian Developer "
4446 "close to you.  (If there is no Debian Developer close to you, alternative "
4447 "ways to pass the ID check may be permitted as an absolute exception on a "
4448 "case-by-case-basis.  See the <ulink url=\"&url-newmaint-id;\">identification "
4449 "page</ulink> for more information.)"
4450 msgstr ""
4451
4452 #. type: Content of: <chapter><section><para>
4453 #: new-maintainer.dbk:137
4454 msgid ""
4455 "If you do not have an OpenPGP key yet, generate one.  Every developer needs "
4456 "an OpenPGP key in order to sign and verify package uploads.  You should read "
4457 "the manual for the software you are using, since it has much important "
4458 "information which is critical to its security.  Many more security failures "
4459 "are due to human error than to software failure or high-powered spy "
4460 "techniques.  See <xref linkend=\"key-maint\"/> for more information on "
4461 "maintaining your public key."
4462 msgstr ""
4463
4464 #. type: Content of: <chapter><section><para>
4465 #: new-maintainer.dbk:145
4466 msgid ""
4467 "Debian uses the <literal>GNU Privacy Guard</literal> (package <systemitem "
4468 "role=\"package\">gnupg</systemitem> version 1 or better) as its baseline "
4469 "standard.  You can use some other implementation of OpenPGP as well.  Note "
4470 "that OpenPGP is an open standard based on <ulink url=\"&url-rfc2440;\">RFC "
4471 "2440</ulink>."
4472 msgstr ""
4473
4474 #. type: Content of: <chapter><section><para><footnote><para>
4475 #: new-maintainer.dbk:155
4476 msgid ""
4477 "Version 4 keys are keys conforming to the OpenPGP standard as defined in RFC "
4478 "2440.  Version 4 is the key type that has always been created when using "
4479 "GnuPG.  PGP versions since 5.x also could create v4 keys, the other choice "
4480 "having been pgp 2.6.x compatible v3 keys (also called legacy RSA by PGP)."
4481 msgstr ""
4482
4483 #. type: Content of: <chapter><section><para><footnote><para>
4484 #: new-maintainer.dbk:159
4485 msgid ""
4486 "Version 4 (primary) keys can either use the RSA or the DSA algorithms, so "
4487 "this has nothing to do with GnuPG's question about which kind of key do you "
4488 "want: (1) DSA and Elgamal, (2)  DSA (sign only), (5) RSA (sign only).  If "
4489 "you don't have any special requirements just pick the default."
4490 msgstr ""
4491
4492 #. type: Content of: <chapter><section><para><footnote><para>
4493 #: new-maintainer.dbk:163
4494 msgid ""
4495 "The easiest way to tell whether an existing key is a v4 key or a v3 (or v2) "
4496 "key is to look at the fingerprint: Fingerprints of version 4 keys are the "
4497 "SHA-1 hash of some key material, so they are 40 hex digits, usually grouped "
4498 "in blocks of 4.  Fingerprints of older key format versions used MD5 and are "
4499 "generally shown in blocks of 2 hex digits.  For example if your fingerprint "
4500 "looks like "
4501 "<literal>5B00 C96D 5D54 AEE1 206B  AF84 DE7A AF6E 94C0 9C7F</literal> then "
4502 "it's a v4 key."
4503 msgstr ""
4504
4505 #. type: Content of: <chapter><section><para><footnote><para>
4506 #: new-maintainer.dbk:170
4507 msgid ""
4508 "Another possibility is to pipe the key into <command>pgpdump</command>, "
4509 "which will say something like Public Key Packet - Ver 4."
4510 msgstr ""
4511
4512 #. type: Content of: <chapter><section><para><footnote><para>
4513 #: new-maintainer.dbk:172
4514 msgid ""
4515 "Also note that your key must be self-signed (i.e.  it has to sign all its "
4516 "own user IDs; this prevents user ID tampering).  All modern OpenPGP software "
4517 "does that automatically, but if you have an older key you may have to "
4518 "manually add those signatures."
4519 msgstr ""
4520
4521 #. type: Content of: <chapter><section><para>
4522 #: new-maintainer.dbk:152
4523 msgid ""
4524 "You need a version 4 key for use in Debian Development. <ulink "
4525 "url=\"http://lists.debian.org/20090520092534.GG22906@earth.li\">Your key "
4526 "length must be greater than 1024 bits</ulink>; there is no reason to use a "
4527 "smaller key, and doing so would be much less secure.<placeholder "
4528 "type=\"footnote\" id=\"0\"/>"
4529 msgstr ""
4530
4531 #. type: Content of: <chapter><section><para>
4532 #: new-maintainer.dbk:178
4533 msgid ""
4534 "If your public key isn't on a public key server such as &pgp-keyserv;, "
4535 "please read the documentation available at <ulink "
4536 "url=\"&url-newmaint-id;\">NM Step 2: Identification</ulink>.  That document "
4537 "contains instructions on how to put your key on the public key servers.  The "
4538 "New Maintainer Group will put your public key on the servers if it isn't "
4539 "already there."
4540 msgstr ""
4541
4542 #. type: Content of: <chapter><section><para>
4543 #: new-maintainer.dbk:186
4544 msgid ""
4545 "Some countries restrict the use of cryptographic software by their "
4546 "citizens.  This need not impede one's activities as a Debian package "
4547 "maintainer however, as it may be perfectly legal to use cryptographic "
4548 "products for authentication, rather than encryption purposes.  If you live "
4549 "in a country where use of cryptography even for authentication is forbidden "
4550 "then please contact us so we can make special arrangements."
4551 msgstr ""
4552
4553 #. type: Content of: <chapter><section><para>
4554 #: new-maintainer.dbk:194
4555 msgid ""
4556 "To apply as a new maintainer, you need an existing Debian Developer to "
4557 "support your application (an <literal>advocate</literal>).  After you have "
4558 "contributed to Debian for a while, and you want to apply to become a "
4559 "registered developer, an existing developer with whom you have worked over "
4560 "the past months has to express their belief that you can contribute to "
4561 "Debian successfully."
4562 msgstr ""
4563
4564 #. type: Content of: <chapter><section><para>
4565 #: new-maintainer.dbk:201
4566 msgid ""
4567 "When you have found an advocate, have your GnuPG key signed and have already "
4568 "contributed to Debian for a while, you're ready to apply.  You can simply "
4569 "register on our <ulink url=\"&url-newmaint-apply;\">application "
4570 "page</ulink>.  After you have signed up, your advocate has to confirm your "
4571 "application.  When your advocate has completed this step you will be "
4572 "assigned an Application Manager who will go with you through the necessary "
4573 "steps of the New Maintainer process.  You can always check your status on "
4574 "the <ulink url=\"&url-newmaint-db;\">applications status board</ulink>."
4575 msgstr ""
4576
4577 #. type: Content of: <chapter><section><para>
4578 #: new-maintainer.dbk:211
4579 msgid ""
4580 "For more details, please consult <ulink url=\"&url-newmaint;\">New "
4581 "Maintainer's Corner</ulink> at the Debian web site.  Make sure that you are "
4582 "familiar with the necessary steps of the New Maintainer process before "
4583 "actually applying.  If you are well prepared, you can save a lot of time "
4584 "later on."
4585 msgstr ""
4586
4587 #. type: Content of: <chapter><title>
4588 #: pkgs.dbk:7
4589 msgid "Managing Packages"
4590 msgstr ""
4591
4592 #. type: Content of: <chapter><para>
4593 #: pkgs.dbk:9
4594 msgid ""
4595 "This chapter contains information related to creating, uploading, "
4596 "maintaining, and porting packages."
4597 msgstr ""
4598
4599 #. type: Content of: <chapter><section><title>
4600 #: pkgs.dbk:13
4601 msgid "New packages"
4602 msgstr ""
4603
4604 #. type: Content of: <chapter><section><para>
4605 #: pkgs.dbk:15
4606 msgid ""
4607 "If you want to create a new package for the Debian distribution, you should "
4608 "first check the <ulink url=\"&url-wnpp;\">Work-Needing and Prospective "
4609 "Packages (WNPP)</ulink> list.  Checking the WNPP list ensures that no one is "
4610 "already working on packaging that software, and that effort is not "
4611 "duplicated.  Read the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink> for "
4612 "more information."
4613 msgstr ""
4614
4615 #. type: Content of: <chapter><section><para>
4616 #: pkgs.dbk:23
4617 msgid ""
4618 "Assuming no one else is already working on your prospective package, you "
4619 "must then submit a bug report (<xref linkend=\"submit-bug\"/>) against the "
4620 "pseudo-package <systemitem role=\"package\">wnpp</systemitem> describing "
4621 "your plan to create a new package, including, but not limiting yourself to, "
4622 "a description of the package, the license of the prospective package, and "
4623 "the current URL where it can be downloaded from."
4624 msgstr ""
4625
4626 #. type: Content of: <chapter><section><para>
4627 #: pkgs.dbk:31
4628 msgid ""
4629 "You should set the subject of the bug to <literal>ITP: "
4630 "<replaceable>foo</replaceable> -- <replaceable>short "
4631 "description</replaceable></literal>, substituting the name of the new "
4632 "package for <replaceable>foo</replaceable>.  The severity of the bug report "
4633 "must be set to <literal>wishlist</literal>.  Please send a copy to "
4634 "&email-debian-devel; by using the X-Debbugs-CC header (don't use CC:, "
4635 "because that way the message's subject won't indicate the bug number). If "
4636 "you are packaging so many new packages (>10)  that notifying the mailing "
4637 "list in separate messages is too disruptive, send a summary after filing the "
4638 "bugs to the debian-devel list instead.  This will inform the other "
4639 "developers about upcoming packages and will allow a review of your "
4640 "description and package name."
4641 msgstr ""
4642
4643 #. type: Content of: <chapter><section><para>
4644 #: pkgs.dbk:45
4645 msgid ""
4646 "Please include a <literal>Closes: "
4647 "#<replaceable>nnnnn</replaceable></literal> entry in the changelog of the "
4648 "new package in order for the bug report to be automatically closed once the "
4649 "new package is installed in the archive (see <xref "
4650 "linkend=\"upload-bugfix\"/>)."
4651 msgstr ""
4652
4653 #. type: Content of: <chapter><section><para>
4654 #: pkgs.dbk:51
4655 msgid ""
4656 "If you think your package needs some explanations for the administrators of "
4657 "the NEW package queue, include them in your changelog, send to "
4658 "&email-ftpmaster; a reply to the email you receive as a maintainer after "
4659 "your upload, or reply to the rejection email in case you are already "
4660 "re-uploading."
4661 msgstr ""
4662
4663 #. type: Content of: <chapter><section><para>
4664 #: pkgs.dbk:57
4665 msgid ""
4666 "When closing security bugs include CVE numbers as well as the "
4667 "<literal>Closes: #<replaceable>nnnnn</replaceable></literal>.  This is "
4668 "useful for the security team to track vulnerabilities.  If an upload is made "
4669 "to fix the bug before the advisory ID is known, it is encouraged to modify "
4670 "the historical changelog entry with the next upload.  Even in this case, "
4671 "please include all available pointers to background information in the "
4672 "original changelog entry."
4673 msgstr ""
4674
4675 #. type: Content of: <chapter><section><para>
4676 #: pkgs.dbk:66
4677 msgid ""
4678 "There are a number of reasons why we ask maintainers to announce their "
4679 "intentions:"
4680 msgstr ""
4681
4682 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4683 #: pkgs.dbk:72
4684 msgid ""
4685 "It helps the (potentially new) maintainer to tap into the experience of "
4686 "people on the list, and lets them know if anyone else is working on it "
4687 "already."
4688 msgstr ""
4689
4690 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4691 #: pkgs.dbk:78
4692 msgid ""
4693 "It lets other people thinking about working on the package know that there "
4694 "already is a volunteer, so efforts may be shared."
4695 msgstr ""
4696
4697 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4698 #: pkgs.dbk:84
4699 msgid ""
4700 "It lets the rest of the maintainers know more about the package than the one "
4701 "line description and the usual changelog entry ``Initial release'' that gets "
4702 "posted to &email-debian-devel-changes;."
4703 msgstr ""
4704
4705 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4706 #: pkgs.dbk:91
4707 msgid ""
4708 "It is helpful to the people who live off <literal>unstable</literal> (and "
4709 "form our first line of testers).  We should encourage these people."
4710 msgstr ""
4711
4712 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4713 #: pkgs.dbk:97
4714 msgid ""
4715 "The announcements give maintainers and other interested parties a better "
4716 "feel of what is going on, and what is new, in the project."
4717 msgstr ""
4718
4719 #. type: Content of: <chapter><section><para>
4720 #: pkgs.dbk:103
4721 msgid ""
4722 "Please see <ulink url=\"http://&ftp-master-host;/REJECT-FAQ.html\"></ulink> "
4723 "for common rejection reasons for a new package."
4724 msgstr ""
4725
4726 #. type: Content of: <chapter><section><title>
4727 #: pkgs.dbk:109
4728 msgid "Recording changes in the package"
4729 msgstr ""
4730
4731 #. type: Content of: <chapter><section><para>
4732 #: pkgs.dbk:111
4733 msgid ""
4734 "Changes that you make to the package need to be recorded in the "
4735 "<filename>debian/changelog</filename>.  These changes should provide a "
4736 "concise description of what was changed, why (if it's in doubt), and note if "
4737 "any bugs were closed.  They also record when the package was completed.  "
4738 "This file will be installed in "
4739 "<filename>/usr/share/doc/<replaceable>package</replaceable>/changelog.Debian.gz</filename>, "
4740 "or "
4741 "<filename>/usr/share/doc/<replaceable>package</replaceable>/changelog.gz</filename> "
4742 "for native packages."
4743 msgstr ""
4744
4745 #. type: Content of: <chapter><section><para>
4746 #: pkgs.dbk:122
4747 msgid ""
4748 "The <filename>debian/changelog</filename> file conforms to a certain "
4749 "structure, with a number of different fields.  One field of note, the "
4750 "<literal>distribution</literal>, is described in <xref "
4751 "linkend=\"distribution\"/>.  More information about the structure of this "
4752 "file can be found in the Debian Policy section titled "
4753 "<filename>debian/changelog</filename>."
4754 msgstr ""
4755
4756 #. type: Content of: <chapter><section><para>
4757 #: pkgs.dbk:130
4758 msgid ""
4759 "Changelog entries can be used to automatically close Debian bugs when the "
4760 "package is installed into the archive.  See <xref "
4761 "linkend=\"upload-bugfix\"/>."
4762 msgstr ""
4763
4764 #. type: Content of: <chapter><section><para>
4765 #: pkgs.dbk:134
4766 msgid ""
4767 "It is conventional that the changelog entry of a package that contains a new "
4768 "upstream version of the software looks like this:"
4769 msgstr ""
4770
4771 #. type: Content of: <chapter><section><screen>
4772 #: pkgs.dbk:138
4773 #, no-wrap
4774 msgid "  * New upstream release.\n"
4775 msgstr ""
4776
4777 #. type: Content of: <chapter><section><para>
4778 #: pkgs.dbk:141
4779 msgid ""
4780 "There are tools to help you create entries and finalize the "
4781 "<filename>changelog</filename> for release — see <xref "
4782 "linkend=\"devscripts\"/> and <xref linkend=\"dpkg-dev-el\"/>."
4783 msgstr ""
4784
4785 #. type: Content of: <chapter><section><para>
4786 #: pkgs.dbk:146
4787 msgid "See also <xref linkend=\"bpp-debian-changelog\"/>."
4788 msgstr ""
4789
4790 #. type: Content of: <chapter><section><title>
4791 #: pkgs.dbk:151
4792 msgid "Testing the package"
4793 msgstr ""
4794
4795 #. type: Content of: <chapter><section><para>
4796 #: pkgs.dbk:153
4797 msgid ""
4798 "Before you upload your package, you should do basic testing on it.  At a "
4799 "minimum, you should try the following activities (you'll need to have an "
4800 "older version of the same Debian package around):"
4801 msgstr ""
4802
4803 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4804 #: pkgs.dbk:160
4805 msgid ""
4806 "Install the package and make sure the software works, or upgrade the package "
4807 "from an older version to your new version if a Debian package for it already "
4808 "exists."
4809 msgstr ""
4810
4811 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4812 #: pkgs.dbk:167
4813 msgid ""
4814 "Run <command>lintian</command> over the package.  You can run "
4815 "<command>lintian</command> as follows: <literal>lintian -v "
4816 "<replaceable>package-version</replaceable>.changes</literal>.  This will "
4817 "check the source package as well as the binary package.  If you don't "
4818 "understand the output that <command>lintian</command> generates, try adding "
4819 "the <literal>-i</literal> switch, which will cause "
4820 "<command>lintian</command> to output a very verbose description of the "
4821 "problem."
4822 msgstr ""
4823
4824 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4825 #: pkgs.dbk:176
4826 msgid ""
4827 "Normally, a package should <emphasis>not</emphasis> be uploaded if it causes "
4828 "<command>lintian</command> to emit errors (they will start with "
4829 "<literal>E</literal>)."
4830 msgstr ""
4831
4832 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4833 #: pkgs.dbk:180
4834 msgid ""
4835 "For more information on <command>lintian</command>, see <xref "
4836 "linkend=\"lintian\"/>."
4837 msgstr ""
4838
4839 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4840 #: pkgs.dbk:186
4841 msgid ""
4842 "Optionally run <command>debdiff</command> (see <xref linkend=\"debdiff\"/>) "
4843 "to analyze changes from an older version, if one exists."
4844 msgstr ""
4845
4846 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4847 #: pkgs.dbk:192
4848 msgid ""
4849 "Downgrade the package to the previous version (if one exists) — this tests "
4850 "the <filename>postrm</filename> and <filename>prerm</filename> scripts."
4851 msgstr ""
4852
4853 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4854 #: pkgs.dbk:198
4855 msgid "Remove the package, then reinstall it."
4856 msgstr ""
4857
4858 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4859 #: pkgs.dbk:203
4860 msgid ""
4861 "Copy the source package in a different directory and try unpacking it and "
4862 "rebuilding it.  This tests if the package relies on existing files outside "
4863 "of it, or if it relies on permissions being preserved on the files shipped "
4864 "inside the <filename>.diff.gz</filename> file."
4865 msgstr ""
4866
4867 #. type: Content of: <chapter><section><title>
4868 #: pkgs.dbk:213
4869 msgid "Layout of the source package"
4870 msgstr ""
4871
4872 #. type: Content of: <chapter><section><para>
4873 #: pkgs.dbk:215
4874 msgid "There are two types of Debian source packages:"
4875 msgstr ""
4876
4877 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4878 #: pkgs.dbk:220
4879 msgid ""
4880 "the so-called <literal>native</literal> packages, where there is no "
4881 "distinction between the original sources and the patches applied for Debian"
4882 msgstr ""
4883
4884 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4885 #: pkgs.dbk:226
4886 msgid ""
4887 "the (more common) packages where there's an original source tarball file "
4888 "accompanied by another file that contains the changes made by Debian"
4889 msgstr ""
4890
4891 #. type: Content of: <chapter><section><para>
4892 #: pkgs.dbk:232
4893 msgid ""
4894 "For the native packages, the source package includes a Debian source control "
4895 "file (<filename>.dsc</filename>) and the source tarball "
4896 "(<filename>.tar.{gz,bz2,xz}</filename>). A source package of a non-native "
4897 "package includes a Debian source control file, the original source tarball "
4898 "(<filename>.orig.tar.{gz,bz2,xz}</filename>) and the Debian changes "
4899 "(<filename>.diff.gz</filename> for the source format “1.0” or "
4900 "<filename>.debian.tar.{gz,bz2,xz}</filename> for the source format “3.0 "
4901 "(quilt)”)."
4902 msgstr ""
4903
4904 #. type: Content of: <chapter><section><para>
4905 #: pkgs.dbk:241
4906 msgid ""
4907 "With source format “1.0”, whether a package is native or not was determined "
4908 "by <command>dpkg-source</command> at build time. Nowadays it is recommended "
4909 "to be explicit about the desired source format by putting either “3.0 "
4910 "(quilt)” or “3.0 (native)” in <filename>debian/source/format</filename>.  "
4911 "The rest of this section relates only to non-native packages."
4912 msgstr ""
4913
4914 #. type: Content of: <chapter><section><para>
4915 #: pkgs.dbk:248
4916 msgid ""
4917 "The first time a version is uploaded which corresponds to a particular "
4918 "upstream version, the original source tar file should be uploaded and "
4919 "included in the <filename>.changes</filename> file.  Subsequently, this very "
4920 "same tar file should be used to build the new diffs and "
4921 "<filename>.dsc</filename> files, and will not need to be re-uploaded."
4922 msgstr ""
4923
4924 #. type: Content of: <chapter><section><para>
4925 #: pkgs.dbk:255
4926 msgid ""
4927 "By default, <command>dpkg-genchanges</command> and "
4928 "<command>dpkg-buildpackage</command> will include the original source tar "
4929 "file if and only if the current changelog entry has a different upstream "
4930 "version from the preceding entry. This behavior may be modified by using "
4931 "<literal>-sa</literal> to always include it or <literal>-sd</literal> to "
4932 "always leave it out."
4933 msgstr ""
4934
4935 #. type: Content of: <chapter><section><para>
4936 #: pkgs.dbk:263
4937 msgid ""
4938 "If no original source is included in the upload, the original source "
4939 "tar-file used by <command>dpkg-source</command> when constructing the "
4940 "<filename>.dsc</filename> file and diff to be uploaded "
4941 "<emphasis>must</emphasis> be byte-for-byte identical with the one already in "
4942 "the archive."
4943 msgstr ""
4944
4945 #. type: Content of: <chapter><section><para>
4946 #: pkgs.dbk:270
4947 msgid ""
4948 "Please notice that, in non-native packages, permissions on files that are "
4949 "not present in the <filename>*.orig.tar.{gz,bz2,xz}</filename> will not be "
4950 "preserved, as diff does not store file permissions in the patch. However "
4951 "when using source format “3.0 (quilt)”, permissions of files inside the "
4952 "<filename>debian</filename> directory are preserved since they are stored in "
4953 "a tar archive."
4954 msgstr ""
4955
4956 #. type: Content of: <chapter><section><title>
4957 #: pkgs.dbk:279
4958 msgid "Picking a distribution"
4959 msgstr ""
4960
4961 #. type: Content of: <chapter><section><para>
4962 #: pkgs.dbk:281
4963 msgid ""
4964 "Each upload needs to specify which distribution the package is intended "
4965 "for.  The package build process extracts this information from the first "
4966 "line of the <filename>debian/changelog</filename> file and places it in the "
4967 "<literal>Distribution</literal> field of the <filename>.changes</filename> "
4968 "file."
4969 msgstr ""
4970
4971 #. type: Content of: <chapter><section><para>
4972 #: pkgs.dbk:287
4973 msgid ""
4974 "There are several possible values for this field: <literal>stable</literal>, "
4975 "<literal>unstable</literal>, <literal>testing-proposed-updates</literal> and "
4976 "<literal>experimental</literal>.  Normally, packages are uploaded into "
4977 "<literal>unstable</literal>."
4978 msgstr ""
4979
4980 #. type: Content of: <chapter><section><para>
4981 #: pkgs.dbk:293
4982 msgid ""
4983 "Actually, there are two other possible distributions: "
4984 "<literal>stable-security</literal> and <literal>testing-security</literal>, "
4985 "but read <xref linkend=\"bug-security\"/> for more information on those."
4986 msgstr ""
4987
4988 #. type: Content of: <chapter><section><para>
4989 #: pkgs.dbk:298
4990 msgid ""
4991 "It is not possible to upload a package into several distributions at the "
4992 "same time."
4993 msgstr ""
4994
4995 #. type: Content of: <chapter><section><section><title>
4996 #: pkgs.dbk:302
4997 msgid ""
4998 "Special case: uploads to the <literal>stable</literal> and "
4999 "<literal>oldstable</literal> distributions"
5000 msgstr ""
5001
5002 #. type: Content of: <chapter><section><section><para>
5003 #: pkgs.dbk:305
5004 msgid ""
5005 "Uploading to <literal>stable</literal> means that the package will "
5006 "transferred to the <literal>proposed-updates-new</literal> queue for review "
5007 "by the stable release managers, and if approved will be installed in "
5008 "<filename>stable-proposed-updates</filename> directory of the Debian "
5009 "archive.  From there, it will be included in <literal>stable</literal> with "
5010 "the next point release."
5011 msgstr ""
5012
5013 #. type: Content of: <chapter><section><section><para>
5014 #: pkgs.dbk:313
5015 msgid ""
5016 "To ensure that your upload will be accepted, you should discuss the changes "
5017 "with the stable release team before you upload. For that, file a bug against "
5018 "the <systemitem role=\"package\">release.debian.org</systemitem> "
5019 "pseudo-package using <command>reportbug</command>, including the patch you "
5020 "want to apply to the package version currently in "
5021 "<literal>stable</literal>. Always be verbose and detailed in your changelog "
5022 "entries for uploads to the <literal>stable</literal> distribution."
5023 msgstr ""
5024
5025 #. type: Content of: <chapter><section><section><para>
5026 #: pkgs.dbk:322
5027 msgid ""
5028 "Extra care should be taken when uploading to <literal>stable</literal>.  "
5029 "Basically, a package should only be uploaded to <literal>stable</literal> if "
5030 "one of the following happens:"
5031 msgstr ""
5032
5033 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5034 #: pkgs.dbk:329
5035 msgid "a truly critical functionality problem"
5036 msgstr ""
5037
5038 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5039 #: pkgs.dbk:334
5040 msgid "the package becomes uninstallable"
5041 msgstr ""
5042
5043 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5044 #: pkgs.dbk:339
5045 msgid "a released architecture lacks the package"
5046 msgstr ""
5047
5048 #. type: Content of: <chapter><section><section><para>
5049 #: pkgs.dbk:344
5050 msgid ""
5051 "In the past, uploads to <literal>stable</literal> were used to address "
5052 "security problems as well.  However, this practice is deprecated, as uploads "
5053 "used for Debian security advisories are automatically copied to the "
5054 "appropriate <filename>proposed-updates</filename> archive when the advisory "
5055 "is released.  See <xref linkend=\"bug-security\"/> for detailed information "
5056 "on handling security problems. If the security teams deems the problem to be "
5057 "too benign to be fixed through a <literal>DSA</literal>, the stable release "
5058 "managers are usually willing to include your fix nonetheless in a regular "
5059 "upload to <literal>stable</literal>."
5060 msgstr ""
5061
5062 #. type: Content of: <chapter><section><section><para>
5063 #: pkgs.dbk:355
5064 msgid ""
5065 "Changing anything else in the package that isn't important is discouraged, "
5066 "because even trivial fixes can cause bugs later on."
5067 msgstr ""
5068
5069 #. type: Content of: <chapter><section><section><para>
5070 #: pkgs.dbk:359
5071 msgid ""
5072 "Packages uploaded to <literal>stable</literal> need to be compiled on "
5073 "systems running <literal>stable</literal>, so that their dependencies are "
5074 "limited to the libraries (and other packages) available in "
5075 "<literal>stable</literal>; for example, a package uploaded to "
5076 "<literal>stable</literal> that depends on a library package that only exists "
5077 "in <literal>unstable</literal> will be rejected.  Making changes to "
5078 "dependencies of other packages (by messing with <literal>Provides</literal> "
5079 "or <filename>shlibs</filename> files), possibly making those other packages "
5080 "uninstallable, is strongly discouraged."
5081 msgstr ""
5082
5083 #. type: Content of: <chapter><section><section><para>
5084 #: pkgs.dbk:369
5085 msgid ""
5086 "Uploads to the <literal>oldstable</literal> distributions are possible as "
5087 "long as it hasn't been archived. The same rules as for "
5088 "<literal>stable</literal> apply."
5089 msgstr ""
5090
5091 #. type: Content of: <chapter><section><section><title>
5092 #: pkgs.dbk:376
5093 msgid "Special case: uploads to <literal>testing/testing-proposed-updates</literal>"
5094 msgstr ""
5095
5096 #. type: Content of: <chapter><section><section><para>
5097 #: pkgs.dbk:378
5098 msgid ""
5099 "Please see the information in the <link linkend=\"t-p-u\">testing "
5100 "section</link> for details."
5101 msgstr ""
5102
5103 #. type: Content of: <chapter><section><title>
5104 #: pkgs.dbk:386
5105 msgid "Uploading a package"
5106 msgstr ""
5107
5108 #. type: Content of: <chapter><section><section><title>
5109 #: pkgs.dbk:388
5110 msgid "Uploading to <literal>ftp-master</literal>"
5111 msgstr ""
5112
5113 #. type: Content of: <chapter><section><section><para>
5114 #: pkgs.dbk:390
5115 msgid ""
5116 "To upload a package, you should upload the files (including the signed "
5117 "changes and dsc-file) with anonymous ftp to "
5118 "<literal>&ftp-upload-host;</literal> in the directory <ulink "
5119 "url=\"ftp://&ftp-upload-host;&upload-queue;\">&upload-queue;</ulink>.  To "
5120 "get the files processed there, they need to be signed with a key in the "
5121 "Debian Developers keyring or the Debian Maintainers keyring (see <ulink "
5122 "url=\"&url-wiki-dm;\"></ulink>)."
5123 msgstr ""
5124
5125 #. type: Content of: <chapter><section><section><para>
5126 #: pkgs.dbk:399
5127 msgid ""
5128 "Please note that you should transfer the changes file last.  Otherwise, your "
5129 "upload may be rejected because the archive maintenance software will parse "
5130 "the changes file and see that not all files have been uploaded."
5131 msgstr ""
5132
5133 #. type: Content of: <chapter><section><section><para>
5134 #: pkgs.dbk:404
5135 msgid ""
5136 "You may also find the Debian packages <link "
5137 "linkend=\"dupload\">dupload</link> or <link linkend=\"dput\">dput</link> "
5138 "useful when uploading packages.These handy programs help automate the "
5139 "process of uploading packages into Debian."
5140 msgstr ""
5141
5142 #. type: Content of: <chapter><section><section><para>
5143 #: pkgs.dbk:409
5144 msgid ""
5145 "For removing packages, please see <ulink "
5146 "url=\"ftp://&ftp-upload-host;&upload-queue;README\"/> and the Debian package "
5147 "<link linkend=\"dcut\">dcut</link>."
5148 msgstr ""
5149
5150 #. type: Content of: <chapter><section><section><title>
5151 #: pkgs.dbk:416
5152 msgid "Delayed uploads"
5153 msgstr ""
5154
5155 #. type: Content of: <chapter><section><section><para>
5156 #: pkgs.dbk:419
5157 msgid ""
5158 "It is sometimes useful to upload a package immediately, but to want this "
5159 "package to arrive in the archive only a few days later. For example, when "
5160 "preparing a <link linkend=\"nmu\">Non-Maintainer Upload</link>, you might "
5161 "want to give the maintainer a few days to react."
5162 msgstr ""
5163
5164 #. type: Content of: <chapter><section><section><para>
5165 #: pkgs.dbk:426
5166 msgid ""
5167 "An upload to the delayed directory keeps the package in <ulink "
5168 "url=\"http://ftp-master.debian.org/deferred.html\">the deferred uploads "
5169 "queue</ulink>.  When the specified waiting time is over, the package is "
5170 "moved into the regular incoming directory for processing.  This is done "
5171 "through automatic uploading to <literal>&ftp-upload-host;</literal> in "
5172 "upload-directory <literal>DELAYED/[012345678]-day</literal>. 0-day is "
5173 "uploaded multiple times per day to <literal>&ftp-upload-host;</literal>."
5174 msgstr ""
5175
5176 #. type: Content of: <chapter><section><section><para>
5177 #: pkgs.dbk:436
5178 msgid ""
5179 "With dput, you can use the <literal>--delayed "
5180 "<replaceable>DELAY</replaceable></literal> parameter to put the package into "
5181 "one of the queues."
5182 msgstr ""
5183
5184 #. type: Content of: <chapter><section><section><title>
5185 #: pkgs.dbk:442
5186 msgid "Security uploads"
5187 msgstr ""
5188
5189 #. type: Content of: <chapter><section><section><para>
5190 #: pkgs.dbk:444
5191 msgid ""
5192 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
5193 "upload queue (<literal>oldstable-security</literal>, "
5194 "<literal>stable-security</literal>, etc.) without prior authorization from "
5195 "the security team.  If the package does not exactly meet the team's "
5196 "requirements, it will cause many problems and delays in dealing with the "
5197 "unwanted upload.  For details, please see <xref linkend=\"bug-security\"/>."
5198 msgstr ""
5199
5200 #. type: Content of: <chapter><section><section><title>
5201 #: pkgs.dbk:454
5202 msgid "Other upload queues"
5203 msgstr ""
5204
5205 #. type: Content of: <chapter><section><section><para>
5206 #: pkgs.dbk:456
5207 msgid ""
5208 "There is an alternative upload queue in Europe at <ulink "
5209 "url=\"ftp://&ftp-eu-upload-host;&upload-queue;\"/>. It operates in the same "
5210 "way as <literal>&ftp-upload-host;</literal>, but should be faster for "
5211 "European developers."
5212 msgstr ""
5213
5214 #. type: Content of: <chapter><section><section><para>
5215 #: pkgs.dbk:462
5216 msgid ""
5217 "Packages can also be uploaded via ssh to "
5218 "<literal>&ssh-upload-host;</literal>; files should be put "
5219 "<literal>/srv/upload.debian.org/UploadQueue</literal>. This queue does not "
5220 "support <link linkend=\"delayed-incoming\">delayed uploads</link>."
5221 msgstr ""
5222
5223 #. type: Content of: <chapter><section><section><title>
5224 #: pkgs.dbk:470
5225 msgid "Notification that a new package has been installed"
5226 msgstr ""
5227
5228 #. type: Content of: <chapter><section><section><para>
5229 #: pkgs.dbk:472
5230 msgid ""
5231 "The Debian archive maintainers are responsible for handling package "
5232 "uploads.  For the most part, uploads are automatically handled on a daily "
5233 "basis by the archive maintenance tools, <command>dak "
5234 "process-upload</command>. Specifically, updates to existing packages to the "
5235 "<literal>unstable</literal> distribution are handled automatically. In other "
5236 "cases, notably new packages, placing the uploaded package into the "
5237 "distribution is handled manually. When uploads are handled manually, the "
5238 "change to the archive may take some time to occur. Please be patient."
5239 msgstr ""
5240
5241 #. type: Content of: <chapter><section><section><para>
5242 #: pkgs.dbk:482
5243 msgid ""
5244 "In any case, you will receive an email notification indicating that the "
5245 "package has been added to the archive, which also indicates which bugs will "
5246 "be closed by the upload.  Please examine this notification carefully, "
5247 "checking if any bugs you meant to close didn't get triggered."
5248 msgstr ""
5249
5250 #. type: Content of: <chapter><section><section><para>
5251 #: pkgs.dbk:488
5252 msgid ""
5253 "The installation notification also includes information on what section the "
5254 "package was inserted into.  If there is a disparity, you will receive a "
5255 "separate email notifying you of that.  Read on below."
5256 msgstr ""
5257
5258 #. type: Content of: <chapter><section><section><para>
5259 #: pkgs.dbk:493
5260 msgid ""
5261 "Note that if you upload via queues, the queue daemon software will also send "
5262 "you a notification by email."
5263 msgstr ""
5264
5265 #. type: Content of: <chapter><section><title>
5266 #: pkgs.dbk:501
5267 msgid "Specifying the package section, subsection and priority"
5268 msgstr ""
5269
5270 #. type: Content of: <chapter><section><para>
5271 #: pkgs.dbk:503
5272 msgid ""
5273 "The <filename>debian/control</filename> file's <literal>Section</literal> "
5274 "and <literal>Priority</literal> fields do not actually specify where the "
5275 "file will be placed in the archive, nor its priority.  In order to retain "
5276 "the overall integrity of the archive, it is the archive maintainers who have "
5277 "control over these fields.  The values in the "
5278 "<filename>debian/control</filename> file are actually just hints."
5279 msgstr ""
5280
5281 #. type: Content of: <chapter><section><para>
5282 #: pkgs.dbk:511
5283 msgid ""
5284 "The archive maintainers keep track of the canonical sections and priorities "
5285 "for packages in the <literal>override file</literal>.  If there is a "
5286 "disparity between the <literal>override file</literal> and the package's "
5287 "fields as indicated in <filename>debian/control</filename>, then you will "
5288 "receive an email noting the divergence when the package is installed into "
5289 "the archive.  You can either correct your "
5290 "<filename>debian/control</filename> file for your next upload, or else you "
5291 "may wish to make a change in the <literal>override file</literal>."
5292 msgstr ""
5293
5294 #. type: Content of: <chapter><section><para>
5295 #: pkgs.dbk:521
5296 msgid ""
5297 "To alter the actual section that a package is put in, you need to first make "
5298 "sure that the <filename>debian/control</filename> file in your package is "
5299 "accurate.  Next, submit a bug against <systemitem "
5300 "role=\"package\">ftp.debian.org</systemitem> requesting that the section or "
5301 "priority for your package be changed from the old section or priority to the "
5302 "new one. Use a Subject like <literal>override: PACKAGE1:section/priority, "
5303 "[...], PACKAGEX:section/priority</literal>, and include the justification "
5304 "for the change in the body of the bug report."
5305 msgstr ""
5306
5307 #. type: Content of: <chapter><section><para>
5308 #: pkgs.dbk:532
5309 msgid ""
5310 "For more information about <literal>override files</literal>, see "
5311 "<citerefentry> <refentrytitle>dpkg-scanpackages</refentrytitle> "
5312 "<manvolnum>1</manvolnum> </citerefentry> and <ulink "
5313 "url=\"&url-bts-devel;#maintincorrect\"></ulink>."
5314 msgstr ""
5315
5316 #. type: Content of: <chapter><section><para>
5317 #: pkgs.dbk:538
5318 msgid ""
5319 "Note that the <literal>Section</literal> field describes both the section as "
5320 "well as the subsection, which are described in <xref "
5321 "linkend=\"archive-sections\"/>.  If the section is main, it should be "
5322 "omitted.  The list of allowable subsections can be found in <ulink "
5323 "url=\"&url-debian-policy;ch-archive.html#s-subsections\"></ulink>."
5324 msgstr ""
5325
5326 #. type: Content of: <chapter><section><title>
5327 #: pkgs.dbk:547
5328 msgid "Handling bugs"
5329 msgstr ""
5330
5331 #. type: Content of: <chapter><section><para>
5332 #: pkgs.dbk:549
5333 msgid ""
5334 "Every developer has to be able to work with the Debian <ulink "
5335 "url=\"&url-bts;\">bug tracking system</ulink>.  This includes knowing how to "
5336 "file bug reports properly (see <xref linkend=\"submit-bug\"/>), how to "
5337 "update them and reorder them, and how to process and close them."
5338 msgstr ""
5339
5340 #. type: Content of: <chapter><section><para>
5341 #: pkgs.dbk:555
5342 msgid ""
5343 "The bug tracking system's features are described in the <ulink "
5344 "url=\"&url-bts-devel;\">BTS documentation for developers</ulink>.  This "
5345 "includes closing bugs, sending followup messages, assigning severities and "
5346 "tags, marking bugs as forwarded, and other issues."
5347 msgstr ""
5348
5349 #. type: Content of: <chapter><section><para>
5350 #: pkgs.dbk:561
5351 msgid ""
5352 "Operations such as reassigning bugs to other packages, merging separate bug "
5353 "reports about the same issue, or reopening bugs when they are prematurely "
5354 "closed, are handled using the so-called control mail server.  All of the "
5355 "commands available on this server are described in the <ulink "
5356 "url=\"&url-bts-control;\">BTS control server documentation</ulink>."
5357 msgstr ""
5358
5359 #. type: Content of: <chapter><section><section><title>
5360 #: pkgs.dbk:569
5361 msgid "Monitoring bugs"
5362 msgstr ""
5363
5364 #. type: Content of: <chapter><section><section><para>
5365 #: pkgs.dbk:571
5366 msgid ""
5367 "If you want to be a good maintainer, you should periodically check the "
5368 "<ulink url=\"&url-bts;\">Debian bug tracking system (BTS)</ulink> for your "
5369 "packages.  The BTS contains all the open bugs against your packages.  You "
5370 "can check them by browsing this page: "
5371 "<literal>http://&bugs-host;/<replaceable>yourlogin</replaceable>@debian.org</literal>."
5372 msgstr ""
5373
5374 #. type: Content of: <chapter><section><section><para>
5375 #: pkgs.dbk:578
5376 msgid ""
5377 "Maintainers interact with the BTS via email addresses at "
5378 "<literal>&bugs-host;</literal>.  Documentation on available commands can be "
5379 "found at <ulink url=\"&url-bts;\"></ulink>, or, if you have installed the "
5380 "<systemitem role=\"package\">doc-debian</systemitem> package, you can look "
5381 "at the local files &file-bts-docs;."
5382 msgstr ""
5383
5384 #. type: Content of: <chapter><section><section><para>
5385 #: pkgs.dbk:585
5386 msgid ""
5387 "Some find it useful to get periodic reports on open bugs.  You can add a "
5388 "cron job such as the following if you want to get a weekly email outlining "
5389 "all the open bugs against your packages:"
5390 msgstr ""
5391
5392 #. type: Content of: <chapter><section><section><screen>
5393 #: pkgs.dbk:590
5394 #, no-wrap
5395 msgid ""
5396 "# ask for weekly reports of bugs in my packages\n"
5397 "&cron-bug-report;\n"
5398 msgstr ""
5399
5400 #. type: Content of: <chapter><section><section><para>
5401 #: pkgs.dbk:594
5402 msgid ""
5403 "Replace <replaceable>address</replaceable> with your official Debian "
5404 "maintainer address."
5405 msgstr ""
5406
5407 #. type: Content of: <chapter><section><section><title>
5408 #: pkgs.dbk:600
5409 msgid "Responding to bugs"
5410 msgstr ""
5411
5412 #. type: Content of: <chapter><section><section><para>
5413 #: pkgs.dbk:602
5414 msgid ""
5415 "When responding to bugs, make sure that any discussion you have about bugs "
5416 "is sent both to the original submitter of the bug, and to the bug itself "
5417 "(e.g., <email><replaceable>123</replaceable>@&bugs-host;</email>).  If "
5418 "you're writing a new mail and you don't remember the submitter email "
5419 "address, you can use the "
5420 "<email><replaceable>123</replaceable>-submitter@&bugs-host;</email> email to "
5421 "contact the submitter <emphasis>and</emphasis> to record your mail within "
5422 "the bug log (that means you don't need to send a copy of the mail to "
5423 "<email><replaceable>123</replaceable>@&bugs-host;</email>)."
5424 msgstr ""
5425
5426 #. type: Content of: <chapter><section><section><para>
5427 #: pkgs.dbk:611
5428 msgid ""
5429 "If you get a bug which mentions FTBFS, this means Fails to build from "
5430 "source.  Porters frequently use this acronym."
5431 msgstr ""
5432
5433 #. type: Content of: <chapter><section><section><para>
5434 #: pkgs.dbk:615
5435 msgid ""
5436 "Once you've dealt with a bug report (e.g.  fixed it), mark it as "
5437 "<literal>done</literal> (close it) by sending an explanation message to "
5438 "<email><replaceable>123</replaceable>-done@&bugs-host;</email>.  If you're "
5439 "fixing a bug by changing and uploading the package, you can automate bug "
5440 "closing as described in <xref linkend=\"upload-bugfix\"/>."
5441 msgstr ""
5442
5443 #. type: Content of: <chapter><section><section><para>
5444 #: pkgs.dbk:622
5445 msgid ""
5446 "You should <emphasis>never</emphasis> close bugs via the bug server "
5447 "<literal>close</literal> command sent to &email-bts-control;.  If you do so, "
5448 "the original submitter will not receive any information about why the bug "
5449 "was closed."
5450 msgstr ""
5451
5452 #. type: Content of: <chapter><section><section><title>
5453 #: pkgs.dbk:630
5454 msgid "Bug housekeeping"
5455 msgstr ""
5456
5457 #. type: Content of: <chapter><section><section><para>
5458 #: pkgs.dbk:632
5459 msgid ""
5460 "As a package maintainer, you will often find bugs in other packages or have "
5461 "bugs reported against your packages which are actually bugs in other "
5462 "packages.  The bug tracking system's features are described in the <ulink "
5463 "url=\"&url-bts-devel;\">BTS documentation for Debian developers</ulink>.  "
5464 "Operations such as reassigning, merging, and tagging bug reports are "
5465 "described in the <ulink url=\"&url-bts-control;\">BTS control server "
5466 "documentation</ulink>.  This section contains some guidelines for managing "
5467 "your own bugs, based on the collective Debian developer experience."
5468 msgstr ""
5469
5470 #. type: Content of: <chapter><section><section><para>
5471 #: pkgs.dbk:643
5472 msgid ""
5473 "Filing bugs for problems that you find in other packages is one of the civic "
5474 "obligations of maintainership, see <xref linkend=\"submit-bug\"/> for "
5475 "details.  However, handling the bugs in your own packages is even more "
5476 "important."
5477 msgstr ""
5478
5479 #. type: Content of: <chapter><section><section><para>
5480 #: pkgs.dbk:648
5481 msgid "Here's a list of steps that you may follow to handle a bug report:"
5482 msgstr ""
5483
5484 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5485 #: pkgs.dbk:653
5486 msgid ""
5487 "Decide whether the report corresponds to a real bug or not.  Sometimes users "
5488 "are just calling a program in the wrong way because they haven't read the "
5489 "documentation.  If you diagnose this, just close the bug with enough "
5490 "information to let the user correct their problem (give pointers to the good "
5491 "documentation and so on).  If the same report comes up again and again you "
5492 "may ask yourself if the documentation is good enough or if the program "
5493 "shouldn't detect its misuse in order to give an informative error message.  "
5494 "This is an issue that may need to be brought up with the upstream author."
5495 msgstr ""
5496
5497 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5498 #: pkgs.dbk:663
5499 msgid ""
5500 "If the bug submitter disagrees with your decision to close the bug, they may "
5501 "reopen it until you find an agreement on how to handle it.  If you don't "
5502 "find any, you may want to tag the bug <literal>wontfix</literal> to let "
5503 "people know that the bug exists but that it won't be corrected.  If this "
5504 "situation is unacceptable, you (or the submitter) may want to require a "
5505 "decision of the technical committee by reassigning the bug to <systemitem "
5506 "role=\"package\">tech-ctte</systemitem> (you may use the clone command of "
5507 "the BTS if you wish to keep it reported against your package).  Before doing "
5508 "so, please read the <ulink url=\"&url-tech-ctte;\">recommended "
5509 "procedure</ulink>."
5510 msgstr ""
5511
5512 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5513 #: pkgs.dbk:677
5514 msgid ""
5515 "If the bug is real but it's caused by another package, just reassign the bug "
5516 "to the right package.  If you don't know which package it should be "
5517 "reassigned to, you should ask for help on <link "
5518 "linkend=\"irc-channels\">IRC</link> or on &email-debian-devel;.  Please "
5519 "inform the maintainer(s) of the package you reassign the bug to, for example "
5520 "by Cc:ing the message that does the reassign to "
5521 "<email><replaceable>packagename</replaceable>@packages.debian.org</email> "
5522 "and explaining your reasons in that mail. Please note that a simple "
5523 "reassignment is <emphasis>not</emphasis> e-mailed to the maintainers of the "
5524 "package being reassigned to, so they won't know about it until they look at "
5525 "a bug overview for their packages."
5526 msgstr ""
5527
5528 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5529 #: pkgs.dbk:689
5530 msgid ""
5531 "If the bug affects the operation of your package, please consider cloning "
5532 "the bug and reassigning the clone to the package that really causes the "
5533 "behavior. Otherwise, the bug will not be shown in your package's bug list, "
5534 "possibly causing users to report the same bug over and over again. You "
5535 "should block \"your\" bug with the reassigned, cloned bug to document the "
5536 "relationship."
5537 msgstr ""
5538
5539 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5540 #: pkgs.dbk:699
5541 msgid ""
5542 "Sometimes you also have to adjust the severity of the bug so that it matches "
5543 "our definition of the severity.  That's because people tend to inflate the "
5544 "severity of bugs to make sure their bugs are fixed quickly.  Some bugs may "
5545 "even be dropped to wishlist severity when the requested change is just "
5546 "cosmetic."
5547 msgstr ""
5548
5549 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5550 #: pkgs.dbk:707
5551 msgid ""
5552 "If the bug is real but the same problem has already been reported by someone "
5553 "else, then the two relevant bug reports should be merged into one using the "
5554 "merge command of the BTS.  In this way, when the bug is fixed, all of the "
5555 "submitters will be informed of this.  (Note, however, that emails sent to "
5556 "one bug report's submitter won't automatically be sent to the other report's "
5557 "submitter.) For more details on the technicalities of the merge command and "
5558 "its relative, the unmerge command, see the BTS control server documentation."
5559 msgstr ""
5560
5561 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5562 #: pkgs.dbk:718
5563 msgid ""
5564 "The bug submitter may have forgotten to provide some information, in which "
5565 "case you have to ask them for the required information.  You may use the "
5566 "<literal>moreinfo</literal> tag to mark the bug as such.  Moreover if you "
5567 "can't reproduce the bug, you tag it <literal>unreproducible</literal>.  "
5568 "Anyone who can reproduce the bug is then invited to provide more information "
5569 "on how to reproduce it.  After a few months, if this information has not "
5570 "been sent by someone, the bug may be closed."
5571 msgstr ""
5572
5573 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5574 #: pkgs.dbk:729
5575 msgid ""
5576 "If the bug is related to the packaging, you just fix it.  If you are not "
5577 "able to fix it yourself, then tag the bug as <literal>help</literal>.  You "
5578 "can also ask for help on &email-debian-devel; or &email-debian-qa;.  If it's "
5579 "an upstream problem, you have to forward it to the upstream author.  "
5580 "Forwarding a bug is not enough, you have to check at each release if the bug "
5581 "has been fixed or not.  If it has, you just close it, otherwise you have to "
5582 "remind the author about it.  If you have the required skills you can prepare "
5583 "a patch that fixes the bug and send it to the author at the same time.  Make "
5584 "sure to send the patch to the BTS and to tag the bug as "
5585 "<literal>patch</literal>."
5586 msgstr ""
5587
5588 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5589 #: pkgs.dbk:743
5590 msgid ""
5591 "If you have fixed a bug in your local copy, or if a fix has been committed "
5592 "to the VCS repository, you may tag the bug as <literal>pending</literal> to "
5593 "let people know that the bug is corrected and that it will be closed with "
5594 "the next upload (add the <literal>closes:</literal> in the "
5595 "<filename>changelog</filename>).  This is particularly useful if you are "
5596 "several developers working on the same package."
5597 msgstr ""
5598
5599 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5600 #: pkgs.dbk:753
5601 msgid ""
5602 "Once a corrected package is available in the archive, the bug should be "
5603 "closed indicating the version in which it was fixed. This can be done "
5604 "automatically, read <xref linkend=\"upload-bugfix\"/>."
5605 msgstr ""
5606
5607 #. type: Content of: <chapter><section><section><title>
5608 #: pkgs.dbk:762
5609 msgid "When bugs are closed by new uploads"
5610 msgstr ""
5611
5612 #. type: Content of: <chapter><section><section><para>
5613 #: pkgs.dbk:764
5614 msgid ""
5615 "As bugs and problems are fixed in your packages, it is your responsibility "
5616 "as the package maintainer to close these bugs.  However, you should not "
5617 "close a bug until the package which fixes the bug has been accepted into the "
5618 "Debian archive.  Therefore, once you get notification that your updated "
5619 "package has been installed into the archive, you can and should close the "
5620 "bug in the BTS.  Also, the bug should be closed with the correct version."
5621 msgstr ""
5622
5623 #. type: Content of: <chapter><section><section><para>
5624 #: pkgs.dbk:772
5625 msgid ""
5626 "However, it's possible to avoid having to manually close bugs after the "
5627 "upload — just list the fixed bugs in your "
5628 "<filename>debian/changelog</filename> file, following a certain syntax, and "
5629 "the archive maintenance software will close the bugs for you.  For example:"
5630 msgstr ""
5631
5632 #. type: Content of: <chapter><section><section><screen>
5633 #: pkgs.dbk:778
5634 #, no-wrap
5635 msgid ""
5636 "acme-cannon (3.1415) unstable; urgency=low\n"
5637 "\n"
5638 "  * Frobbed with options (closes: Bug#98339)\n"
5639 "  * Added safety to prevent operator dismemberment, closes: bug#98765,\n"
5640 "    bug#98713, #98714.\n"
5641 "  * Added man page. Closes: #98725.\n"
5642 msgstr ""
5643
5644 #. type: Content of: <chapter><section><section><para>
5645 #: pkgs.dbk:786
5646 msgid ""
5647 "Technically speaking, the following Perl regular expression describes how "
5648 "bug closing changelogs are identified:"
5649 msgstr ""
5650
5651 #. type: Content of: <chapter><section><section><screen>
5652 #: pkgs.dbk:790
5653 #, no-wrap
5654 msgid "  /closes:\\s*(?:bug)?\\#\\s*\\d+(?:,\\s*(?:bug)?\\#\\s*\\d+)*/ig\n"
5655 msgstr ""
5656
5657 #. type: Content of: <chapter><section><section><para>
5658 #: pkgs.dbk:793
5659 msgid ""
5660 "We prefer the <literal>closes: #<replaceable>XXX</replaceable></literal> "
5661 "syntax, as it is the most concise entry and the easiest to integrate with "
5662 "the text of the <filename>changelog</filename>.  Unless specified different "
5663 "by the <literal>-v</literal>-switch to <command>dpkg-buildpackage</command>, "
5664 "only the bugs closed in the most recent changelog entry are closed "
5665 "(basically, exactly the bugs mentioned in the changelog-part in the "
5666 "<filename>.changes</filename> file are closed)."
5667 msgstr ""
5668
5669 #. type: Content of: <chapter><section><section><para>
5670 #: pkgs.dbk:802
5671 msgid ""
5672 "Historically, uploads identified as <link linkend=\"nmu\">non-maintainer "
5673 "upload (NMU)</link> were tagged <literal>fixed</literal> instead of being "
5674 "closed, but that practice was ceased with the advent of version-tracking.  "
5675 "The same applied to the tag <literal>fixed-in-experimental</literal>."
5676 msgstr ""
5677
5678 #. type: Content of: <chapter><section><section><para>
5679 #: pkgs.dbk:808
5680 msgid ""
5681 "If you happen to mistype a bug number or forget a bug in the changelog "
5682 "entries, don't hesitate to undo any damage the error caused.  To reopen "
5683 "wrongly closed bugs, send a <literal>reopen "
5684 "<replaceable>XXX</replaceable></literal> command to the bug tracking "
5685 "system's control address, &email-bts-control;.  To close any remaining bugs "
5686 "that were fixed by your upload, email the <filename>.changes</filename> file "
5687 "to <email><replaceable>XXX</replaceable>-done@&bugs-host;</email>, where "
5688 "<replaceable>XXX</replaceable> is the bug number, and put Version: "
5689 "<replaceable>YYY</replaceable> and an empty line as the first two lines of "
5690 "the body of the email, where <replaceable>YYY</replaceable> is the first "
5691 "version where the bug has been fixed."
5692 msgstr ""
5693
5694 #. type: Content of: <chapter><section><section><para>
5695 #: pkgs.dbk:820
5696 msgid ""
5697 "Bear in mind that it is not obligatory to close bugs using the changelog as "
5698 "described above.  If you simply want to close bugs that don't have anything "
5699 "to do with an upload you made, do it by emailing an explanation to "
5700 "<email><replaceable>XXX</replaceable>-done@&bugs-host;</email>.  Do "
5701 "<emphasis role=\"strong\">not</emphasis> close bugs in the changelog entry "
5702 "of a version if the changes in that version of the package don't have any "
5703 "bearing on the bug."
5704 msgstr ""
5705
5706 #. type: Content of: <chapter><section><section><para>
5707 #: pkgs.dbk:828
5708 msgid ""
5709 "For general information on how to write your changelog entries, see <xref "
5710 "linkend=\"bpp-debian-changelog\"/>."
5711 msgstr ""
5712
5713 #. type: Content of: <chapter><section><section><title>
5714 #: pkgs.dbk:834
5715 msgid "Handling security-related bugs"
5716 msgstr ""
5717
5718 #. type: Content of: <chapter><section><section><para>
5719 #: pkgs.dbk:836
5720 msgid ""
5721 "Due to their sensitive nature, security-related bugs must be handled "
5722 "carefully.  The Debian Security Team exists to coordinate this activity, "
5723 "keeping track of outstanding security problems, helping maintainers with "
5724 "security problems or fixing them themselves, sending security advisories, "
5725 "and maintaining <literal>security.debian.org</literal>."
5726 msgstr ""
5727
5728 #. type: Content of: <chapter><section><section><para>
5729 #: pkgs.dbk:843
5730 msgid ""
5731 "When you become aware of a security-related bug in a Debian package, whether "
5732 "or not you are the maintainer, collect pertinent information about the "
5733 "problem, and promptly contact the security team, preferably by filing a "
5734 "ticket in their Request Tracker.  See <ulink "
5735 "url=\"http://wiki.debian.org/rt.debian.org#Security_Team\"></ulink>.  "
5736 "Alternatively you may email &email-security-team;.  <emphasis "
5737 "role=\"strong\">DO NOT UPLOAD</emphasis> any packages for "
5738 "<literal>stable</literal> without contacting the team.  Useful information "
5739 "includes, for example:"
5740 msgstr ""
5741
5742 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5743 #: pkgs.dbk:856
5744 msgid "Whether or not the bug is already public."
5745 msgstr ""
5746
5747 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5748 #: pkgs.dbk:861
5749 msgid ""
5750 "Which versions of the package are known to be affected by the bug.  Check "
5751 "each version that is present in a supported Debian release, as well as "
5752 "<literal>testing</literal> and <literal>unstable</literal>."
5753 msgstr ""
5754
5755 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5756 #: pkgs.dbk:868
5757 msgid "The nature of the fix, if any is available (patches are especially helpful)"
5758 msgstr ""
5759
5760 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5761 #: pkgs.dbk:873
5762 msgid ""
5763 "Any fixed packages that you have prepared yourself (send only the "
5764 "<filename>.diff.gz</filename> and <filename>.dsc</filename> files and read "
5765 "<xref linkend=\"bug-security-building\"/> first)"
5766 msgstr ""
5767
5768 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5769 #: pkgs.dbk:880
5770 msgid ""
5771 "Any assistance you can provide to help with testing (exploits, regression "
5772 "testing, etc.)"
5773 msgstr ""
5774
5775 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5776 #: pkgs.dbk:886
5777 msgid ""
5778 "Any information needed for the advisory (see <xref "
5779 "linkend=\"bug-security-advisories\"/>)"
5780 msgstr ""
5781
5782 #. type: Content of: <chapter><section><section><para>
5783 #: pkgs.dbk:891
5784 msgid ""
5785 "As the maintainer of the package, you have the responsibility to maintain "
5786 "it, even in the stable release. You are in the best position to evaluate "
5787 "patches and test updated packages, so please see the sections below on how "
5788 "to prepare packages for the Security Team to handle."
5789 msgstr ""
5790
5791 #. type: Content of: <chapter><section><section><section><title>
5792 #: pkgs.dbk:897
5793 msgid "The Security Tracker"
5794 msgstr ""
5795
5796 #. type: Content of: <chapter><section><section><section><para>
5797 #: pkgs.dbk:899
5798 msgid ""
5799 "The security team maintains a central database, the <ulink "
5800 "url=\"http://security-tracker.debian.org/\">Debian Security "
5801 "Tracker</ulink>.  This contains all public information that is known about "
5802 "security issues: which packages and versions are affected or fixed, and thus "
5803 "whether stable, testing and/or unstable are vulnerable. Information that is "
5804 "still confidential is not added to the tracker."
5805 msgstr ""
5806
5807 #. type: Content of: <chapter><section><section><section><para>
5808 #: pkgs.dbk:907
5809 msgid ""
5810 "You can search it for a specific issue, but also on package name. Look for "
5811 "your package to see which issues are still open. If you can, please provide "
5812 "more information about those issues, or help to address them in your "
5813 "package.  Instructions are on the tracker web pages."
5814 msgstr ""
5815
5816 #. type: Content of: <chapter><section><section><section><title>
5817 #: pkgs.dbk:915
5818 msgid "Confidentiality"
5819 msgstr ""
5820
5821 #. type: Content of: <chapter><section><section><section><para>
5822 #: pkgs.dbk:917
5823 msgid ""
5824 "Unlike most other activities within Debian, information about security "
5825 "issues must sometimes be kept private for a time.  This allows software "
5826 "distributors to coordinate their disclosure in order to minimize their "
5827 "users' exposure.  Whether this is the case depends on the nature of the "
5828 "problem and corresponding fix, and whether it is already a matter of public "
5829 "knowledge."
5830 msgstr ""
5831
5832 #. type: Content of: <chapter><section><section><section><para>
5833 #: pkgs.dbk:924
5834 msgid "There are several ways developers can learn of a security problem:"
5835 msgstr ""
5836
5837 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5838 #: pkgs.dbk:929
5839 msgid "they notice it on a public forum (mailing list, web site, etc.)"
5840 msgstr ""
5841
5842 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5843 #: pkgs.dbk:934
5844 msgid "someone files a bug report"
5845 msgstr ""
5846
5847 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5848 #: pkgs.dbk:939
5849 msgid "someone informs them via private email"
5850 msgstr ""
5851
5852 #. type: Content of: <chapter><section><section><section><para>
5853 #: pkgs.dbk:944
5854 msgid ""
5855 "In the first two cases, the information is public and it is important to "
5856 "have a fix as soon as possible.  In the last case, however, it might not be "
5857 "public information.  In that case there are a few possible options for "
5858 "dealing with the problem:"
5859 msgstr ""
5860
5861 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5862 #: pkgs.dbk:952
5863 msgid ""
5864 "If the security exposure is minor, there is sometimes no need to keep the "
5865 "problem a secret and a fix should be made and released."
5866 msgstr ""
5867
5868 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5869 #: pkgs.dbk:958
5870 msgid ""
5871 "If the problem is severe, it is preferable to share the information with "
5872 "other vendors and coordinate a release.  The security team keeps in contact "
5873 "with the various organizations and individuals and can take care of that."
5874 msgstr ""
5875
5876 #. type: Content of: <chapter><section><section><section><para>
5877 #: pkgs.dbk:965
5878 msgid ""
5879 "In all cases if the person who reports the problem asks that it not be "
5880 "disclosed, such requests should be honored, with the obvious exception of "
5881 "informing the security team in order that a fix may be produced for a stable "
5882 "release of Debian.  When sending confidential information to the security "
5883 "team, be sure to mention this fact."
5884 msgstr ""
5885
5886 #. type: Content of: <chapter><section><section><section><para>
5887 #: pkgs.dbk:972
5888 msgid ""
5889 "Please note that if secrecy is needed you may not upload a fix to "
5890 "<literal>unstable</literal> (or anywhere else, such as a public VCS "
5891 "repository).  It is not sufficient to obfuscate the details of the change, "
5892 "as the code itself is public, and can (and will) be examined by the general "
5893 "public."
5894 msgstr ""
5895
5896 #. type: Content of: <chapter><section><section><section><para>
5897 #: pkgs.dbk:979
5898 msgid ""
5899 "There are two reasons for releasing information even though secrecy is "
5900 "requested: the problem has been known for a while, or the problem or exploit "
5901 "has become public."
5902 msgstr ""
5903
5904 #. type: Content of: <chapter><section><section><section><para>
5905 #: pkgs.dbk:984
5906 msgid ""
5907 "The Security Team has a PGP-key to enable encrypted communication about "
5908 "sensitive issues. See the <ulink "
5909 "url=\"http://www.debian.org/security/faq#contact\">Security Team FAQ</ulink> "
5910 "for details."
5911 msgstr ""
5912
5913 #. type: Content of: <chapter><section><section><section><title>
5914 #: pkgs.dbk:990
5915 msgid "Security Advisories"
5916 msgstr ""
5917
5918 #. type: Content of: <chapter><section><section><section><para>
5919 #: pkgs.dbk:992
5920 msgid ""
5921 "Security advisories are only issued for the current, released stable "
5922 "distribution, and <emphasis>not</emphasis> for <literal>testing</literal> or "
5923 "<literal>unstable</literal>.  When released, advisories are sent to the "
5924 "&email-debian-security-announce; mailing list and posted on <ulink "
5925 "url=\"&url-debian-security-advisories;\">the security web page</ulink>.  "
5926 "Security advisories are written and posted by the security team.  However "
5927 "they certainly do not mind if a maintainer can supply some of the "
5928 "information for them, or write part of the text.  Information that should be "
5929 "in an advisory includes:"
5930 msgstr ""
5931
5932 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5933 #: pkgs.dbk:1005
5934 msgid "A description of the problem and its scope, including:"
5935 msgstr ""
5936
5937 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5938 #: pkgs.dbk:1010
5939 msgid "The type of problem (privilege escalation, denial of service, etc.)"
5940 msgstr ""
5941
5942 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5943 #: pkgs.dbk:1015
5944 msgid "What privileges may be gained, and by whom (if any)"
5945 msgstr ""
5946
5947 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5948 #: pkgs.dbk:1020
5949 msgid "How it can be exploited"
5950 msgstr ""
5951
5952 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5953 #: pkgs.dbk:1025
5954 msgid "Whether it is remotely or locally exploitable"
5955 msgstr ""
5956
5957 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5958 #: pkgs.dbk:1030
5959 msgid "How the problem was fixed"
5960 msgstr ""
5961
5962 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5963 #: pkgs.dbk:1035
5964 msgid "This information allows users to assess the threat to their systems."
5965 msgstr ""
5966
5967 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5968 #: pkgs.dbk:1040
5969 msgid "Version numbers of affected packages"
5970 msgstr ""
5971
5972 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5973 #: pkgs.dbk:1045
5974 msgid "Version numbers of fixed packages"
5975 msgstr ""
5976
5977 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5978 #: pkgs.dbk:1050
5979 msgid ""
5980 "Information on where to obtain the updated packages (usually from the Debian "
5981 "security archive)"
5982 msgstr ""
5983
5984 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5985 #: pkgs.dbk:1056
5986 msgid ""
5987 "References to upstream advisories, <ulink "
5988 "url=\"http://cve.mitre.org\">CVE</ulink> identifiers, and any other "
5989 "information useful in cross-referencing the vulnerability"
5990 msgstr ""
5991
5992 #. type: Content of: <chapter><section><section><section><title>
5993 #: pkgs.dbk:1065
5994 msgid "Preparing packages to address security issues"
5995 msgstr ""
5996
5997 #. type: Content of: <chapter><section><section><section><para>
5998 #: pkgs.dbk:1067
5999 msgid ""
6000 "One way that you can assist the security team in their duties is to provide "
6001 "them with fixed packages suitable for a security advisory for the stable "
6002 "Debian release."
6003 msgstr ""
6004
6005 #. type: Content of: <chapter><section><section><section><para>
6006 #: pkgs.dbk:1072
6007 msgid ""
6008 "When an update is made to the stable release, care must be taken to avoid "
6009 "changing system behavior or introducing new bugs.  In order to do this, make "
6010 "as few changes as possible to fix the bug.  Users and administrators rely on "
6011 "the exact behavior of a release once it is made, so any change that is made "
6012 "might break someone's system.  This is especially true of libraries: make "
6013 "sure you never change the API or ABI, no matter how small the change."
6014 msgstr ""
6015
6016 #. type: Content of: <chapter><section><section><section><para>
6017 #: pkgs.dbk:1080
6018 msgid ""
6019 "This means that moving to a new upstream version is not a good solution.  "
6020 "Instead, the relevant changes should be back-ported to the version present "
6021 "in the current stable Debian release.  Generally, upstream maintainers are "
6022 "willing to help if needed.  If not, the Debian security team may be able to "
6023 "help."
6024 msgstr ""
6025
6026 #. type: Content of: <chapter><section><section><section><para>
6027 #: pkgs.dbk:1086
6028 msgid ""
6029 "In some cases, it is not possible to back-port a security fix, for example "
6030 "when large amounts of source code need to be modified or rewritten.  If this "
6031 "happens, it may be necessary to move to a new upstream version.  However, "
6032 "this is only done in extreme situations, and you must always coordinate that "
6033 "with the security team beforehand."
6034 msgstr ""
6035
6036 #. type: Content of: <chapter><section><section><section><para>
6037 #: pkgs.dbk:1093
6038 msgid ""
6039 "Related to this is another important guideline: always test your changes.  "
6040 "If you have an exploit available, try it and see if it indeed succeeds on "
6041 "the unpatched package and fails on the fixed package.  Test other, normal "
6042 "actions as well, as sometimes a security fix can break seemingly unrelated "
6043 "features in subtle ways."
6044 msgstr ""
6045
6046 #. type: Content of: <chapter><section><section><section><para>
6047 #: pkgs.dbk:1100
6048 msgid ""
6049 "Do <emphasis role=\"strong\">NOT</emphasis> include any changes in your "
6050 "package which are not directly related to fixing the vulnerability.  These "
6051 "will only need to be reverted, and this wastes time.  If there are other "
6052 "bugs in your package that you would like to fix, make an upload to "
6053 "proposed-updates in the usual way, after the security advisory is issued.  "
6054 "The security update mechanism is not a means for introducing changes to your "
6055 "package which would otherwise be rejected from the stable release, so please "
6056 "do not attempt to do this."
6057 msgstr ""
6058
6059 #. type: Content of: <chapter><section><section><section><para>
6060 #: pkgs.dbk:1110
6061 msgid ""
6062 "Review and test your changes as much as possible.  Check the differences "
6063 "from the previous version repeatedly (<command>interdiff</command> from the "
6064 "<systemitem role=\"package\">patchutils</systemitem> package and "
6065 "<command>debdiff</command> from <systemitem "
6066 "role=\"package\">devscripts</systemitem> are useful tools for this, see "
6067 "<xref linkend=\"debdiff\"/>)."
6068 msgstr ""
6069
6070 #. type: Content of: <chapter><section><section><section><para>
6071 #: pkgs.dbk:1118
6072 msgid "Be sure to verify the following items:"
6073 msgstr ""
6074
6075 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6076 #: pkgs.dbk:1123
6077 msgid ""
6078 "<emphasis role=\"strong\">Target the right distribution</emphasis> in your "
6079 "<filename>debian/changelog</filename>.  For <literal>stable</literal> this "
6080 "is <literal>stable-security</literal> and for <literal>testing</literal> "
6081 "this is <literal>testing-security</literal>, and for the previous stable "
6082 "release, this is <literal>oldstable-security</literal>.  Do not target "
6083 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
6084 "or <literal>stable</literal>!"
6085 msgstr ""
6086
6087 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6088 #: pkgs.dbk:1134
6089 msgid "The upload should have <emphasis role=\"strong\">urgency=high</emphasis>."
6090 msgstr ""
6091
6092 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6093 #: pkgs.dbk:1139
6094 msgid ""
6095 "Make descriptive, meaningful changelog entries.  Others will rely on them to "
6096 "determine whether a particular bug was fixed.  Add "
6097 "<literal>closes:</literal> statements for any <emphasis "
6098 "role=\"strong\">Debian bugs</emphasis> filed.  Always include an external "
6099 "reference, preferably a <emphasis role=\"strong\">CVE identifier</emphasis>, "
6100 "so that it can be cross-referenced. However, if a CVE identifier has not yet "
6101 "been assigned, do not wait for it but continue the process. The identifier "
6102 "can be cross-referenced later."
6103 msgstr ""
6104
6105 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6106 #: pkgs.dbk:1150
6107 msgid ""
6108 "Make sure the <emphasis role=\"strong\">version number</emphasis> is "
6109 "proper.  It must be greater than the current package, but less than package "
6110 "versions in later distributions.  If in doubt, test it with <literal>dpkg "
6111 "--compare-versions</literal>.  Be careful not to re-use a version number "
6112 "that you have already used for a previous upload, or one that conflicts with "
6113 "a binNMU. The convention is to append "
6114 "<literal>+</literal><replaceable>codename</replaceable><literal>1</literal>, "
6115 "e.g.  <literal>1:2.4.3-4+lenny1</literal>, of course increasing 1 for any "
6116 "subsequent uploads."
6117 msgstr ""
6118
6119 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6120 #: pkgs.dbk:1163
6121 msgid ""
6122 "Unless the upstream source has been uploaded to "
6123 "<literal>security.debian.org</literal> before (by a previous security "
6124 "update), build the upload <emphasis role=\"strong\">with full upstream "
6125 "source</emphasis> (<literal>dpkg-buildpackage -sa</literal>).  If there has "
6126 "been a previous upload to <literal>security.debian.org</literal> with the "
6127 "same upstream version, you may upload without upstream source "
6128 "(<literal>dpkg-buildpackage -sd</literal>)."
6129 msgstr ""
6130
6131 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6132 #: pkgs.dbk:1174
6133 msgid ""
6134 "Be sure to use the <emphasis role=\"strong\">exact same "
6135 "<filename>*.orig.tar.{gz,bz2,xz}</filename></emphasis> as used in the normal "
6136 "archive, otherwise it is not possible to move the security fix into the main "
6137 "archives later."
6138 msgstr ""
6139
6140 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6141 #: pkgs.dbk:1182
6142 msgid ""
6143 "Build the package on a <emphasis role=\"strong\">clean system</emphasis> "
6144 "which only has packages installed from the distribution you are building "
6145 "for. If you do not have such a system yourself, you can use a debian.org "
6146 "machine (see <xref linkend=\"server-machines\"/>) or setup a chroot (see "
6147 "<xref linkend=\"pbuilder\"/> and <xref linkend=\"debootstrap\"/>)."
6148 msgstr ""
6149
6150 #. type: Content of: <chapter><section><section><section><title>
6151 #: pkgs.dbk:1193
6152 msgid "Uploading the fixed package"
6153 msgstr ""
6154
6155 #. type: Content of: <chapter><section><section><section><para>
6156 #: pkgs.dbk:1195
6157 msgid ""
6158 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
6159 "upload queue (<literal>oldstable-security</literal>, "
6160 "<literal>stable-security</literal>, etc.) without prior authorization from "
6161 "the security team.  If the package does not exactly meet the team's "
6162 "requirements, it will cause many problems and delays in dealing with the "
6163 "unwanted upload."
6164 msgstr ""
6165
6166 #. type: Content of: <chapter><section><section><section><para>
6167 #: pkgs.dbk:1202
6168 msgid ""
6169 "Do <emphasis role=\"strong\">NOT</emphasis> upload your fix to "
6170 "<literal>proposed-updates</literal> without coordinating with the security "
6171 "team.  Packages from <literal>security.debian.org</literal> will be copied "
6172 "into the <literal>proposed-updates</literal> directory automatically.  If a "
6173 "package with the same or a higher version number is already installed into "
6174 "the archive, the security update will be rejected by the archive system.  "
6175 "That way, the stable distribution will end up without a security update for "
6176 "this package instead."
6177 msgstr ""
6178
6179 #. type: Content of: <chapter><section><section><section><para>
6180 #: pkgs.dbk:1212
6181 msgid ""
6182 "Once you have created and tested the new package and it has been approved by "
6183 "the security team, it needs to be uploaded so that it can be installed in "
6184 "the archives.  For security uploads, the place to upload to is "
6185 "<literal>ftp://security-master.debian.org/pub/SecurityUploadQueue/</literal>."
6186 msgstr ""
6187
6188 #. type: Content of: <chapter><section><section><section><para>
6189 #: pkgs.dbk:1218
6190 msgid ""
6191 "Once an upload to the security queue has been accepted, the package will "
6192 "automatically be built for all architectures and stored for verification by "
6193 "the security team."
6194 msgstr ""
6195
6196 #. type: Content of: <chapter><section><section><section><para>
6197 #: pkgs.dbk:1223
6198 msgid ""
6199 "Uploads which are waiting for acceptance or verification are only accessible "
6200 "by the security team.  This is necessary since there might be fixes for "
6201 "security problems that cannot be disclosed yet."
6202 msgstr ""
6203
6204 #. type: Content of: <chapter><section><section><section><para>
6205 #: pkgs.dbk:1228
6206 msgid ""
6207 "If a member of the security team accepts a package, it will be installed on "
6208 "<literal>security.debian.org</literal> as well as proposed for the proper "
6209 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
6210 "on <literal>&ftp-master-host;</literal>."
6211 msgstr ""
6212
6213 #. type: Content of: <chapter><section><title>
6214 #: pkgs.dbk:1240
6215 msgid "Moving, removing, renaming, adopting, and orphaning packages"
6216 msgstr ""
6217
6218 #. type: Content of: <chapter><section><para>
6219 #: pkgs.dbk:1242
6220 msgid ""
6221 "Some archive manipulation operations are not automated in the Debian upload "
6222 "process.  These procedures should be manually followed by maintainers.  This "
6223 "chapter gives guidelines on what to do in these cases."
6224 msgstr ""
6225
6226 #. type: Content of: <chapter><section><section><title>
6227 #: pkgs.dbk:1247
6228 msgid "Moving packages"
6229 msgstr ""
6230
6231 #. type: Content of: <chapter><section><section><para><footnote><para>
6232 #: pkgs.dbk:1251
6233 msgid ""
6234 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
6235 "guidelines on what section a package belongs in."
6236 msgstr ""
6237
6238 #. type: Content of: <chapter><section><section><para>
6239 #: pkgs.dbk:1249
6240 msgid ""
6241 "Sometimes a package will change its section.  For instance, a package from "
6242 "the <literal>non-free</literal> section might be GPL'd in a later version, "
6243 "in which case the package should be moved to `main' or "
6244 "`contrib'.<placeholder type=\"footnote\" id=\"0\"/>"
6245 msgstr ""
6246
6247 #. type: Content of: <chapter><section><section><para>
6248 #: pkgs.dbk:1256
6249 msgid ""
6250 "If you need to change the section for one of your packages, change the "
6251 "package control information to place the package in the desired section, and "
6252 "re-upload the package (see the <ulink url=\"&url-debian-policy;\">Debian "
6253 "Policy Manual</ulink> for details).  You must ensure that you include the "
6254 "<filename>.orig.tar.{gz,bz2,xz}</filename> in your upload (even if you are "
6255 "not uploading a new upstream version), or it will not appear in the new "
6256 "section together with the rest of the package.  If your new section is "
6257 "valid, it will be moved automatically.  If it does not, then contact the "
6258 "ftpmasters in order to understand what happened."
6259 msgstr ""
6260
6261 #. type: Content of: <chapter><section><section><para>
6262 #: pkgs.dbk:1268
6263 msgid ""
6264 "If, on the other hand, you need to change the <literal>subsection</literal> "
6265 "of one of your packages (e.g., ``devel'', ``admin''), the procedure is "
6266 "slightly different.  Correct the subsection as found in the control file of "
6267 "the package, and re-upload that.  Also, you'll need to get the override file "
6268 "updated, as described in <xref linkend=\"override-file\"/>."
6269 msgstr ""
6270
6271 #. type: Content of: <chapter><section><section><title>
6272 #: pkgs.dbk:1277
6273 msgid "Removing packages"
6274 msgstr ""
6275
6276 #. type: Content of: <chapter><section><section><para>
6277 #: pkgs.dbk:1279
6278 msgid ""
6279 "If for some reason you want to completely remove a package (say, if it is an "
6280 "old compatibility library which is no longer required), you need to file a "
6281 "bug against <systemitem role=\"package\">&ftp-debian-org;</systemitem> "
6282 "asking that the package be removed; as all bugs, this bug should normally "
6283 "have normal severity.  The bug title should be in the form <literal>RM: "
6284 "<replaceable>package</replaceable> <replaceable>[architecture "
6285 "list]</replaceable> -- <replaceable>reason</replaceable></literal>, where "
6286 "<replaceable>package</replaceable> is the package to be removed and "
6287 "<replaceable>reason</replaceable> is a short summary of the reason for the "
6288 "removal request.  <replaceable>[architecture list]</replaceable> is optional "
6289 "and only needed if the removal request only applies to some architectures, "
6290 "not all. Note that the <command>reportbug</command> will create a title "
6291 "conforming to these rules when you use it to report a bug against the "
6292 "<systemitem role=\"package\">&ftp-debian-org;</systemitem> pseudo-package."
6293 msgstr ""
6294
6295 #. type: Content of: <chapter><section><section><para>
6296 #: pkgs.dbk:1296
6297 msgid ""
6298 "If you want to remove a package you maintain, you should note this in the "
6299 "bug title by prepending <literal>ROM</literal> (Request Of Maintainer).  "
6300 "There are several other standard acronyms used in the reasoning for a "
6301 "package removal, see <ulink "
6302 "url=\"http://&ftp-master-host;/removals.html\"></ulink> for a complete "
6303 "list. That page also provides a convenient overview of pending removal "
6304 "requests."
6305 msgstr ""
6306
6307 #. type: Content of: <chapter><section><section><para>
6308 #: pkgs.dbk:1305
6309 msgid ""
6310 "Note that removals can only be done for the <literal>unstable</literal>, "
6311 "<literal>experimental</literal> and <literal>stable</literal> distribution.  "
6312 "Packages are not removed from <literal>testing</literal> directly.  Rather, "
6313 "they will be removed automatically after the package has been removed from "
6314 "<literal>unstable</literal> and no package in <literal>testing</literal> "
6315 "depends on it."
6316 msgstr ""
6317
6318 #. type: Content of: <chapter><section><section><para>
6319 #: pkgs.dbk:1314
6320 msgid ""
6321 "There is one exception when an explicit removal request is not necessary: If "
6322 "a (source or binary) package is no longer built from source, it will be "
6323 "removed semi-automatically. For a binary-package, this means if there is no "
6324 "longer any source package producing this binary package; if the binary "
6325 "package is just no longer produced on some architectures, a removal request "
6326 "is still necessary. For a source-package, this means that all binary "
6327 "packages it refers to have been taken over by another source package."
6328 msgstr ""
6329
6330 #. type: Content of: <chapter><section><section><para>
6331 #: pkgs.dbk:1323
6332 msgid ""
6333 "In your removal request, you have to detail the reasons justifying the "
6334 "request.  This is to avoid unwanted removals and to keep a trace of why a "
6335 "package has been removed.  For example, you can provide the name of the "
6336 "package that supersedes the one to be removed."
6337 msgstr ""
6338
6339 #. type: Content of: <chapter><section><section><para>
6340 #: pkgs.dbk:1329
6341 msgid ""
6342 "Usually you only ask for the removal of a package maintained by yourself.  "
6343 "If you want to remove another package, you have to get the approval of its "
6344 "maintainer. Should the package be orphaned and thus have no maintainer, you "
6345 "should first discuss the removal request on &email-debian-qa;. If there is a "
6346 "consensus that the package should be removed, you should reassign and "
6347 "retitle the <literal>O:</literal> bug filed against the "
6348 "<literal>wnpp</literal> package instead of filing a new bug as removal "
6349 "request."
6350 msgstr ""
6351
6352 #. type: Content of: <chapter><section><section><para>
6353 #: pkgs.dbk:1339
6354 msgid ""
6355 "Further information relating to these and other package removal related "
6356 "topics may be found at <ulink "
6357 "url=\"http://wiki.debian.org/ftpmaster_Removals\"></ulink> and <ulink "
6358 "url=\"&url-debian-qa;howto-remove.html\"></ulink>."
6359 msgstr ""
6360
6361 #. type: Content of: <chapter><section><section><para>
6362 #: pkgs.dbk:1344
6363 msgid ""
6364 "If in doubt concerning whether a package is disposable, email "
6365 "&email-debian-devel; asking for opinions.  Also of interest is the "
6366 "<command>apt-cache</command> program from the <systemitem "
6367 "role=\"package\">apt</systemitem> package.  When invoked as "
6368 "<literal>apt-cache showpkg <replaceable>package</replaceable></literal>, the "
6369 "program will show details for <replaceable>package</replaceable>, including "
6370 "reverse depends.  Other useful programs include <command>apt-cache "
6371 "rdepends</command>, <command>apt-rdepends</command>, "
6372 "<command>build-rdeps</command> (in the <systemitem "
6373 "role=\"package\">devscripts</systemitem> package) and "
6374 "<command>grep-dctrl</command>.  Removal of orphaned packages is discussed on "
6375 "&email-debian-qa;."
6376 msgstr ""
6377
6378 #. type: Content of: <chapter><section><section><para>
6379 #: pkgs.dbk:1357
6380 msgid ""
6381 "Once the package has been removed, the package's bugs should be handled.  "
6382 "They should either be reassigned to another package in the case where the "
6383 "actual code has evolved into another package (e.g.  "
6384 "<literal>libfoo12</literal> was removed because <literal>libfoo13</literal> "
6385 "supersedes it) or closed if the software is simply no longer part of "
6386 "Debian.  When closing the bugs, to avoid marking the bugs as fixed in "
6387 "versions of the packages in previous Debian releases, they should be marked "
6388 "as fixed in the version "
6389 "<literal>&lt;most-recent-version-ever-in-Debian&gt;+rm</literal>."
6390 msgstr ""
6391
6392 #. type: Content of: <chapter><section><section><section><title>
6393 #: pkgs.dbk:1368
6394 msgid "Removing packages from <filename>Incoming</filename>"
6395 msgstr ""
6396
6397 #. type: Content of: <chapter><section><section><section><para>
6398 #: pkgs.dbk:1370
6399 msgid ""
6400 "In the past, it was possible to remove packages from "
6401 "<filename>incoming</filename>.  However, with the introduction of the new "
6402 "incoming system, this is no longer possible.  Instead, you have to upload a "
6403 "new revision of your package with a higher version than the package you want "
6404 "to replace.  Both versions will be installed in the archive but only the "
6405 "higher version will actually be available in <literal>unstable</literal> "
6406 "since the previous version will immediately be replaced by the higher.  "
6407 "However, if you do proper testing of your packages, the need to replace a "
6408 "package should not occur too often anyway."
6409 msgstr ""
6410
6411 #. type: Content of: <chapter><section><section><title>
6412 #: pkgs.dbk:1385
6413 msgid "Replacing or renaming packages"
6414 msgstr ""
6415
6416 #. type: Content of: <chapter><section><section><para>
6417 #: pkgs.dbk:1387
6418 msgid ""
6419 "When the upstream maintainers for one of your packages chose to rename their "
6420 "software (or you made a mistake naming your package), you should follow a "
6421 "two-step process to rename it. In the first step, change the "
6422 "<filename>debian/control</filename> file to reflect the new name and to "
6423 "replace, provide and conflict with the obsolete package name (see the <ulink "
6424 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for details).  "
6425 "Please note that you should only add a <literal>Provides</literal> relation "
6426 "if all packages depending on the obsolete package name continue to work "
6427 "after the renaming. Once you've uploaded the package and the package has "
6428 "moved into the archive, file a bug against <systemitem "
6429 "role=\"package\">&ftp-debian-org;</systemitem> asking to remove the package "
6430 "with the obsolete name (see <xref linkend=\"removing-pkgs\"/>).  Do not "
6431 "forget to properly reassign the package's bugs at the same time."
6432 msgstr ""
6433
6434 #. type: Content of: <chapter><section><section><para>
6435 #: pkgs.dbk:1403
6436 msgid ""
6437 "At other times, you may make a mistake in constructing your package and wish "
6438 "to replace it.  The only way to do this is to increase the version number "
6439 "and upload a new version.  The old version will be expired in the usual "
6440 "manner.  Note that this applies to each part of your package, including the "
6441 "sources: if you wish to replace the upstream source tarball of your package, "
6442 "you will need to upload it with a different version.  An easy possibility is "
6443 "to replace <filename>foo_1.00.orig.tar.gz</filename> with "
6444 "<filename>foo_1.00+0.orig.tar.gz</filename> or "
6445 "<filename>foo_1.00.orig.tar.bz2</filename>.  This restriction gives each "
6446 "file on the ftp site a unique name, which helps to ensure consistency across "
6447 "the mirror network."
6448 msgstr ""
6449
6450 #. type: Content of: <chapter><section><section><title>
6451 #: pkgs.dbk:1418
6452 msgid "Orphaning a package"
6453 msgstr ""
6454
6455 #. type: Content of: <chapter><section><section><para>
6456 #: pkgs.dbk:1420
6457 msgid ""
6458 "If you can no longer maintain a package, you need to inform others, and see "
6459 "that the package is marked as orphaned.  You should set the package "
6460 "maintainer to <literal>Debian QA Group &orphan-address;</literal> and submit "
6461 "a bug report against the pseudo package <systemitem "
6462 "role=\"package\">wnpp</systemitem>.  The bug report should be titled "
6463 "<literal>O: <replaceable>package</replaceable> -- <replaceable>short "
6464 "description</replaceable></literal> indicating that the package is now "
6465 "orphaned.  The severity of the bug should be set to "
6466 "<literal>normal</literal>; if the package has a priority of standard or "
6467 "higher, it should be set to important.  If you feel it's necessary, send a "
6468 "copy to &email-debian-devel; by putting the address in the X-Debbugs-CC: "
6469 "header of the message (no, don't use CC:, because that way the message's "
6470 "subject won't indicate the bug number)."
6471 msgstr ""
6472
6473 #. type: Content of: <chapter><section><section><para>
6474 #: pkgs.dbk:1435
6475 msgid ""
6476 "If you just intend to give the package away, but you can keep maintainership "
6477 "for the moment, then you should instead submit a bug against <systemitem "
6478 "role=\"package\">wnpp</systemitem> and title it <literal>RFA: "
6479 "<replaceable>package</replaceable> -- <replaceable>short "
6480 "description</replaceable></literal>.  <literal>RFA</literal> stands for "
6481 "<literal>Request For Adoption</literal>."
6482 msgstr ""
6483
6484 #. type: Content of: <chapter><section><section><para>
6485 #: pkgs.dbk:1443
6486 msgid "More information is on the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink>."
6487 msgstr ""
6488
6489 #. type: Content of: <chapter><section><section><title>
6490 #: pkgs.dbk:1449
6491 msgid "Adopting a package"
6492 msgstr ""
6493
6494 #. type: Content of: <chapter><section><section><para>
6495 #: pkgs.dbk:1451
6496 msgid ""
6497 "A list of packages in need of a new maintainer is available in the <ulink "
6498 "url=\"&url-wnpp;\">Work-Needing and Prospective Packages list "
6499 "(WNPP)</ulink>.  If you wish to take over maintenance of any of the packages "
6500 "listed in the WNPP, please take a look at the aforementioned page for "
6501 "information and procedures."
6502 msgstr ""
6503
6504 #. type: Content of: <chapter><section><section><para>
6505 #: pkgs.dbk:1458
6506 msgid ""
6507 "It is not OK to simply take over a package that you feel is neglected — that "
6508 "would be package hijacking.  You can, of course, contact the current "
6509 "maintainer and ask them if you may take over the package.  If you have "
6510 "reason to believe a maintainer has gone AWOL (absent without leave), see "
6511 "<xref linkend=\"mia-qa\"/>."
6512 msgstr ""
6513
6514 #. type: Content of: <chapter><section><section><para>
6515 #: pkgs.dbk:1464
6516 msgid ""
6517 "Generally, you may not take over the package without the assent of the "
6518 "current maintainer.  Even if they ignore you, that is still not grounds to "
6519 "take over a package.  Complaints about maintainers should be brought up on "
6520 "the developers' mailing list.  If the discussion doesn't end with a positive "
6521 "conclusion, and the issue is of a technical nature, consider bringing it to "
6522 "the attention of the technical committee (see the <ulink "
6523 "url=\"&url-tech-ctte;\">technical committee web page</ulink> for more "
6524 "information)."
6525 msgstr ""
6526
6527 #. type: Content of: <chapter><section><section><para>
6528 #: pkgs.dbk:1474
6529 msgid ""
6530 "If you take over an old package, you probably want to be listed as the "
6531 "package's official maintainer in the bug system.  This will happen "
6532 "automatically once you upload a new version with an updated "
6533 "<literal>Maintainer</literal> field, although it can take a few hours after "
6534 "the upload is done.  If you do not expect to upload a new version for a "
6535 "while, you can use <xref linkend=\"pkg-tracking-system\"/> to get the bug "
6536 "reports.  However, make sure that the old maintainer has no problem with the "
6537 "fact that they will continue to receive the bugs during that time."
6538 msgstr ""
6539
6540 #. type: Content of: <chapter><section><title>
6541 #: pkgs.dbk:1488
6542 msgid "Porting and being ported"
6543 msgstr ""
6544
6545 #. type: Content of: <chapter><section><para>
6546 #: pkgs.dbk:1490
6547 msgid ""
6548 "Debian supports an ever-increasing number of architectures.  Even if you are "
6549 "not a porter, and you don't use any architecture but one, it is part of your "
6550 "duty as a maintainer to be aware of issues of portability.  Therefore, even "
6551 "if you are not a porter, you should read most of this chapter."
6552 msgstr ""
6553
6554 #. type: Content of: <chapter><section><para>
6555 #: pkgs.dbk:1496
6556 msgid ""
6557 "Porting is the act of building Debian packages for architectures that are "
6558 "different from the original architecture of the package maintainer's binary "
6559 "package.  It is a unique and essential activity.  In fact, porters do most "
6560 "of the actual compiling of Debian packages.  For instance, when a maintainer "
6561 "uploads a (portable) source packages with binaries for the "
6562 "<literal>i386</literal> architecture, it will be built for each of the other "
6563 "architectures, amounting to &number-of-arches; more builds."
6564 msgstr ""
6565
6566 #. type: Content of: <chapter><section><section><title>
6567 #: pkgs.dbk:1505
6568 msgid "Being kind to porters"
6569 msgstr ""
6570
6571 #. type: Content of: <chapter><section><section><para>
6572 #: pkgs.dbk:1507
6573 msgid ""
6574 "Porters have a difficult and unique task, since they are required to deal "
6575 "with a large volume of packages.  Ideally, every source package should build "
6576 "right out of the box.  Unfortunately, this is often not the case.  This "
6577 "section contains a checklist of ``gotchas'' often committed by Debian "
6578 "maintainers — common problems which often stymie porters, and make their "
6579 "jobs unnecessarily difficult."
6580 msgstr ""
6581
6582 #. type: Content of: <chapter><section><section><para>
6583 #: pkgs.dbk:1515
6584 msgid ""
6585 "The first and most important thing is to respond quickly to bug or issues "
6586 "raised by porters.  Please treat porters with courtesy, as if they were in "
6587 "fact co-maintainers of your package (which, in a way, they are).  Please be "
6588 "tolerant of succinct or even unclear bug reports; do your best to hunt down "
6589 "whatever the problem is."
6590 msgstr ""
6591
6592 #. type: Content of: <chapter><section><section><para>
6593 #: pkgs.dbk:1522
6594 msgid ""
6595 "By far, most of the problems encountered by porters are caused by "
6596 "<emphasis>packaging bugs</emphasis> in the source packages.  Here is a "
6597 "checklist of things you should check or be aware of."
6598 msgstr ""
6599
6600 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6601 #: pkgs.dbk:1529
6602 msgid ""
6603 "Make sure that your <literal>Build-Depends</literal> and "
6604 "<literal>Build-Depends-Indep</literal> settings in "
6605 "<filename>debian/control</filename> are set properly.  The best way to "
6606 "validate this is to use the <systemitem "
6607 "role=\"package\">debootstrap</systemitem> package to create an "
6608 "<literal>unstable</literal> chroot environment (see <xref "
6609 "linkend=\"debootstrap\"/>).  Within that chrooted environment, install the "
6610 "<systemitem role=\"package\">build-essential</systemitem> package and any "
6611 "package dependencies mentioned in <literal>Build-Depends</literal> and/or "
6612 "<literal>Build-Depends-Indep</literal>.  Finally, try building your package "
6613 "within that chrooted environment.  These steps can be automated by the use "
6614 "of the <command>pbuilder</command> program which is provided by the package "
6615 "of the same name (see <xref linkend=\"pbuilder\"/>)."
6616 msgstr ""
6617
6618 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6619 #: pkgs.dbk:1544
6620 msgid ""
6621 "If you can't set up a proper chroot, <command>dpkg-depcheck</command> may be "
6622 "of assistance (see <xref linkend=\"dpkg-depcheck\"/>)."
6623 msgstr ""
6624
6625 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6626 #: pkgs.dbk:1548
6627 msgid ""
6628 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
6629 "instructions on setting build dependencies."
6630 msgstr ""
6631
6632 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6633 #: pkgs.dbk:1554
6634 msgid ""
6635 "Don't set architecture to a value other than <literal>all</literal> or "
6636 "<literal>any</literal> unless you really mean it.  In too many cases, "
6637 "maintainers don't follow the instructions in the <ulink "
6638 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>.  Setting your "
6639 "architecture to only one architecture (such as <literal>i386</literal> or "
6640 "<literal>amd64</literal>) is usually incorrect."
6641 msgstr ""
6642
6643 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6644 #: pkgs.dbk:1564
6645 msgid ""
6646 "Make sure your source package is correct.  Do <literal>dpkg-source -x "
6647 "<replaceable>package</replaceable>.dsc</literal> to make sure your source "
6648 "package unpacks properly.  Then, in there, try building your package from "
6649 "scratch with <command>dpkg-buildpackage</command>."
6650 msgstr ""
6651
6652 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6653 #: pkgs.dbk:1572
6654 msgid ""
6655 "Make sure you don't ship your source package with the "
6656 "<filename>debian/files</filename> or <filename>debian/substvars</filename> "
6657 "files.  They should be removed by the <literal>clean</literal> target of "
6658 "<filename>debian/rules</filename>."
6659 msgstr ""
6660
6661 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6662 #: pkgs.dbk:1580
6663 msgid ""
6664 "Make sure you don't rely on locally installed or hacked configurations or "
6665 "programs.  For instance, you should never be calling programs in "
6666 "<filename>/usr/local/bin</filename> or the like.  Try not to rely on "
6667 "programs being setup in a special way.  Try building your package on another "
6668 "machine, even if it's the same architecture."
6669 msgstr ""
6670
6671 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6672 #: pkgs.dbk:1589
6673 msgid ""
6674 "Don't depend on the package you're building being installed already (a "
6675 "sub-case of the above issue). There are, of course, exceptions to this rule, "
6676 "but be aware that any case like this needs manual bootstrapping and cannot "
6677 "be done by automated package builders."
6678 msgstr ""
6679
6680 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6681 #: pkgs.dbk:1597
6682 msgid ""
6683 "Don't rely on the compiler being a certain version, if possible.  If not, "
6684 "then make sure your build dependencies reflect the restrictions, although "
6685 "you are probably asking for trouble, since different architectures sometimes "
6686 "standardize on different compilers."
6687 msgstr ""
6688
6689 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6690 #: pkgs.dbk:1605
6691 msgid ""
6692 "Make sure your <filename>debian/rules</filename> contains separate "
6693 "<literal>binary-arch</literal> and <literal>binary-indep</literal> targets, "
6694 "as the Debian Policy Manual requires.  Make sure that both targets work "
6695 "independently, that is, that you can call the target without having called "
6696 "the other before.  To test this, try to run <command>dpkg-buildpackage "
6697 "-B</command>."
6698 msgstr ""
6699
6700 #. type: Content of: <chapter><section><section><title>
6701 #: pkgs.dbk:1616
6702 msgid "Guidelines for porter uploads"
6703 msgstr ""
6704
6705 #. type: Content of: <chapter><section><section><para>
6706 #: pkgs.dbk:1618
6707 msgid ""
6708 "If the package builds out of the box for the architecture to be ported to, "
6709 "you are in luck and your job is easy.  This section applies to that case; it "
6710 "describes how to build and upload your binary package so that it is properly "
6711 "installed into the archive.  If you do have to patch the package in order to "
6712 "get it to compile for the other architecture, you are actually doing a "
6713 "source NMU, so consult <xref linkend=\"nmu-guidelines\"/> instead."
6714 msgstr ""
6715
6716 #. type: Content of: <chapter><section><section><para>
6717 #: pkgs.dbk:1626
6718 msgid ""
6719 "For a porter upload, no changes are being made to the source.  You do not "
6720 "need to touch any of the files in the source package.  This includes "
6721 "<filename>debian/changelog</filename>."
6722 msgstr ""
6723
6724 #. type: Content of: <chapter><section><section><para>
6725 #: pkgs.dbk:1631
6726 msgid ""
6727 "The way to invoke <command>dpkg-buildpackage</command> is as "
6728 "<literal>dpkg-buildpackage -B "
6729 "-m<replaceable>porter-email</replaceable></literal>.  Of course, set "
6730 "<replaceable>porter-email</replaceable> to your email address.  This will do "
6731 "a binary-only build of only the architecture-dependent portions of the "
6732 "package, using the <literal>binary-arch</literal> target in "
6733 "<filename>debian/rules</filename>."
6734 msgstr ""
6735
6736 #. type: Content of: <chapter><section><section><para>
6737 #: pkgs.dbk:1640
6738 msgid ""
6739 "If you are working on a Debian machine for your porting efforts and you need "
6740 "to sign your upload locally for its acceptance in the archive, you can run "
6741 "<command>debsign</command> on your <filename>.changes</filename> file to "
6742 "have it signed conveniently, or use the remote signing mode of "
6743 "<command>dpkg-sig</command>."
6744 msgstr ""
6745
6746 #. type: Content of: <chapter><section><section><section><title>
6747 #: pkgs.dbk:1647
6748 msgid "Recompilation or binary-only NMU"
6749 msgstr ""
6750
6751 #. type: Content of: <chapter><section><section><section><para>
6752 #: pkgs.dbk:1649
6753 msgid ""
6754 "Sometimes the initial porter upload is problematic because the environment "
6755 "in which the package was built was not good enough (outdated or obsolete "
6756 "library, bad compiler, etc.).  Then you may just need to recompile it in an "
6757 "updated environment.  However, you have to bump the version number in this "
6758 "case, so that the old bad package can be replaced in the Debian archive "
6759 "(<command>dak</command> refuses to install new packages if they don't have a "
6760 "version number greater than the currently available one)."
6761 msgstr ""
6762
6763 #. type: Content of: <chapter><section><section><section><para>
6764 #: pkgs.dbk:1658
6765 msgid ""
6766 "You have to make sure that your binary-only NMU doesn't render the package "
6767 "uninstallable.  This could happen when a source package generates "
6768 "arch-dependent and arch-independent packages that have inter-dependencies "
6769 "generated using dpkg's substitution variable "
6770 "<literal>$(Source-Version)</literal>."
6771 msgstr ""
6772
6773 #. type: Content of: <chapter><section><section><section><para>
6774 #: pkgs.dbk:1664
6775 msgid ""
6776 "Despite the required modification of the changelog, these are called "
6777 "binary-only NMUs — there is no need in this case to trigger all other "
6778 "architectures to consider themselves out of date or requiring recompilation."
6779 msgstr ""
6780
6781 #. type: Content of: <chapter><section><section><section><para>
6782 #: pkgs.dbk:1669
6783 msgid ""
6784 "Such recompilations require special ``magic'' version numbering, so that the "
6785 "archive maintenance tools recognize that, even though there is a new Debian "
6786 "version, there is no corresponding source update.  If you get this wrong, "
6787 "the archive maintainers will reject your upload (due to lack of "
6788 "corresponding source code)."
6789 msgstr ""
6790
6791 #. type: Content of: <chapter><section><section><section><para><footnote><para>
6792 #: pkgs.dbk:1684
6793 msgid ""
6794 "In the past, such NMUs used the third-level number on the Debian part of the "
6795 "revision to denote their recompilation-only status; however, this syntax was "
6796 "ambiguous with native packages and did not allow proper ordering of "
6797 "recompile-only NMUs, source NMUs, and security NMUs on the same package, and "
6798 "has therefore been abandoned in favor of this new syntax."
6799 msgstr ""
6800
6801 #. type: Content of: <chapter><section><section><section><para>
6802 #: pkgs.dbk:1676
6803 msgid ""
6804 "The ``magic'' for a recompilation-only NMU is triggered by using a suffix "
6805 "appended to the package version number, following the form "
6806 "<literal>b<replaceable>number</replaceable></literal>.  For instance, if the "
6807 "latest version you are recompiling against was version "
6808 "<literal>2.9-3</literal>, your binary-only NMU should carry a version of "
6809 "<literal>2.9-3+b1</literal>.  If the latest version was "
6810 "<literal>3.4+b1</literal> (i.e, a native package with a previous "
6811 "recompilation NMU), your binary-only NMU should have a version number of "
6812 "<literal>3.4+b2</literal>.<placeholder type=\"footnote\" id=\"0\"/>"
6813 msgstr ""
6814
6815 #. type: Content of: <chapter><section><section><section><para>
6816 #: pkgs.dbk:1692
6817 msgid ""
6818 "Similar to initial porter uploads, the correct way of invoking "
6819 "<command>dpkg-buildpackage</command> is <literal>dpkg-buildpackage "
6820 "-B</literal> to only build the architecture-dependent parts of the package."
6821 msgstr ""
6822
6823 #. type: Content of: <chapter><section><section><section><title>
6824 #: pkgs.dbk:1699
6825 msgid "When to do a source NMU if you are a porter"
6826 msgstr ""
6827
6828 #. type: Content of: <chapter><section><section><section><para>
6829 #: pkgs.dbk:1701
6830 msgid ""
6831 "Porters doing a source NMU generally follow the guidelines found in <xref "
6832 "linkend=\"nmu\"/>, just like non-porters.  However, it is expected that the "
6833 "wait cycle for a porter's source NMU is smaller than for a non-porter, since "
6834 "porters have to cope with a large quantity of packages.  Again, the "
6835 "situation varies depending on the distribution they are uploading to.  It "
6836 "also varies whether the architecture is a candidate for inclusion into the "
6837 "next stable release; the release managers decide and announce which "
6838 "architectures are candidates."
6839 msgstr ""
6840
6841 #. type: Content of: <chapter><section><section><section><para>
6842 #: pkgs.dbk:1710
6843 msgid ""
6844 "If you are a porter doing an NMU for <literal>unstable</literal>, the above "
6845 "guidelines for porting should be followed, with two variations.  Firstly, "
6846 "the acceptable waiting period — the time between when the bug is submitted "
6847 "to the BTS and when it is OK to do an NMU — is seven days for porters "
6848 "working on the <literal>unstable</literal> distribution.  This period can be "
6849 "shortened if the problem is critical and imposes hardship on the porting "
6850 "effort, at the discretion of the porter group.  (Remember, none of this is "
6851 "Policy, just mutually agreed upon guidelines.) For uploads to "
6852 "<literal>stable</literal> or <literal>testing</literal>, please coordinate "
6853 "with the appropriate release team first."
6854 msgstr ""
6855
6856 #. type: Content of: <chapter><section><section><section><para>
6857 #: pkgs.dbk:1722
6858 msgid ""
6859 "Secondly, porters doing source NMUs should make sure that the bug they "
6860 "submit to the BTS should be of severity <literal>serious</literal> or "
6861 "greater.  This ensures that a single source package can be used to compile "
6862 "every supported Debian architecture by release time.  It is very important "
6863 "that we have one version of the binary and source package for all "
6864 "architectures in order to comply with many licenses."
6865 msgstr ""
6866
6867 #. type: Content of: <chapter><section><section><section><para>
6868 #: pkgs.dbk:1730
6869 msgid ""
6870 "Porters should try to avoid patches which simply kludge around bugs in the "
6871 "current version of the compile environment, kernel, or libc.  Sometimes such "
6872 "kludges can't be helped.  If you have to kludge around compiler bugs and the "
6873 "like, make sure you <literal>#ifdef</literal> your work properly; also, "
6874 "document your kludge so that people know to remove it once the external "
6875 "problems have been fixed."
6876 msgstr ""
6877
6878 #. type: Content of: <chapter><section><section><section><para>
6879 #: pkgs.dbk:1738
6880 msgid ""
6881 "Porters may also have an unofficial location where they can put the results "
6882 "of their work during the waiting period.  This helps others running the port "
6883 "have the benefit of the porter's work, even during the waiting period.  Of "
6884 "course, such locations have no official blessing or status, so buyer beware."
6885 msgstr ""
6886
6887 #. type: Content of: <chapter><section><section><title>
6888 #: pkgs.dbk:1748
6889 msgid "Porting infrastructure and automation"
6890 msgstr ""
6891
6892 #. type: Content of: <chapter><section><section><para>
6893 #: pkgs.dbk:1750
6894 msgid ""
6895 "There is infrastructure and several tools to help automate package porting.  "
6896 "This section contains a brief overview of this automation and porting to "
6897 "these tools; see the package documentation or references for full "
6898 "information."
6899 msgstr ""
6900
6901 #. type: Content of: <chapter><section><section><section><title>
6902 #: pkgs.dbk:1755
6903 msgid "Mailing lists and web pages"
6904 msgstr ""
6905
6906 #. type: Content of: <chapter><section><section><section><para>
6907 #: pkgs.dbk:1757
6908 msgid ""
6909 "Web pages containing the status of each port can be found at <ulink "
6910 "url=\"&url-debian-ports;\"></ulink>."
6911 msgstr ""
6912
6913 #. type: Content of: <chapter><section><section><section><para>
6914 #: pkgs.dbk:1761
6915 msgid ""
6916 "Each port of Debian has a mailing list.  The list of porting mailing lists "
6917 "can be found at <ulink url=\"&url-debian-port-lists;\"></ulink>.  These "
6918 "lists are used to coordinate porters, and to connect the users of a given "
6919 "port with the porters."
6920 msgstr ""
6921
6922 #. type: Content of: <chapter><section><section><section><title>
6923 #: pkgs.dbk:1769
6924 msgid "Porter tools"
6925 msgstr ""
6926
6927 #. type: Content of: <chapter><section><section><section><para>
6928 #: pkgs.dbk:1771
6929 msgid ""
6930 "Descriptions of several porting tools can be found in <xref "
6931 "linkend=\"tools-porting\"/>."
6932 msgstr ""
6933
6934 #. type: Content of: <chapter><section><section><section><title>
6935 #: pkgs.dbk:1777
6936 msgid "<systemitem role=\"package\">wanna-build</systemitem>"
6937 msgstr ""
6938
6939 #. type: Content of: <chapter><section><section><section><para>
6940 #: pkgs.dbk:1779
6941 msgid ""
6942 "The <systemitem role=\"package\">wanna-build</systemitem> system is used as "
6943 "a distributed, client-server build distribution system.  It is usually used "
6944 "in conjunction with build daemons running the <systemitem "
6945 "role=\"package\">buildd</systemitem> program. <literal>Build "
6946 "daemons</literal> are ``slave'' hosts which contact the central <systemitem "
6947 "role=\"package\">wanna-build</systemitem> system to receive a list of "
6948 "packages that need to be built."
6949 msgstr ""
6950
6951 #. type: Content of: <chapter><section><section><section><para>
6952 #: pkgs.dbk:1787
6953 msgid ""
6954 "<systemitem role=\"package\">wanna-build</systemitem> is not yet available "
6955 "as a package; however, all Debian porting efforts are using it for automated "
6956 "package building.  The tool used to do the actual package builds, "
6957 "<systemitem role=\"package\">sbuild</systemitem> is available as a package, "
6958 "see its description in <xref linkend=\"sbuild\"/>.  Please note that the "
6959 "packaged version is not the same as the one used on build daemons, but it is "
6960 "close enough to reproduce problems."
6961 msgstr ""
6962
6963 #. type: Content of: <chapter><section><section><section><para>
6964 #: pkgs.dbk:1796
6965 msgid ""
6966 "Most of the data produced by <systemitem "
6967 "role=\"package\">wanna-build</systemitem> which is generally useful to "
6968 "porters is available on the web at <ulink url=\"&url-buildd;\"></ulink>.  "
6969 "This data includes nightly updated statistics, queueing information and logs "
6970 "for build attempts."
6971 msgstr ""
6972
6973 #. type: Content of: <chapter><section><section><section><para>
6974 #: pkgs.dbk:1802
6975 msgid ""
6976 "We are quite proud of this system, since it has so many possible uses.  "
6977 "Independent development groups can use the system for different sub-flavors "
6978 "of Debian, which may or may not really be of general interest (for instance, "
6979 "a flavor of Debian built with <command>gcc</command> bounds checking).  It "
6980 "will also enable Debian to recompile entire distributions quickly."
6981 msgstr ""
6982
6983 #. type: Content of: <chapter><section><section><section><para>
6984 #: pkgs.dbk:1809
6985 msgid ""
6986 "The wanna-build team, in charge of the buildds, can be reached at "
6987 "<literal>debian-wb-team@lists.debian.org</literal>.  To determine who "
6988 "(wanna-build team, release team) and how (mail, BTS)  to contact, refer to "
6989 "<ulink url=\"&url-wb-team;\"></ulink>."
6990 msgstr ""
6991
6992 #. type: Content of: <chapter><section><section><section><para>
6993 #: pkgs.dbk:1816
6994 msgid ""
6995 "When requesting binNMUs or give-backs (retries after a failed build), please "
6996 "use the format described at <ulink url=\"&url-release-wb;\"/>."
6997 msgstr ""
6998
6999 #. type: Content of: <chapter><section><section><title>
7000 #: pkgs.dbk:1825
7001 msgid "When your package is <emphasis>not</emphasis> portable"
7002 msgstr ""
7003
7004 #. type: Content of: <chapter><section><section><para>
7005 #: pkgs.dbk:1827
7006 msgid ""
7007 "Some packages still have issues with building and/or working on some of the "
7008 "architectures supported by Debian, and cannot be ported at all, or not "
7009 "within a reasonable amount of time.  An example is a package that is "
7010 "SVGA-specific (only available for <literal>i386</literal> and "
7011 "<literal>amd64</literal>), or uses other hardware-specific features not "
7012 "supported on all architectures."
7013 msgstr ""
7014
7015 #. type: Content of: <chapter><section><section><para>
7016 #: pkgs.dbk:1834
7017 msgid ""
7018 "In order to prevent broken packages from being uploaded to the archive, and "
7019 "wasting buildd time, you need to do a few things:"
7020 msgstr ""
7021
7022 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7023 #: pkgs.dbk:1840
7024 msgid ""
7025 "First, make sure your package <emphasis>does</emphasis> fail to build on "
7026 "architectures that it cannot support.  There are a few ways to achieve "
7027 "this.  The preferred way is to have a small testsuite during build time that "
7028 "will test the functionality, and fail if it doesn't work.  This is a good "
7029 "idea anyway, as this will prevent (some) broken uploads on all "
7030 "architectures, and also will allow the package to build as soon as the "
7031 "required functionality is available."
7032 msgstr ""
7033
7034 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7035 #: pkgs.dbk:1848
7036 msgid ""
7037 "Additionally, if you believe the list of supported architectures is pretty "
7038 "constant, you should change <literal>any</literal> to a list of supported "
7039 "architectures in <filename>debian/control</filename>.  This way, the build "
7040 "will fail also, and indicate this to a human reader without actually trying."
7041 msgstr ""
7042
7043 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7044 #: pkgs.dbk:1856
7045 msgid ""
7046 "In order to prevent autobuilders from needlessly trying to build your "
7047 "package, it must be included in <filename>Packages-arch-specific</filename>, "
7048 "a list used by the <command>wanna-build</command> script.  The current "
7049 "version is available as <ulink url=\"&url-buildd-p-a-s;\"/>; please see the "
7050 "top of the file for whom to contact for changes."
7051 msgstr ""
7052
7053 #. type: Content of: <chapter><section><section><para>
7054 #: pkgs.dbk:1865
7055 msgid ""
7056 "Please note that it is insufficient to only add your package to "
7057 "<filename>Packages-arch-specific</filename> without making it fail to build "
7058 "on unsupported architectures: A porter or any other person trying to build "
7059 "your package might accidently upload it without noticing it doesn't work.  "
7060 "If in the past some binary packages were uploaded on unsupported "
7061 "architectures, request their removal by filing a bug against <systemitem "
7062 "role=\"package\">ftp.debian.org</systemitem>."
7063 msgstr ""
7064
7065 #. type: Content of: <chapter><section><section><title>
7066 #: pkgs.dbk:1876
7067 msgid "Marking non-free packages as auto-buildable"
7068 msgstr ""
7069
7070 #. type: Content of: <chapter><section><section><para>
7071 #: pkgs.dbk:1878
7072 msgid ""
7073 "By default packages from the <literal>non-free</literal> section are not "
7074 "built by the autobuilder network (mostly because the license of the packages "
7075 "could disapprove).  To enable a package to be build you need to perform the "
7076 "following steps:"
7077 msgstr ""
7078
7079 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7080 #: pkgs.dbk:1886
7081 msgid ""
7082 "Check whether it is legally allowed and technically possible to auto-build "
7083 "the package;"
7084 msgstr ""
7085
7086 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7087 #: pkgs.dbk:1892
7088 msgid ""
7089 "Add <literal>XS-Autobuild: yes</literal> into the header part of "
7090 "<filename>debian/control</filename>;"
7091 msgstr ""
7092
7093 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7094 #: pkgs.dbk:1898
7095 msgid ""
7096 "Send an email to &email-nonfree-release; and explain why the package can "
7097 "legitimately and technically be auto-built."
7098 msgstr ""
7099
7100 #. type: Content of: <chapter><section><title>
7101 #: pkgs.dbk:1907
7102 msgid "Non-Maintainer Uploads (NMUs)"
7103 msgstr ""
7104
7105 #. type: Content of: <chapter><section><para>
7106 #: pkgs.dbk:1909
7107 msgid ""
7108 "Every package has one or more maintainers. Normally, these are the people "
7109 "who work on and upload new versions of the package. In some situations, it "
7110 "is useful that other developers can upload a new version as well, for "
7111 "example if they want to fix a bug in a package they don't maintain, when the "
7112 "maintainer needs help to respond to issues.  Such uploads are called "
7113 "<emphasis>Non-Maintainer Uploads (NMU)</emphasis>."
7114 msgstr ""
7115
7116 #. type: Content of: <chapter><section><section><title>
7117 #: pkgs.dbk:1918
7118 msgid "When and how to do an NMU"
7119 msgstr ""
7120
7121 #. type: Content of: <chapter><section><section><para>
7122 #: pkgs.dbk:1921
7123 msgid "Before doing an NMU, consider the following questions:"
7124 msgstr ""
7125
7126 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7127 #: pkgs.dbk:1926
7128 msgid ""
7129 "Does your NMU really fix bugs? Fixing cosmetic issues or changing the "
7130 "packaging style in NMUs is discouraged."
7131 msgstr ""
7132
7133 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7134 #: pkgs.dbk:1932
7135 msgid ""
7136 "Did you give enough time to the maintainer? When was the bug reported to the "
7137 "BTS? Being busy for a week or two isn't unusual.  Is the bug so severe that "
7138 "it needs to be fixed right now, or can it wait a few more days?"
7139 msgstr ""
7140
7141 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7142 #: pkgs.dbk:1939
7143 msgid ""
7144 "How confident are you about your changes? Please remember the Hippocratic "
7145 "Oath: \"Above all, do no harm.\" It is better to leave a package with an "
7146 "open grave bug than applying a non-functional patch, or one that hides the "
7147 "bug instead of resolving it. If you are not 100% sure of what you did, it "
7148 "might be a good idea to seek advice from others. Remember that if you break "
7149 "something in your NMU, many people will be very unhappy about it."
7150 msgstr ""
7151
7152 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7153 #: pkgs.dbk:1949
7154 msgid ""
7155 "Have you clearly expressed your intention to NMU, at least in the BTS? It is "
7156 "also a good idea to try to contact the maintainer by other means (private "
7157 "email, IRC)."
7158 msgstr ""
7159
7160 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7161 #: pkgs.dbk:1956
7162 msgid ""
7163 "If the maintainer is usually active and responsive, have you tried to "
7164 "contact him? In general it should be considered preferable that a maintainer "
7165 "takes care of an issue himself and that he is given the chance to review and "
7166 "correct your patch, because he can be expected to be more aware of potential "
7167 "issues which an NMUer might miss. It is often a better use of everyone's "
7168 "time if the maintainer is given an opportunity to upload a fix on their own."
7169 msgstr ""
7170
7171 #. type: Content of: <chapter><section><section><para>
7172 #: pkgs.dbk:1966
7173 msgid ""
7174 "When doing an NMU, you must first make sure that your intention to NMU is "
7175 "clear.  Then, you must send a patch with the differences between the current "
7176 "package and your proposed NMU to the BTS. The <command>nmudiff</command> "
7177 "script in the <systemitem role=\"package\">devscripts</systemitem> package "
7178 "might be helpful."
7179 msgstr ""
7180
7181 #. type: Content of: <chapter><section><section><para>
7182 #: pkgs.dbk:1973
7183 msgid ""
7184 "While preparing the patch, you should better be aware of any "
7185 "package-specific practices that the maintainer might be using. Taking them "
7186 "into account reduces the burden of integrating your changes into the normal "
7187 "package workflow and thus increases the chances that integration will "
7188 "happen. A good place where to look for for possible package-specific "
7189 "practices is <ulink "
7190 "url=\"&url-debian-policy;ch-source.html#s-readmesource\"><filename>debian/README.source</filename></ulink>."
7191 msgstr ""
7192
7193 #. type: Content of: <chapter><section><section><para>
7194 #: pkgs.dbk:1981
7195 msgid ""
7196 "Unless you have an excellent reason not to do so, you must then give some "
7197 "time to the maintainer to react (for example, by uploading to the "
7198 "<literal>DELAYED</literal> queue).  Here are some recommended values to use "
7199 "for delays:"
7200 msgstr ""
7201
7202 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7203 #: pkgs.dbk:1988
7204 msgid ""
7205 "Upload fixing only release-critical bugs older than 7 days, with no "
7206 "maintainer activity on the bug for 7 days and no indication that a fix is in "
7207 "progress: 0 days"
7208 msgstr ""
7209
7210 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7211 #: pkgs.dbk:1993
7212 msgid "Upload fixing only release-critical bugs older than 7 days: 2 days"
7213 msgstr ""
7214
7215 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7216 #: pkgs.dbk:1998
7217 msgid "Upload fixing only release-critical and important bugs: 5 days"
7218 msgstr ""
7219
7220 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7221 #: pkgs.dbk:2003
7222 msgid "Other NMUs: 10 days"
7223 msgstr ""
7224
7225 #. type: Content of: <chapter><section><section><para>
7226 #: pkgs.dbk:2009
7227 msgid ""
7228 "Those delays are only examples. In some cases, such as uploads fixing "
7229 "security issues, or fixes for trivial bugs that blocking a transition, it is "
7230 "desirable that the fixed package reaches <literal>unstable</literal> sooner."
7231 msgstr ""
7232
7233 #. type: Content of: <chapter><section><section><para>
7234 #: pkgs.dbk:2015
7235 msgid ""
7236 "Sometimes, release managers decide to allow NMUs with shorter delays for a "
7237 "subset of bugs (e.g release-critical bugs older than 7 days). Also, some "
7238 "maintainers list themselves in the <ulink "
7239 "url=\"&url-low-threshold-nmu;\">Low Threshold NMU list</ulink>, and accept "
7240 "that NMUs are uploaded without delay. But even in those cases, it's still a "
7241 "good idea to give the maintainer a few days to react before you upload, "
7242 "especially if the patch wasn't available in the BTS before, or if you know "
7243 "that the maintainer is generally active."
7244 msgstr ""
7245
7246 #. type: Content of: <chapter><section><section><para>
7247 #: pkgs.dbk:2025
7248 msgid ""
7249 "After you upload an NMU, you are responsible for the possible problems that "
7250 "you might have introduced. You must keep an eye on the package (subscribing "
7251 "to the package on the PTS is a good way to achieve this)."
7252 msgstr ""
7253
7254 #. type: Content of: <chapter><section><section><para>
7255 #: pkgs.dbk:2031
7256 msgid ""
7257 "This is not a license to perform NMUs thoughtlessly.  If you NMU when it is "
7258 "clear that the maintainers are active and would have acknowledged a patch in "
7259 "a timely manner, or if you ignore the recommendations of this document, your "
7260 "upload might be a cause of conflict with the maintainer.  You should always "
7261 "be prepared to defend the wisdom of any NMU you perform on its own merits."
7262 msgstr ""
7263
7264 #. type: Content of: <chapter><section><section><title>
7265 #: pkgs.dbk:2041
7266 msgid "NMUs and <filename>debian/changelog</filename>"
7267 msgstr ""
7268
7269 #. type: Content of: <chapter><section><section><para>
7270 #: pkgs.dbk:2043
7271 msgid ""
7272 "Just like any other (source) upload, NMUs must add an entry to "
7273 "<filename>debian/changelog</filename>, telling what has changed with this "
7274 "upload.  The first line of this entry must explicitely mention that this "
7275 "upload is an NMU, e.g.:"
7276 msgstr ""
7277
7278 #. type: Content of: <chapter><section><section><screen>
7279 #: pkgs.dbk:2048
7280 #, no-wrap
7281 msgid "  * Non-maintainer upload.\n"
7282 msgstr ""
7283
7284 #. type: Content of: <chapter><section><section><para>
7285 #: pkgs.dbk:2052
7286 msgid "The way to version NMUs differs for native and non-native packages."
7287 msgstr ""
7288
7289 #. type: Content of: <chapter><section><section><para>
7290 #: pkgs.dbk:2055
7291 msgid ""
7292 "If the package is a native package (without a Debian revision in the version "
7293 "number), the version must be the version of the last maintainer upload, plus "
7294 "<literal>+nmu<replaceable>X</replaceable></literal>, where "
7295 "<replaceable>X</replaceable> is a counter starting at <literal>1</literal>.  "
7296 "If the last upload was also an NMU, the counter should be increased.  For "
7297 "example, if the current version is <literal>1.5</literal>, then an NMU would "
7298 "get version <literal>1.5+nmu1</literal>."
7299 msgstr ""
7300
7301 #. type: Content of: <chapter><section><section><para>
7302 #: pkgs.dbk:2065
7303 msgid ""
7304 "If the package is not a native package, you should add a minor version "
7305 "number to the Debian revision part of the version number (the portion after "
7306 "the last hyphen). This extra number must start at <literal>1</literal>.  For "
7307 "example, if the current version is <literal>1.5-2</literal>, then an NMU "
7308 "would get version <literal>1.5-2.1</literal>. If a new upstream version is "
7309 "packaged in the NMU, the Debian revision is set to <literal>0</literal>, for "
7310 "example <literal>1.6-0.1</literal>."
7311 msgstr ""
7312
7313 #. type: Content of: <chapter><section><section><para>
7314 #: pkgs.dbk:2074
7315 msgid ""
7316 "In both cases, if the last upload was also an NMU, the counter should be "
7317 "increased. For example, if the current version is "
7318 "<literal>1.5+nmu3</literal> (a native package which has already been NMUed), "
7319 "the NMU would get version <literal>1.5+nmu4</literal>."
7320 msgstr ""
7321
7322 #. type: Content of: <chapter><section><section><para>
7323 #: pkgs.dbk:2080
7324 msgid ""
7325 "A special versioning scheme is needed to avoid disrupting the maintainer's "
7326 "work, since using an integer for the Debian revision will potentially "
7327 "conflict with a maintainer upload already in preparation at the time of an "
7328 "NMU, or even one sitting in the ftp NEW queue.  It also has the benefit of "
7329 "making it visually clear that a package in the archive was not made by the "
7330 "official maintainer."
7331 msgstr ""
7332
7333 #. type: Content of: <chapter><section><section><para>
7334 #: pkgs.dbk:2090
7335 msgid ""
7336 "If you upload a package to testing or stable, you sometimes need to \"fork\" "
7337 "the version number tree. This is the case for security uploads, for "
7338 "example.  For this, a version of the form "
7339 "<literal>+deb<replaceable>XY</replaceable>u<replaceable>Z</replaceable></literal> "
7340 "should be used, where <replaceable>X</replaceable> and "
7341 "<replaceable>Y</replaceable> are the major and minor release numbers, and "
7342 "<replaceable>Z</replaceable> is a counter starting at <literal>1</literal>.  "
7343 "When the release number is not yet known (often the case for "
7344 "<literal>testing</literal>, at the beginning of release cycles), the lowest "
7345 "release number higher than the last stable release number must be used.  For "
7346 "example, while Lenny (Debian 5.0) is stable, a security NMU to stable for a "
7347 "package at version <literal>1.5-3</literal> would have version "
7348 "<literal>1.5-3+deb50u1</literal>, whereas a security NMU to Squeeze would "
7349 "get version <literal>1.5-3+deb60u1</literal>. After the release of Squeeze, "
7350 "security uploads to the <literal>testing</literal> distribution will be "
7351 "versioned <literal>+deb61uZ</literal>, until it is known whether that "
7352 "release will be Debian 6.1 or Debian 7.0 (if that becomes the case, uploads "
7353 "will be versioned as <literal>+deb70uZ</literal>)."
7354 msgstr ""
7355
7356 #. type: Content of: <chapter><section><section><title>
7357 #: pkgs.dbk:2112
7358 msgid "Using the <literal>DELAYED/</literal> queue"
7359 msgstr ""
7360
7361 #. type: Content of: <chapter><section><section><para>
7362 #: pkgs.dbk:2115
7363 msgid ""
7364 "Having to wait for a response after you request permission to NMU is "
7365 "inefficient, because it costs the NMUer a context switch to come back to the "
7366 "issue.  The <literal>DELAYED</literal> queue (see <xref "
7367 "linkend=\"delayed-incoming\"/>)  allows the developer doing the NMU to "
7368 "perform all the necessary tasks at the same time. For instance, instead of "
7369 "telling the maintainer that you will upload the updated package in 7 days, "
7370 "you should upload the package to <literal>DELAYED/7</literal> and tell the "
7371 "maintainer that he has 7 days to react.  During this time, the maintainer "
7372 "can ask you to delay the upload some more, or cancel your upload."
7373 msgstr ""
7374
7375 #. type: Content of: <chapter><section><section><para>
7376 #: pkgs.dbk:2129
7377 msgid ""
7378 "The <literal>DELAYED</literal> queue should not be used to put additional "
7379 "pressure on the maintainer. In particular, it's important that you are "
7380 "available to cancel or delay the upload before the delay expires since the "
7381 "maintainer cannot cancel the upload himself."
7382 msgstr ""
7383
7384 #. type: Content of: <chapter><section><section><para>
7385 #: pkgs.dbk:2136
7386 msgid ""
7387 "If you make an NMU to <literal>DELAYED</literal> and the maintainer updates "
7388 "his package before the delay expires, your upload will be rejected because a "
7389 "newer version is already available in the archive.  Ideally, the maintainer "
7390 "will take care to include your proposed changes (or at least a solution for "
7391 "the problems they address) in that upload."
7392 msgstr ""
7393
7394 #. type: Content of: <chapter><section><section><title>
7395 #: pkgs.dbk:2146
7396 msgid "NMUs from the maintainer's point of view"
7397 msgstr ""
7398
7399 #. type: Content of: <chapter><section><section><para>
7400 #: pkgs.dbk:2149
7401 msgid ""
7402 "When someone NMUs your package, this means they want to help you to keep it "
7403 "in good shape.  This gives users fixed packages faster.  You can consider "
7404 "asking the NMUer to become a co-maintainer of the package.  Receiving an NMU "
7405 "on a package is not a bad thing; it just means that the package is "
7406 "interesting enough for other people to work on it."
7407 msgstr ""
7408
7409 #. type: Content of: <chapter><section><section><para>
7410 #: pkgs.dbk:2158
7411 msgid ""
7412 "To acknowledge an NMU, include its changes and changelog entry in your next "
7413 "maintainer upload.  If you do not acknowledge the NMU by including the NMU "
7414 "changelog entry in your changelog, the bugs will remain closed in the BTS "
7415 "but will be listed as affecting your maintainer version of the package."
7416 msgstr ""
7417
7418 #. type: Content of: <chapter><section><section><title>
7419 #: pkgs.dbk:2167
7420 msgid "Source NMUs vs Binary-only NMUs (binNMUs)"
7421 msgstr ""
7422
7423 #. type: Content of: <chapter><section><section><para>
7424 #: pkgs.dbk:2170
7425 msgid ""
7426 "The full name of an NMU is <emphasis>source NMU</emphasis>.  There is also "
7427 "another type, namely the <emphasis>binary-only NMU</emphasis>, or "
7428 "<emphasis>binNMU</emphasis>.  A binNMU is also a package upload by someone "
7429 "other than the package's maintainer.  However, it is a binary-only upload."
7430 msgstr ""
7431
7432 #. type: Content of: <chapter><section><section><para>
7433 #: pkgs.dbk:2177
7434 msgid ""
7435 "When a library (or other dependency) is updated, the packages using it may "
7436 "need to be rebuilt.  Since no changes to the source are needed, the same "
7437 "source package is used."
7438 msgstr ""
7439
7440 #. type: Content of: <chapter><section><section><para>
7441 #: pkgs.dbk:2183
7442 msgid ""
7443 "BinNMUs are usually triggered on the buildds by wanna-build.  An entry is "
7444 "added to <filename>debian/changelog</filename>, explaining why the upload "
7445 "was needed and increasing the version number as described in <xref "
7446 "linkend=\"binary-only-nmu\"/>.  This entry should not be included in the "
7447 "next upload."
7448 msgstr ""
7449
7450 #. type: Content of: <chapter><section><section><para>
7451 #: pkgs.dbk:2191
7452 msgid ""
7453 "Buildds upload packages for their architecture to the archive as binary-only "
7454 "uploads.  Strictly speaking, these are binNMUs.  However, they are not "
7455 "normally called NMU, and they don't add an entry to "
7456 "<filename>debian/changelog</filename>."
7457 msgstr ""
7458
7459 #. type: Content of: <chapter><section><section><title>
7460 #: pkgs.dbk:2199
7461 msgid "NMUs vs QA uploads"
7462 msgstr ""
7463
7464 #. type: Content of: <chapter><section><section><para>
7465 #: pkgs.dbk:2202
7466 msgid ""
7467 "NMUs are uploads of packages by somebody else than their assigned "
7468 "maintainer.  There is another type of upload where the uploaded package is "
7469 "not yours: QA uploads. QA uploads are uploads of orphaned packages."
7470 msgstr ""
7471
7472 #. type: Content of: <chapter><section><section><para>
7473 #: pkgs.dbk:2209
7474 msgid ""
7475 "QA uploads are very much like normal maintainer uploads: they may fix "
7476 "anything, even minor issues; the version numbering is normal, and there is "
7477 "no need to use a delayed upload.  The difference is that you are not listed "
7478 "as the <literal>Maintainer</literal> or <literal>Uploader</literal> for the "
7479 "package.  Also, the changelog entry of a QA upload has a special first line:"
7480 msgstr ""
7481
7482 #. type: Content of: <chapter><section><section><screen>
7483 #: pkgs.dbk:2217
7484 #, no-wrap
7485 msgid " * QA upload.\n"
7486 msgstr ""
7487
7488 #. type: Content of: <chapter><section><section><para>
7489 #: pkgs.dbk:2221
7490 msgid ""
7491 "If you want to do an NMU, and it seems that the maintainer is not active, it "
7492 "is wise to check if the package is orphaned (this information is displayed "
7493 "on the package's Package Tracking System page).  When doing the first QA "
7494 "upload to an orphaned package, the maintainer should be set to "
7495 "<literal>Debian QA Group &lt;packages@qa.debian.org&gt;</literal>.  Orphaned "
7496 "packages which did not yet have a QA upload still have their old maintainer "
7497 "set.  There is a list of them at <ulink url=\"&url-orphaned-not-qa;\"/>."
7498 msgstr ""
7499
7500 #. type: Content of: <chapter><section><section><para>
7501 #: pkgs.dbk:2232
7502 msgid ""
7503 "Instead of doing a QA upload, you can also consider adopting the package by "
7504 "making yourself the maintainer.  You don't need permission from anybody to "
7505 "adopt an orphaned package, you can just set yourself as maintainer and "
7506 "upload the new version (see <xref linkend=\"adopting\"/>)."
7507 msgstr ""
7508
7509 #. type: Content of: <chapter><section><section><title>
7510 #: pkgs.dbk:2241
7511 msgid "NMUs vs team uploads"
7512 msgstr ""
7513
7514 #. type: Content of: <chapter><section><section><para>
7515 #: pkgs.dbk:2244
7516 msgid ""
7517 "Sometimes you are fixing and/or updating a package because you are member of "
7518 "a packaging team (which uses a mailing list as <literal>Maintainer</literal> "
7519 "or <literal>Uploader</literal>, see <xref linkend=\"collaborative-maint\"/>) "
7520 "but you don't want to add yourself to <literal>Uploaders</literal> because "
7521 "you do not plan to contribute regularly to this specific package. If it "
7522 "conforms with your team's policy, you can perform a normal upload without "
7523 "being listed directly as <literal>Maintainer</literal> or "
7524 "<literal>Uploader</literal>. In that case, you should start your changelog "
7525 "entry with the following line:"
7526 msgstr ""
7527
7528 #. type: Content of: <chapter><section><section><screen>
7529 #: pkgs.dbk:2254
7530 #, no-wrap
7531 msgid " * Team upload.\n"
7532 msgstr ""
7533
7534 #. type: Content of: <chapter><section><title>
7535 #: pkgs.dbk:2262
7536 msgid "Collaborative maintenance"
7537 msgstr ""
7538
7539 #. type: Content of: <chapter><section><para>
7540 #: pkgs.dbk:2264
7541 msgid ""
7542 "Collaborative maintenance is a term describing the sharing of Debian package "
7543 "maintenance duties by several people.  This collaboration is almost always a "
7544 "good idea, since it generally results in higher quality and faster bug fix "
7545 "turnaround times.  It is strongly recommended that packages with a priority "
7546 "of <literal>standard</literal> or which are part of the base set have "
7547 "co-maintainers."
7548 msgstr ""
7549
7550 #. type: Content of: <chapter><section><para>
7551 #: pkgs.dbk:2272
7552 msgid ""
7553 "Generally there is a primary maintainer and one or more co-maintainers.  The "
7554 "primary maintainer is the person whose name is listed in the "
7555 "<literal>Maintainer</literal> field of the "
7556 "<filename>debian/control</filename> file.  Co-maintainers are all the other "
7557 "maintainers, usually listed in the <literal>Uploaders</literal> field of the "
7558 "<filename>debian/control</filename> file."
7559 msgstr ""
7560
7561 #. type: Content of: <chapter><section><para>
7562 #: pkgs.dbk:2280
7563 msgid ""
7564 "In its most basic form, the process of adding a new co-maintainer is quite "
7565 "easy:"
7566 msgstr ""
7567
7568 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7569 #: pkgs.dbk:2286
7570 msgid ""
7571 "Setup the co-maintainer with access to the sources you build the package "
7572 "from.  Generally this implies you are using a network-capable version "
7573 "control system, such as <literal>CVS</literal> or "
7574 "<literal>Subversion</literal>.  Alioth (see <xref linkend=\"alioth\"/>) "
7575 "provides such tools, amongst others."
7576 msgstr ""
7577
7578 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7579 #: pkgs.dbk:2294
7580 msgid ""
7581 "Add the co-maintainer's correct maintainer name and address to the "
7582 "<literal>Uploaders</literal> field in the first paragraph of the "
7583 "<filename>debian/control</filename> file."
7584 msgstr ""
7585
7586 #. type: Content of: <chapter><section><itemizedlist><listitem><screen>
7587 #: pkgs.dbk:2299
7588 #, no-wrap
7589 msgid ""
7590 "Uploaders: John Buzz &lt;jbuzz@debian.org&gt;, Adam Rex "
7591 "&lt;arex@debian.org&gt;\n"
7592 msgstr ""
7593
7594 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7595 #: pkgs.dbk:2304
7596 msgid ""
7597 "Using the PTS (<xref linkend=\"pkg-tracking-system\"/>), the co-maintainers "
7598 "should subscribe themselves to the appropriate source package."
7599 msgstr ""
7600
7601 #. type: Content of: <chapter><section><para>
7602 #: pkgs.dbk:2310
7603 msgid ""
7604 "Another form of collaborative maintenance is team maintenance, which is "
7605 "recommended if you maintain several packages with the same group of "
7606 "developers.  In that case, the <literal>Maintainer</literal> and "
7607 "<literal>Uploaders</literal> field of each package must be managed with "
7608 "care.  It is recommended to choose between one of the two following schemes:"
7609 msgstr ""
7610
7611 #. type: Content of: <chapter><section><orderedlist><listitem><para>
7612 #: pkgs.dbk:2319
7613 msgid ""
7614 "Put the team member mainly responsible for the package in the "
7615 "<literal>Maintainer</literal> field.  In the <literal>Uploaders</literal>, "
7616 "put the mailing list address, and the team members who care for the package."
7617 msgstr ""
7618
7619 #. type: Content of: <chapter><section><orderedlist><listitem><para>
7620 #: pkgs.dbk:2326
7621 msgid ""
7622 "Put the mailing list address in the <literal>Maintainer</literal> field.  In "
7623 "the <literal>Uploaders</literal> field, put the team members who care for "
7624 "the package.  In this case, you must make sure the mailing list accept bug "
7625 "reports without any human interaction (like moderation for non-subscribers)."
7626 msgstr ""
7627
7628 #. type: Content of: <chapter><section><para>
7629 #: pkgs.dbk:2335
7630 msgid ""
7631 "In any case, it is a bad idea to automatically put all team members in the "
7632 "<literal>Uploaders</literal> field. It clutters the Developer's Package "
7633 "Overview listing (see <xref linkend=\"ddpo\"/>) with packages one doesn't "
7634 "really care for, and creates a false sense of good maintenance. For the same "
7635 "reason, team members do not need to add themselves to the "
7636 "<literal>Uploaders</literal> field just because they are uploading the "
7637 "package once, they can do a “Team upload” (see <xref "
7638 "linkend=\"nmu-team-upload\"/>). Conversely, it is a bad idea to keep a "
7639 "package with only the mailing list address as a "
7640 "<literal>Maintainer</literal> and no <literal>Uploaders</literal>."
7641 msgstr ""
7642
7643 #. type: Content of: <chapter><section><title>
7644 #: pkgs.dbk:2348
7645 msgid "The testing distribution"
7646 msgstr ""
7647
7648 #. type: Content of: <chapter><section><section><title>
7649 #: pkgs.dbk:2350
7650 msgid "Basics"
7651 msgstr ""
7652
7653 #. type: Content of: <chapter><section><section><para>
7654 #: pkgs.dbk:2352
7655 msgid ""
7656 "Packages are usually installed into the <literal>testing</literal> "
7657 "distribution after they have undergone some degree of "
7658 "<literal>testing</literal> in <literal>unstable</literal>."
7659 msgstr ""
7660
7661 #. type: Content of: <chapter><section><section><para>
7662 #: pkgs.dbk:2357
7663 msgid ""
7664 "They must be in sync on all architectures and mustn't have dependencies that "
7665 "make them uninstallable; they also have to have generally no known "
7666 "release-critical bugs at the time they're installed into "
7667 "<literal>testing</literal>.  This way, <literal>testing</literal> should "
7668 "always be close to being a release candidate.  Please see below for details."
7669 msgstr ""
7670
7671 #. type: Content of: <chapter><section><section><title>
7672 #: pkgs.dbk:2366
7673 msgid "Updates from unstable"
7674 msgstr ""
7675
7676 #. type: Content of: <chapter><section><section><para>
7677 #: pkgs.dbk:2368
7678 msgid ""
7679 "The scripts that update the <literal>testing</literal> distribution are run "
7680 "twice each day, right after the installation of the updated packages; these "
7681 "scripts are called <literal>britney</literal>.  They generate the "
7682 "<filename>Packages</filename> files for the <literal>testing</literal> "
7683 "distribution, but they do so in an intelligent manner; they try to avoid any "
7684 "inconsistency and to use only non-buggy packages."
7685 msgstr ""
7686
7687 #. type: Content of: <chapter><section><section><para>
7688 #: pkgs.dbk:2376
7689 msgid ""
7690 "The inclusion of a package from <literal>unstable</literal> is conditional "
7691 "on the following:"
7692 msgstr ""
7693
7694 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7695 #: pkgs.dbk:2382
7696 msgid ""
7697 "The package must have been available in <literal>unstable</literal> for 2, 5 "
7698 "or 10 days, depending on the urgency (high, medium or low).  Please note "
7699 "that the urgency is sticky, meaning that the highest urgency uploaded since "
7700 "the previous <literal>testing</literal> transition is taken into account.  "
7701 "Those delays may be doubled during a freeze, or <literal>testing</literal> "
7702 "transitions may be switched off altogether;"
7703 msgstr ""
7704
7705 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7706 #: pkgs.dbk:2392
7707 msgid ""
7708 "It must not have new release-critical bugs (RC bugs affecting the version "
7709 "available in <literal>unstable</literal>, but not affecting the version in "
7710 "<literal>testing</literal>);"
7711 msgstr ""
7712
7713 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7714 #: pkgs.dbk:2399
7715 msgid ""
7716 "It must be available on all architectures on which it has previously been "
7717 "built in <literal>unstable</literal>. <link linkend=\"dak-ls\">dak ls</link> "
7718 "may be of interest to check that information;"
7719 msgstr ""
7720
7721 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7722 #: pkgs.dbk:2406
7723 msgid ""
7724 "It must not break any dependency of a package which is already available in "
7725 "<literal>testing</literal>;"
7726 msgstr ""
7727
7728 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7729 #: pkgs.dbk:2412
7730 msgid ""
7731 "The packages on which it depends must either be available in "
7732 "<literal>testing</literal> or they must be accepted into "
7733 "<literal>testing</literal> at the same time (and they will be if they "
7734 "fulfill all the necessary criteria)."
7735 msgstr ""
7736
7737 #. type: Content of: <chapter><section><section><para>
7738 #: pkgs.dbk:2420
7739 msgid ""
7740 "To find out whether a package is progressing into <literal>testing</literal> "
7741 "or not, see the <literal>testing</literal> script output on the <ulink "
7742 "url=\"&url-testing-maint;\">web page of the testing distribution</ulink>, or "
7743 "use the program <command>grep-excuses</command> which is in the <systemitem "
7744 "role=\"package\">devscripts</systemitem> package.  This utility can easily "
7745 "be used in a <citerefentry> <refentrytitle>crontab</refentrytitle> "
7746 "<manvolnum>5</manvolnum> </citerefentry> to keep yourself informed of the "
7747 "progression of your packages into <literal>testing</literal>."
7748 msgstr ""
7749
7750 #. type: Content of: <chapter><section><section><para>
7751 #: pkgs.dbk:2431
7752 msgid ""
7753 "The <filename>update_excuses</filename> file does not always give the "
7754 "precise reason why the package is refused; you may have to find it on your "
7755 "own by looking for what would break with the inclusion of the package.  The "
7756 "<ulink url=\"&url-testing-maint;\">testing web page</ulink> gives some more "
7757 "information about the usual problems which may be causing such troubles."
7758 msgstr ""
7759
7760 #. type: Content of: <chapter><section><section><para>
7761 #: pkgs.dbk:2438
7762 msgid ""
7763 "Sometimes, some packages never enter <literal>testing</literal> because the "
7764 "set of interrelationship is too complicated and cannot be sorted out by the "
7765 "scripts.  See below for details."
7766 msgstr ""
7767
7768 #. type: Content of: <chapter><section><section><para>
7769 #: pkgs.dbk:2443
7770 msgid ""
7771 "Some further dependency analysis is shown on <ulink "
7772 "url=\"http://release.debian.org/migration/\"></ulink> — but be warned, this "
7773 "page also shows build dependencies which are not considered by britney."
7774 msgstr ""
7775
7776 #. type: Content of: <chapter><section><section><section><title>
7777 #: pkgs.dbk:2448
7778 msgid "Out-of-date"
7779 msgstr ""
7780
7781 #.  FIXME: better rename this file than document rampant professionalism? 
7782 #. type: Content of: <chapter><section><section><section><para>
7783 #: pkgs.dbk:2451
7784 msgid ""
7785 "For the <literal>testing</literal> migration script, outdated means: There "
7786 "are different versions in <literal>unstable</literal> for the release "
7787 "architectures (except for the architectures in fuckedarches; fuckedarches is "
7788 "a list of architectures that don't keep up (in "
7789 "<filename>update_out.py</filename>), but currently, it's empty).  outdated "
7790 "has nothing whatsoever to do with the architectures this package has in "
7791 "<literal>testing</literal>."
7792 msgstr ""
7793
7794 #. type: Content of: <chapter><section><section><section><para>
7795 #: pkgs.dbk:2459
7796 msgid "Consider this example:"
7797 msgstr ""
7798
7799 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7800 #: pkgs.dbk:2466 pkgs.dbk:2499
7801 msgid "alpha"
7802 msgstr ""
7803
7804 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7805 #: pkgs.dbk:2467 pkgs.dbk:2500
7806 msgid "arm"
7807 msgstr ""
7808
7809 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7810 #: pkgs.dbk:2472 pkgs.dbk:2506 pkgs.dbk:2568
7811 msgid "testing"
7812 msgstr ""
7813
7814 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7815 #: pkgs.dbk:2473 pkgs.dbk:2478 pkgs.dbk:2507 pkgs.dbk:2508 pkgs.dbk:2515
7816 msgid "1"
7817 msgstr ""
7818
7819 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7820 #: pkgs.dbk:2474 pkgs.dbk:2509 pkgs.dbk:2514
7821 msgid "-"
7822 msgstr ""
7823
7824 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7825 #: pkgs.dbk:2477 pkgs.dbk:2512 pkgs.dbk:2569
7826 msgid "unstable"
7827 msgstr ""
7828
7829 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7830 #: pkgs.dbk:2479 pkgs.dbk:2513
7831 msgid "2"
7832 msgstr ""
7833
7834 #. type: Content of: <chapter><section><section><section><para>
7835 #: pkgs.dbk:2485
7836 msgid ""
7837 "The package is out of date on <literal>alpha</literal> in "
7838 "<literal>unstable</literal>, and will not go to "
7839 "<literal>testing</literal>. Removing the package would not help at all, the "
7840 "package is still out of date on <literal>alpha</literal>, and will not "
7841 "propagate to <literal>testing</literal>."
7842 msgstr ""
7843
7844 #. type: Content of: <chapter><section><section><section><para>
7845 #: pkgs.dbk:2491
7846 msgid ""
7847 "However, if ftp-master removes a package in <literal>unstable</literal> "
7848 "(here on <literal>arm</literal>):"
7849 msgstr ""
7850
7851 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7852 #: pkgs.dbk:2501
7853 msgid "hurd-i386"
7854 msgstr ""
7855
7856 #. type: Content of: <chapter><section><section><section><para>
7857 #: pkgs.dbk:2521
7858 msgid ""
7859 "In this case, the package is up to date on all release architectures in "
7860 "<literal>unstable</literal> (and the extra <literal>hurd-i386</literal> "
7861 "doesn't matter, as it's not a release architecture)."
7862 msgstr ""
7863
7864 #. type: Content of: <chapter><section><section><section><para>
7865 #: pkgs.dbk:2526
7866 msgid ""
7867 "Sometimes, the question is raised if it is possible to allow packages in "
7868 "that are not yet built on all architectures: No.  Just plainly no.  (Except "
7869 "if you maintain glibc or so.)"
7870 msgstr ""
7871
7872 #. type: Content of: <chapter><section><section><section><title>
7873 #: pkgs.dbk:2533
7874 msgid "Removals from testing"
7875 msgstr ""
7876
7877 #. type: Content of: <chapter><section><section><section><para>
7878 #: pkgs.dbk:2535
7879 msgid ""
7880 "Sometimes, a package is removed to allow another package in: This happens "
7881 "only to allow <emphasis>another</emphasis> package to go in if it's ready in "
7882 "every other sense.  Suppose e.g.  that <literal>a</literal> cannot be "
7883 "installed with the new version of <literal>b</literal>; then "
7884 "<literal>a</literal> may be removed to allow <literal>b</literal> in."
7885 msgstr ""
7886
7887 #. type: Content of: <chapter><section><section><section><para>
7888 #: pkgs.dbk:2542
7889 msgid ""
7890 "Of course, there is another reason to remove a package from "
7891 "<literal>testing</literal>: It's just too buggy (and having a single RC-bug "
7892 "is enough to be in this state)."
7893 msgstr ""
7894
7895 #. type: Content of: <chapter><section><section><section><para>
7896 #: pkgs.dbk:2547
7897 msgid ""
7898 "Furthermore, if a package has been removed from <literal>unstable</literal>, "
7899 "and no package in <literal>testing</literal> depends on it any more, then it "
7900 "will automatically be removed."
7901 msgstr ""
7902
7903 #. type: Content of: <chapter><section><section><section><title>
7904 #: pkgs.dbk:2554
7905 msgid "Circular dependencies"
7906 msgstr ""
7907
7908 #. type: Content of: <chapter><section><section><section><para>
7909 #: pkgs.dbk:2556
7910 msgid ""
7911 "A situation which is not handled very well by britney is if package "
7912 "<literal>a</literal> depends on the new version of package "
7913 "<literal>b</literal>, and vice versa."
7914 msgstr ""
7915
7916 #. type: Content of: <chapter><section><section><section><para>
7917 #: pkgs.dbk:2561
7918 msgid "An example of this is:"
7919 msgstr ""
7920
7921 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7922 #: pkgs.dbk:2574
7923 msgid "a"
7924 msgstr ""
7925
7926 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7927 #: pkgs.dbk:2575
7928 msgid "1; depends: b=1"
7929 msgstr ""
7930
7931 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7932 #: pkgs.dbk:2576
7933 msgid "2; depends: b=2"
7934 msgstr ""
7935
7936 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7937 #: pkgs.dbk:2579
7938 msgid "b"
7939 msgstr ""
7940
7941 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7942 #: pkgs.dbk:2580
7943 msgid "1; depends: a=1"
7944 msgstr ""
7945
7946 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7947 #: pkgs.dbk:2581
7948 msgid "2; depends: a=2"
7949 msgstr ""
7950
7951 #. type: Content of: <chapter><section><section><section><para>
7952 #: pkgs.dbk:2587
7953 msgid ""
7954 "Neither package <literal>a</literal> nor package <literal>b</literal> is "
7955 "considered for update."
7956 msgstr ""
7957
7958 #. type: Content of: <chapter><section><section><section><para>
7959 #: pkgs.dbk:2591
7960 msgid ""
7961 "Currently, this requires some manual hinting from the release team.  Please "
7962 "contact them by sending mail to &email-debian-release; if this happens to "
7963 "one of your packages."
7964 msgstr ""
7965
7966 #. type: Content of: <chapter><section><section><section><title>
7967 #: pkgs.dbk:2598
7968 msgid "Influence of package in testing"
7969 msgstr ""
7970
7971 #. type: Content of: <chapter><section><section><section><para>
7972 #: pkgs.dbk:2600
7973 msgid ""
7974 "Generally, there is nothing that the status of a package in "
7975 "<literal>testing</literal> means for transition of the next version from "
7976 "<literal>unstable</literal> to <literal>testing</literal>, with two "
7977 "exceptions: If the RC-bugginess of the package goes down, it may go in even "
7978 "if it is still RC-buggy.  The second exception is if the version of the "
7979 "package in <literal>testing</literal> is out of sync on the different "
7980 "arches: Then any arch might just upgrade to the version of the source "
7981 "package; however, this can happen only if the package was previously forced "
7982 "through, the arch is in fuckedarches, or there was no binary package of that "
7983 "arch present in <literal>unstable</literal> at all during the "
7984 "<literal>testing</literal> migration."
7985 msgstr ""
7986
7987 #. type: Content of: <chapter><section><section><section><para>
7988 #: pkgs.dbk:2612
7989 msgid ""
7990 "In summary this means: The only influence that a package being in "
7991 "<literal>testing</literal> has on a new version of the same package is that "
7992 "the new version might go in easier."
7993 msgstr ""
7994
7995 #. type: Content of: <chapter><section><section><section><title>
7996 #: pkgs.dbk:2619
7997 msgid "Details"
7998 msgstr ""
7999
8000 #. type: Content of: <chapter><section><section><section><para>
8001 #: pkgs.dbk:2621
8002 msgid "If you are interested in details, this is how britney works:"
8003 msgstr ""
8004
8005 #. type: Content of: <chapter><section><section><section><para>
8006 #: pkgs.dbk:2624
8007 msgid ""
8008 "The packages are looked at to determine whether they are valid candidates.  "
8009 "This gives the update excuses.  The most common reasons why a package is not "
8010 "considered are too young, RC-bugginess, and out of date on some arches.  For "
8011 "this part of britney, the release managers have hammers of various sizes to "
8012 "force britney to consider a package.  (Also, the base freeze is coded in "
8013 "that part of britney.) (There is a similar thing for binary-only updates, "
8014 "but this is not described here.  If you're interested in that, please peruse "
8015 "the code.)"
8016 msgstr ""
8017
8018 #. type: Content of: <chapter><section><section><section><para>
8019 #: pkgs.dbk:2633
8020 msgid ""
8021 "Now, the more complex part happens: Britney tries to update "
8022 "<literal>testing</literal> with the valid candidates. For that, britney "
8023 "tries to add each valid candidate to the testing distribution. If the number "
8024 "of uninstallable packages in <literal>testing</literal> doesn't increase, "
8025 "the package is accepted. From that point on, the accepted package is "
8026 "considered to be part of <literal>testing</literal>, such that all "
8027 "subsequent installability tests include this package.  Hints from the "
8028 "release team are processed before or after this main run, depending on the "
8029 "exact type."
8030 msgstr ""
8031
8032 #. type: Content of: <chapter><section><section><section><para>
8033 #: pkgs.dbk:2643
8034 msgid ""
8035 "If you want to see more details, you can look it up on <ulink "
8036 "url=\"http://&ftp-master-host;/testing/update_output/\"></ulink>."
8037 msgstr ""
8038
8039 #. type: Content of: <chapter><section><section><section><para>
8040 #: pkgs.dbk:2647
8041 msgid ""
8042 "The hints are available via <ulink "
8043 "url=\"http://&ftp-master-host;/testing/hints/\"></ulink>."
8044 msgstr ""
8045
8046 #. type: Content of: <chapter><section><section><title>
8047 #: pkgs.dbk:2655
8048 msgid "Direct updates to testing"
8049 msgstr ""
8050
8051 #. type: Content of: <chapter><section><section><para>
8052 #: pkgs.dbk:2657
8053 msgid ""
8054 "The <literal>testing</literal> distribution is fed with packages from "
8055 "<literal>unstable</literal> according to the rules explained above.  "
8056 "However, in some cases, it is necessary to upload packages built only for "
8057 "<literal>testing</literal>.  For that, you may want to upload to "
8058 "<literal>testing-proposed-updates</literal>."
8059 msgstr ""
8060
8061 #. type: Content of: <chapter><section><section><para>
8062 #: pkgs.dbk:2664
8063 msgid ""
8064 "Keep in mind that packages uploaded there are not automatically processed, "
8065 "they have to go through the hands of the release manager.  So you'd better "
8066 "have a good reason to upload there.  In order to know what a good reason is "
8067 "in the release managers' eyes, you should read the instructions that they "
8068 "regularly give on &email-debian-devel-announce;."
8069 msgstr ""
8070
8071 #. type: Content of: <chapter><section><section><para>
8072 #: pkgs.dbk:2671
8073 msgid ""
8074 "You should not upload to <literal>testing-proposed-updates</literal> when "
8075 "you can update your packages through <literal>unstable</literal>.  If you "
8076 "can't (for example because you have a newer development version in "
8077 "<literal>unstable</literal>), you may use this facility, but it is "
8078 "recommended that you ask for authorization from the release manager first.  "
8079 "Even if a package is frozen, updates through <literal>unstable</literal> are "
8080 "possible, if the upload via <literal>unstable</literal> does not pull in any "
8081 "new dependencies."
8082 msgstr ""
8083
8084 #. type: Content of: <chapter><section><section><para>
8085 #: pkgs.dbk:2680
8086 msgid ""
8087 "Version numbers are usually selected by adding the codename of the "
8088 "<literal>testing</literal> distribution and a running number, like "
8089 "<literal>1.2squeeze1</literal> for the first upload through "
8090 "<literal>testing-proposed-updates</literal> of package version "
8091 "<literal>1.2</literal>."
8092 msgstr ""
8093
8094 #. type: Content of: <chapter><section><section><para>
8095 #: pkgs.dbk:2687
8096 msgid "Please make sure you didn't miss any of these items in your upload:"
8097 msgstr ""
8098
8099 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8100 #: pkgs.dbk:2692
8101 msgid ""
8102 "Make sure that your package really needs to go through "
8103 "<literal>testing-proposed-updates</literal>, and can't go through "
8104 "<literal>unstable</literal>;"
8105 msgstr ""
8106
8107 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8108 #: pkgs.dbk:2699
8109 msgid "Make sure that you included only the minimal amount of changes;"
8110 msgstr ""
8111
8112 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8113 #: pkgs.dbk:2704
8114 msgid "Make sure that you included an appropriate explanation in the changelog;"
8115 msgstr ""
8116
8117 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8118 #: pkgs.dbk:2709
8119 msgid ""
8120 "Make sure that you've written <literal>testing</literal> or "
8121 "<literal>testing-proposed-updates</literal> into your target distribution;"
8122 msgstr ""
8123
8124 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8125 #: pkgs.dbk:2715
8126 msgid ""
8127 "Make sure that you've built and tested your package in "
8128 "<literal>testing</literal>, not in <literal>unstable</literal>;"
8129 msgstr ""
8130
8131 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8132 #: pkgs.dbk:2721
8133 msgid ""
8134 "Make sure that your version number is higher than the version in "
8135 "<literal>testing</literal> and <literal>testing-proposed-updates</literal>, "
8136 "and lower than in <literal>unstable</literal>;"
8137 msgstr ""
8138
8139 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8140 #: pkgs.dbk:2728
8141 msgid ""
8142 "After uploading and successful build on all platforms, contact the release "
8143 "team at &email-debian-release; and ask them to approve your upload."
8144 msgstr ""
8145
8146 #. type: Content of: <chapter><section><section><title>
8147 #: pkgs.dbk:2736
8148 msgid "Frequently asked questions"
8149 msgstr ""
8150
8151 #. type: Content of: <chapter><section><section><section><title>
8152 #: pkgs.dbk:2738
8153 msgid "What are release-critical bugs, and how do they get counted?"
8154 msgstr ""
8155
8156 #. type: Content of: <chapter><section><section><section><para>
8157 #: pkgs.dbk:2740
8158 msgid ""
8159 "All bugs of some higher severities are by default considered "
8160 "release-critical; currently, these are <literal>critical</literal>, "
8161 "<literal>grave</literal> and <literal>serious</literal> bugs."
8162 msgstr ""
8163
8164 #. type: Content of: <chapter><section><section><section><para>
8165 #: pkgs.dbk:2745
8166 msgid ""
8167 "Such bugs are presumed to have an impact on the chances that the package "
8168 "will be released with the <literal>stable</literal> release of Debian: in "
8169 "general, if a package has open release-critical bugs filed on it, it won't "
8170 "get into <literal>testing</literal>, and consequently won't be released in "
8171 "<literal>stable</literal>."
8172 msgstr ""
8173
8174 #. type: Content of: <chapter><section><section><section><para>
8175 #: pkgs.dbk:2752
8176 msgid ""
8177 "The <literal>unstable</literal> bug count are all release-critical bugs "
8178 "which are marked to apply to "
8179 "<replaceable>package</replaceable>/<replaceable>version</replaceable> "
8180 "combinations that are available in unstable for a release architecture. The "
8181 "<literal>testing</literal> bug count is defined analogously."
8182 msgstr ""
8183
8184 #. type: Content of: <chapter><section><section><section><title>
8185 #: pkgs.dbk:2760
8186 msgid ""
8187 "How could installing a package into <literal>testing</literal> possibly "
8188 "break other packages?"
8189 msgstr ""
8190
8191 #. type: Content of: <chapter><section><section><section><para>
8192 #: pkgs.dbk:2763
8193 msgid ""
8194 "The structure of the distribution archives is such that they can only "
8195 "contain one version of a package; a package is defined by its name.  So when "
8196 "the source package <literal>acmefoo</literal> is installed into "
8197 "<literal>testing</literal>, along with its binary packages "
8198 "<literal>acme-foo-bin</literal>, <literal>acme-bar-bin</literal>, "
8199 "<literal>libacme-foo1</literal> and <literal>libacme-foo-dev</literal>, the "
8200 "old version is removed."
8201 msgstr ""
8202
8203 #. type: Content of: <chapter><section><section><section><para>
8204 #: pkgs.dbk:2771
8205 msgid ""
8206 "However, the old version may have provided a binary package with an old "
8207 "soname of a library, such as <literal>libacme-foo0</literal>.  Removing the "
8208 "old <literal>acmefoo</literal> will remove <literal>libacme-foo0</literal>, "
8209 "which will break any packages which depend on it."
8210 msgstr ""
8211
8212 #. type: Content of: <chapter><section><section><section><para>
8213 #: pkgs.dbk:2777
8214 msgid ""
8215 "Evidently, this mainly affects packages which provide changing sets of "
8216 "binary packages in different versions (in turn, mainly libraries).  However, "
8217 "it will also affect packages upon which versioned dependencies have been "
8218 "declared of the ==, &lt;=, or &lt;&lt; varieties."
8219 msgstr ""
8220
8221 #. type: Content of: <chapter><section><section><section><para>
8222 #: pkgs.dbk:2783
8223 msgid ""
8224 "When the set of binary packages provided by a source package change in this "
8225 "way, all the packages that depended on the old binaries will have to be "
8226 "updated to depend on the new binaries instead.  Because installing such a "
8227 "source package into <literal>testing</literal> breaks all the packages that "
8228 "depended on it in <literal>testing</literal>, some care has to be taken now: "
8229 "all the depending packages must be updated and ready to be installed "
8230 "themselves so that they won't be broken, and, once everything is ready, "
8231 "manual intervention by the release manager or an assistant is normally "
8232 "required."
8233 msgstr ""
8234
8235 #. type: Content of: <chapter><section><section><section><para>
8236 #: pkgs.dbk:2794
8237 msgid ""
8238 "If you are having problems with complicated groups of packages like this, "
8239 "contact &email-debian-devel; or &email-debian-release; for help."
8240 msgstr ""
8241
8242 #. type: Content of: <chapter><title>
8243 #: resources.dbk:7
8244 msgid "Resources for Debian Developers"
8245 msgstr ""
8246
8247 #. type: Content of: <chapter><para>
8248 #: resources.dbk:9
8249 msgid ""
8250 "In this chapter you will find a very brief road map of the Debian mailing "
8251 "lists, the Debian machines which may be available to you as a developer, and "
8252 "all the other resources that are available to help you in your maintainer "
8253 "work."
8254 msgstr ""
8255
8256 #. type: Content of: <chapter><section><title>
8257 #: resources.dbk:14
8258 msgid "Mailing lists"
8259 msgstr ""
8260
8261 #. type: Content of: <chapter><section><para>
8262 #: resources.dbk:16
8263 msgid ""
8264 "Much of the conversation between Debian developers (and users) is managed "
8265 "through a wide array of mailing lists we host at <literal><ulink "
8266 "url=\"http://&lists-host;/\">&lists-host;</ulink></literal>.  To find out "
8267 "more on how to subscribe or unsubscribe, how to post and how not to post, "
8268 "where to find old posts and how to search them, how to contact the list "
8269 "maintainers and see various other information about the mailing lists, "
8270 "please read <ulink url=\"&url-debian-lists;\"></ulink>.  This section will "
8271 "only cover aspects of mailing lists that are of particular interest to "
8272 "developers."
8273 msgstr ""
8274
8275 #. type: Content of: <chapter><section><section><title>
8276 #: resources.dbk:27
8277 msgid "Basic rules for use"
8278 msgstr ""
8279
8280 #. type: Content of: <chapter><section><section><para>
8281 #: resources.dbk:29
8282 msgid ""
8283 "When replying to messages on the mailing list, please do not send a carbon "
8284 "copy (<literal>CC</literal>) to the original poster unless they explicitly "
8285 "request to be copied.  Anyone who posts to a mailing list should read it to "
8286 "see the responses."
8287 msgstr ""
8288
8289 #. type: Content of: <chapter><section><section><para>
8290 #: resources.dbk:35
8291 msgid ""
8292 "Cross-posting (sending the same message to multiple lists) is discouraged.  "
8293 "As ever on the net, please trim down the quoting of articles you're replying "
8294 "to.  In general, please adhere to the usual conventions for posting "
8295 "messages."
8296 msgstr ""
8297
8298 #. type: Content of: <chapter><section><section><para>
8299 #: resources.dbk:40
8300 msgid ""
8301 "Please read the <ulink url=\"&url-debian-lists;#codeofconduct\">code of "
8302 "conduct</ulink> for more information. The <ulink url=\"&url-dcg;\">Debian "
8303 "Community Guidelines</ulink> are also worth reading."
8304 msgstr ""
8305
8306 #. type: Content of: <chapter><section><section><title>
8307 #: resources.dbk:48
8308 msgid "Core development mailing lists"
8309 msgstr ""
8310
8311 #. type: Content of: <chapter><section><section><para>
8312 #: resources.dbk:50
8313 msgid "The core Debian mailing lists that developers should use are:"
8314 msgstr ""
8315
8316 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8317 #: resources.dbk:55
8318 msgid ""
8319 "&email-debian-devel-announce;, used to announce important things to "
8320 "developers.  All developers are expected to be subscribed to this list."
8321 msgstr ""
8322
8323 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8324 #: resources.dbk:62
8325 msgid ""
8326 "&email-debian-devel;, used to discuss various development related technical "
8327 "issues."
8328 msgstr ""
8329
8330 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8331 #: resources.dbk:68
8332 msgid "&email-debian-policy;, where the Debian Policy is discussed and voted on."
8333 msgstr ""
8334
8335 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8336 #: resources.dbk:74
8337 msgid ""
8338 "&email-debian-project;, used to discuss various non-technical issues related "
8339 "to the project."
8340 msgstr ""
8341
8342 #. type: Content of: <chapter><section><section><para>
8343 #: resources.dbk:80
8344 msgid ""
8345 "There are other mailing lists available for a variety of special topics; see "
8346 "<ulink url=\"http://&lists-host;/\"></ulink> for a list."
8347 msgstr ""
8348
8349 #. type: Content of: <chapter><section><section><title>
8350 #: resources.dbk:86
8351 msgid "Special lists"
8352 msgstr ""
8353
8354 #. type: Content of: <chapter><section><section><para>
8355 #: resources.dbk:88
8356 msgid ""
8357 "&email-debian-private; is a special mailing list for private discussions "
8358 "amongst Debian developers.  It is meant to be used for posts which for "
8359 "whatever reason should not be published publicly.  As such, it is a low "
8360 "volume list, and users are urged not to use &email-debian-private; unless it "
8361 "is really necessary.  Moreover, do <emphasis>not</emphasis> forward email "
8362 "from that list to anyone.  Archives of this list are not available on the "
8363 "web for obvious reasons, but you can see them using your shell account on "
8364 "<literal>&master-host;</literal> and looking in the "
8365 "<filename>&file-debian-private-archive;</filename> directory."
8366 msgstr ""
8367
8368 #. type: Content of: <chapter><section><section><para>
8369 #: resources.dbk:100
8370 msgid ""
8371 "&email-debian-email; is a special mailing list used as a grab-bag for Debian "
8372 "related correspondence such as contacting upstream authors about licenses, "
8373 "bugs, etc.  or discussing the project with others where it might be useful "
8374 "to have the discussion archived somewhere."
8375 msgstr ""
8376
8377 #. type: Content of: <chapter><section><section><title>
8378 #: resources.dbk:108
8379 msgid "Requesting new development-related lists"
8380 msgstr ""
8381
8382 #. type: Content of: <chapter><section><section><para>
8383 #: resources.dbk:110
8384 msgid ""
8385 "Before requesting a mailing list that relates to the development of a "
8386 "package (or a small group of related packages), please consider if using an "
8387 "alias (via a .forward-aliasname file on master.debian.org, which translates "
8388 "into a reasonably nice <replaceable>you-aliasname@debian.org</replaceable> "
8389 "address) or a self-managed mailing list on <link "
8390 "linkend=\"alioth\">Alioth</link> is more appropriate."
8391 msgstr ""
8392
8393 #. type: Content of: <chapter><section><section><para>
8394 #: resources.dbk:118
8395 msgid ""
8396 "If you decide that a regular mailing list on &lists-host; is really what you "
8397 "want, go ahead and fill in a request, following <ulink "
8398 "url=\"&url-debian-lists-new;\">the HOWTO</ulink>."
8399 msgstr ""
8400
8401 #. type: Content of: <chapter><section><title>
8402 #: resources.dbk:127
8403 msgid "IRC channels"
8404 msgstr ""
8405
8406 #. type: Content of: <chapter><section><para>
8407 #: resources.dbk:129
8408 msgid ""
8409 "Several IRC channels are dedicated to Debian's development.  They are mainly "
8410 "hosted on the <ulink url=\"&url-oftc;\">Open and free technology community "
8411 "(OFTC)</ulink> network.  The <literal>irc.debian.org</literal> DNS entry is "
8412 "an alias to <literal>irc.oftc.net</literal>."
8413 msgstr ""
8414
8415 #. type: Content of: <chapter><section><para>
8416 #: resources.dbk:135
8417 msgid ""
8418 "The main channel for Debian in general is <literal>#debian</literal>.  This "
8419 "is a large, general-purpose channel where users can find recent news in the "
8420 "topic and served by bots.  <literal>#debian</literal> is for English "
8421 "speakers; there are also <literal>#debian.de</literal>, "
8422 "<literal>#debian-fr</literal>, <literal>#debian-br</literal> and other "
8423 "similarly named channels for speakers of other languages."
8424 msgstr ""
8425
8426 #. type: Content of: <chapter><section><para>
8427 #: resources.dbk:143
8428 msgid ""
8429 "The main channel for Debian development is "
8430 "<literal>#debian-devel</literal>.  It is a very active channel; it will "
8431 "typically have a minimum of 150 people at any time of day.  It's a channel "
8432 "for people who work on Debian, it's not a support channel (there's "
8433 "<literal>#debian</literal> for that).  It is however open to anyone who "
8434 "wants to lurk (and learn).  Its topic is commonly full of interesting "
8435 "information for developers."
8436 msgstr ""
8437
8438 #. type: Content of: <chapter><section><para>
8439 #: resources.dbk:152
8440 msgid ""
8441 "Since <literal>#debian-devel</literal> is an open channel, you should not "
8442 "speak there of issues that are discussed in &email-debian-private;.  There's "
8443 "another channel for this purpose, it's called "
8444 "<literal>#debian-private</literal> and it's protected by a key.  This key is "
8445 "available at "
8446 "<filename>master.debian.org:&file-debian-private-key;</filename>."
8447 msgstr ""
8448
8449 #. type: Content of: <chapter><section><para>
8450 #: resources.dbk:160
8451 msgid ""
8452 "There are other additional channels dedicated to specific subjects.  "
8453 "<literal>#debian-bugs</literal> is used for coordinating bug squashing "
8454 "parties.  <literal>#debian-boot</literal> is used to coordinate the work on "
8455 "the debian-installer.  <literal>#debian-doc</literal> is occasionally used "
8456 "to talk about documentation, like the document you are reading.  Other "
8457 "channels are dedicated to an architecture or a set of packages: "
8458 "<literal>#debian-kde</literal>, <literal>#debian-dpkg</literal>, "
8459 "<literal>#debian-jr</literal>, <literal>#debian-edu</literal>, "
8460 "<literal>#debian-oo</literal> (OpenOffice.org package)..."
8461 msgstr ""
8462
8463 #. type: Content of: <chapter><section><para>
8464 #: resources.dbk:171
8465 msgid ""
8466 "Some non-English developers' channels exist as well, for example "
8467 "<literal>#debian-devel-fr</literal> for French speaking people interested in "
8468 "Debian's development."
8469 msgstr ""
8470
8471 #. type: Content of: <chapter><section><para>
8472 #: resources.dbk:176
8473 msgid ""
8474 "Channels dedicated to Debian also exist on other IRC networks, notably on "
8475 "the <ulink url=\"&url-openprojects;\">freenode</ulink> IRC network, which "
8476 "was pointed at by the <literal>irc.debian.org</literal> alias until 4th June "
8477 "2006."
8478 msgstr ""
8479
8480 #. type: Content of: <chapter><section><para>
8481 #: resources.dbk:182
8482 msgid ""
8483 "To get a cloak on freenode, you send Jörg Jaspert &lt;joerg@debian.org&gt; a "
8484 "signed mail where you tell what your nick is.  Put cloak somewhere in the "
8485 "Subject: header.  The nick should be registered: <ulink "
8486 "url=\"http://freenode.net/faq.shtml#nicksetup\">Nick Setup Page</ulink>.  "
8487 "The mail needs to be signed by a key in the Debian keyring.  Please see "
8488 "<ulink url=\"http://freenode.net/faq.shtml#projectcloak\">Freenodes "
8489 "documentation</ulink> for more information about cloaks."
8490 msgstr ""
8491
8492 #. type: Content of: <chapter><section><para>
8493 #: resources.dbk:195
8494 msgid ""
8495 "This document contains a lot of information which is useful to Debian "
8496 "developers, but it cannot contain everything.  Most of the other interesting "
8497 "documents are linked from <ulink url=\"&url-devel-docs;\">The Developers' "
8498 "Corner</ulink>.  Take the time to browse all the links, you will learn many "
8499 "more things."
8500 msgstr ""
8501
8502 #. type: Content of: <chapter><section><title>
8503 #: resources.dbk:204
8504 msgid "Debian machines"
8505 msgstr ""
8506
8507 #. type: Content of: <chapter><section><para>
8508 #: resources.dbk:206
8509 msgid ""
8510 "Debian has several computers working as servers, most of which serve "
8511 "critical functions in the Debian project.  Most of the machines are used for "
8512 "porting activities, and they all have a permanent connection to the "
8513 "Internet."
8514 msgstr ""
8515
8516 #. type: Content of: <chapter><section><para>
8517 #: resources.dbk:211
8518 msgid ""
8519 "Some of the machines are available for individual developers to use, as long "
8520 "as the developers follow the rules set forth in the <ulink "
8521 "url=\"&url-dmup;\">Debian Machine Usage Policies</ulink>."
8522 msgstr ""
8523
8524 #. type: Content of: <chapter><section><para>
8525 #: resources.dbk:216
8526 msgid ""
8527 "Generally speaking, you can use these machines for Debian-related purposes "
8528 "as you see fit.  Please be kind to system administrators, and do not use up "
8529 "tons and tons of disk space, network bandwidth, or CPU without first getting "
8530 "the approval of the system administrators.  Usually these machines are run "
8531 "by volunteers."
8532 msgstr ""
8533
8534 #. type: Content of: <chapter><section><para>
8535 #: resources.dbk:223
8536 msgid ""
8537 "Please take care to protect your Debian passwords and SSH keys installed on "
8538 "Debian machines.  Avoid login or upload methods which send passwords over "
8539 "the Internet in the clear, such as Telnet, FTP, POP etc."
8540 msgstr ""
8541
8542 #. type: Content of: <chapter><section><para>
8543 #: resources.dbk:228
8544 msgid ""
8545 "Please do not put any material that doesn't relate to Debian on the Debian "
8546 "servers, unless you have prior permission."
8547 msgstr ""
8548
8549 #. type: Content of: <chapter><section><para>
8550 #: resources.dbk:232
8551 msgid ""
8552 "The current list of Debian machines is available at <ulink "
8553 "url=\"&url-devel-machines;\"></ulink>.  That web page contains machine "
8554 "names, contact information, information about who can log in, SSH keys etc."
8555 msgstr ""
8556
8557 #. type: Content of: <chapter><section><para>
8558 #: resources.dbk:238
8559 msgid ""
8560 "If you have a problem with the operation of a Debian server, and you think "
8561 "that the system operators need to be notified of this problem, you can check "
8562 "the list of open issues in the DSA queue of our request tracker at <ulink "
8563 "url=\"&url-rt;\" /> (you can login with user \"debian\", its password is "
8564 "available at "
8565 "<filename>master.debian.org:&file-debian-rt-password;</filename>).  To "
8566 "report a new problem, simply send a mail to &email-rt-dsa; and make sure to "
8567 "put the string \"Debian RT\" somewhere in the subject."
8568 msgstr ""
8569
8570 #. type: Content of: <chapter><section><para>
8571 #: resources.dbk:247
8572 msgid ""
8573 "If you have a problem with a certain service, not related to the system "
8574 "administration (such as packages to be removed from the archive, suggestions "
8575 "for the web site, etc.), generally you'll report a bug against a "
8576 "``pseudo-package''.  See <xref linkend=\"submit-bug\"/> for information on "
8577 "how to submit bugs."
8578 msgstr ""
8579
8580 #. type: Content of: <chapter><section><para>
8581 #: resources.dbk:254
8582 msgid ""
8583 "Some of the core servers are restricted, but the information from there is "
8584 "mirrored to another server."
8585 msgstr ""
8586
8587 #. type: Content of: <chapter><section><section><title>
8588 #: resources.dbk:258
8589 msgid "The bugs server"
8590 msgstr ""
8591
8592 #. type: Content of: <chapter><section><section><para>
8593 #: resources.dbk:260
8594 msgid ""
8595 "<literal>&bugs-host;</literal> is the canonical location for the Bug "
8596 "Tracking System (BTS)."
8597 msgstr ""
8598
8599 #. type: Content of: <chapter><section><section><para>
8600 #: resources.dbk:264
8601 msgid ""
8602 "If you plan on doing some statistical analysis or processing of Debian bugs, "
8603 "this would be the place to do it.  Please describe your plans on "
8604 "&email-debian-devel; before implementing anything, however, to reduce "
8605 "unnecessary duplication of effort or wasted processing time."
8606 msgstr ""
8607
8608 #. type: Content of: <chapter><section><section><title>
8609 #: resources.dbk:272
8610 msgid "The ftp-master server"
8611 msgstr ""
8612
8613 #. type: Content of: <chapter><section><section><para>
8614 #: resources.dbk:274
8615 msgid ""
8616 "The <literal>&ftp-master-host;</literal> server holds the canonical copy of "
8617 "the Debian archive.  Generally, package uploaded to &ftp-upload-host; end up "
8618 "on this server, see <xref linkend=\"upload\"/>."
8619 msgstr ""
8620
8621 #. type: Content of: <chapter><section><section><para>
8622 #: resources.dbk:279
8623 msgid ""
8624 "It is restricted; a mirror is available on "
8625 "<literal>&ftp-master-mirror;</literal>."
8626 msgstr ""
8627
8628 #. type: Content of: <chapter><section><section><para>
8629 #: resources.dbk:282
8630 msgid ""
8631 "Problems with the Debian FTP archive generally need to be reported as bugs "
8632 "against the <systemitem role=\"package\">&ftp-debian-org;</systemitem> "
8633 "pseudo-package or an email to &email-ftpmaster;, but also see the procedures "
8634 "in <xref linkend=\"archive-manip\"/>."
8635 msgstr ""
8636
8637 #. type: Content of: <chapter><section><section><title>
8638 #: resources.dbk:290
8639 msgid "The www-master server"
8640 msgstr ""
8641
8642 #. type: Content of: <chapter><section><section><para>
8643 #: resources.dbk:292
8644 msgid ""
8645 "The main web server is <literal>www-master.debian.org</literal>.  It holds "
8646 "the official web pages, the face of Debian for most newbies."
8647 msgstr ""
8648
8649 #. type: Content of: <chapter><section><section><para>
8650 #: resources.dbk:296
8651 msgid ""
8652 "If you find a problem with the Debian web server, you should generally "
8653 "submit a bug against the pseudo-package, <systemitem "
8654 "role=\"package\">www.debian.org</systemitem>.  Remember to check whether or "
8655 "not someone else has already reported the problem to the <ulink "
8656 "url=\"http://&bugs-host;/&www-debian-org;\">Bug Tracking System</ulink>."
8657 msgstr ""
8658
8659 #. type: Content of: <chapter><section><section><title>
8660 #: resources.dbk:305
8661 msgid "The people web server"
8662 msgstr ""
8663
8664 #. type: Content of: <chapter><section><section><para>
8665 #: resources.dbk:307
8666 msgid ""
8667 "<literal>people.debian.org</literal> is the server used for developers' own "
8668 "web pages about anything related to Debian."
8669 msgstr ""
8670
8671 #. type: Content of: <chapter><section><section><para>
8672 #: resources.dbk:311
8673 msgid ""
8674 "If you have some Debian-specific information which you want to serve on the "
8675 "web, you can do this by putting material in the "
8676 "<filename>public_html</filename> directory under your home directory on "
8677 "<literal>people.debian.org</literal>.  This will be accessible at the URL "
8678 "<literal>http://people.debian.org/~<replaceable>your-user-id</replaceable>/</literal>."
8679 msgstr ""
8680
8681 #. type: Content of: <chapter><section><section><para>
8682 #: resources.dbk:318
8683 msgid ""
8684 "You should only use this particular location because it will be backed up, "
8685 "whereas on other hosts it won't."
8686 msgstr ""
8687
8688 #. type: Content of: <chapter><section><section><para>
8689 #: resources.dbk:322
8690 msgid ""
8691 "Usually the only reason to use a different host is when you need to publish "
8692 "materials subject to the U.S.  export restrictions, in which case you can "
8693 "use one of the other servers located outside the United States."
8694 msgstr ""
8695
8696 #. type: Content of: <chapter><section><section><para>
8697 #: resources.dbk:327
8698 msgid "Send mail to &email-debian-devel; if you have any questions."
8699 msgstr ""
8700
8701 #. type: Content of: <chapter><section><section><title>
8702 #: resources.dbk:332
8703 msgid "The VCS servers"
8704 msgstr ""
8705
8706 #. type: Content of: <chapter><section><section><para>
8707 #: resources.dbk:334
8708 msgid ""
8709 "If you need to use a Version Control System for any of your Debian work, you "
8710 "can use one of the existing repositories hosted on Alioth or you can request "
8711 "a new project and ask for the VCS repository of your choice.  Alioth "
8712 "supports CVS (cvs.alioth.debian.org/cvs.debian.org), Subversion "
8713 "(svn.debian.org), Arch (tla/baz, both on arch.debian.org), Bazaar "
8714 "(bzr.debian.org), Darcs (darcs.debian.org), Mercurial (hg.debian.org) and "
8715 "Git (git.debian.org).  Checkout <ulink url=\"&url-alioth-pkg;\" /> if you "
8716 "plan to maintain packages in a VCS repository. See <xref "
8717 "linkend=\"alioth\"/> for information on the services provided by Alioth."
8718 msgstr ""
8719
8720 #. type: Content of: <chapter><section><section><title>
8721 #: resources.dbk:347
8722 msgid "chroots to different distributions"
8723 msgstr ""
8724
8725 #. type: Content of: <chapter><section><section><para>
8726 #: resources.dbk:349
8727 msgid ""
8728 "On some machines, there are chroots to different distributions available.  "
8729 "You can use them like this:"
8730 msgstr ""
8731
8732 #. type: Content of: <chapter><section><section><screen>
8733 #: resources.dbk:353
8734 #, no-wrap
8735 msgid ""
8736 "vore$ dchroot unstable\n"
8737 "Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable\n"
8738 msgstr ""
8739
8740 #. type: Content of: <chapter><section><section><para>
8741 #: resources.dbk:357
8742 msgid ""
8743 "In all chroots, the normal user home directories are available.  You can "
8744 "find out which chroots are available via <ulink "
8745 "url=\"&url-devel-machines;\"></ulink>."
8746 msgstr ""
8747
8748 #. type: Content of: <chapter><section><title>
8749 #: resources.dbk:366
8750 msgid "The Developers Database"
8751 msgstr ""
8752
8753 #. type: Content of: <chapter><section><para>
8754 #: resources.dbk:368
8755 msgid ""
8756 "The Developers Database, at <ulink url=\"&url-debian-db;\"></ulink>, is an "
8757 "LDAP directory for managing Debian developer attributes.  You can use this "
8758 "resource to search the list of Debian developers.  Part of this information "
8759 "is also available through the finger service on Debian servers, try "
8760 "<command>finger yourlogin@db.debian.org</command> to see what it reports."
8761 msgstr ""
8762
8763 #. type: Content of: <chapter><section><para>
8764 #: resources.dbk:376
8765 msgid ""
8766 "Developers can <ulink url=\"&url-debian-db-login;\">log into the "
8767 "database</ulink> to change various information about themselves, such as:"
8768 msgstr ""
8769
8770 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8771 #: resources.dbk:382
8772 msgid "forwarding address for your debian.org email"
8773 msgstr ""
8774
8775 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8776 #: resources.dbk:387
8777 msgid "subscription to debian-private"
8778 msgstr ""
8779
8780 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8781 #: resources.dbk:392
8782 msgid "whether you are on vacation"
8783 msgstr ""
8784
8785 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8786 #: resources.dbk:397
8787 msgid ""
8788 "personal information such as your address, country, the latitude and "
8789 "longitude of the place where you live for use in <ulink "
8790 "url=\"&url-worldmap;\">the world map of Debian developers</ulink>, phone and "
8791 "fax numbers, IRC nickname and web page"
8792 msgstr ""
8793
8794 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8795 #: resources.dbk:405
8796 msgid "password and preferred shell on Debian Project machines"
8797 msgstr ""
8798
8799 #. type: Content of: <chapter><section><para>
8800 #: resources.dbk:410
8801 msgid ""
8802 "Most of the information is not accessible to the public, naturally.  For "
8803 "more information please read the online documentation that you can find at "
8804 "<ulink url=\"&url-debian-db-doc;\"></ulink>."
8805 msgstr ""
8806
8807 #. type: Content of: <chapter><section><para>
8808 #: resources.dbk:415
8809 msgid ""
8810 "Developers can also submit their SSH keys to be used for authorization on "
8811 "the official Debian machines, and even add new *.debian.net DNS entries.  "
8812 "Those features are documented at <ulink "
8813 "url=\"&url-debian-db-mail-gw;\"></ulink>."
8814 msgstr ""
8815
8816 #. type: Content of: <chapter><section><title>
8817 #: resources.dbk:423
8818 msgid "The Debian archive"
8819 msgstr ""
8820
8821 #. type: Content of: <chapter><section><para>
8822 #: resources.dbk:425
8823 msgid ""
8824 "The &debian-formal; distribution consists of a lot of packages (currently "
8825 "around &number-of-pkgs; source packages) and a few additional files (such as "
8826 "documentation and installation disk images)."
8827 msgstr ""
8828
8829 #. type: Content of: <chapter><section><para>
8830 #: resources.dbk:430
8831 msgid "Here is an example directory tree of a complete Debian archive:"
8832 msgstr ""
8833
8834 #. type: Content of: <chapter><section><para>
8835 #: resources.dbk:434
8836 msgid ""
8837 "As you can see, the top-level directory contains two directories, "
8838 "<filename>dists/</filename> and <filename>pool/</filename>.  The latter is a "
8839 "“pool” in which the packages actually are, and which is handled by the "
8840 "archive maintenance database and the accompanying programs.  The former "
8841 "contains the distributions, <literal>stable</literal>, "
8842 "<literal>testing</literal> and <literal>unstable</literal>.  The "
8843 "<filename>Packages</filename> and <filename>Sources</filename> files in the "
8844 "distribution subdirectories can reference files in the "
8845 "<filename>pool/</filename> directory.  The directory tree below each of the "
8846 "distributions is arranged in an identical manner.  What we describe below "
8847 "for <literal>stable</literal> is equally applicable to the "
8848 "<literal>unstable</literal> and <literal>testing</literal> distributions."
8849 msgstr ""
8850
8851 #. type: Content of: <chapter><section><para>
8852 #: resources.dbk:448
8853 msgid ""
8854 "<filename>dists/stable</filename> contains three directories, namely "
8855 "<filename>main</filename>, <filename>contrib</filename>, and "
8856 "<filename>non-free</filename>."
8857 msgstr ""
8858
8859 #. type: Content of: <chapter><section><para>
8860 #: resources.dbk:453
8861 msgid ""
8862 "In each of the areas, there is a directory for the source packages "
8863 "(<filename>source</filename>) and a directory for each supported "
8864 "architecture (<filename>binary-i386</filename>, "
8865 "<filename>binary-amd64</filename>, etc.)."
8866 msgstr ""
8867
8868 #. type: Content of: <chapter><section><para>
8869 #: resources.dbk:458
8870 msgid ""
8871 "The <filename>main</filename> area contains additional directories which "
8872 "hold the disk images and some essential pieces of documentation required for "
8873 "installing the Debian distribution on a specific architecture "
8874 "(<filename>disks-i386</filename>, <filename>disks-amd64</filename>, etc.)."
8875 msgstr ""
8876
8877 #. type: Content of: <chapter><section><section><title>
8878 #: resources.dbk:464
8879 msgid "Sections"
8880 msgstr ""
8881
8882 #. type: Content of: <chapter><section><section><para>
8883 #: resources.dbk:466
8884 msgid ""
8885 "The <literal>main</literal> section of the Debian archive is what makes up "
8886 "the <emphasis role=\"strong\">official &debian-formal; "
8887 "distribution</emphasis>.  The <literal>main</literal> section is official "
8888 "because it fully complies with all our guidelines.  The other two sections "
8889 "do not, to different degrees; as such, they are <emphasis "
8890 "role=\"strong\">not</emphasis> officially part of &debian-formal;."
8891 msgstr ""
8892
8893 #. type: Content of: <chapter><section><section><para>
8894 #: resources.dbk:474
8895 msgid ""
8896 "Every package in the main section must fully comply with the <ulink "
8897 "url=\"&url-dfsg;\">Debian Free Software Guidelines</ulink> (DFSG) and with "
8898 "all other policy requirements as described in the <ulink "
8899 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>.  The DFSG is our "
8900 "definition of “free software.” Check out the Debian Policy Manual for "
8901 "details."
8902 msgstr ""
8903
8904 #. type: Content of: <chapter><section><section><para>
8905 #: resources.dbk:482
8906 msgid ""
8907 "Packages in the <literal>contrib</literal> section have to comply with the "
8908 "DFSG, but may fail other requirements.  For instance, they may depend on "
8909 "non-free packages."
8910 msgstr ""
8911
8912 #. type: Content of: <chapter><section><section><para>
8913 #: resources.dbk:487
8914 msgid ""
8915 "Packages which do not conform to the DFSG are placed in the "
8916 "<literal>non-free</literal> section.  These packages are not considered as "
8917 "part of the Debian distribution, though we enable their use, and we provide "
8918 "infrastructure (such as our bug-tracking system and mailing lists) for "
8919 "non-free software packages."
8920 msgstr ""
8921
8922 #. type: Content of: <chapter><section><section><para>
8923 #: resources.dbk:494
8924 msgid ""
8925 "The <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> contains "
8926 "a more exact definition of the three sections.  The above discussion is just "
8927 "an introduction."
8928 msgstr ""
8929
8930 #. type: Content of: <chapter><section><section><para>
8931 #: resources.dbk:499
8932 msgid ""
8933 "The separation of the three sections at the top-level of the archive is "
8934 "important for all people who want to distribute Debian, either via FTP "
8935 "servers on the Internet or on CD-ROMs: by distributing only the "
8936 "<literal>main</literal> and <literal>contrib</literal> sections, one can "
8937 "avoid any legal risks.  Some packages in the <literal>non-free</literal> "
8938 "section do not allow commercial distribution, for example."
8939 msgstr ""
8940
8941 #. type: Content of: <chapter><section><section><para>
8942 #: resources.dbk:507
8943 msgid ""
8944 "On the other hand, a CD-ROM vendor could easily check the individual package "
8945 "licenses of the packages in <literal>non-free</literal> and include as many "
8946 "on the CD-ROMs as it's allowed to.  (Since this varies greatly from vendor "
8947 "to vendor, this job can't be done by the Debian developers.)"
8948 msgstr ""
8949
8950 #. type: Content of: <chapter><section><section><para>
8951 #: resources.dbk:513
8952 msgid ""
8953 "Note that the term section is also used to refer to categories which "
8954 "simplify the organization and browsing of available packages, e.g.  "
8955 "<literal>admin</literal>, <literal>net</literal>, <literal>utils</literal> "
8956 "etc.  Once upon a time, these sections (subsections, rather) existed in the "
8957 "form of subdirectories within the Debian archive.  Nowadays, these exist "
8958 "only in the Section header fields of packages."
8959 msgstr ""
8960
8961 #. type: Content of: <chapter><section><section><title>
8962 #: resources.dbk:523
8963 msgid "Architectures"
8964 msgstr ""
8965
8966 #. type: Content of: <chapter><section><section><para>
8967 #: resources.dbk:525
8968 msgid ""
8969 "In the first days, the Linux kernel was only available for Intel i386 (or "
8970 "greater) platforms, and so was Debian.  But as Linux became more and more "
8971 "popular, the kernel was ported to other architectures and Debian started to "
8972 "support them. And as if supporting so much hardware was not enough, Debian "
8973 "decided to build some ports based on other Unix kernels, like "
8974 "<literal>hurd</literal> and <literal>kfreebsd</literal>."
8975 msgstr ""
8976
8977 #. type: Content of: <chapter><section><section><para>
8978 #: resources.dbk:533
8979 msgid ""
8980 "&debian-formal; 1.3 was only available as <literal>i386</literal>.  Debian "
8981 "2.0 shipped for <literal>i386</literal> and <literal>m68k</literal> "
8982 "architectures.  Debian 2.1 shipped for the <literal>i386</literal>, "
8983 "<literal>m68k</literal>, <literal>alpha</literal>, and "
8984 "<literal>sparc</literal> architectures.  Since then Debian has grown "
8985 "hugely.  Debian 6 supports a total of nine Linux architectures "
8986 "(<literal>amd64</literal>, <literal>armel</literal>, "
8987 "<literal>i386</literal>, <literal>ia64</literal>, <literal>mips</literal>, "
8988 "<literal>mipsel</literal>, <literal>powerpc</literal>, "
8989 "<literal>s390</literal>, <literal>sparc</literal>) and two kFreeBSD "
8990 "architectures (<literal>kfreebsd-i386</literal> and "
8991 "<literal>kfreebsd-amd64</literal>)."
8992 msgstr ""
8993
8994 #. type: Content of: <chapter><section><section><para>
8995 #: resources.dbk:546
8996 msgid ""
8997 "Information for developers and users about the specific ports are available "
8998 "at the <ulink url=\"&url-debian-ports;\">Debian Ports web pages</ulink>."
8999 msgstr ""
9000
9001 #. type: Content of: <chapter><section><section><title>
9002 #: resources.dbk:552
9003 msgid "Packages"
9004 msgstr ""
9005
9006 #. type: Content of: <chapter><section><section><para>
9007 #: resources.dbk:554
9008 msgid ""
9009 "There are two types of Debian packages, namely <literal>source</literal> and "
9010 "<literal>binary</literal> packages."
9011 msgstr ""
9012
9013 #. type: Content of: <chapter><section><section><para>
9014 #: resources.dbk:558
9015 msgid ""
9016 "Depending on the format of the source package, it will consist of one or "
9017 "more files in addition to the mandatory <filename>.dsc</filename> file:"
9018 msgstr ""
9019
9020 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9021 #: resources.dbk:562
9022 msgid ""
9023 "with format “1.0”, it has either a <filename>.tar.gz</filename> file or both "
9024 "an <filename>.orig.tar.gz</filename> and a <filename>.diff.gz</filename> "
9025 "file;"
9026 msgstr ""
9027
9028 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9029 #: resources.dbk:565
9030 msgid ""
9031 "with format “3.0 (quilt)”, it has a mandatory "
9032 "<filename>.orig.tar.{gz,bz2,xz}</filename> upstream tarball, multiple "
9033 "optional "
9034 "<filename>.orig-<replaceable>component</replaceable>.tar.{gz,bz2,xz}</filename> "
9035 "additional upstream tarballs and a mandatory "
9036 "<filename>debian.tar.{gz,bz2,xz}</filename> debian tarball;"
9037 msgstr ""
9038
9039 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9040 #: resources.dbk:571
9041 msgid ""
9042 "with format “3.0 (native)”, it has only a single "
9043 "<filename>.tar.{gz,bz2,xz}</filename> tarball."
9044 msgstr ""
9045
9046 #. type: Content of: <chapter><section><section><para>
9047 #: resources.dbk:576
9048 msgid ""
9049 "If a package is developed specially for Debian and is not distributed "
9050 "outside of Debian, there is just one <filename>.tar.{gz,bz2,xz}</filename> "
9051 "file which contains the sources of the program, it's called a “native” "
9052 "source package.  If a package is distributed elsewhere too, the "
9053 "<filename>.orig.tar.{gz,bz2,xz}</filename> file stores the so-called "
9054 "<literal>upstream source code</literal>, that is the source code that's "
9055 "distributed by the <literal>upstream maintainer</literal> (often the author "
9056 "of the software). In this case, the <filename>.diff.gz</filename> or the "
9057 "<filename>debian.tar.{gz,bz2,xz}</filename> contains the changes made by the "
9058 "Debian maintainer."
9059 msgstr ""
9060
9061 #. type: Content of: <chapter><section><section><para>
9062 #: resources.dbk:589
9063 msgid ""
9064 "The <filename>.dsc</filename> file lists all the files in the source package "
9065 "together with checksums (<command>md5sums</command>) and some additional "
9066 "info about the package (maintainer, version, etc.)."
9067 msgstr ""
9068
9069 #. type: Content of: <chapter><section><section><title>
9070 #: resources.dbk:596
9071 msgid "Distributions"
9072 msgstr ""
9073
9074 #. type: Content of: <chapter><section><section><para>
9075 #: resources.dbk:598
9076 msgid ""
9077 "The directory system described in the previous chapter is itself contained "
9078 "within <literal>distribution directories</literal>.  Each distribution is "
9079 "actually contained in the <filename>pool</filename> directory in the "
9080 "top-level of the Debian archive itself."
9081 msgstr ""
9082
9083 #. type: Content of: <chapter><section><section><para>
9084 #: resources.dbk:604
9085 msgid ""
9086 "To summarize, the Debian archive has a root directory within an FTP server.  "
9087 "For instance, at the mirror site, <literal>ftp.us.debian.org</literal>, the "
9088 "Debian archive itself is contained in <ulink "
9089 "url=\"ftp://ftp.us.debian.org/debian\">/debian</ulink>, which is a common "
9090 "location (another is <filename>/pub/debian</filename>)."
9091 msgstr ""
9092
9093 #. type: Content of: <chapter><section><section><para>
9094 #: resources.dbk:611
9095 msgid ""
9096 "A distribution comprises Debian source and binary packages, and the "
9097 "respective <filename>Sources</filename> and <filename>Packages</filename> "
9098 "index files, containing the header information from all those packages.  The "
9099 "former are kept in the <filename>pool/</filename> directory, while the "
9100 "latter are kept in the <filename>dists/</filename> directory of the archive "
9101 "(for backwards compatibility)."
9102 msgstr ""
9103
9104 #. type: Content of: <chapter><section><section><section><title>
9105 #: resources.dbk:619
9106 msgid "Stable, testing, and unstable"
9107 msgstr ""
9108
9109 #. type: Content of: <chapter><section><section><section><para>
9110 #: resources.dbk:621
9111 msgid ""
9112 "There are always distributions called <literal>stable</literal> (residing in "
9113 "<filename>dists/stable</filename>), <literal>testing</literal> (residing in "
9114 "<filename>dists/testing</filename>), and <literal>unstable</literal> "
9115 "(residing in <filename>dists/unstable</filename>).  This reflects the "
9116 "development process of the Debian project."
9117 msgstr ""
9118
9119 #. type: Content of: <chapter><section><section><section><para>
9120 #: resources.dbk:628
9121 msgid ""
9122 "Active development is done in the <literal>unstable</literal> distribution "
9123 "(that's why this distribution is sometimes called the <literal>development "
9124 "distribution</literal>).  Every Debian developer can update his or her "
9125 "packages in this distribution at any time.  Thus, the contents of this "
9126 "distribution change from day to day.  Since no special effort is made to "
9127 "make sure everything in this distribution is working properly, it is "
9128 "sometimes literally unstable."
9129 msgstr ""
9130
9131 #. type: Content of: <chapter><section><section><section><para>
9132 #: resources.dbk:637
9133 msgid ""
9134 "The <link linkend=\"testing\">testing</link> distribution is generated "
9135 "automatically by taking packages from <literal>unstable</literal> if they "
9136 "satisfy certain criteria.  Those criteria should ensure a good quality for "
9137 "packages within <literal>testing</literal>.  The update to "
9138 "<literal>testing</literal> is launched twice each day, right after the new "
9139 "packages have been installed.  See <xref linkend=\"testing\"/>."
9140 msgstr ""
9141
9142 #. type: Content of: <chapter><section><section><section><para>
9143 #: resources.dbk:645
9144 msgid ""
9145 "After a period of development, once the release manager deems fit, the "
9146 "<literal>testing</literal> distribution is frozen, meaning that the policies "
9147 "which control how packages move from <literal>unstable</literal> to "
9148 "<literal>testing</literal> are tightened.  Packages which are too buggy are "
9149 "removed.  No changes are allowed into <literal>testing</literal> except for "
9150 "bug fixes.  After some time has elapsed, depending on progress, the "
9151 "<literal>testing</literal> distribution is frozen even further.  Details of "
9152 "the handling of the testing distribution are published by the Release Team "
9153 "on debian-devel-announce.  After the open issues are solved to the "
9154 "satisfaction of the Release Team, the distribution is released.  Releasing "
9155 "means that <literal>testing</literal> is renamed to "
9156 "<literal>stable</literal>, and a new copy is created for the new "
9157 "<literal>testing</literal>, and the previous <literal>stable</literal> is "
9158 "renamed to <literal>oldstable</literal> and stays there until it is finally "
9159 "archived.  On archiving, the contents are moved to "
9160 "<literal>&archive-host;</literal>."
9161 msgstr ""
9162
9163 #. type: Content of: <chapter><section><section><section><para>
9164 #: resources.dbk:662
9165 msgid ""
9166 "This development cycle is based on the assumption that the "
9167 "<literal>unstable</literal> distribution becomes <literal>stable</literal> "
9168 "after passing a period of being in <literal>testing</literal>.  Even once a "
9169 "distribution is considered stable, a few bugs inevitably remain — that's why "
9170 "the stable distribution is updated every now and then.  However, these "
9171 "updates are tested very carefully and have to be introduced into the archive "
9172 "individually to reduce the risk of introducing new bugs.  You can find "
9173 "proposed additions to <literal>stable</literal> in the "
9174 "<filename>proposed-updates</filename> directory.  Those packages in "
9175 "<filename>proposed-updates</filename> that pass muster are periodically "
9176 "moved as a batch into the stable distribution and the revision level of the "
9177 "stable distribution is incremented (e.g., ‘6.0’ becomes ‘6.0.1’, ‘5.0.7’ "
9178 "becomes ‘5.0.8’, and so forth).  Please refer to <link "
9179 "linkend=\"upload-stable\">uploads to the <literal>stable</literal> "
9180 "distribution</link> for details."
9181 msgstr ""
9182
9183 #. type: Content of: <chapter><section><section><section><para>
9184 #: resources.dbk:679
9185 msgid ""
9186 "Note that development under <literal>unstable</literal> continues during the "
9187 "freeze period, since the <literal>unstable</literal> distribution remains in "
9188 "place in parallel with <literal>testing</literal>."
9189 msgstr ""
9190
9191 #. type: Content of: <chapter><section><section><section><title>
9192 #: resources.dbk:686
9193 msgid "More information about the testing distribution"
9194 msgstr ""
9195
9196 #. type: Content of: <chapter><section><section><section><para>
9197 #: resources.dbk:688
9198 msgid ""
9199 "Packages are usually installed into the <literal>testing</literal> "
9200 "distribution after they have undergone some degree of testing in "
9201 "<literal>unstable</literal>."
9202 msgstr ""
9203
9204 #. type: Content of: <chapter><section><section><section><para>
9205 #: resources.dbk:692
9206 msgid ""
9207 "For more details, please see the <link linkend=\"testing\">information about "
9208 "the testing distribution</link>."
9209 msgstr ""
9210
9211 #. type: Content of: <chapter><section><section><section><title>
9212 #: resources.dbk:698
9213 msgid "Experimental"
9214 msgstr ""
9215
9216 #. type: Content of: <chapter><section><section><section><para>
9217 #: resources.dbk:700
9218 msgid ""
9219 "The <literal>experimental</literal> distribution is a special distribution.  "
9220 "It is not a full distribution in the same sense as "
9221 "<literal>stable</literal>, <literal>testing</literal> and "
9222 "<literal>unstable</literal> are.  Instead, it is meant to be a temporary "
9223 "staging area for highly experimental software where there's a good chance "
9224 "that the software could break your system, or software that's just too "
9225 "unstable even for the <literal>unstable</literal> distribution (but there is "
9226 "a reason to package it nevertheless).  Users who download and install "
9227 "packages from <literal>experimental</literal> are expected to have been duly "
9228 "warned.  In short, all bets are off for the <literal>experimental</literal> "
9229 "distribution."
9230 msgstr ""
9231
9232 #. type: Content of: <chapter><section><section><section><para>
9233 #: resources.dbk:712
9234 msgid ""
9235 "These are the <citerefentry> <refentrytitle>sources.list</refentrytitle> "
9236 "<manvolnum>5</manvolnum> </citerefentry> lines for "
9237 "<literal>experimental</literal>:"
9238 msgstr ""
9239
9240 #. type: Content of: <chapter><section><section><section><programlisting>
9241 #: resources.dbk:717
9242 #, no-wrap
9243 msgid ""
9244 "deb http://ftp.<replaceable>xy</replaceable>.debian.org/debian/ experimental "
9245 "main\n"
9246 "deb-src http://ftp.<replaceable>xy</replaceable>.debian.org/debian/ "
9247 "experimental main\n"
9248 msgstr ""
9249
9250 #. type: Content of: <chapter><section><section><section><para>
9251 #: resources.dbk:721
9252 msgid ""
9253 "If there is a chance that the software could do grave damage to a system, it "
9254 "is likely to be better to put it into <literal>experimental</literal>.  For "
9255 "instance, an experimental compressed file system should probably go into "
9256 "<literal>experimental</literal>."
9257 msgstr ""
9258
9259 #. type: Content of: <chapter><section><section><section><para>
9260 #: resources.dbk:727
9261 msgid ""
9262 "Whenever there is a new upstream version of a package that introduces new "
9263 "features but breaks a lot of old ones, it should either not be uploaded, or "
9264 "be uploaded to <literal>experimental</literal>.  A new, beta, version of "
9265 "some software which uses a completely different configuration can go into "
9266 "<literal>experimental</literal>, at the maintainer's discretion.  If you are "
9267 "working on an incompatible or complex upgrade situation, you can also use "
9268 "<literal>experimental</literal> as a staging area, so that testers can get "
9269 "early access."
9270 msgstr ""
9271
9272 #. type: Content of: <chapter><section><section><section><para>
9273 #: resources.dbk:737
9274 msgid ""
9275 "Some experimental software can still go into <literal>unstable</literal>, "
9276 "with a few warnings in the description, but that isn't recommended because "
9277 "packages from <literal>unstable</literal> are expected to propagate to "
9278 "<literal>testing</literal> and thus to <literal>stable</literal>.  You "
9279 "should not be afraid to use <literal>experimental</literal> since it does "
9280 "not cause any pain to the ftpmasters, the experimental packages are "
9281 "periodically removed once you upload the package in "
9282 "<literal>unstable</literal> with a higher version number."
9283 msgstr ""
9284
9285 #. type: Content of: <chapter><section><section><section><para>
9286 #: resources.dbk:747
9287 msgid ""
9288 "New software which isn't likely to damage your system can go directly into "
9289 "<literal>unstable</literal>."
9290 msgstr ""
9291
9292 #. type: Content of: <chapter><section><section><section><para>
9293 #: resources.dbk:751
9294 msgid ""
9295 "An alternative to <literal>experimental</literal> is to use your personal "
9296 "web space on <literal>people.debian.org</literal>."
9297 msgstr ""
9298
9299 #. type: Content of: <chapter><section><section><title>
9300 #: resources.dbk:759
9301 msgid "Release code names"
9302 msgstr ""
9303
9304 #. type: Content of: <chapter><section><section><para>
9305 #: resources.dbk:761
9306 msgid ""
9307 "Every released Debian distribution has a <literal>code name</literal>: "
9308 "Debian 1.1 is called <literal>buzz</literal>; Debian 1.2, "
9309 "<literal>rex</literal>; Debian 1.3, <literal>bo</literal>; Debian 2.0, "
9310 "<literal>hamm</literal>; Debian 2.1, <literal>slink</literal>; Debian 2.2, "
9311 "<literal>potato</literal>; Debian 3.0, <literal>woody</literal>; Debian 3.1, "
9312 "<literal>sarge</literal>; Debian 4.0, <literal>etch</literal>; Debian 5.0, "
9313 "<literal>lenny</literal>; Debian 6.0, <literal>squeeze</literal> and the "
9314 "next release will be called <literal>wheezy</literal>.  There is also a "
9315 "``pseudo-distribution'', called <literal>sid</literal>, which is the current "
9316 "<literal>unstable</literal> distribution; since packages are moved from "
9317 "<literal>unstable</literal> to <literal>testing</literal> as they approach "
9318 "stability, <literal>sid</literal> itself is never released.  As well as the "
9319 "usual contents of a Debian distribution, <literal>sid</literal> contains "
9320 "packages for architectures which are not yet officially supported or "
9321 "released by Debian.  These architectures are planned to be integrated into "
9322 "the mainstream distribution at some future date."
9323 msgstr ""
9324
9325 #. type: Content of: <chapter><section><section><para>
9326 #: resources.dbk:780
9327 msgid ""
9328 "Since Debian has an open development model (i.e., everyone can participate "
9329 "and follow the development) even the <literal>unstable</literal> and "
9330 "<literal> testing</literal> distributions are distributed to the Internet "
9331 "through the Debian FTP and HTTP server network. Thus, if we had called the "
9332 "directory which contains the release candidate version "
9333 "<literal>testing</literal>, then we would have to rename it to "
9334 "<literal>stable</literal> when the version is released, which would cause "
9335 "all FTP mirrors to re-retrieve the whole distribution (which is quite "
9336 "large)."
9337 msgstr ""
9338
9339 #. type: Content of: <chapter><section><section><para>
9340 #: resources.dbk:790
9341 msgid ""
9342 "On the other hand, if we called the distribution directories "
9343 "<literal>Debian-x.y</literal> from the beginning, people would think that "
9344 "Debian release <literal>x.y</literal> is available.  (This happened in the "
9345 "past, where a CD-ROM vendor built a Debian 1.0 CD-ROM based on a pre-1.0 "
9346 "development version.  That's the reason why the first official Debian "
9347 "release was 1.1, and not 1.0.)"
9348 msgstr ""
9349
9350 #. type: Content of: <chapter><section><section><para>
9351 #: resources.dbk:798
9352 msgid ""
9353 "Thus, the names of the distribution directories in the archive are "
9354 "determined by their code names and not their release status (e.g., "
9355 "`squeeze'). These names stay the same during the development period and "
9356 "after the release; symbolic links, which can be changed easily, indicate the "
9357 "currently released stable distribution.  That's why the real distribution "
9358 "directories use the <literal>code names</literal>, while symbolic links for "
9359 "<literal>stable</literal>, <literal>testing</literal>, and "
9360 "<literal>unstable</literal> point to the appropriate release directories."
9361 msgstr ""
9362
9363 #. type: Content of: <chapter><section><title>
9364 #: resources.dbk:812
9365 msgid "Debian mirrors"
9366 msgstr ""
9367
9368 #. type: Content of: <chapter><section><para>
9369 #: resources.dbk:814
9370 msgid ""
9371 "The various download archives and the web site have several mirrors "
9372 "available in order to relieve our canonical servers from heavy load.  In "
9373 "fact, some of the canonical servers aren't public — a first tier of mirrors "
9374 "balances the load instead.  That way, users always access the mirrors and "
9375 "get used to using them, which allows Debian to better spread its bandwidth "
9376 "requirements over several servers and networks, and basically makes users "
9377 "avoid hammering on one primary location.  Note that the first tier of "
9378 "mirrors is as up-to-date as it can be since they update when triggered from "
9379 "the internal sites (we call this push mirroring)."
9380 msgstr ""
9381
9382 #. type: Content of: <chapter><section><para>
9383 #: resources.dbk:825
9384 msgid ""
9385 "All the information on Debian mirrors, including a list of the available "
9386 "public FTP/HTTP servers, can be found at <ulink "
9387 "url=\"&url-debian-mirrors;\"></ulink>.  This useful page also includes "
9388 "information and tools which can be helpful if you are interested in setting "
9389 "up your own mirror, either for internal or public access."
9390 msgstr ""
9391
9392 #. type: Content of: <chapter><section><para>
9393 #: resources.dbk:832
9394 msgid ""
9395 "Note that mirrors are generally run by third-parties who are interested in "
9396 "helping Debian.  As such, developers generally do not have accounts on these "
9397 "machines."
9398 msgstr ""
9399
9400 #. type: Content of: <chapter><section><title>
9401 #: resources.dbk:839
9402 msgid "The Incoming system"
9403 msgstr ""
9404
9405 #. type: Content of: <chapter><section><para>
9406 #: resources.dbk:841
9407 msgid ""
9408 "The Incoming system is responsible for collecting updated packages and "
9409 "installing them in the Debian archive.  It consists of a set of directories "
9410 "and scripts that are installed on <literal>&ftp-master-host;</literal>."
9411 msgstr ""
9412
9413 #. type: Content of: <chapter><section><para>
9414 #: resources.dbk:846
9415 msgid ""
9416 "Packages are uploaded by all the maintainers into a directory called "
9417 "<filename>UploadQueue</filename>.  This directory is scanned every few "
9418 "minutes by a daemon called <command>queued</command>, "
9419 "<filename>*.command</filename>-files are executed, and remaining and "
9420 "correctly signed <filename>*.changes</filename>-files are moved together "
9421 "with their corresponding files to the <filename>unchecked</filename> "
9422 "directory.  This directory is not visible for most Developers, as ftp-master "
9423 "is restricted; it is scanned every 15 minutes by the <command>dak "
9424 "process-upload</command> script, which verifies the integrity of the "
9425 "uploaded packages and their cryptographic signatures.  If the package is "
9426 "considered ready to be installed, it is moved into the "
9427 "<filename>done</filename> directory.  If this is the first upload of the "
9428 "package (or it has new binary packages), it is moved to the "
9429 "<filename>new</filename> directory, where it waits for approval by the "
9430 "ftpmasters.  If the package contains files to be installed by hand it is "
9431 "moved to the <filename>byhand</filename> directory, where it waits for "
9432 "manual installation by the ftpmasters.  Otherwise, if any error has been "
9433 "detected, the package is refused and is moved to the "
9434 "<filename>reject</filename> directory."
9435 msgstr ""
9436
9437 #. type: Content of: <chapter><section><para>
9438 #: resources.dbk:865
9439 msgid ""
9440 "Once the package is accepted, the system sends a confirmation mail to the "
9441 "maintainer and closes all the bugs marked as fixed by the upload, and the "
9442 "auto-builders may start recompiling it.  The package is now publicly "
9443 "accessible at <ulink url=\"&url-incoming;\"></ulink> until it is really "
9444 "installed in the Debian archive.  This happens four times a day (and is also "
9445 "called the `dinstall run' for historical reasons); the package is then "
9446 "removed from incoming and installed in the pool along with all the other "
9447 "packages.  Once all the other updates (generating new "
9448 "<filename>Packages</filename> and <filename>Sources</filename> index files "
9449 "for example) have been made, a special script is called to ask all the "
9450 "primary mirrors to update themselves."
9451 msgstr ""
9452
9453 #. type: Content of: <chapter><section><para>
9454 #: resources.dbk:877
9455 msgid ""
9456 "The archive maintenance software will also send the OpenPGP/GnuPG signed "
9457 "<filename>.changes</filename> file that you uploaded to the appropriate "
9458 "mailing lists.  If a package is released with the "
9459 "<literal>Distribution</literal> set to <literal>stable</literal>, the "
9460 "announcement is sent to &email-debian-changes;.  If a package is released "
9461 "with <literal>Distribution</literal> set to <literal>unstable</literal> or "
9462 "<literal>experimental</literal>, the announcement will be posted to "
9463 "&email-debian-devel-changes; instead."
9464 msgstr ""
9465
9466 #. type: Content of: <chapter><section><para>
9467 #: resources.dbk:887
9468 msgid ""
9469 "Though ftp-master is restricted, a copy of the installation is available to "
9470 "all developers on <literal>&ftp-master-mirror;</literal>."
9471 msgstr ""
9472
9473 #. type: Content of: <chapter><section><title>
9474 #: resources.dbk:950
9475 msgid "Package information"
9476 msgstr ""
9477
9478 #. type: Content of: <chapter><section><section><title>
9479 #: resources.dbk:952
9480 msgid "On the web"
9481 msgstr ""
9482
9483 #. type: Content of: <chapter><section><section><para>
9484 #: resources.dbk:954
9485 msgid ""
9486 "Each package has several dedicated web pages.  "
9487 "<literal>http://&packages-host;/<replaceable>package-name</replaceable></literal> "
9488 "displays each version of the package available in the various "
9489 "distributions.  Each version links to a page which provides information, "
9490 "including the package description, the dependencies, and package download "
9491 "links."
9492 msgstr ""
9493
9494 #. type: Content of: <chapter><section><section><para>
9495 #: resources.dbk:961
9496 msgid ""
9497 "The bug tracking system tracks bugs for each package.  You can view the bugs "
9498 "of a given package at the URL "
9499 "<literal>http://&bugs-host;/<replaceable>package-name</replaceable></literal>."
9500 msgstr ""
9501
9502 #. type: Content of: <chapter><section><section><title>
9503 #: resources.dbk:968
9504 msgid "The <command>dak ls</command> utility"
9505 msgstr ""
9506
9507 #. type: Content of: <chapter><section><section><para>
9508 #: resources.dbk:970
9509 msgid ""
9510 "<command>dak ls</command> is part of the dak suite of tools, listing "
9511 "available package versions for all known distributions and architectures.  "
9512 "The <command>dak</command> tool is available on "
9513 "<literal>&ftp-master-host;</literal>, and on the mirror on "
9514 "<literal>&ftp-master-mirror;</literal>.  It uses a single argument "
9515 "corresponding to a package name. An example will explain it better:"
9516 msgstr ""
9517
9518 #. type: Content of: <chapter><section><section><screen>
9519 #: resources.dbk:978
9520 #, no-wrap
9521 msgid ""
9522 "$ dak ls evince\n"
9523 "evince | 0.1.5-2sarge1 |     oldstable | source, alpha, arm, hppa, i386, "
9524 "ia64, m68k, mips, mipsel, powerpc, s390, sparc\n"
9525 "evince |    0.4.0-5 |     etch-m68k | source, m68k\n"
9526 "evince |    0.4.0-5 |        stable | source, alpha, amd64, arm, hppa, i386, "
9527 "ia64, mips, mipsel, powerpc, s390, sparc\n"
9528 "evince |   2.20.2-1 |       testing | source\n"
9529 "evince | 2.20.2-1+b1 |       testing | alpha, amd64, arm, armel, hppa, i386, "
9530 "ia64, mips, mipsel, powerpc, s390, sparc\n"
9531 "evince |   2.22.2-1 |      unstable | source, alpha, amd64, arm, armel, "
9532 "hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc\n"
9533 msgstr ""
9534
9535 #. type: Content of: <chapter><section><section><para>
9536 #: resources.dbk:987
9537 msgid ""
9538 "In this example, you can see that the version in <literal>unstable</literal> "
9539 "differs from the version in <literal>testing</literal> and that there has "
9540 "been a binary-only NMU of the package for all architectures.  Each version "
9541 "of the package has been recompiled on all architectures."
9542 msgstr ""
9543
9544 #. type: Content of: <chapter><section><title>
9545 #: resources.dbk:997
9546 msgid "The Package Tracking System"
9547 msgstr ""
9548
9549 #. type: Content of: <chapter><section><para>
9550 #: resources.dbk:999
9551 msgid ""
9552 "The Package Tracking System (PTS) is an email-based tool to track the "
9553 "activity of a source package.  This really means that you can get the same "
9554 "emails that the package maintainer gets, simply by subscribing to the "
9555 "package in the PTS."
9556 msgstr ""
9557
9558 #. type: Content of: <chapter><section><para>
9559 #: resources.dbk:1004
9560 msgid ""
9561 "Each email sent through the PTS is classified under one of the keywords "
9562 "listed below.  This will let you select the mails that you want to receive."
9563 msgstr ""
9564
9565 #. type: Content of: <chapter><section><para>
9566 #: resources.dbk:1008
9567 msgid "By default you will get:"
9568 msgstr ""
9569
9570 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9571 #: resources.dbk:1012
9572 msgid "<literal>bts</literal>"
9573 msgstr ""
9574
9575 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9576 #: resources.dbk:1015
9577 msgid "All the bug reports and following discussions."
9578 msgstr ""
9579
9580 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9581 #: resources.dbk:1020
9582 msgid "<literal>bts-control</literal>"
9583 msgstr ""
9584
9585 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9586 #: resources.dbk:1023
9587 msgid ""
9588 "The email notifications from <email>control@&bugs-host;</email> about bug "
9589 "report status changes."
9590 msgstr ""
9591
9592 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9593 #: resources.dbk:1029
9594 msgid "<literal>upload-source</literal>"
9595 msgstr ""
9596
9597 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9598 #: resources.dbk:1032
9599 msgid ""
9600 "The email notification from <command>dak</command> when an uploaded source "
9601 "package is accepted."
9602 msgstr ""
9603
9604 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9605 #: resources.dbk:1038
9606 msgid "<literal>katie-other</literal>"
9607 msgstr ""
9608
9609 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9610 #: resources.dbk:1041
9611 msgid ""
9612 "Other warning and error emails from <command>dak</command> (such as an "
9613 "override disparity for the section and/or the priority field)."
9614 msgstr ""
9615
9616 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9617 #: resources.dbk:1047
9618 msgid "<literal>buildd</literal>"
9619 msgstr ""
9620
9621 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9622 #: resources.dbk:1050
9623 msgid ""
9624 "Build failures notifications sent by the network of build daemons, they "
9625 "contain a pointer to the build logs for analysis."
9626 msgstr ""
9627
9628 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9629 #: resources.dbk:1056
9630 msgid "<literal>default</literal>"
9631 msgstr ""
9632
9633 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9634 #: resources.dbk:1059
9635 msgid ""
9636 "Any non-automatic email sent to the PTS by people who wanted to contact the "
9637 "subscribers of the package.  This can be done by sending mail to "
9638 "<literal><replaceable>sourcepackage</replaceable>@&pts-host;</literal>.  In "
9639 "order to prevent spam, all messages sent to these addresses must contain the "
9640 "<literal>X-PTS-Approved</literal> header with a non-empty value."
9641 msgstr ""
9642
9643 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9644 #: resources.dbk:1068
9645 msgid "<literal>contact</literal>"
9646 msgstr ""
9647
9648 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9649 #: resources.dbk:1071
9650 msgid ""
9651 "Mails sent to the maintainer through the *@packages.debian.org email "
9652 "aliases."
9653 msgstr ""
9654
9655 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9656 #: resources.dbk:1077
9657 msgid "<literal>summary</literal>"
9658 msgstr ""
9659
9660 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9661 #: resources.dbk:1080
9662 msgid ""
9663 "Regular summary emails about the package's status, including progression "
9664 "into <literal>testing</literal>, <ulink url=\"&url-dehs;\">DEHS</ulink> "
9665 "notifications of new upstream versions, and a notification if the package is "
9666 "removed or orphaned."
9667 msgstr ""
9668
9669 #. type: Content of: <chapter><section><para>
9670 #: resources.dbk:1090
9671 msgid "You can also decide to receive additional information:"
9672 msgstr ""
9673
9674 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9675 #: resources.dbk:1094
9676 msgid "<literal>upload-binary</literal>"
9677 msgstr ""
9678
9679 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9680 #: resources.dbk:1097
9681 msgid ""
9682 "The email notification from <command>katie</command> when an uploaded binary "
9683 "package is accepted.  In other words, whenever a build daemon or a porter "
9684 "uploads your package for another architecture, you can get an email to track "
9685 "how your package gets recompiled for all architectures."
9686 msgstr ""
9687
9688 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9689 #: resources.dbk:1105
9690 msgid "<literal>cvs</literal>"
9691 msgstr ""
9692
9693 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9694 #: resources.dbk:1108
9695 msgid ""
9696 "VCS commit notifications, if the package has a VCS repository and the "
9697 "maintainer has set up forwarding of commit notifications to the PTS. The "
9698 "\"cvs\" name is historic, in most cases commit notifications will come from "
9699 "some other VCS like subversion or git."
9700 msgstr ""
9701
9702 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9703 #: resources.dbk:1116
9704 msgid "<literal>ddtp</literal>"
9705 msgstr ""
9706
9707 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9708 #: resources.dbk:1119
9709 msgid ""
9710 "Translations of descriptions or debconf templates submitted to the Debian "
9711 "Description Translation Project."
9712 msgstr ""
9713
9714 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9715 #: resources.dbk:1125
9716 msgid "<literal>derivatives</literal>"
9717 msgstr ""
9718
9719 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9720 #: resources.dbk:1128
9721 msgid ""
9722 "Information about changes made to the package in derivative distributions "
9723 "(for example Ubuntu)."
9724 msgstr ""
9725
9726 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9727 #: resources.dbk:1134
9728 msgid "<literal>derivatives-bugs</literal>"
9729 msgstr ""
9730
9731 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9732 #: resources.dbk:1137
9733 msgid ""
9734 "Bugs reports and comments from derivative distributions (for example "
9735 "Ubuntu)."
9736 msgstr ""
9737
9738 #. type: Content of: <chapter><section><section><title>
9739 #: resources.dbk:1143
9740 msgid "The PTS email interface"
9741 msgstr ""
9742
9743 #. type: Content of: <chapter><section><section><para>
9744 #: resources.dbk:1145
9745 msgid ""
9746 "You can control your subscription(s) to the PTS by sending various commands "
9747 "to <email>pts@qa.debian.org</email>."
9748 msgstr ""
9749
9750 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9751 #: resources.dbk:1150
9752 msgid "<literal>subscribe &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9753 msgstr ""
9754
9755 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9756 #: resources.dbk:1153
9757 msgid ""
9758 "Subscribes <replaceable>email</replaceable> to communications related to the "
9759 "source package <replaceable>sourcepackage</replaceable>.  Sender address is "
9760 "used if the second argument is not present.  If "
9761 "<replaceable>sourcepackage</replaceable> is not a valid source package, "
9762 "you'll get a warning.  However if it's a valid binary package, the PTS will "
9763 "subscribe you to the corresponding source package."
9764 msgstr ""
9765
9766 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9767 #: resources.dbk:1163
9768 msgid "<literal>unsubscribe &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9769 msgstr ""
9770
9771 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9772 #: resources.dbk:1166
9773 msgid ""
9774 "Removes a previous subscription to the source package "
9775 "<replaceable>sourcepackage</replaceable> using the specified email address "
9776 "or the sender address if the second argument is left out."
9777 msgstr ""
9778
9779 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9780 #: resources.dbk:1173
9781 msgid "<literal>unsubscribeall [&lt;email&gt;]</literal>"
9782 msgstr ""
9783
9784 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9785 #: resources.dbk:1176
9786 msgid ""
9787 "Removes all subscriptions of the specified email address or the sender "
9788 "address if the second argument is left out."
9789 msgstr ""
9790
9791 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9792 #: resources.dbk:1182
9793 msgid "<literal>which [&lt;email&gt;]</literal>"
9794 msgstr ""
9795
9796 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9797 #: resources.dbk:1185
9798 msgid ""
9799 "Lists all subscriptions for the sender or the email address optionally "
9800 "specified."
9801 msgstr ""
9802
9803 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9804 #: resources.dbk:1191
9805 msgid "<literal>keyword [&lt;email&gt;]</literal>"
9806 msgstr ""
9807
9808 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9809 #: resources.dbk:1194
9810 msgid ""
9811 "Tells you the keywords that you are accepting.  For an explanation of "
9812 "keywords, <link linkend=\"pkg-tracking-system\">see above</link>.  Here's a "
9813 "quick summary:"
9814 msgstr ""
9815
9816 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9817 #: resources.dbk:1201
9818 msgid "<literal>bts</literal>: mails coming from the Debian Bug Tracking System"
9819 msgstr ""
9820
9821 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9822 #: resources.dbk:1206
9823 msgid "<literal>bts-control</literal>: reply to mails sent to &email-bts-control;"
9824 msgstr ""
9825
9826 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9827 #: resources.dbk:1212
9828 msgid ""
9829 "<literal>summary</literal>: automatic summary mails about the state of a "
9830 "package"
9831 msgstr ""
9832
9833 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9834 #: resources.dbk:1218
9835 msgid ""
9836 "<literal>contact</literal>: mails sent to the maintainer through the "
9837 "*@packages.debian.org aliases"
9838 msgstr ""
9839
9840 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9841 #: resources.dbk:1224
9842 msgid "<literal>cvs</literal>: notification of VCS commits"
9843 msgstr ""
9844
9845 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9846 #: resources.dbk:1229
9847 msgid "<literal>ddtp</literal>: translations of descriptions and debconf templates"
9848 msgstr ""
9849
9850 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9851 #: resources.dbk:1234
9852 msgid ""
9853 "<literal>derivatives</literal>: changes made on the package by derivative "
9854 "distributions"
9855 msgstr ""
9856
9857 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9858 #: resources.dbk:1240
9859 msgid ""
9860 "<literal>derivatives-bugs</literal>: bugs reports and comments from "
9861 "derivative distributions"
9862 msgstr ""
9863
9864 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9865 #: resources.dbk:1246
9866 msgid ""
9867 "<literal>upload-source</literal>: announce of a new source upload that has "
9868 "been accepted"
9869 msgstr ""
9870
9871 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9872 #: resources.dbk:1252
9873 msgid ""
9874 "<literal>upload-binary</literal>: announce of a new binary-only upload "
9875 "(porting)"
9876 msgstr ""
9877
9878 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9879 #: resources.dbk:1258
9880 msgid ""
9881 "<literal>katie-other</literal>: other mails from ftpmasters (override "
9882 "disparity, etc.)"
9883 msgstr ""
9884
9885 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9886 #: resources.dbk:1264
9887 msgid "<literal>buildd</literal>: build failures notifications from build daemons"
9888 msgstr ""
9889
9890 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9891 #: resources.dbk:1269
9892 msgid ""
9893 "<literal>default</literal>: all the other mails (those which aren't "
9894 "automatic)"
9895 msgstr ""
9896
9897 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9898 #: resources.dbk:1276
9899 msgid "<literal>keyword &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9900 msgstr ""
9901
9902 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9903 #: resources.dbk:1279
9904 msgid ""
9905 "Same as the previous item but for the given source package, since you may "
9906 "select a different set of keywords for each source package."
9907 msgstr ""
9908
9909 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9910 #: resources.dbk:1285
9911 msgid "<literal>keyword [&lt;email&gt;] {+|-|=} &lt;list of keywords&gt;</literal>"
9912 msgstr ""
9913
9914 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9915 #: resources.dbk:1288
9916 msgid ""
9917 "Accept (+) or refuse (-) mails classified under the given keyword(s).  "
9918 "Define the list (=) of accepted keywords.  This changes the default set of "
9919 "keywords accepted by a user."
9920 msgstr ""
9921
9922 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9923 #: resources.dbk:1295
9924 msgid ""
9925 "<literal>keywordall [&lt;email&gt;] {+|-|=} &lt;list of "
9926 "keywords&gt;</literal>"
9927 msgstr ""
9928
9929 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9930 #: resources.dbk:1298
9931 msgid ""
9932 "Accept (+) or refuse (-) mails classified under the given keyword(s).  "
9933 "Define the list (=) of accepted keywords.  This changes the set of accepted "
9934 "keywords of all the currently active subscriptions of a user."
9935 msgstr ""
9936
9937 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9938 #: resources.dbk:1305
9939 msgid ""
9940 "<literal>keyword &lt;sourcepackage&gt; [&lt;email&gt;] {+|-|=} &lt;list of "
9941 "keywords&gt;</literal>"
9942 msgstr ""
9943
9944 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9945 #: resources.dbk:1308
9946 msgid ""
9947 "Same as previous item but overrides the keywords list for the indicated "
9948 "source package."
9949 msgstr ""
9950
9951 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9952 #: resources.dbk:1314
9953 msgid "<literal>quit | thanks | --</literal>"
9954 msgstr ""
9955
9956 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9957 #: resources.dbk:1317
9958 msgid "Stops processing commands.  All following lines are ignored by the bot."
9959 msgstr ""
9960
9961 #. type: Content of: <chapter><section><section><para>
9962 #: resources.dbk:1323
9963 msgid ""
9964 "The <command>pts-subscribe</command> command-line utility (from the "
9965 "<systemitem role=\"package\">devscripts</systemitem> package) can be handy "
9966 "to temporarily subscribe to some packages, for example after having made an "
9967 "non-maintainer upload."
9968 msgstr ""
9969
9970 #. type: Content of: <chapter><section><section><title>
9971 #: resources.dbk:1331
9972 msgid "Filtering PTS mails"
9973 msgstr ""
9974
9975 #. type: Content of: <chapter><section><section><para>
9976 #: resources.dbk:1333
9977 msgid ""
9978 "Once you are subscribed to a package, you will get the mails sent to "
9979 "<literal><replaceable>sourcepackage</replaceable>@&pts-host;</literal>.  "
9980 "Those mails have special headers appended to let you filter them in a "
9981 "special mailbox (e.g.  with <command>procmail</command>).  The added headers "
9982 "are <literal>X-Loop</literal>, <literal>X-PTS-Package</literal>, "
9983 "<literal>X-PTS-Keyword</literal> and <literal>X-Unsubscribe</literal>."
9984 msgstr ""
9985
9986 #. type: Content of: <chapter><section><section><para>
9987 #: resources.dbk:1341
9988 msgid ""
9989 "Here is an example of added headers for a source upload notification on the "
9990 "<systemitem role=\"package\">dpkg</systemitem> package:"
9991 msgstr ""
9992
9993 #. type: Content of: <chapter><section><section><screen>
9994 #: resources.dbk:1345
9995 #, no-wrap
9996 msgid ""
9997 "X-Loop: dpkg@&pts-host;\n"
9998 "X-PTS-Package: dpkg\n"
9999 "X-PTS-Keyword: upload-source\n"
10000 "List-Unsubscribe: &lt;mailto:pts@qa.debian.org?body=unsubscribe+dpkg&gt;\n"
10001 msgstr ""
10002
10003 #. type: Content of: <chapter><section><section><title>
10004 #: resources.dbk:1353
10005 msgid "Forwarding VCS commits in the PTS"
10006 msgstr ""
10007
10008 #. type: Content of: <chapter><section><section><para>
10009 #: resources.dbk:1355
10010 msgid ""
10011 "If you use a publicly accessible VCS repository for maintaining your Debian "
10012 "package, you may want to forward the commit notification to the PTS so that "
10013 "the subscribers (and possible co-maintainers) can closely follow the "
10014 "package's evolution."
10015 msgstr ""
10016
10017 #. type: Content of: <chapter><section><section><para>
10018 #: resources.dbk:1361
10019 msgid ""
10020 "Once you set up the VCS repository to generate commit notifications, you "
10021 "just have to make sure it sends a copy of those mails to "
10022 "<literal><replaceable>sourcepackage</replaceable>_cvs@&pts-host;</literal>.  "
10023 "Only the people who accept the <literal>cvs</literal> keyword will receive "
10024 "these notifications. Note that the mail needs to be sent from a "
10025 "<literal>debian.org</literal> machine, otherwise you'll have to add the "
10026 "<literal>X-PTS-Approved: 1</literal> header."
10027 msgstr ""
10028
10029 #. type: Content of: <chapter><section><section><para>
10030 #: resources.dbk:1370
10031 msgid ""
10032 "For Subversion repositories, the usage of svnmailer is recommended.  See "
10033 "<ulink url=\"&url-alioth-pkg;\" /> for an example on how to do it."
10034 msgstr ""
10035
10036 #. type: Content of: <chapter><section><section><title>
10037 #: resources.dbk:1376
10038 msgid "The PTS web interface"
10039 msgstr ""
10040
10041 #. type: Content of: <chapter><section><section><para>
10042 #: resources.dbk:1378
10043 msgid ""
10044 "The PTS has a web interface at <ulink url=\"http://&pts-host;/\"></ulink> "
10045 "that puts together a lot of information about each source package.  It "
10046 "features many useful links (BTS, QA stats, contact information, DDTP "
10047 "translation status, buildd logs) and gathers much more information from "
10048 "various places (30 latest changelog entries, testing status, etc.).  It's a "
10049 "very useful tool if you want to know what's going on with a specific source "
10050 "package.  Furthermore there's a form that allows easy subscription to the "
10051 "PTS via email."
10052 msgstr ""
10053
10054 #. type: Content of: <chapter><section><section><para>
10055 #: resources.dbk:1388
10056 msgid ""
10057 "You can jump directly to the web page concerning a specific source package "
10058 "with a URL like "
10059 "<literal>http://&pts-host;/<replaceable>sourcepackage</replaceable></literal>."
10060 msgstr ""
10061
10062 #. type: Content of: <chapter><section><section><para>
10063 #: resources.dbk:1393
10064 msgid ""
10065 "This web interface has been designed like a portal for the development of "
10066 "packages: you can add custom content on your packages' pages.  You can add "
10067 "static information (news items that are meant to stay available "
10068 "indefinitely)  and news items in the latest news section."
10069 msgstr ""
10070
10071 #. type: Content of: <chapter><section><section><para>
10072 #: resources.dbk:1399
10073 msgid "Static news items can be used to indicate:"
10074 msgstr ""
10075
10076 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10077 #: resources.dbk:1404
10078 msgid ""
10079 "the availability of a project hosted on <link "
10080 "linkend=\"alioth\">Alioth</link> for co-maintaining the package"
10081 msgstr ""
10082
10083 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10084 #: resources.dbk:1410
10085 msgid "a link to the upstream web site"
10086 msgstr ""
10087
10088 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10089 #: resources.dbk:1415
10090 msgid "a link to the upstream bug tracker"
10091 msgstr ""
10092
10093 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10094 #: resources.dbk:1420
10095 msgid "the existence of an IRC channel dedicated to the software"
10096 msgstr ""
10097
10098 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10099 #: resources.dbk:1425
10100 msgid ""
10101 "any other available resource that could be useful in the maintenance of the "
10102 "package"
10103 msgstr ""
10104
10105 #. type: Content of: <chapter><section><section><para>
10106 #: resources.dbk:1431
10107 msgid "Usual news items may be used to announce that:"
10108 msgstr ""
10109
10110 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10111 #: resources.dbk:1436
10112 msgid "beta packages are available for testing"
10113 msgstr ""
10114
10115 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10116 #: resources.dbk:1441
10117 msgid "final packages are expected for next week"
10118 msgstr ""
10119
10120 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10121 #: resources.dbk:1446
10122 msgid "the packaging is about to be redone from scratch"
10123 msgstr ""
10124
10125 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10126 #: resources.dbk:1451
10127 msgid "backports are available"
10128 msgstr ""
10129
10130 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10131 #: resources.dbk:1456
10132 msgid "the maintainer is on vacation (if they wish to publish this information)"
10133 msgstr ""
10134
10135 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10136 #: resources.dbk:1461
10137 msgid "a NMU is being worked on"
10138 msgstr ""
10139
10140 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10141 #: resources.dbk:1466
10142 msgid "something important will affect the package"
10143 msgstr ""
10144
10145 #. type: Content of: <chapter><section><section><para>
10146 #: resources.dbk:1471
10147 msgid ""
10148 "Both kinds of news are generated in a similar manner: you just have to send "
10149 "an email either to <email>pts-static-news@qa.debian.org</email> or to "
10150 "<email>pts-news@qa.debian.org</email>.  The mail should indicate which "
10151 "package is concerned by having the name of the source package in a "
10152 "<literal>X-PTS-Package</literal> mail header or in a "
10153 "<literal>Package</literal> pseudo-header (like the BTS reports).  If a URL "
10154 "is available in the <literal>X-PTS-Url</literal> mail header or in the "
10155 "<literal>Url</literal> pseudo-header, then the result is a link to that URL "
10156 "instead of a complete news item."
10157 msgstr ""
10158
10159 #. type: Content of: <chapter><section><section><para>
10160 #: resources.dbk:1482
10161 msgid ""
10162 "Here are a few examples of valid mails used to generate news items in the "
10163 "PTS.  The first one adds a link to the viewsvn interface of debian-cd in the "
10164 "Static information section:"
10165 msgstr ""
10166
10167 #. type: Content of: <chapter><section><section><screen>
10168 #: resources.dbk:1487
10169 #, no-wrap
10170 msgid ""
10171 "From: Raphael Hertzog &lt;hertzog@debian.org&gt;\n"
10172 "To: pts-static-news@qa.debian.org\n"
10173 "Subject: Browse debian-cd SVN repository\n"
10174 "\n"
10175 "Package: debian-cd\n"
10176 "Url: http://svn.debian.org/viewsvn/debian-cd/trunk/\n"
10177 msgstr ""
10178
10179 #. type: Content of: <chapter><section><section><para>
10180 #: resources.dbk:1495
10181 msgid ""
10182 "The second one is an announcement sent to a mailing list which is also sent "
10183 "to the PTS so that it is published on the PTS web page of the package.  Note "
10184 "the use of the BCC field to avoid answers sent to the PTS by mistake."
10185 msgstr ""
10186
10187 #. type: Content of: <chapter><section><section><screen>
10188 #: resources.dbk:1500
10189 #, no-wrap
10190 msgid ""
10191 "From: Raphael Hertzog &lt;hertzog@debian.org&gt;\n"
10192 "To: debian-gtk-gnome@&lists-host;\n"
10193 "Bcc: pts-news@qa.debian.org\n"
10194 "Subject: Galeon 2.0 backported for woody\n"
10195 "X-PTS-Package: galeon\n"
10196 "\n"
10197 "Hello gnomers!\n"
10198 "\n"
10199 "I'm glad to announce that galeon has been backported for woody. You'll "
10200 "find\n"
10201 "everything here:\n"
10202 "...\n"
10203 msgstr ""
10204
10205 #. type: Content of: <chapter><section><section><para>
10206 #: resources.dbk:1513
10207 msgid ""
10208 "Think twice before adding a news item to the PTS because you won't be able "
10209 "to remove it later and you won't be able to edit it either.  The only thing "
10210 "that you can do is send a second news item that will deprecate the "
10211 "information contained in the previous one."
10212 msgstr ""
10213
10214 #. type: Content of: <chapter><section><title>
10215 #: resources.dbk:1523
10216 msgid "Developer's packages overview"
10217 msgstr ""
10218
10219 #. type: Content of: <chapter><section><para>
10220 #: resources.dbk:1525
10221 msgid ""
10222 "A QA (quality assurance) web portal is available at <ulink "
10223 "url=\"&url-ddpo;\"></ulink> which displays a table listing all the packages "
10224 "of a single developer (including those where the party is listed as a "
10225 "co-maintainer).  The table gives a good summary about the developer's "
10226 "packages: number of bugs by severity, list of available versions in each "
10227 "distribution, testing status and much more including links to any other "
10228 "useful information."
10229 msgstr ""
10230
10231 #. type: Content of: <chapter><section><para>
10232 #: resources.dbk:1534
10233 msgid ""
10234 "It is a good idea to look up your own data regularly so that you don't "
10235 "forget any open bugs, and so that you don't forget which packages are your "
10236 "responsibility."
10237 msgstr ""
10238
10239 #. type: Content of: <chapter><section><title>
10240 #: resources.dbk:1541
10241 msgid "Debian's FusionForge installation: Alioth"
10242 msgstr ""
10243
10244 #. type: Content of: <chapter><section><para>
10245 #: resources.dbk:1543
10246 msgid ""
10247 "Alioth is a Debian service based on a slightly modified version of the "
10248 "FusionForge software (which evolved from SourceForge and GForge). This "
10249 "software offers developers access to easy-to-use tools such as bug trackers, "
10250 "patch manager, project/task managers, file hosting services, mailing lists, "
10251 "VCS repositories etc.  All these tools are managed via a web interface."
10252 msgstr ""
10253
10254 #. type: Content of: <chapter><section><para>
10255 #: resources.dbk:1550
10256 msgid ""
10257 "It is intended to provide facilities to free software projects backed or led "
10258 "by Debian, facilitate contributions from external developers to projects "
10259 "started by Debian, and help projects whose goals are the promotion of Debian "
10260 "or its derivatives. It's heavily used by many Debian teams and provides "
10261 "hosting for all sorts of VCS repositories."
10262 msgstr ""
10263
10264 #. type: Content of: <chapter><section><para>
10265 #: resources.dbk:1557
10266 msgid ""
10267 "All Debian developers automatically have an account on Alioth.  They can "
10268 "activate it by using the recover password facility.  External developers can "
10269 "request guest accounts on Alioth."
10270 msgstr ""
10271
10272 #. type: Content of: <chapter><section><para>
10273 #: resources.dbk:1562
10274 msgid "For more information please visit the following links:"
10275 msgstr ""
10276
10277 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10278 #: resources.dbk:1565
10279 msgid "<ulink url=\"&url-alioth-wiki;\" />"
10280 msgstr ""
10281
10282 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10283 #: resources.dbk:1566
10284 msgid "<ulink url=\"&url-alioth-faq;\" />"
10285 msgstr ""
10286
10287 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10288 #: resources.dbk:1567
10289 msgid "<ulink url=\"&url-alioth-pkg;\" />"
10290 msgstr ""
10291
10292 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10293 #: resources.dbk:1568
10294 msgid "<ulink url=\"&url-alioth;\" />"
10295 msgstr ""
10296
10297 #. type: Content of: <chapter><section><title>
10298 #: resources.dbk:1573
10299 msgid "Goodies for Developers"
10300 msgstr ""
10301
10302 #. type: Content of: <chapter><section><section><title>
10303 #: resources.dbk:1575
10304 msgid "LWN Subscriptions"
10305 msgstr ""
10306
10307 #. type: Content of: <chapter><section><section><para>
10308 #: resources.dbk:1577
10309 msgid ""
10310 "Since October of 2002, HP has sponsored a subscription to LWN for all "
10311 "interested Debian developers.  Details on how to get access to this benefit "
10312 "are in <ulink "
10313 "url=\"http://&lists-host;/debian-devel-announce/2002/10/msg00018.html\"></ulink>."
10314 msgstr ""
10315
10316 #. type: Content of: <chapter><section><section><title>
10317 #: resources.dbk:1584
10318 msgid "Gandi.net Hosting Discount"
10319 msgstr ""
10320
10321 #. type: Content of: <chapter><section><section><para>
10322 #: resources.dbk:1586
10323 msgid ""
10324 "As of November 2008, Gandi.net offers a discount rate on their VPS hosting "
10325 "for Debian Developers.  See <ulink "
10326 "url=\"http://&lists-host;/debian-devel-announce/2008/11/msg00004.html\"></ulink>."
10327 msgstr ""
10328
10329 #. type: Content of: <chapter><title>
10330 #: scope.dbk:7
10331 msgid "Scope of This Document"
10332 msgstr ""
10333
10334 #. type: Content of: <chapter><para>
10335 #: scope.dbk:9
10336 msgid ""
10337 "The purpose of this document is to provide an overview of the recommended "
10338 "procedures and the available resources for Debian developers."
10339 msgstr ""
10340
10341 #. type: Content of: <chapter><para>
10342 #: scope.dbk:14
10343 msgid ""
10344 "The procedures discussed within include how to become a maintainer (<xref "
10345 "linkend=\"new-maintainer\"/>); how to create new packages (<xref "
10346 "linkend=\"newpackage\"/>) and how to upload packages (<xref "
10347 "linkend=\"upload\"/>); how to handle bug reports (<xref "
10348 "linkend=\"bug-handling\"/>); how to move, remove, or orphan packages (<xref "
10349 "linkend=\"archive-manip\"/>); how to port packages (<xref "
10350 "linkend=\"porting\"/>); and how and when to do interim releases of other "
10351 "maintainers' packages (<xref linkend=\"nmu\"/>)."
10352 msgstr ""
10353
10354 #. type: Content of: <chapter><para>
10355 #: scope.dbk:23
10356 msgid ""
10357 "The resources discussed in this reference include the mailing lists (<xref "
10358 "linkend=\"mailing-lists\"/>) and servers (<xref "
10359 "linkend=\"server-machines\"/>); a discussion of the structure of the Debian "
10360 "archive (<xref linkend=\"archive\"/>); explanation of the different servers "
10361 "which accept package uploads (<xref linkend=\"upload-ftp-master\"/>); and a "
10362 "discussion of resources which can help maintainers with the quality of their "
10363 "packages (<xref linkend=\"tools\"/>)."
10364 msgstr ""
10365
10366 #. type: Content of: <chapter><para>
10367 #: scope.dbk:31
10368 msgid ""
10369 "It should be clear that this reference does not discuss the technical "
10370 "details of Debian packages nor how to generate them.  Nor does this "
10371 "reference detail the standards to which Debian software must comply.  All of "
10372 "such information can be found in the <ulink "
10373 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>."
10374 msgstr ""
10375
10376 #. type: Content of: <chapter><para>
10377 #: scope.dbk:38
10378 msgid ""
10379 "Furthermore, this document is <emphasis>not an expression of formal "
10380 "policy</emphasis>.  It contains documentation for the Debian system and "
10381 "generally agreed-upon best practices.  Thus, it is not what is called a "
10382 "``normative'' document."
10383 msgstr ""
10384
10385 #. type: Content of: <appendix><title>
10386 #: tools.dbk:7
10387 msgid "Overview of Debian Maintainer Tools"
10388 msgstr ""
10389
10390 #. type: Content of: <appendix><para>
10391 #: tools.dbk:9
10392 msgid ""
10393 "This section contains a rough overview of the tools available to "
10394 "maintainers.  The following is by no means complete or definitive, but just "
10395 "a guide to some of the more popular tools."
10396 msgstr ""
10397
10398 #. type: Content of: <appendix><para>
10399 #: tools.dbk:14
10400 msgid ""
10401 "Debian maintainer tools are meant to aid developers and free their time for "
10402 "critical tasks.  As Larry Wall says, there's more than one way to do it."
10403 msgstr ""
10404
10405 #. type: Content of: <appendix><para>
10406 #: tools.dbk:18
10407 msgid ""
10408 "Some people prefer to use high-level package maintenance tools and some do "
10409 "not.  Debian is officially agnostic on this issue; any tool which gets the "
10410 "job done is fine.  Therefore, this section is not meant to stipulate to "
10411 "anyone which tools they should use or how they should go about their duties "
10412 "of maintainership.  Nor is it meant to endorse any particular tool to the "
10413 "exclusion of a competing tool."
10414 msgstr ""
10415
10416 #. type: Content of: <appendix><para>
10417 #: tools.dbk:26
10418 msgid ""
10419 "Most of the descriptions of these packages come from the actual package "
10420 "descriptions themselves.  Further information can be found in the package "
10421 "documentation itself.  You can also see more info with the command "
10422 "<command>apt-cache show <replaceable>package-name</replaceable></command>."
10423 msgstr ""
10424
10425 #. type: Content of: <appendix><section><title>
10426 #: tools.dbk:32
10427 msgid "Core tools"
10428 msgstr ""
10429
10430 #. type: Content of: <appendix><section><para>
10431 #: tools.dbk:34
10432 msgid "The following tools are pretty much required for any maintainer."
10433 msgstr ""
10434
10435 #. type: Content of: <appendix><section><section><title>
10436 #: tools.dbk:37
10437 msgid "<systemitem role=\"package\">dpkg-dev</systemitem>"
10438 msgstr ""
10439
10440 #. type: Content of: <appendix><section><section><para>
10441 #: tools.dbk:39
10442 msgid ""
10443 "<systemitem role=\"package\">dpkg-dev</systemitem> contains the tools "
10444 "(including <command>dpkg-source</command>) required to unpack, build, and "
10445 "upload Debian source packages.  These utilities contain the fundamental, "
10446 "low-level functionality required to create and manipulate packages; as such, "
10447 "they are essential for any Debian maintainer."
10448 msgstr ""
10449
10450 #. type: Content of: <appendix><section><section><title>
10451 #: tools.dbk:48
10452 msgid "<systemitem role=\"package\">debconf</systemitem>"
10453 msgstr ""
10454
10455 #. type: Content of: <appendix><section><section><para>
10456 #: tools.dbk:50
10457 msgid ""
10458 "<systemitem role=\"package\">debconf</systemitem> provides a consistent "
10459 "interface to configuring packages interactively.  It is user interface "
10460 "independent, allowing end-users to configure packages with a text-only "
10461 "interface, an HTML interface, or a dialog interface.  New interfaces can be "
10462 "added as modules."
10463 msgstr ""
10464
10465 #. type: Content of: <appendix><section><section><para>
10466 #: tools.dbk:56
10467 msgid ""
10468 "You can find documentation for this package in the <systemitem "
10469 "role=\"package\">debconf-doc</systemitem> package."
10470 msgstr ""
10471
10472 #. type: Content of: <appendix><section><section><para>
10473 #: tools.dbk:60
10474 msgid ""
10475 "Many feel that this system should be used for all packages which require "
10476 "interactive configuration; see <xref linkend=\"bpp-config-mgmt\"/>.  "
10477 "<systemitem role=\"package\">debconf</systemitem> is not currently required "
10478 "by Debian Policy, but that may change in the future."
10479 msgstr ""
10480
10481 #. type: Content of: <appendix><section><section><title>
10482 #: tools.dbk:68
10483 msgid "<systemitem role=\"package\">fakeroot</systemitem>"
10484 msgstr ""
10485
10486 #. type: Content of: <appendix><section><section><para>
10487 #: tools.dbk:70
10488 msgid ""
10489 "<systemitem role=\"package\">fakeroot</systemitem> simulates root "
10490 "privileges.  This enables you to build packages without being root (packages "
10491 "usually want to install files with root ownership).  If you have <systemitem "
10492 "role=\"package\">fakeroot</systemitem> installed, you can build packages as "
10493 "a regular user: <literal>dpkg-buildpackage -rfakeroot</literal>."
10494 msgstr ""
10495
10496 #. type: Content of: <appendix><section><title>
10497 #: tools.dbk:81
10498 msgid "Package lint tools"
10499 msgstr ""
10500
10501 #. type: Content of: <appendix><section><para>
10502 #: tools.dbk:83
10503 msgid ""
10504 "According to the Free On-line Dictionary of Computing (FOLDOC), `lint' is a "
10505 "Unix C language processor which carries out more thorough checks on the code "
10506 "than is usual with C compilers.  Package lint tools help package maintainers "
10507 "by automatically finding common problems and policy violations in their "
10508 "packages."
10509 msgstr ""
10510
10511 #. type: Content of: <appendix><section><section><title>
10512 #: tools.dbk:89
10513 msgid "<systemitem role=\"package\">lintian</systemitem>"
10514 msgstr ""
10515
10516 #. type: Content of: <appendix><section><section><para>
10517 #: tools.dbk:91
10518 msgid ""
10519 "<systemitem role=\"package\">lintian</systemitem> dissects Debian packages "
10520 "and emits information about bugs and policy violations.  It contains "
10521 "automated checks for many aspects of Debian policy as well as some checks "
10522 "for common errors."
10523 msgstr ""
10524
10525 #. type: Content of: <appendix><section><section><para>
10526 #: tools.dbk:97
10527 msgid ""
10528 "You should periodically get the newest <systemitem "
10529 "role=\"package\">lintian</systemitem> from <literal>unstable</literal> and "
10530 "check over all your packages.  Notice that the <literal>-i</literal> option "
10531 "provides detailed explanations of what each error or warning means, what its "
10532 "basis in Policy is, and commonly how you can fix the problem."
10533 msgstr ""
10534
10535 #. type: Content of: <appendix><section><section><para>
10536 #: tools.dbk:104
10537 msgid ""
10538 "Refer to <xref linkend=\"sanitycheck\"/> for more information on how and "
10539 "when to use Lintian."
10540 msgstr ""
10541
10542 #. type: Content of: <appendix><section><section><para>
10543 #: tools.dbk:108
10544 msgid ""
10545 "You can also see a summary of all problems reported by Lintian on your "
10546 "packages at <ulink url=\"&url-lintian;\"></ulink>.  These reports contain "
10547 "the latest <command>lintian</command> output for the whole development "
10548 "distribution (<literal>unstable</literal>)."
10549 msgstr ""
10550
10551 #. type: Content of: <appendix><section><section><title>
10552 #: tools.dbk:116
10553 msgid "<command>debdiff</command>"
10554 msgstr ""
10555
10556 #. type: Content of: <appendix><section><section><para>
10557 #: tools.dbk:118
10558 msgid ""
10559 "<command>debdiff</command> (from the <systemitem "
10560 "role=\"package\">devscripts</systemitem> package, <xref "
10561 "linkend=\"devscripts\"/>)  compares file lists and control files of two "
10562 "packages.  It is a simple regression test, as it will help you notice if the "
10563 "number of binary packages has changed since the last upload, or if something "
10564 "has changed in the control file.  Of course, some of the changes it reports "
10565 "will be all right, but it can help you prevent various accidents."
10566 msgstr ""
10567
10568 #. type: Content of: <appendix><section><section><para>
10569 #: tools.dbk:127
10570 msgid "You can run it over a pair of binary packages:"
10571 msgstr ""
10572
10573 #. type: Content of: <appendix><section><section><screen>
10574 #: tools.dbk:130
10575 #, no-wrap
10576 msgid "debdiff package_1-1_arch.deb package_2-1_arch.deb\n"
10577 msgstr ""
10578
10579 #. type: Content of: <appendix><section><section><para>
10580 #: tools.dbk:133
10581 msgid "Or even a pair of changes files:"
10582 msgstr ""
10583
10584 #. type: Content of: <appendix><section><section><screen>
10585 #: tools.dbk:136
10586 #, no-wrap
10587 msgid "debdiff package_1-1_arch.changes package_2-1_arch.changes\n"
10588 msgstr ""
10589
10590 #. type: Content of: <appendix><section><section><para>
10591 #: tools.dbk:139
10592 msgid ""
10593 "For more information please see <citerefentry> "
10594 "<refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> "
10595 "</citerefentry>."
10596 msgstr ""
10597
10598 #. type: Content of: <appendix><section><title>
10599 #: tools.dbk:148
10600 msgid "Helpers for <filename>debian/rules</filename>"
10601 msgstr ""
10602
10603 #. type: Content of: <appendix><section><para>
10604 #: tools.dbk:150
10605 msgid ""
10606 "Package building tools make the process of writing "
10607 "<filename>debian/rules</filename> files easier.  See <xref "
10608 "linkend=\"helper-scripts\"/> for more information about why these might or "
10609 "might not be desired."
10610 msgstr ""
10611
10612 #. type: Content of: <appendix><section><section><title>
10613 #: tools.dbk:156
10614 msgid "<systemitem role=\"package\">debhelper</systemitem>"
10615 msgstr ""
10616
10617 #. type: Content of: <appendix><section><section><para>
10618 #: tools.dbk:158
10619 msgid ""
10620 "<systemitem role=\"package\">debhelper</systemitem> is a collection of "
10621 "programs which can be used in <filename>debian/rules</filename> to automate "
10622 "common tasks related to building binary Debian packages.  <systemitem "
10623 "role=\"package\">debhelper</systemitem> includes programs to install various "
10624 "files into your package, compress files, fix file permissions, and integrate "
10625 "your package with the Debian menu system."
10626 msgstr ""
10627
10628 #. type: Content of: <appendix><section><section><para>
10629 #: tools.dbk:166
10630 msgid ""
10631 "Unlike some approaches, <systemitem role=\"package\">debhelper</systemitem> "
10632 "is broken into several small, simple commands which act in a consistent "
10633 "manner.  As such, it allows more fine-grained control than some of the other "
10634 "debian/rules tools."
10635 msgstr ""
10636
10637 #. type: Content of: <appendix><section><section><para>
10638 #: tools.dbk:172
10639 msgid ""
10640 "There are a number of little <systemitem "
10641 "role=\"package\">debhelper</systemitem> add-on packages, too transient to "
10642 "document.  You can see the list of most of them by doing <literal>apt-cache "
10643 "search ^dh-</literal>."
10644 msgstr ""
10645
10646 #. type: Content of: <appendix><section><section><title>
10647 #: tools.dbk:179
10648 msgid "<systemitem role=\"package\">dh-make</systemitem>"
10649 msgstr ""
10650
10651 #. type: Content of: <appendix><section><section><para>
10652 #: tools.dbk:181
10653 msgid ""
10654 "The <systemitem role=\"package\">dh-make</systemitem> package contains "
10655 "<command>dh_make</command>, a program that creates a skeleton of files "
10656 "necessary to build a Debian package out of a source tree.  As the name "
10657 "suggests, <command>dh_make</command> is a rewrite of <systemitem "
10658 "role=\"package\">debmake</systemitem> and its template files use "
10659 "<command>dh_*</command> programs from <systemitem "
10660 "role=\"package\">debhelper</systemitem>."
10661 msgstr ""
10662
10663 #. type: Content of: <appendix><section><section><para>
10664 #: tools.dbk:189
10665 msgid ""
10666 "While the rules files generated by <command>dh_make</command> are in general "
10667 "a sufficient basis for a working package, they are still just the "
10668 "groundwork: the burden still lies on the maintainer to finely tune the "
10669 "generated files and make the package entirely functional and "
10670 "Policy-compliant."
10671 msgstr ""
10672
10673 #. type: Content of: <appendix><section><section><title>
10674 #: tools.dbk:197
10675 msgid "<systemitem role=\"package\">equivs</systemitem>"
10676 msgstr ""
10677
10678 #. type: Content of: <appendix><section><section><para>
10679 #: tools.dbk:199
10680 msgid ""
10681 "<systemitem role=\"package\">equivs</systemitem> is another package for "
10682 "making packages.  It is often suggested for local use if you need to make a "
10683 "package simply to fulfill dependencies.  It is also sometimes used when "
10684 "making ``meta-packages'', which are packages whose only purpose is to depend "
10685 "on other packages."
10686 msgstr ""
10687
10688 #. type: Content of: <appendix><section><title>
10689 #: tools.dbk:210
10690 msgid "Package builders"
10691 msgstr ""
10692
10693 #. type: Content of: <appendix><section><para>
10694 #: tools.dbk:212
10695 msgid ""
10696 "The following packages help with the package building process, general "
10697 "driving <command>dpkg-buildpackage</command> as well as handling supporting "
10698 "tasks."
10699 msgstr ""
10700
10701 #. type: Content of: <appendix><section><section><title>
10702 #: tools.dbk:216
10703 msgid "<systemitem role=\"package\">cvs-buildpackage</systemitem>"
10704 msgstr ""
10705
10706 #. type: Content of: <appendix><section><section><para>
10707 #: tools.dbk:218
10708 msgid ""
10709 "<systemitem role=\"package\">cvs-buildpackage</systemitem> provides the "
10710 "capability to inject or import Debian source packages into a CVS repository, "
10711 "build a Debian package from the CVS repository, and helps in integrating "
10712 "upstream changes into the repository."
10713 msgstr ""
10714
10715 #. type: Content of: <appendix><section><section><para>
10716 #: tools.dbk:224
10717 msgid ""
10718 "These utilities provide an infrastructure to facilitate the use of CVS by "
10719 "Debian maintainers.  This allows one to keep separate CVS branches of a "
10720 "package for <literal>stable</literal>, <literal>unstable</literal> and "
10721 "possibly <literal>experimental</literal> distributions, along with the other "
10722 "benefits of a version control system."
10723 msgstr ""
10724
10725 #. type: Content of: <appendix><section><section><title>
10726 #: tools.dbk:233
10727 msgid "<systemitem role=\"package\">debootstrap</systemitem>"
10728 msgstr ""
10729
10730 #. type: Content of: <appendix><section><section><para>
10731 #: tools.dbk:235
10732 msgid ""
10733 "The <systemitem role=\"package\">debootstrap</systemitem> package and script "
10734 "allows you to bootstrap a Debian base system into any part of your "
10735 "filesystem.  By base system, we mean the bare minimum of packages required "
10736 "to operate and install the rest of the system."
10737 msgstr ""
10738
10739 #. type: Content of: <appendix><section><section><para>
10740 #: tools.dbk:241
10741 msgid ""
10742 "Having a system like this can be useful in many ways.  For instance, you can "
10743 "<command>chroot</command> into it if you want to test your build "
10744 "dependencies.  Or you can test how your package behaves when installed into "
10745 "a bare base system.  Chroot builders use this package; see below."
10746 msgstr ""
10747
10748 #. type: Content of: <appendix><section><section><title>
10749 #: tools.dbk:249
10750 msgid "<systemitem role=\"package\">pbuilder</systemitem>"
10751 msgstr ""
10752
10753 #. type: Content of: <appendix><section><section><para>
10754 #: tools.dbk:251
10755 msgid ""
10756 "<systemitem role=\"package\">pbuilder</systemitem> constructs a chrooted "
10757 "system, and builds a package inside the chroot.  It is very useful to check "
10758 "that a package's build-dependencies are correct, and to be sure that "
10759 "unnecessary and wrong build dependencies will not exist in the resulting "
10760 "package."
10761 msgstr ""
10762
10763 #. type: Content of: <appendix><section><section><para>
10764 #: tools.dbk:257
10765 msgid ""
10766 "A related package is <systemitem role=\"package\">pbuilder-uml</systemitem>, "
10767 "which goes even further by doing the build within a User Mode Linux "
10768 "environment."
10769 msgstr ""
10770
10771 #. type: Content of: <appendix><section><section><title>
10772 #: tools.dbk:264
10773 msgid "<systemitem role=\"package\">sbuild</systemitem>"
10774 msgstr ""
10775
10776 #. type: Content of: <appendix><section><section><para>
10777 #: tools.dbk:266
10778 msgid ""
10779 "<systemitem role=\"package\">sbuild</systemitem> is another automated "
10780 "builder.  It can use chrooted environments as well.  It can be used "
10781 "stand-alone, or as part of a networked, distributed build environment.  As "
10782 "the latter, it is part of the system used by porters to build binary "
10783 "packages for all the available architectures.  See <xref "
10784 "linkend=\"wanna-build\"/> for more information, and <ulink "
10785 "url=\"&url-buildd;\"></ulink> to see the system in action."
10786 msgstr ""
10787
10788 #. type: Content of: <appendix><section><title>
10789 #: tools.dbk:278
10790 msgid "Package uploaders"
10791 msgstr ""
10792
10793 #. type: Content of: <appendix><section><para>
10794 #: tools.dbk:280
10795 msgid ""
10796 "The following packages help automate or simplify the process of uploading "
10797 "packages into the official archive."
10798 msgstr ""
10799
10800 #. type: Content of: <appendix><section><section><title>
10801 #: tools.dbk:284
10802 msgid "<systemitem role=\"package\">dupload</systemitem>"
10803 msgstr ""
10804
10805 #. type: Content of: <appendix><section><section><para>
10806 #: tools.dbk:286
10807 msgid ""
10808 "<systemitem role=\"package\">dupload</systemitem> is a package and a script "
10809 "to automatically upload Debian packages to the Debian archive, to log the "
10810 "upload, and to send mail about the upload of a package.  You can configure "
10811 "it for new upload locations or methods."
10812 msgstr ""
10813
10814 #. type: Content of: <appendix><section><section><title>
10815 #: tools.dbk:294
10816 msgid "<systemitem role=\"package\">dput</systemitem>"
10817 msgstr ""
10818
10819 #. type: Content of: <appendix><section><section><para>
10820 #: tools.dbk:296
10821 msgid ""
10822 "The <systemitem role=\"package\">dput</systemitem> package and script does "
10823 "much the same thing as <systemitem role=\"package\">dupload</systemitem>, "
10824 "but in a different way.  It has some features over <systemitem "
10825 "role=\"package\">dupload</systemitem>, such as the ability to check the "
10826 "GnuPG signature and checksums before uploading, and the possibility of "
10827 "running <command>dinstall</command> in dry-run mode after the upload."
10828 msgstr ""
10829
10830 #. type: Content of: <appendix><section><section><title>
10831 #: tools.dbk:306
10832 msgid "<command>dcut</command>"
10833 msgstr ""
10834
10835 #. type: Content of: <appendix><section><section><para>
10836 #: tools.dbk:308
10837 msgid ""
10838 "The <command>dcut</command> script (part of the package <systemitem "
10839 "role=\"package\">dput</systemitem>, <xref linkend=\"dput\"/>) helps in "
10840 "removing files from the ftp upload directory."
10841 msgstr ""
10842
10843 #. type: Content of: <appendix><section><title>
10844 #: tools.dbk:316
10845 msgid "Maintenance automation"
10846 msgstr ""
10847
10848 #. type: Content of: <appendix><section><para>
10849 #: tools.dbk:318
10850 msgid ""
10851 "The following tools help automate different maintenance tasks, from adding "
10852 "changelog entries or signature lines and looking up bugs in Emacs to making "
10853 "use of the newest and official <filename>config.sub</filename>."
10854 msgstr ""
10855
10856 #. type: Content of: <appendix><section><section><title>
10857 #: tools.dbk:323
10858 msgid "<systemitem role=\"package\">devscripts</systemitem>"
10859 msgstr ""
10860
10861 #. type: Content of: <appendix><section><section><para>
10862 #: tools.dbk:325
10863 msgid ""
10864 "<systemitem role=\"package\">devscripts</systemitem> is a package containing "
10865 "wrappers and tools which are very helpful for maintaining your Debian "
10866 "packages.  Example scripts include <command>debchange</command> and "
10867 "<command>dch</command>, which manipulate your "
10868 "<filename>debian/changelog</filename> file from the command-line, and "
10869 "<command>debuild</command>, which is a wrapper around "
10870 "<command>dpkg-buildpackage</command>.  The <command>bts</command> utility is "
10871 "also very helpful to update the state of bug reports on the command line.  "
10872 "<command>uscan</command> can be used to watch for new upstream versions of "
10873 "your packages.  <command>debrsign</command> can be used to remotely sign a "
10874 "package prior to upload, which is nice when the machine you build the "
10875 "package on is different from where your GPG keys are."
10876 msgstr ""
10877
10878 #. type: Content of: <appendix><section><section><para>
10879 #: tools.dbk:339
10880 msgid ""
10881 "See the <citerefentry> <refentrytitle>devscripts</refentrytitle> "
10882 "<manvolnum>1</manvolnum> </citerefentry> manual page for a complete list of "
10883 "available scripts."
10884 msgstr ""
10885
10886 #. type: Content of: <appendix><section><section><title>
10887 #: tools.dbk:346
10888 msgid "<systemitem role=\"package\">autotools-dev</systemitem>"
10889 msgstr ""
10890
10891 #. type: Content of: <appendix><section><section><para>
10892 #: tools.dbk:348
10893 msgid ""
10894 "<systemitem role=\"package\">autotools-dev</systemitem> contains best "
10895 "practices for people who maintain packages which use "
10896 "<command>autoconf</command> and/or <command>automake</command>.  Also "
10897 "contains canonical <filename>config.sub</filename> and "
10898 "<filename>config.guess</filename> files which are known to work on all "
10899 "Debian ports."
10900 msgstr ""
10901
10902 #. type: Content of: <appendix><section><section><title>
10903 #: tools.dbk:357
10904 msgid "<systemitem role=\"package\">dpkg-repack</systemitem>"
10905 msgstr ""
10906
10907 #. type: Content of: <appendix><section><section><para>
10908 #: tools.dbk:359
10909 msgid ""
10910 "<command>dpkg-repack</command> creates Debian package file out of a package "
10911 "that has already been installed.  If any changes have been made to the "
10912 "package while it was unpacked (e.g., files in <filename>/etc</filename> were "
10913 "modified), the new package will inherit the changes."
10914 msgstr ""
10915
10916 #. type: Content of: <appendix><section><section><para>
10917 #: tools.dbk:365
10918 msgid ""
10919 "This utility can make it easy to copy packages from one computer to another, "
10920 "or to recreate packages which are installed on your system but no longer "
10921 "available elsewhere, or to save the current state of a package before you "
10922 "upgrade it."
10923 msgstr ""
10924
10925 #. type: Content of: <appendix><section><section><title>
10926 #: tools.dbk:372
10927 msgid "<systemitem role=\"package\">alien</systemitem>"
10928 msgstr ""
10929
10930 #. type: Content of: <appendix><section><section><para>
10931 #: tools.dbk:374
10932 msgid ""
10933 "<command>alien</command> converts binary packages between various packaging "
10934 "formats, including Debian, RPM (RedHat), LSB (Linux Standard Base), Solaris, "
10935 "and Slackware packages."
10936 msgstr ""
10937
10938 #. type: Content of: <appendix><section><section><title>
10939 #: tools.dbk:381
10940 msgid "<systemitem role=\"package\">debsums</systemitem>"
10941 msgstr ""
10942
10943 #. type: Content of: <appendix><section><section><para>
10944 #: tools.dbk:383
10945 msgid ""
10946 "<command>debsums</command> checks installed packages against their MD5 "
10947 "sums.  Note that not all packages have MD5 sums, since they aren't required "
10948 "by Policy."
10949 msgstr ""
10950
10951 #. type: Content of: <appendix><section><section><title>
10952 #: tools.dbk:389
10953 msgid "<systemitem role=\"package\">dpkg-dev-el</systemitem>"
10954 msgstr ""
10955
10956 #. type: Content of: <appendix><section><section><para>
10957 #: tools.dbk:391
10958 msgid ""
10959 "<systemitem role=\"package\">dpkg-dev-el</systemitem> is an Emacs lisp "
10960 "package which provides assistance when editing some of the files in the "
10961 "<filename>debian</filename> directory of your package.  For instance, there "
10962 "are handy functions for listing a package's current bugs, and for finalizing "
10963 "the latest entry in a <filename>debian/changelog</filename> file."
10964 msgstr ""
10965
10966 #. type: Content of: <appendix><section><section><title>
10967 #: tools.dbk:400
10968 msgid "<command>dpkg-depcheck</command>"
10969 msgstr ""
10970
10971 #. type: Content of: <appendix><section><section><para>
10972 #: tools.dbk:402
10973 msgid ""
10974 "<command>dpkg-depcheck</command> (from the <systemitem "
10975 "role=\"package\">devscripts</systemitem> package, <xref "
10976 "linkend=\"devscripts\"/>)  runs a command under <command>strace</command> to "
10977 "determine all the packages that were used by the said command."
10978 msgstr ""
10979
10980 #. type: Content of: <appendix><section><section><para>
10981 #: tools.dbk:408
10982 msgid ""
10983 "For Debian packages, this is useful when you have to compose a "
10984 "<literal>Build-Depends</literal> line for your new package: running the "
10985 "build process through <command>dpkg-depcheck</command> will provide you with "
10986 "a good first approximation of the build-dependencies.  For example:"
10987 msgstr ""
10988
10989 #. type: Content of: <appendix><section><section><screen>
10990 #: tools.dbk:414
10991 #, no-wrap
10992 msgid "dpkg-depcheck -b debian/rules build\n"
10993 msgstr ""
10994
10995 #. type: Content of: <appendix><section><section><para>
10996 #: tools.dbk:417
10997 msgid ""
10998 "<command>dpkg-depcheck</command> can also be used to check for run-time "
10999 "dependencies, especially if your package uses <citerefentry> "
11000 "<refentrytitle>exec</refentrytitle> <manvolnum>2</manvolnum> </citerefentry> "
11001 "to run other programs."
11002 msgstr ""
11003
11004 #. type: Content of: <appendix><section><section><para>
11005 #: tools.dbk:423
11006 msgid ""
11007 "For more information please see <citerefentry> "
11008 "<refentrytitle>dpkg-depcheck</refentrytitle> <manvolnum>1</manvolnum> "
11009 "</citerefentry>."
11010 msgstr ""
11011
11012 #. type: Content of: <appendix><section><title>
11013 #: tools.dbk:432
11014 msgid "Porting tools"
11015 msgstr ""
11016
11017 #. type: Content of: <appendix><section><para>
11018 #: tools.dbk:434
11019 msgid "The following tools are helpful for porters and for cross-compilation."
11020 msgstr ""
11021
11022 #. type: Content of: <appendix><section><section><title>
11023 #: tools.dbk:437
11024 msgid "<systemitem role=\"package\">quinn-diff</systemitem>"
11025 msgstr ""
11026
11027 #. type: Content of: <appendix><section><section><para>
11028 #: tools.dbk:439
11029 msgid ""
11030 "<systemitem role=\"package\">quinn-diff</systemitem> is used to locate the "
11031 "differences from one architecture to another.  For instance, it could tell "
11032 "you which packages need to be ported for architecture "
11033 "<replaceable>Y</replaceable>, based on architecture "
11034 "<replaceable>X</replaceable>."
11035 msgstr ""
11036
11037 #. type: Content of: <appendix><section><section><title>
11038 #: tools.dbk:447
11039 msgid "<systemitem role=\"package\">dpkg-cross</systemitem>"
11040 msgstr ""
11041
11042 #. type: Content of: <appendix><section><section><para>
11043 #: tools.dbk:449
11044 msgid ""
11045 "<systemitem role=\"package\">dpkg-cross</systemitem> is a tool for "
11046 "installing libraries and headers for cross-compiling in a way similar to "
11047 "<systemitem role=\"package\">dpkg</systemitem>.  Furthermore, the "
11048 "functionality of <command>dpkg-buildpackage</command> and "
11049 "<command>dpkg-shlibdeps</command> is enhanced to support cross-compiling."
11050 msgstr ""
11051
11052 #. type: Content of: <appendix><section><title>
11053 #: tools.dbk:460
11054 msgid "Documentation and information"
11055 msgstr ""
11056
11057 #. type: Content of: <appendix><section><para>
11058 #: tools.dbk:462
11059 msgid ""
11060 "The following packages provide information for maintainers or help with "
11061 "building documentation."
11062 msgstr ""
11063
11064 #. type: Content of: <appendix><section><section><title>
11065 #: tools.dbk:467
11066 msgid "<systemitem role=\"package\">docbook-xml</systemitem>"
11067 msgstr ""
11068
11069 #. type: Content of: <appendix><section><section><para>
11070 #: tools.dbk:469
11071 msgid ""
11072 "<systemitem role=\"package\">docbook-xml</systemitem> provides the DocBook "
11073 "XML DTDs, which are commonly used for Debian documentation (as is the older "
11074 "debiandoc SGML DTD). This manual, for instance, is written in DocBook XML."
11075 msgstr ""
11076
11077 #. type: Content of: <appendix><section><section><para>
11078 #: tools.dbk:475
11079 msgid ""
11080 "The <systemitem role=\"package\">docbook-xsl</systemitem> package provides "
11081 "the XSL files for building and styling the source to various output "
11082 "formats. You will need an XSLT processor, such as <systemitem "
11083 "role=\"package\">xsltproc</systemitem>, to use the XSL stylesheets.  "
11084 "Documentation for the stylesheets can be found in the various <systemitem "
11085 "role=\"package\">docbook-xsl-doc-*</systemitem> packages."
11086 msgstr ""
11087
11088 #. type: Content of: <appendix><section><section><para>
11089 #: tools.dbk:483
11090 msgid ""
11091 "To produce PDF from FO, you need an FO processor, such as <systemitem "
11092 "role=\"package\">xmlroff</systemitem> or <systemitem "
11093 "role=\"package\">fop</systemitem>. Another tool to generate PDF from DocBook "
11094 "XML is <systemitem role=\"package\">dblatex</systemitem>."
11095 msgstr ""
11096
11097 #. type: Content of: <appendix><section><section><title>
11098 #: tools.dbk:491
11099 msgid "<systemitem role=\"package\">debiandoc-sgml</systemitem>"
11100 msgstr ""
11101
11102 #. type: Content of: <appendix><section><section><para>
11103 #: tools.dbk:493
11104 msgid ""
11105 "<systemitem role=\"package\">debiandoc-sgml</systemitem> provides the "
11106 "DebianDoc SGML DTD, which is commonly used for Debian documentation, but is "
11107 "now deprecated (<systemitem role=\"package\">docbook-xml</systemitem> should "
11108 "be used instead).  It also provides scripts for building and styling the "
11109 "source to various output formats."
11110 msgstr ""
11111
11112 #. type: Content of: <appendix><section><section><para>
11113 #: tools.dbk:502
11114 msgid ""
11115 "Documentation for the DTD can be found in the <systemitem "
11116 "role=\"package\">debiandoc-sgml-doc</systemitem> package."
11117 msgstr ""
11118
11119 #. type: Content of: <appendix><section><section><title>
11120 #: tools.dbk:508
11121 msgid "<systemitem role=\"package\">debian-keyring</systemitem>"
11122 msgstr ""
11123
11124 #. type: Content of: <appendix><section><section><para>
11125 #: tools.dbk:510
11126 msgid ""
11127 "Contains the public GPG and PGP keys of Debian developers.  See <xref "
11128 "linkend=\"key-maint\"/> and the package documentation for more information."
11129 msgstr ""
11130
11131 #. type: Content of: <appendix><section><section><title>
11132 #: tools.dbk:516
11133 msgid "<systemitem role=\"package\">debian-maintainers</systemitem>"
11134 msgstr ""
11135
11136 #. type: Content of: <appendix><section><section><para>
11137 #: tools.dbk:518
11138 msgid ""
11139 "Contains the public GPG keys of Debian Maintainers.  See <ulink "
11140 "url=\"&url-wiki-dm;\"></ulink> for more information."
11141 msgstr ""
11142
11143 #. type: Content of: <appendix><section><section><title>
11144 #: tools.dbk:524
11145 msgid "<systemitem role=\"package\">debview</systemitem>"
11146 msgstr ""
11147
11148 #. type: Content of: <appendix><section><section><para>
11149 #: tools.dbk:526
11150 msgid ""
11151 "<systemitem role=\"package\">debview</systemitem> provides an Emacs mode for "
11152 "viewing Debian binary packages.  This lets you examine a package without "
11153 "unpacking it."
11154 msgstr ""