chiark / gitweb /
[dev-ref] POT and PO updates
[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 08:43-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 release.debian.org pseudopackage using reportbug, including the patch "
5019 "you want to apply to the package version currently in "
5020 "<literal>stable</literal>. Always be verbose and detailed in your changelog "
5021 "entries for uploads to the <literal>stable</literal> distribution."
5022 msgstr ""
5023
5024 #. type: Content of: <chapter><section><section><para>
5025 #: pkgs.dbk:321
5026 msgid ""
5027 "Extra care should be taken when uploading to <literal>stable</literal>.  "
5028 "Basically, a package should only be uploaded to <literal>stable</literal> if "
5029 "one of the following happens:"
5030 msgstr ""
5031
5032 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5033 #: pkgs.dbk:328
5034 msgid "a truly critical functionality problem"
5035 msgstr ""
5036
5037 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5038 #: pkgs.dbk:333
5039 msgid "the package becomes uninstallable"
5040 msgstr ""
5041
5042 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5043 #: pkgs.dbk:338
5044 msgid "a released architecture lacks the package"
5045 msgstr ""
5046
5047 #. type: Content of: <chapter><section><section><para>
5048 #: pkgs.dbk:343
5049 msgid ""
5050 "In the past, uploads to <literal>stable</literal> were used to address "
5051 "security problems as well.  However, this practice is deprecated, as uploads "
5052 "used for Debian security advisories are automatically copied to the "
5053 "appropriate <filename>proposed-updates</filename> archive when the advisory "
5054 "is released.  See <xref linkend=\"bug-security\"/> for detailed information "
5055 "on handling security problems. If the security teams deems the problem to be "
5056 "too benign to be fixed through a <literal>DSA</literal>, the stable release "
5057 "managers are usually willing to include your fix nonetheless in a regular "
5058 "upload to <literal>stable</literal>."
5059 msgstr ""
5060
5061 #. type: Content of: <chapter><section><section><para>
5062 #: pkgs.dbk:354
5063 msgid ""
5064 "Changing anything else in the package that isn't important is discouraged, "
5065 "because even trivial fixes can cause bugs later on."
5066 msgstr ""
5067
5068 #. type: Content of: <chapter><section><section><para>
5069 #: pkgs.dbk:358
5070 msgid ""
5071 "Packages uploaded to <literal>stable</literal> need to be compiled on "
5072 "systems running <literal>stable</literal>, so that their dependencies are "
5073 "limited to the libraries (and other packages) available in "
5074 "<literal>stable</literal>; for example, a package uploaded to "
5075 "<literal>stable</literal> that depends on a library package that only exists "
5076 "in <literal>unstable</literal> will be rejected.  Making changes to "
5077 "dependencies of other packages (by messing with <literal>Provides</literal> "
5078 "or <filename>shlibs</filename> files), possibly making those other packages "
5079 "uninstallable, is strongly discouraged."
5080 msgstr ""
5081
5082 #. type: Content of: <chapter><section><section><para>
5083 #: pkgs.dbk:368
5084 msgid ""
5085 "Uploads to the <literal>oldstable</literal> distributions are possible as "
5086 "long as it hasn't been archived. The same rules as for "
5087 "<literal>stable</literal> apply."
5088 msgstr ""
5089
5090 #. type: Content of: <chapter><section><section><title>
5091 #: pkgs.dbk:375
5092 msgid "Special case: uploads to <literal>testing/testing-proposed-updates</literal>"
5093 msgstr ""
5094
5095 #. type: Content of: <chapter><section><section><para>
5096 #: pkgs.dbk:377
5097 msgid ""
5098 "Please see the information in the <link linkend=\"t-p-u\">testing "
5099 "section</link> for details."
5100 msgstr ""
5101
5102 #. type: Content of: <chapter><section><title>
5103 #: pkgs.dbk:385
5104 msgid "Uploading a package"
5105 msgstr ""
5106
5107 #. type: Content of: <chapter><section><section><title>
5108 #: pkgs.dbk:387
5109 msgid "Uploading to <literal>ftp-master</literal>"
5110 msgstr ""
5111
5112 #. type: Content of: <chapter><section><section><para>
5113 #: pkgs.dbk:389
5114 msgid ""
5115 "To upload a package, you should upload the files (including the signed "
5116 "changes and dsc-file) with anonymous ftp to "
5117 "<literal>&ftp-upload-host;</literal> in the directory <ulink "
5118 "url=\"ftp://&ftp-upload-host;&upload-queue;\">&upload-queue;</ulink>.  To "
5119 "get the files processed there, they need to be signed with a key in the "
5120 "Debian Developers keyring or the Debian Maintainers keyring (see <ulink "
5121 "url=\"&url-wiki-dm;\"></ulink>)."
5122 msgstr ""
5123
5124 #. type: Content of: <chapter><section><section><para>
5125 #: pkgs.dbk:398
5126 msgid ""
5127 "Please note that you should transfer the changes file last.  Otherwise, your "
5128 "upload may be rejected because the archive maintenance software will parse "
5129 "the changes file and see that not all files have been uploaded."
5130 msgstr ""
5131
5132 #. type: Content of: <chapter><section><section><para>
5133 #: pkgs.dbk:403
5134 msgid ""
5135 "You may also find the Debian packages <link "
5136 "linkend=\"dupload\">dupload</link> or <link linkend=\"dput\">dput</link> "
5137 "useful when uploading packages.These handy programs help automate the "
5138 "process of uploading packages into Debian."
5139 msgstr ""
5140
5141 #. type: Content of: <chapter><section><section><para>
5142 #: pkgs.dbk:408
5143 msgid ""
5144 "For removing packages, please see <ulink "
5145 "url=\"ftp://&ftp-upload-host;&upload-queue;README\"/> and the Debian package "
5146 "<link linkend=\"dcut\">dcut</link>."
5147 msgstr ""
5148
5149 #. type: Content of: <chapter><section><section><title>
5150 #: pkgs.dbk:415
5151 msgid "Delayed uploads"
5152 msgstr ""
5153
5154 #. type: Content of: <chapter><section><section><para>
5155 #: pkgs.dbk:418
5156 msgid ""
5157 "It is sometimes useful to upload a package immediately, but to want this "
5158 "package to arrive in the archive only a few days later. For example, when "
5159 "preparing a <link linkend=\"nmu\">Non-Maintainer Upload</link>, you might "
5160 "want to give the maintainer a few days to react."
5161 msgstr ""
5162
5163 #. type: Content of: <chapter><section><section><para>
5164 #: pkgs.dbk:425
5165 msgid ""
5166 "An upload to the delayed directory keeps the package in <ulink "
5167 "url=\"http://ftp-master.debian.org/deferred.html\">the deferred uploads "
5168 "queue</ulink>.  When the specified waiting time is over, the package is "
5169 "moved into the regular incoming directory for processing.  This is done "
5170 "through automatic uploading to <literal>&ftp-upload-host;</literal> in "
5171 "upload-directory <literal>DELAYED/[012345678]-day</literal>. 0-day is "
5172 "uploaded multiple times per day to <literal>&ftp-upload-host;</literal>."
5173 msgstr ""
5174
5175 #. type: Content of: <chapter><section><section><para>
5176 #: pkgs.dbk:435
5177 msgid ""
5178 "With dput, you can use the <literal>--delayed "
5179 "<replaceable>DELAY</replaceable></literal> parameter to put the package into "
5180 "one of the queues."
5181 msgstr ""
5182
5183 #. type: Content of: <chapter><section><section><title>
5184 #: pkgs.dbk:441
5185 msgid "Security uploads"
5186 msgstr ""
5187
5188 #. type: Content of: <chapter><section><section><para>
5189 #: pkgs.dbk:443
5190 msgid ""
5191 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
5192 "upload queue (<literal>oldstable-security</literal>, "
5193 "<literal>stable-security</literal>, etc.) without prior authorization from "
5194 "the security team.  If the package does not exactly meet the team's "
5195 "requirements, it will cause many problems and delays in dealing with the "
5196 "unwanted upload.  For details, please see <xref linkend=\"bug-security\"/>."
5197 msgstr ""
5198
5199 #. type: Content of: <chapter><section><section><title>
5200 #: pkgs.dbk:453
5201 msgid "Other upload queues"
5202 msgstr ""
5203
5204 #. type: Content of: <chapter><section><section><para>
5205 #: pkgs.dbk:455
5206 msgid ""
5207 "There is an alternative upload queue in Europe at <ulink "
5208 "url=\"ftp://&ftp-eu-upload-host;&upload-queue;\"/>. It operates in the same "
5209 "way as <literal>&ftp-upload-host;</literal>, but should be faster for "
5210 "European developers."
5211 msgstr ""
5212
5213 #. type: Content of: <chapter><section><section><para>
5214 #: pkgs.dbk:461
5215 msgid ""
5216 "Packages can also be uploaded via ssh to "
5217 "<literal>&ssh-upload-host;</literal>; files should be put "
5218 "<literal>/srv/upload.debian.org/UploadQueue</literal>. This queue does not "
5219 "support <link linkend=\"delayed-incoming\">delayed uploads</link>."
5220 msgstr ""
5221
5222 #. type: Content of: <chapter><section><section><title>
5223 #: pkgs.dbk:469
5224 msgid "Notification that a new package has been installed"
5225 msgstr ""
5226
5227 #. type: Content of: <chapter><section><section><para>
5228 #: pkgs.dbk:471
5229 msgid ""
5230 "The Debian archive maintainers are responsible for handling package "
5231 "uploads.  For the most part, uploads are automatically handled on a daily "
5232 "basis by the archive maintenance tools, <command>dak "
5233 "process-upload</command>. Specifically, updates to existing packages to the "
5234 "<literal>unstable</literal> distribution are handled automatically. In other "
5235 "cases, notably new packages, placing the uploaded package into the "
5236 "distribution is handled manually. When uploads are handled manually, the "
5237 "change to the archive may take some time to occur. Please be patient."
5238 msgstr ""
5239
5240 #. type: Content of: <chapter><section><section><para>
5241 #: pkgs.dbk:481
5242 msgid ""
5243 "In any case, you will receive an email notification indicating that the "
5244 "package has been added to the archive, which also indicates which bugs will "
5245 "be closed by the upload.  Please examine this notification carefully, "
5246 "checking if any bugs you meant to close didn't get triggered."
5247 msgstr ""
5248
5249 #. type: Content of: <chapter><section><section><para>
5250 #: pkgs.dbk:487
5251 msgid ""
5252 "The installation notification also includes information on what section the "
5253 "package was inserted into.  If there is a disparity, you will receive a "
5254 "separate email notifying you of that.  Read on below."
5255 msgstr ""
5256
5257 #. type: Content of: <chapter><section><section><para>
5258 #: pkgs.dbk:492
5259 msgid ""
5260 "Note that if you upload via queues, the queue daemon software will also send "
5261 "you a notification by email."
5262 msgstr ""
5263
5264 #. type: Content of: <chapter><section><title>
5265 #: pkgs.dbk:500
5266 msgid "Specifying the package section, subsection and priority"
5267 msgstr ""
5268
5269 #. type: Content of: <chapter><section><para>
5270 #: pkgs.dbk:502
5271 msgid ""
5272 "The <filename>debian/control</filename> file's <literal>Section</literal> "
5273 "and <literal>Priority</literal> fields do not actually specify where the "
5274 "file will be placed in the archive, nor its priority.  In order to retain "
5275 "the overall integrity of the archive, it is the archive maintainers who have "
5276 "control over these fields.  The values in the "
5277 "<filename>debian/control</filename> file are actually just hints."
5278 msgstr ""
5279
5280 #. type: Content of: <chapter><section><para>
5281 #: pkgs.dbk:510
5282 msgid ""
5283 "The archive maintainers keep track of the canonical sections and priorities "
5284 "for packages in the <literal>override file</literal>.  If there is a "
5285 "disparity between the <literal>override file</literal> and the package's "
5286 "fields as indicated in <filename>debian/control</filename>, then you will "
5287 "receive an email noting the divergence when the package is installed into "
5288 "the archive.  You can either correct your "
5289 "<filename>debian/control</filename> file for your next upload, or else you "
5290 "may wish to make a change in the <literal>override file</literal>."
5291 msgstr ""
5292
5293 #. type: Content of: <chapter><section><para>
5294 #: pkgs.dbk:520
5295 msgid ""
5296 "To alter the actual section that a package is put in, you need to first make "
5297 "sure that the <filename>debian/control</filename> file in your package is "
5298 "accurate.  Next, submit a bug against <systemitem "
5299 "role=\"package\">ftp.debian.org</systemitem> requesting that the section or "
5300 "priority for your package be changed from the old section or priority to the "
5301 "new one. Use a Subject like <literal>override: PACKAGE1:section/priority, "
5302 "[...], PACKAGEX:section/priority</literal>, and include the justification "
5303 "for the change in the body of the bug report."
5304 msgstr ""
5305
5306 #. type: Content of: <chapter><section><para>
5307 #: pkgs.dbk:531
5308 msgid ""
5309 "For more information about <literal>override files</literal>, see "
5310 "<citerefentry> <refentrytitle>dpkg-scanpackages</refentrytitle> "
5311 "<manvolnum>1</manvolnum> </citerefentry> and <ulink "
5312 "url=\"&url-bts-devel;#maintincorrect\"></ulink>."
5313 msgstr ""
5314
5315 #. type: Content of: <chapter><section><para>
5316 #: pkgs.dbk:537
5317 msgid ""
5318 "Note that the <literal>Section</literal> field describes both the section as "
5319 "well as the subsection, which are described in <xref "
5320 "linkend=\"archive-sections\"/>.  If the section is main, it should be "
5321 "omitted.  The list of allowable subsections can be found in <ulink "
5322 "url=\"&url-debian-policy;ch-archive.html#s-subsections\"></ulink>."
5323 msgstr ""
5324
5325 #. type: Content of: <chapter><section><title>
5326 #: pkgs.dbk:546
5327 msgid "Handling bugs"
5328 msgstr ""
5329
5330 #. type: Content of: <chapter><section><para>
5331 #: pkgs.dbk:548
5332 msgid ""
5333 "Every developer has to be able to work with the Debian <ulink "
5334 "url=\"&url-bts;\">bug tracking system</ulink>.  This includes knowing how to "
5335 "file bug reports properly (see <xref linkend=\"submit-bug\"/>), how to "
5336 "update them and reorder them, and how to process and close them."
5337 msgstr ""
5338
5339 #. type: Content of: <chapter><section><para>
5340 #: pkgs.dbk:554
5341 msgid ""
5342 "The bug tracking system's features are described in the <ulink "
5343 "url=\"&url-bts-devel;\">BTS documentation for developers</ulink>.  This "
5344 "includes closing bugs, sending followup messages, assigning severities and "
5345 "tags, marking bugs as forwarded, and other issues."
5346 msgstr ""
5347
5348 #. type: Content of: <chapter><section><para>
5349 #: pkgs.dbk:560
5350 msgid ""
5351 "Operations such as reassigning bugs to other packages, merging separate bug "
5352 "reports about the same issue, or reopening bugs when they are prematurely "
5353 "closed, are handled using the so-called control mail server.  All of the "
5354 "commands available on this server are described in the <ulink "
5355 "url=\"&url-bts-control;\">BTS control server documentation</ulink>."
5356 msgstr ""
5357
5358 #. type: Content of: <chapter><section><section><title>
5359 #: pkgs.dbk:568
5360 msgid "Monitoring bugs"
5361 msgstr ""
5362
5363 #. type: Content of: <chapter><section><section><para>
5364 #: pkgs.dbk:570
5365 msgid ""
5366 "If you want to be a good maintainer, you should periodically check the "
5367 "<ulink url=\"&url-bts;\">Debian bug tracking system (BTS)</ulink> for your "
5368 "packages.  The BTS contains all the open bugs against your packages.  You "
5369 "can check them by browsing this page: "
5370 "<literal>http://&bugs-host;/<replaceable>yourlogin</replaceable>@debian.org</literal>."
5371 msgstr ""
5372
5373 #. type: Content of: <chapter><section><section><para>
5374 #: pkgs.dbk:577
5375 msgid ""
5376 "Maintainers interact with the BTS via email addresses at "
5377 "<literal>&bugs-host;</literal>.  Documentation on available commands can be "
5378 "found at <ulink url=\"&url-bts;\"></ulink>, or, if you have installed the "
5379 "<systemitem role=\"package\">doc-debian</systemitem> package, you can look "
5380 "at the local files &file-bts-docs;."
5381 msgstr ""
5382
5383 #. type: Content of: <chapter><section><section><para>
5384 #: pkgs.dbk:584
5385 msgid ""
5386 "Some find it useful to get periodic reports on open bugs.  You can add a "
5387 "cron job such as the following if you want to get a weekly email outlining "
5388 "all the open bugs against your packages:"
5389 msgstr ""
5390
5391 #. type: Content of: <chapter><section><section><screen>
5392 #: pkgs.dbk:589
5393 #, no-wrap
5394 msgid ""
5395 "# ask for weekly reports of bugs in my packages\n"
5396 "&cron-bug-report;\n"
5397 msgstr ""
5398
5399 #. type: Content of: <chapter><section><section><para>
5400 #: pkgs.dbk:593
5401 msgid ""
5402 "Replace <replaceable>address</replaceable> with your official Debian "
5403 "maintainer address."
5404 msgstr ""
5405
5406 #. type: Content of: <chapter><section><section><title>
5407 #: pkgs.dbk:599
5408 msgid "Responding to bugs"
5409 msgstr ""
5410
5411 #. type: Content of: <chapter><section><section><para>
5412 #: pkgs.dbk:601
5413 msgid ""
5414 "When responding to bugs, make sure that any discussion you have about bugs "
5415 "is sent both to the original submitter of the bug, and to the bug itself "
5416 "(e.g., <email><replaceable>123</replaceable>@&bugs-host;</email>).  If "
5417 "you're writing a new mail and you don't remember the submitter email "
5418 "address, you can use the "
5419 "<email><replaceable>123</replaceable>-submitter@&bugs-host;</email> email to "
5420 "contact the submitter <emphasis>and</emphasis> to record your mail within "
5421 "the bug log (that means you don't need to send a copy of the mail to "
5422 "<email><replaceable>123</replaceable>@&bugs-host;</email>)."
5423 msgstr ""
5424
5425 #. type: Content of: <chapter><section><section><para>
5426 #: pkgs.dbk:610
5427 msgid ""
5428 "If you get a bug which mentions FTBFS, this means Fails to build from "
5429 "source.  Porters frequently use this acronym."
5430 msgstr ""
5431
5432 #. type: Content of: <chapter><section><section><para>
5433 #: pkgs.dbk:614
5434 msgid ""
5435 "Once you've dealt with a bug report (e.g.  fixed it), mark it as "
5436 "<literal>done</literal> (close it) by sending an explanation message to "
5437 "<email><replaceable>123</replaceable>-done@&bugs-host;</email>.  If you're "
5438 "fixing a bug by changing and uploading the package, you can automate bug "
5439 "closing as described in <xref linkend=\"upload-bugfix\"/>."
5440 msgstr ""
5441
5442 #. type: Content of: <chapter><section><section><para>
5443 #: pkgs.dbk:621
5444 msgid ""
5445 "You should <emphasis>never</emphasis> close bugs via the bug server "
5446 "<literal>close</literal> command sent to &email-bts-control;.  If you do so, "
5447 "the original submitter will not receive any information about why the bug "
5448 "was closed."
5449 msgstr ""
5450
5451 #. type: Content of: <chapter><section><section><title>
5452 #: pkgs.dbk:629
5453 msgid "Bug housekeeping"
5454 msgstr ""
5455
5456 #. type: Content of: <chapter><section><section><para>
5457 #: pkgs.dbk:631
5458 msgid ""
5459 "As a package maintainer, you will often find bugs in other packages or have "
5460 "bugs reported against your packages which are actually bugs in other "
5461 "packages.  The bug tracking system's features are described in the <ulink "
5462 "url=\"&url-bts-devel;\">BTS documentation for Debian developers</ulink>.  "
5463 "Operations such as reassigning, merging, and tagging bug reports are "
5464 "described in the <ulink url=\"&url-bts-control;\">BTS control server "
5465 "documentation</ulink>.  This section contains some guidelines for managing "
5466 "your own bugs, based on the collective Debian developer experience."
5467 msgstr ""
5468
5469 #. type: Content of: <chapter><section><section><para>
5470 #: pkgs.dbk:642
5471 msgid ""
5472 "Filing bugs for problems that you find in other packages is one of the civic "
5473 "obligations of maintainership, see <xref linkend=\"submit-bug\"/> for "
5474 "details.  However, handling the bugs in your own packages is even more "
5475 "important."
5476 msgstr ""
5477
5478 #. type: Content of: <chapter><section><section><para>
5479 #: pkgs.dbk:647
5480 msgid "Here's a list of steps that you may follow to handle a bug report:"
5481 msgstr ""
5482
5483 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5484 #: pkgs.dbk:652
5485 msgid ""
5486 "Decide whether the report corresponds to a real bug or not.  Sometimes users "
5487 "are just calling a program in the wrong way because they haven't read the "
5488 "documentation.  If you diagnose this, just close the bug with enough "
5489 "information to let the user correct their problem (give pointers to the good "
5490 "documentation and so on).  If the same report comes up again and again you "
5491 "may ask yourself if the documentation is good enough or if the program "
5492 "shouldn't detect its misuse in order to give an informative error message.  "
5493 "This is an issue that may need to be brought up with the upstream author."
5494 msgstr ""
5495
5496 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5497 #: pkgs.dbk:662
5498 msgid ""
5499 "If the bug submitter disagrees with your decision to close the bug, they may "
5500 "reopen it until you find an agreement on how to handle it.  If you don't "
5501 "find any, you may want to tag the bug <literal>wontfix</literal> to let "
5502 "people know that the bug exists but that it won't be corrected.  If this "
5503 "situation is unacceptable, you (or the submitter) may want to require a "
5504 "decision of the technical committee by reassigning the bug to <systemitem "
5505 "role=\"package\">tech-ctte</systemitem> (you may use the clone command of "
5506 "the BTS if you wish to keep it reported against your package).  Before doing "
5507 "so, please read the <ulink url=\"&url-tech-ctte;\">recommended "
5508 "procedure</ulink>."
5509 msgstr ""
5510
5511 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5512 #: pkgs.dbk:676
5513 msgid ""
5514 "If the bug is real but it's caused by another package, just reassign the bug "
5515 "to the right package.  If you don't know which package it should be "
5516 "reassigned to, you should ask for help on <link "
5517 "linkend=\"irc-channels\">IRC</link> or on &email-debian-devel;.  Please "
5518 "inform the maintainer(s) of the package you reassign the bug to, for example "
5519 "by Cc:ing the message that does the reassign to "
5520 "<email><replaceable>packagename</replaceable>@packages.debian.org</email> "
5521 "and explaining your reasons in that mail. Please note that a simple "
5522 "reassignment is <emphasis>not</emphasis> e-mailed to the maintainers of the "
5523 "package being reassigned to, so they won't know about it until they look at "
5524 "a bug overview for their packages."
5525 msgstr ""
5526
5527 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5528 #: pkgs.dbk:688
5529 msgid ""
5530 "If the bug affects the operation of your package, please consider cloning "
5531 "the bug and reassigning the clone to the package that really causes the "
5532 "behavior. Otherwise, the bug will not be shown in your package's bug list, "
5533 "possibly causing users to report the same bug over and over again. You "
5534 "should block \"your\" bug with the reassigned, cloned bug to document the "
5535 "relationship."
5536 msgstr ""
5537
5538 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5539 #: pkgs.dbk:698
5540 msgid ""
5541 "Sometimes you also have to adjust the severity of the bug so that it matches "
5542 "our definition of the severity.  That's because people tend to inflate the "
5543 "severity of bugs to make sure their bugs are fixed quickly.  Some bugs may "
5544 "even be dropped to wishlist severity when the requested change is just "
5545 "cosmetic."
5546 msgstr ""
5547
5548 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5549 #: pkgs.dbk:706
5550 msgid ""
5551 "If the bug is real but the same problem has already been reported by someone "
5552 "else, then the two relevant bug reports should be merged into one using the "
5553 "merge command of the BTS.  In this way, when the bug is fixed, all of the "
5554 "submitters will be informed of this.  (Note, however, that emails sent to "
5555 "one bug report's submitter won't automatically be sent to the other report's "
5556 "submitter.) For more details on the technicalities of the merge command and "
5557 "its relative, the unmerge command, see the BTS control server documentation."
5558 msgstr ""
5559
5560 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5561 #: pkgs.dbk:717
5562 msgid ""
5563 "The bug submitter may have forgotten to provide some information, in which "
5564 "case you have to ask them for the required information.  You may use the "
5565 "<literal>moreinfo</literal> tag to mark the bug as such.  Moreover if you "
5566 "can't reproduce the bug, you tag it <literal>unreproducible</literal>.  "
5567 "Anyone who can reproduce the bug is then invited to provide more information "
5568 "on how to reproduce it.  After a few months, if this information has not "
5569 "been sent by someone, the bug may be closed."
5570 msgstr ""
5571
5572 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5573 #: pkgs.dbk:728
5574 msgid ""
5575 "If the bug is related to the packaging, you just fix it.  If you are not "
5576 "able to fix it yourself, then tag the bug as <literal>help</literal>.  You "
5577 "can also ask for help on &email-debian-devel; or &email-debian-qa;.  If it's "
5578 "an upstream problem, you have to forward it to the upstream author.  "
5579 "Forwarding a bug is not enough, you have to check at each release if the bug "
5580 "has been fixed or not.  If it has, you just close it, otherwise you have to "
5581 "remind the author about it.  If you have the required skills you can prepare "
5582 "a patch that fixes the bug and send it to the author at the same time.  Make "
5583 "sure to send the patch to the BTS and to tag the bug as "
5584 "<literal>patch</literal>."
5585 msgstr ""
5586
5587 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5588 #: pkgs.dbk:742
5589 msgid ""
5590 "If you have fixed a bug in your local copy, or if a fix has been committed "
5591 "to the VCS repository, you may tag the bug as <literal>pending</literal> to "
5592 "let people know that the bug is corrected and that it will be closed with "
5593 "the next upload (add the <literal>closes:</literal> in the "
5594 "<filename>changelog</filename>).  This is particularly useful if you are "
5595 "several developers working on the same package."
5596 msgstr ""
5597
5598 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5599 #: pkgs.dbk:752
5600 msgid ""
5601 "Once a corrected package is available in the archive, the bug should be "
5602 "closed indicating the version in which it was fixed. This can be done "
5603 "automatically, read <xref linkend=\"upload-bugfix\"/>."
5604 msgstr ""
5605
5606 #. type: Content of: <chapter><section><section><title>
5607 #: pkgs.dbk:761
5608 msgid "When bugs are closed by new uploads"
5609 msgstr ""
5610
5611 #. type: Content of: <chapter><section><section><para>
5612 #: pkgs.dbk:763
5613 msgid ""
5614 "As bugs and problems are fixed in your packages, it is your responsibility "
5615 "as the package maintainer to close these bugs.  However, you should not "
5616 "close a bug until the package which fixes the bug has been accepted into the "
5617 "Debian archive.  Therefore, once you get notification that your updated "
5618 "package has been installed into the archive, you can and should close the "
5619 "bug in the BTS.  Also, the bug should be closed with the correct version."
5620 msgstr ""
5621
5622 #. type: Content of: <chapter><section><section><para>
5623 #: pkgs.dbk:771
5624 msgid ""
5625 "However, it's possible to avoid having to manually close bugs after the "
5626 "upload — just list the fixed bugs in your "
5627 "<filename>debian/changelog</filename> file, following a certain syntax, and "
5628 "the archive maintenance software will close the bugs for you.  For example:"
5629 msgstr ""
5630
5631 #. type: Content of: <chapter><section><section><screen>
5632 #: pkgs.dbk:777
5633 #, no-wrap
5634 msgid ""
5635 "acme-cannon (3.1415) unstable; urgency=low\n"
5636 "\n"
5637 "  * Frobbed with options (closes: Bug#98339)\n"
5638 "  * Added safety to prevent operator dismemberment, closes: bug#98765,\n"
5639 "    bug#98713, #98714.\n"
5640 "  * Added man page. Closes: #98725.\n"
5641 msgstr ""
5642
5643 #. type: Content of: <chapter><section><section><para>
5644 #: pkgs.dbk:785
5645 msgid ""
5646 "Technically speaking, the following Perl regular expression describes how "
5647 "bug closing changelogs are identified:"
5648 msgstr ""
5649
5650 #. type: Content of: <chapter><section><section><screen>
5651 #: pkgs.dbk:789
5652 #, no-wrap
5653 msgid "  /closes:\\s*(?:bug)?\\#\\s*\\d+(?:,\\s*(?:bug)?\\#\\s*\\d+)*/ig\n"
5654 msgstr ""
5655
5656 #. type: Content of: <chapter><section><section><para>
5657 #: pkgs.dbk:792
5658 msgid ""
5659 "We prefer the <literal>closes: #<replaceable>XXX</replaceable></literal> "
5660 "syntax, as it is the most concise entry and the easiest to integrate with "
5661 "the text of the <filename>changelog</filename>.  Unless specified different "
5662 "by the <literal>-v</literal>-switch to <command>dpkg-buildpackage</command>, "
5663 "only the bugs closed in the most recent changelog entry are closed "
5664 "(basically, exactly the bugs mentioned in the changelog-part in the "
5665 "<filename>.changes</filename> file are closed)."
5666 msgstr ""
5667
5668 #. type: Content of: <chapter><section><section><para>
5669 #: pkgs.dbk:801
5670 msgid ""
5671 "Historically, uploads identified as <link linkend=\"nmu\">non-maintainer "
5672 "upload (NMU)</link> were tagged <literal>fixed</literal> instead of being "
5673 "closed, but that practice was ceased with the advent of version-tracking.  "
5674 "The same applied to the tag <literal>fixed-in-experimental</literal>."
5675 msgstr ""
5676
5677 #. type: Content of: <chapter><section><section><para>
5678 #: pkgs.dbk:807
5679 msgid ""
5680 "If you happen to mistype a bug number or forget a bug in the changelog "
5681 "entries, don't hesitate to undo any damage the error caused.  To reopen "
5682 "wrongly closed bugs, send a <literal>reopen "
5683 "<replaceable>XXX</replaceable></literal> command to the bug tracking "
5684 "system's control address, &email-bts-control;.  To close any remaining bugs "
5685 "that were fixed by your upload, email the <filename>.changes</filename> file "
5686 "to <email><replaceable>XXX</replaceable>-done@&bugs-host;</email>, where "
5687 "<replaceable>XXX</replaceable> is the bug number, and put Version: "
5688 "<replaceable>YYY</replaceable> and an empty line as the first two lines of "
5689 "the body of the email, where <replaceable>YYY</replaceable> is the first "
5690 "version where the bug has been fixed."
5691 msgstr ""
5692
5693 #. type: Content of: <chapter><section><section><para>
5694 #: pkgs.dbk:819
5695 msgid ""
5696 "Bear in mind that it is not obligatory to close bugs using the changelog as "
5697 "described above.  If you simply want to close bugs that don't have anything "
5698 "to do with an upload you made, do it by emailing an explanation to "
5699 "<email><replaceable>XXX</replaceable>-done@&bugs-host;</email>.  Do "
5700 "<emphasis role=\"strong\">not</emphasis> close bugs in the changelog entry "
5701 "of a version if the changes in that version of the package don't have any "
5702 "bearing on the bug."
5703 msgstr ""
5704
5705 #. type: Content of: <chapter><section><section><para>
5706 #: pkgs.dbk:827
5707 msgid ""
5708 "For general information on how to write your changelog entries, see <xref "
5709 "linkend=\"bpp-debian-changelog\"/>."
5710 msgstr ""
5711
5712 #. type: Content of: <chapter><section><section><title>
5713 #: pkgs.dbk:833
5714 msgid "Handling security-related bugs"
5715 msgstr ""
5716
5717 #. type: Content of: <chapter><section><section><para>
5718 #: pkgs.dbk:835
5719 msgid ""
5720 "Due to their sensitive nature, security-related bugs must be handled "
5721 "carefully.  The Debian Security Team exists to coordinate this activity, "
5722 "keeping track of outstanding security problems, helping maintainers with "
5723 "security problems or fixing them themselves, sending security advisories, "
5724 "and maintaining <literal>security.debian.org</literal>."
5725 msgstr ""
5726
5727 #. type: Content of: <chapter><section><section><para>
5728 #: pkgs.dbk:842
5729 msgid ""
5730 "When you become aware of a security-related bug in a Debian package, whether "
5731 "or not you are the maintainer, collect pertinent information about the "
5732 "problem, and promptly contact the security team, preferably by filing a "
5733 "ticket in their Request Tracker.  See <ulink "
5734 "url=\"http://wiki.debian.org/rt.debian.org#Security_Team\"></ulink>.  "
5735 "Alternatively you may email &email-security-team;.  <emphasis "
5736 "role=\"strong\">DO NOT UPLOAD</emphasis> any packages for "
5737 "<literal>stable</literal> without contacting the team.  Useful information "
5738 "includes, for example:"
5739 msgstr ""
5740
5741 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5742 #: pkgs.dbk:855
5743 msgid "Whether or not the bug is already public."
5744 msgstr ""
5745
5746 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5747 #: pkgs.dbk:860
5748 msgid ""
5749 "Which versions of the package are known to be affected by the bug.  Check "
5750 "each version that is present in a supported Debian release, as well as "
5751 "<literal>testing</literal> and <literal>unstable</literal>."
5752 msgstr ""
5753
5754 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5755 #: pkgs.dbk:867
5756 msgid "The nature of the fix, if any is available (patches are especially helpful)"
5757 msgstr ""
5758
5759 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5760 #: pkgs.dbk:872
5761 msgid ""
5762 "Any fixed packages that you have prepared yourself (send only the "
5763 "<filename>.diff.gz</filename> and <filename>.dsc</filename> files and read "
5764 "<xref linkend=\"bug-security-building\"/> first)"
5765 msgstr ""
5766
5767 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5768 #: pkgs.dbk:879
5769 msgid ""
5770 "Any assistance you can provide to help with testing (exploits, regression "
5771 "testing, etc.)"
5772 msgstr ""
5773
5774 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5775 #: pkgs.dbk:885
5776 msgid ""
5777 "Any information needed for the advisory (see <xref "
5778 "linkend=\"bug-security-advisories\"/>)"
5779 msgstr ""
5780
5781 #. type: Content of: <chapter><section><section><para>
5782 #: pkgs.dbk:890
5783 msgid ""
5784 "As the maintainer of the package, you have the responsibility to maintain "
5785 "it, even in the stable release. You are in the best position to evaluate "
5786 "patches and test updated packages, so please see the sections below on how "
5787 "to prepare packages for the Security Team to handle."
5788 msgstr ""
5789
5790 #. type: Content of: <chapter><section><section><section><title>
5791 #: pkgs.dbk:896
5792 msgid "The Security Tracker"
5793 msgstr ""
5794
5795 #. type: Content of: <chapter><section><section><section><para>
5796 #: pkgs.dbk:898
5797 msgid ""
5798 "The security team maintains a central database, the <ulink "
5799 "url=\"http://security-tracker.debian.org/\">Debian Security "
5800 "Tracker</ulink>.  This contains all public information that is known about "
5801 "security issues: which packages and versions are affected or fixed, and thus "
5802 "whether stable, testing and/or unstable are vulnerable. Information that is "
5803 "still confidential is not added to the tracker."
5804 msgstr ""
5805
5806 #. type: Content of: <chapter><section><section><section><para>
5807 #: pkgs.dbk:906
5808 msgid ""
5809 "You can search it for a specific issue, but also on package name. Look for "
5810 "your package to see which issues are still open. If you can, please provide "
5811 "more information about those issues, or help to address them in your "
5812 "package.  Instructions are on the tracker web pages."
5813 msgstr ""
5814
5815 #. type: Content of: <chapter><section><section><section><title>
5816 #: pkgs.dbk:914
5817 msgid "Confidentiality"
5818 msgstr ""
5819
5820 #. type: Content of: <chapter><section><section><section><para>
5821 #: pkgs.dbk:916
5822 msgid ""
5823 "Unlike most other activities within Debian, information about security "
5824 "issues must sometimes be kept private for a time.  This allows software "
5825 "distributors to coordinate their disclosure in order to minimize their "
5826 "users' exposure.  Whether this is the case depends on the nature of the "
5827 "problem and corresponding fix, and whether it is already a matter of public "
5828 "knowledge."
5829 msgstr ""
5830
5831 #. type: Content of: <chapter><section><section><section><para>
5832 #: pkgs.dbk:923
5833 msgid "There are several ways developers can learn of a security problem:"
5834 msgstr ""
5835
5836 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5837 #: pkgs.dbk:928
5838 msgid "they notice it on a public forum (mailing list, web site, etc.)"
5839 msgstr ""
5840
5841 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5842 #: pkgs.dbk:933
5843 msgid "someone files a bug report"
5844 msgstr ""
5845
5846 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5847 #: pkgs.dbk:938
5848 msgid "someone informs them via private email"
5849 msgstr ""
5850
5851 #. type: Content of: <chapter><section><section><section><para>
5852 #: pkgs.dbk:943
5853 msgid ""
5854 "In the first two cases, the information is public and it is important to "
5855 "have a fix as soon as possible.  In the last case, however, it might not be "
5856 "public information.  In that case there are a few possible options for "
5857 "dealing with the problem:"
5858 msgstr ""
5859
5860 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5861 #: pkgs.dbk:951
5862 msgid ""
5863 "If the security exposure is minor, there is sometimes no need to keep the "
5864 "problem a secret and a fix should be made and released."
5865 msgstr ""
5866
5867 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5868 #: pkgs.dbk:957
5869 msgid ""
5870 "If the problem is severe, it is preferable to share the information with "
5871 "other vendors and coordinate a release.  The security team keeps in contact "
5872 "with the various organizations and individuals and can take care of that."
5873 msgstr ""
5874
5875 #. type: Content of: <chapter><section><section><section><para>
5876 #: pkgs.dbk:964
5877 msgid ""
5878 "In all cases if the person who reports the problem asks that it not be "
5879 "disclosed, such requests should be honored, with the obvious exception of "
5880 "informing the security team in order that a fix may be produced for a stable "
5881 "release of Debian.  When sending confidential information to the security "
5882 "team, be sure to mention this fact."
5883 msgstr ""
5884
5885 #. type: Content of: <chapter><section><section><section><para>
5886 #: pkgs.dbk:971
5887 msgid ""
5888 "Please note that if secrecy is needed you may not upload a fix to "
5889 "<literal>unstable</literal> (or anywhere else, such as a public VCS "
5890 "repository).  It is not sufficient to obfuscate the details of the change, "
5891 "as the code itself is public, and can (and will) be examined by the general "
5892 "public."
5893 msgstr ""
5894
5895 #. type: Content of: <chapter><section><section><section><para>
5896 #: pkgs.dbk:978
5897 msgid ""
5898 "There are two reasons for releasing information even though secrecy is "
5899 "requested: the problem has been known for a while, or the problem or exploit "
5900 "has become public."
5901 msgstr ""
5902
5903 #. type: Content of: <chapter><section><section><section><para>
5904 #: pkgs.dbk:983
5905 msgid ""
5906 "The Security Team has a PGP-key to enable encrypted communication about "
5907 "sensitive issues. See the <ulink "
5908 "url=\"http://www.debian.org/security/faq#contact\">Security Team FAQ</ulink> "
5909 "for details."
5910 msgstr ""
5911
5912 #. type: Content of: <chapter><section><section><section><title>
5913 #: pkgs.dbk:989
5914 msgid "Security Advisories"
5915 msgstr ""
5916
5917 #. type: Content of: <chapter><section><section><section><para>
5918 #: pkgs.dbk:991
5919 msgid ""
5920 "Security advisories are only issued for the current, released stable "
5921 "distribution, and <emphasis>not</emphasis> for <literal>testing</literal> or "
5922 "<literal>unstable</literal>.  When released, advisories are sent to the "
5923 "&email-debian-security-announce; mailing list and posted on <ulink "
5924 "url=\"&url-debian-security-advisories;\">the security web page</ulink>.  "
5925 "Security advisories are written and posted by the security team.  However "
5926 "they certainly do not mind if a maintainer can supply some of the "
5927 "information for them, or write part of the text.  Information that should be "
5928 "in an advisory includes:"
5929 msgstr ""
5930
5931 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5932 #: pkgs.dbk:1004
5933 msgid "A description of the problem and its scope, including:"
5934 msgstr ""
5935
5936 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5937 #: pkgs.dbk:1009
5938 msgid "The type of problem (privilege escalation, denial of service, etc.)"
5939 msgstr ""
5940
5941 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5942 #: pkgs.dbk:1014
5943 msgid "What privileges may be gained, and by whom (if any)"
5944 msgstr ""
5945
5946 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5947 #: pkgs.dbk:1019
5948 msgid "How it can be exploited"
5949 msgstr ""
5950
5951 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5952 #: pkgs.dbk:1024
5953 msgid "Whether it is remotely or locally exploitable"
5954 msgstr ""
5955
5956 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5957 #: pkgs.dbk:1029
5958 msgid "How the problem was fixed"
5959 msgstr ""
5960
5961 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5962 #: pkgs.dbk:1034
5963 msgid "This information allows users to assess the threat to their systems."
5964 msgstr ""
5965
5966 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5967 #: pkgs.dbk:1039
5968 msgid "Version numbers of affected packages"
5969 msgstr ""
5970
5971 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5972 #: pkgs.dbk:1044
5973 msgid "Version numbers of fixed packages"
5974 msgstr ""
5975
5976 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5977 #: pkgs.dbk:1049
5978 msgid ""
5979 "Information on where to obtain the updated packages (usually from the Debian "
5980 "security archive)"
5981 msgstr ""
5982
5983 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5984 #: pkgs.dbk:1055
5985 msgid ""
5986 "References to upstream advisories, <ulink "
5987 "url=\"http://cve.mitre.org\">CVE</ulink> identifiers, and any other "
5988 "information useful in cross-referencing the vulnerability"
5989 msgstr ""
5990
5991 #. type: Content of: <chapter><section><section><section><title>
5992 #: pkgs.dbk:1064
5993 msgid "Preparing packages to address security issues"
5994 msgstr ""
5995
5996 #. type: Content of: <chapter><section><section><section><para>
5997 #: pkgs.dbk:1066
5998 msgid ""
5999 "One way that you can assist the security team in their duties is to provide "
6000 "them with fixed packages suitable for a security advisory for the stable "
6001 "Debian release."
6002 msgstr ""
6003
6004 #. type: Content of: <chapter><section><section><section><para>
6005 #: pkgs.dbk:1071
6006 msgid ""
6007 "When an update is made to the stable release, care must be taken to avoid "
6008 "changing system behavior or introducing new bugs.  In order to do this, make "
6009 "as few changes as possible to fix the bug.  Users and administrators rely on "
6010 "the exact behavior of a release once it is made, so any change that is made "
6011 "might break someone's system.  This is especially true of libraries: make "
6012 "sure you never change the API or ABI, no matter how small the change."
6013 msgstr ""
6014
6015 #. type: Content of: <chapter><section><section><section><para>
6016 #: pkgs.dbk:1079
6017 msgid ""
6018 "This means that moving to a new upstream version is not a good solution.  "
6019 "Instead, the relevant changes should be back-ported to the version present "
6020 "in the current stable Debian release.  Generally, upstream maintainers are "
6021 "willing to help if needed.  If not, the Debian security team may be able to "
6022 "help."
6023 msgstr ""
6024
6025 #. type: Content of: <chapter><section><section><section><para>
6026 #: pkgs.dbk:1085
6027 msgid ""
6028 "In some cases, it is not possible to back-port a security fix, for example "
6029 "when large amounts of source code need to be modified or rewritten.  If this "
6030 "happens, it may be necessary to move to a new upstream version.  However, "
6031 "this is only done in extreme situations, and you must always coordinate that "
6032 "with the security team beforehand."
6033 msgstr ""
6034
6035 #. type: Content of: <chapter><section><section><section><para>
6036 #: pkgs.dbk:1092
6037 msgid ""
6038 "Related to this is another important guideline: always test your changes.  "
6039 "If you have an exploit available, try it and see if it indeed succeeds on "
6040 "the unpatched package and fails on the fixed package.  Test other, normal "
6041 "actions as well, as sometimes a security fix can break seemingly unrelated "
6042 "features in subtle ways."
6043 msgstr ""
6044
6045 #. type: Content of: <chapter><section><section><section><para>
6046 #: pkgs.dbk:1099
6047 msgid ""
6048 "Do <emphasis role=\"strong\">NOT</emphasis> include any changes in your "
6049 "package which are not directly related to fixing the vulnerability.  These "
6050 "will only need to be reverted, and this wastes time.  If there are other "
6051 "bugs in your package that you would like to fix, make an upload to "
6052 "proposed-updates in the usual way, after the security advisory is issued.  "
6053 "The security update mechanism is not a means for introducing changes to your "
6054 "package which would otherwise be rejected from the stable release, so please "
6055 "do not attempt to do this."
6056 msgstr ""
6057
6058 #. type: Content of: <chapter><section><section><section><para>
6059 #: pkgs.dbk:1109
6060 msgid ""
6061 "Review and test your changes as much as possible.  Check the differences "
6062 "from the previous version repeatedly (<command>interdiff</command> from the "
6063 "<systemitem role=\"package\">patchutils</systemitem> package and "
6064 "<command>debdiff</command> from <systemitem "
6065 "role=\"package\">devscripts</systemitem> are useful tools for this, see "
6066 "<xref linkend=\"debdiff\"/>)."
6067 msgstr ""
6068
6069 #. type: Content of: <chapter><section><section><section><para>
6070 #: pkgs.dbk:1117
6071 msgid "Be sure to verify the following items:"
6072 msgstr ""
6073
6074 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6075 #: pkgs.dbk:1122
6076 msgid ""
6077 "<emphasis role=\"strong\">Target the right distribution</emphasis> in your "
6078 "<filename>debian/changelog</filename>.  For <literal>stable</literal> this "
6079 "is <literal>stable-security</literal> and for <literal>testing</literal> "
6080 "this is <literal>testing-security</literal>, and for the previous stable "
6081 "release, this is <literal>oldstable-security</literal>.  Do not target "
6082 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
6083 "or <literal>stable</literal>!"
6084 msgstr ""
6085
6086 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6087 #: pkgs.dbk:1133
6088 msgid "The upload should have <emphasis role=\"strong\">urgency=high</emphasis>."
6089 msgstr ""
6090
6091 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6092 #: pkgs.dbk:1138
6093 msgid ""
6094 "Make descriptive, meaningful changelog entries.  Others will rely on them to "
6095 "determine whether a particular bug was fixed.  Add "
6096 "<literal>closes:</literal> statements for any <emphasis "
6097 "role=\"strong\">Debian bugs</emphasis> filed.  Always include an external "
6098 "reference, preferably a <emphasis role=\"strong\">CVE identifier</emphasis>, "
6099 "so that it can be cross-referenced. However, if a CVE identifier has not yet "
6100 "been assigned, do not wait for it but continue the process. The identifier "
6101 "can be cross-referenced later."
6102 msgstr ""
6103
6104 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6105 #: pkgs.dbk:1149
6106 msgid ""
6107 "Make sure the <emphasis role=\"strong\">version number</emphasis> is "
6108 "proper.  It must be greater than the current package, but less than package "
6109 "versions in later distributions.  If in doubt, test it with <literal>dpkg "
6110 "--compare-versions</literal>.  Be careful not to re-use a version number "
6111 "that you have already used for a previous upload, or one that conflicts with "
6112 "a binNMU. The convention is to append "
6113 "<literal>+</literal><replaceable>codename</replaceable><literal>1</literal>, "
6114 "e.g.  <literal>1:2.4.3-4+lenny1</literal>, of course increasing 1 for any "
6115 "subsequent uploads."
6116 msgstr ""
6117
6118 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6119 #: pkgs.dbk:1162
6120 msgid ""
6121 "Unless the upstream source has been uploaded to "
6122 "<literal>security.debian.org</literal> before (by a previous security "
6123 "update), build the upload <emphasis role=\"strong\">with full upstream "
6124 "source</emphasis> (<literal>dpkg-buildpackage -sa</literal>).  If there has "
6125 "been a previous upload to <literal>security.debian.org</literal> with the "
6126 "same upstream version, you may upload without upstream source "
6127 "(<literal>dpkg-buildpackage -sd</literal>)."
6128 msgstr ""
6129
6130 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6131 #: pkgs.dbk:1173
6132 msgid ""
6133 "Be sure to use the <emphasis role=\"strong\">exact same "
6134 "<filename>*.orig.tar.{gz,bz2,xz}</filename></emphasis> as used in the normal "
6135 "archive, otherwise it is not possible to move the security fix into the main "
6136 "archives later."
6137 msgstr ""
6138
6139 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6140 #: pkgs.dbk:1181
6141 msgid ""
6142 "Build the package on a <emphasis role=\"strong\">clean system</emphasis> "
6143 "which only has packages installed from the distribution you are building "
6144 "for. If you do not have such a system yourself, you can use a debian.org "
6145 "machine (see <xref linkend=\"server-machines\"/>) or setup a chroot (see "
6146 "<xref linkend=\"pbuilder\"/> and <xref linkend=\"debootstrap\"/>)."
6147 msgstr ""
6148
6149 #. type: Content of: <chapter><section><section><section><title>
6150 #: pkgs.dbk:1192
6151 msgid "Uploading the fixed package"
6152 msgstr ""
6153
6154 #. type: Content of: <chapter><section><section><section><para>
6155 #: pkgs.dbk:1194
6156 msgid ""
6157 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
6158 "upload queue (<literal>oldstable-security</literal>, "
6159 "<literal>stable-security</literal>, etc.) without prior authorization from "
6160 "the security team.  If the package does not exactly meet the team's "
6161 "requirements, it will cause many problems and delays in dealing with the "
6162 "unwanted upload."
6163 msgstr ""
6164
6165 #. type: Content of: <chapter><section><section><section><para>
6166 #: pkgs.dbk:1201
6167 msgid ""
6168 "Do <emphasis role=\"strong\">NOT</emphasis> upload your fix to "
6169 "<literal>proposed-updates</literal> without coordinating with the security "
6170 "team.  Packages from <literal>security.debian.org</literal> will be copied "
6171 "into the <literal>proposed-updates</literal> directory automatically.  If a "
6172 "package with the same or a higher version number is already installed into "
6173 "the archive, the security update will be rejected by the archive system.  "
6174 "That way, the stable distribution will end up without a security update for "
6175 "this package instead."
6176 msgstr ""
6177
6178 #. type: Content of: <chapter><section><section><section><para>
6179 #: pkgs.dbk:1211
6180 msgid ""
6181 "Once you have created and tested the new package and it has been approved by "
6182 "the security team, it needs to be uploaded so that it can be installed in "
6183 "the archives.  For security uploads, the place to upload to is "
6184 "<literal>ftp://security-master.debian.org/pub/SecurityUploadQueue/</literal>."
6185 msgstr ""
6186
6187 #. type: Content of: <chapter><section><section><section><para>
6188 #: pkgs.dbk:1217
6189 msgid ""
6190 "Once an upload to the security queue has been accepted, the package will "
6191 "automatically be built for all architectures and stored for verification by "
6192 "the security team."
6193 msgstr ""
6194
6195 #. type: Content of: <chapter><section><section><section><para>
6196 #: pkgs.dbk:1222
6197 msgid ""
6198 "Uploads which are waiting for acceptance or verification are only accessible "
6199 "by the security team.  This is necessary since there might be fixes for "
6200 "security problems that cannot be disclosed yet."
6201 msgstr ""
6202
6203 #. type: Content of: <chapter><section><section><section><para>
6204 #: pkgs.dbk:1227
6205 msgid ""
6206 "If a member of the security team accepts a package, it will be installed on "
6207 "<literal>security.debian.org</literal> as well as proposed for the proper "
6208 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
6209 "on <literal>&ftp-master-host;</literal>."
6210 msgstr ""
6211
6212 #. type: Content of: <chapter><section><title>
6213 #: pkgs.dbk:1239
6214 msgid "Moving, removing, renaming, adopting, and orphaning packages"
6215 msgstr ""
6216
6217 #. type: Content of: <chapter><section><para>
6218 #: pkgs.dbk:1241
6219 msgid ""
6220 "Some archive manipulation operations are not automated in the Debian upload "
6221 "process.  These procedures should be manually followed by maintainers.  This "
6222 "chapter gives guidelines on what to do in these cases."
6223 msgstr ""
6224
6225 #. type: Content of: <chapter><section><section><title>
6226 #: pkgs.dbk:1246
6227 msgid "Moving packages"
6228 msgstr ""
6229
6230 #. type: Content of: <chapter><section><section><para><footnote><para>
6231 #: pkgs.dbk:1250
6232 msgid ""
6233 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
6234 "guidelines on what section a package belongs in."
6235 msgstr ""
6236
6237 #. type: Content of: <chapter><section><section><para>
6238 #: pkgs.dbk:1248
6239 msgid ""
6240 "Sometimes a package will change its section.  For instance, a package from "
6241 "the <literal>non-free</literal> section might be GPL'd in a later version, "
6242 "in which case the package should be moved to `main' or "
6243 "`contrib'.<placeholder type=\"footnote\" id=\"0\"/>"
6244 msgstr ""
6245
6246 #. type: Content of: <chapter><section><section><para>
6247 #: pkgs.dbk:1255
6248 msgid ""
6249 "If you need to change the section for one of your packages, change the "
6250 "package control information to place the package in the desired section, and "
6251 "re-upload the package (see the <ulink url=\"&url-debian-policy;\">Debian "
6252 "Policy Manual</ulink> for details).  You must ensure that you include the "
6253 "<filename>.orig.tar.{gz,bz2,xz}</filename> in your upload (even if you are "
6254 "not uploading a new upstream version), or it will not appear in the new "
6255 "section together with the rest of the package.  If your new section is "
6256 "valid, it will be moved automatically.  If it does not, then contact the "
6257 "ftpmasters in order to understand what happened."
6258 msgstr ""
6259
6260 #. type: Content of: <chapter><section><section><para>
6261 #: pkgs.dbk:1267
6262 msgid ""
6263 "If, on the other hand, you need to change the <literal>subsection</literal> "
6264 "of one of your packages (e.g., ``devel'', ``admin''), the procedure is "
6265 "slightly different.  Correct the subsection as found in the control file of "
6266 "the package, and re-upload that.  Also, you'll need to get the override file "
6267 "updated, as described in <xref linkend=\"override-file\"/>."
6268 msgstr ""
6269
6270 #. type: Content of: <chapter><section><section><title>
6271 #: pkgs.dbk:1276
6272 msgid "Removing packages"
6273 msgstr ""
6274
6275 #. type: Content of: <chapter><section><section><para>
6276 #: pkgs.dbk:1278
6277 msgid ""
6278 "If for some reason you want to completely remove a package (say, if it is an "
6279 "old compatibility library which is no longer required), you need to file a "
6280 "bug against <literal>ftp.debian.org</literal> asking that the package be "
6281 "removed; as all bugs, this bug should normally have normal severity.  The "
6282 "bug title should be in the form <literal>RM: "
6283 "<replaceable>package</replaceable> <replaceable>[architecture "
6284 "list]</replaceable> -- <replaceable>reason</replaceable></literal>, where "
6285 "<replaceable>package</replaceable> is the package to be removed and "
6286 "<replaceable>reason</replaceable> is a short summary of the reason for the "
6287 "removal request.  <replaceable>[architecture list]</replaceable> is optional "
6288 "and only needed if the removal request only applies to some architectures, "
6289 "not all. Note that the <command>reportbug</command> will create a title "
6290 "conforming to these rules when you use it to report a bug against the "
6291 "<literal>ftp.debian.org</literal> pseudo-package."
6292 msgstr ""
6293
6294 #. type: Content of: <chapter><section><section><para>
6295 #: pkgs.dbk:1295
6296 msgid ""
6297 "If you want to remove a package you maintain, you should note this in the "
6298 "bug title by prepending <literal>ROM</literal> (Request Of Maintainer).  "
6299 "There are several other standard acronyms used in the reasoning for a "
6300 "package removal, see <ulink "
6301 "url=\"http://&ftp-master-host;/removals.html\"></ulink> for a complete "
6302 "list. That page also provides a convenient overview of pending removal "
6303 "requests."
6304 msgstr ""
6305
6306 #. type: Content of: <chapter><section><section><para>
6307 #: pkgs.dbk:1304
6308 msgid ""
6309 "Note that removals can only be done for the <literal>unstable</literal>, "
6310 "<literal>experimental</literal> and <literal>stable</literal> distribution.  "
6311 "Packages are not removed from <literal>testing</literal> directly.  Rather, "
6312 "they will be removed automatically after the package has been removed from "
6313 "<literal>unstable</literal> and no package in <literal>testing</literal> "
6314 "depends on it."
6315 msgstr ""
6316
6317 #. type: Content of: <chapter><section><section><para>
6318 #: pkgs.dbk:1313
6319 msgid ""
6320 "There is one exception when an explicit removal request is not necessary: If "
6321 "a (source or binary) package is no longer built from source, it will be "
6322 "removed semi-automatically. For a binary-package, this means if there is no "
6323 "longer any source package producing this binary package; if the binary "
6324 "package is just no longer produced on some architectures, a removal request "
6325 "is still necessary. For a source-package, this means that all binary "
6326 "packages it refers to have been taken over by another source package."
6327 msgstr ""
6328
6329 #. type: Content of: <chapter><section><section><para>
6330 #: pkgs.dbk:1322
6331 msgid ""
6332 "In your removal request, you have to detail the reasons justifying the "
6333 "request.  This is to avoid unwanted removals and to keep a trace of why a "
6334 "package has been removed.  For example, you can provide the name of the "
6335 "package that supersedes the one to be removed."
6336 msgstr ""
6337
6338 #. type: Content of: <chapter><section><section><para>
6339 #: pkgs.dbk:1328
6340 msgid ""
6341 "Usually you only ask for the removal of a package maintained by yourself.  "
6342 "If you want to remove another package, you have to get the approval of its "
6343 "maintainer. Should the package be orphaned and thus have no maintainer, you "
6344 "should first discuss the removal request on &email-debian-qa;. If there is a "
6345 "consensus that the package should be removed, you should reassign and "
6346 "retitle the <literal>O:</literal> bug filed against the "
6347 "<literal>wnpp</literal> package instead of filing a new bug as removal "
6348 "request."
6349 msgstr ""
6350
6351 #. type: Content of: <chapter><section><section><para>
6352 #: pkgs.dbk:1338
6353 msgid ""
6354 "Further information relating to these and other package removal related "
6355 "topics may be found at <ulink "
6356 "url=\"http://wiki.debian.org/ftpmaster_Removals\"></ulink> and <ulink "
6357 "url=\"&url-debian-qa;howto-remove.html\"></ulink>."
6358 msgstr ""
6359
6360 #. type: Content of: <chapter><section><section><para>
6361 #: pkgs.dbk:1343
6362 msgid ""
6363 "If in doubt concerning whether a package is disposable, email "
6364 "&email-debian-devel; asking for opinions.  Also of interest is the "
6365 "<command>apt-cache</command> program from the <systemitem "
6366 "role=\"package\">apt</systemitem> package.  When invoked as "
6367 "<literal>apt-cache showpkg <replaceable>package</replaceable></literal>, the "
6368 "program will show details for <replaceable>package</replaceable>, including "
6369 "reverse depends.  Other useful programs include <command>apt-cache "
6370 "rdepends</command>, <command>apt-rdepends</command>, "
6371 "<command>build-rdeps</command> (in the <systemitem "
6372 "role=\"package\">devscripts</systemitem> package) and "
6373 "<command>grep-dctrl</command>.  Removal of orphaned packages is discussed on "
6374 "&email-debian-qa;."
6375 msgstr ""
6376
6377 #. type: Content of: <chapter><section><section><para>
6378 #: pkgs.dbk:1356
6379 msgid ""
6380 "Once the package has been removed, the package's bugs should be handled.  "
6381 "They should either be reassigned to another package in the case where the "
6382 "actual code has evolved into another package (e.g.  "
6383 "<literal>libfoo12</literal> was removed because <literal>libfoo13</literal> "
6384 "supersedes it) or closed if the software is simply no longer part of "
6385 "Debian.  When closing the bugs, to avoid marking the bugs as fixed in "
6386 "versions of the packages in previous Debian releases, they should be marked "
6387 "as fixed in the version "
6388 "<literal>&lt;most-recent-version-ever-in-Debian&gt;+rm</literal>."
6389 msgstr ""
6390
6391 #. type: Content of: <chapter><section><section><section><title>
6392 #: pkgs.dbk:1367
6393 msgid "Removing packages from <filename>Incoming</filename>"
6394 msgstr ""
6395
6396 #. type: Content of: <chapter><section><section><section><para>
6397 #: pkgs.dbk:1369
6398 msgid ""
6399 "In the past, it was possible to remove packages from "
6400 "<filename>incoming</filename>.  However, with the introduction of the new "
6401 "incoming system, this is no longer possible.  Instead, you have to upload a "
6402 "new revision of your package with a higher version than the package you want "
6403 "to replace.  Both versions will be installed in the archive but only the "
6404 "higher version will actually be available in <literal>unstable</literal> "
6405 "since the previous version will immediately be replaced by the higher.  "
6406 "However, if you do proper testing of your packages, the need to replace a "
6407 "package should not occur too often anyway."
6408 msgstr ""
6409
6410 #. type: Content of: <chapter><section><section><title>
6411 #: pkgs.dbk:1384
6412 msgid "Replacing or renaming packages"
6413 msgstr ""
6414
6415 #. type: Content of: <chapter><section><section><para>
6416 #: pkgs.dbk:1386
6417 msgid ""
6418 "When the upstream maintainers for one of your packages chose to rename their "
6419 "software (or you made a mistake naming your package), you should follow a "
6420 "two-step process to rename it. In the first step, change the "
6421 "<filename>debian/control</filename> file to reflect the new name and to "
6422 "replace, provide and conflict with the obsolete package name (see the <ulink "
6423 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for details).  "
6424 "Please note that you should only add a <literal>Provides</literal> relation "
6425 "if all packages depending on the obsolete package name continue to work "
6426 "after the renaming. Once you've uploaded the package and the package has "
6427 "moved into the archive, file a bug against <literal>ftp.debian.org</literal> "
6428 "asking to remove the package with the obsolete name (see <xref "
6429 "linkend=\"removing-pkgs\"/>).  Do not forget to properly reassign the "
6430 "package's bugs at the same time."
6431 msgstr ""
6432
6433 #. type: Content of: <chapter><section><section><para>
6434 #: pkgs.dbk:1402
6435 msgid ""
6436 "At other times, you may make a mistake in constructing your package and wish "
6437 "to replace it.  The only way to do this is to increase the version number "
6438 "and upload a new version.  The old version will be expired in the usual "
6439 "manner.  Note that this applies to each part of your package, including the "
6440 "sources: if you wish to replace the upstream source tarball of your package, "
6441 "you will need to upload it with a different version.  An easy possibility is "
6442 "to replace <filename>foo_1.00.orig.tar.gz</filename> with "
6443 "<filename>foo_1.00+0.orig.tar.gz</filename> or "
6444 "<filename>foo_1.00.orig.tar.bz2</filename>.  This restriction gives each "
6445 "file on the ftp site a unique name, which helps to ensure consistency across "
6446 "the mirror network."
6447 msgstr ""
6448
6449 #. type: Content of: <chapter><section><section><title>
6450 #: pkgs.dbk:1417
6451 msgid "Orphaning a package"
6452 msgstr ""
6453
6454 #. type: Content of: <chapter><section><section><para>
6455 #: pkgs.dbk:1419
6456 msgid ""
6457 "If you can no longer maintain a package, you need to inform others, and see "
6458 "that the package is marked as orphaned.  You should set the package "
6459 "maintainer to <literal>Debian QA Group &orphan-address;</literal> and submit "
6460 "a bug report against the pseudo package <systemitem "
6461 "role=\"package\">wnpp</systemitem>.  The bug report should be titled "
6462 "<literal>O: <replaceable>package</replaceable> -- <replaceable>short "
6463 "description</replaceable></literal> indicating that the package is now "
6464 "orphaned.  The severity of the bug should be set to "
6465 "<literal>normal</literal>; if the package has a priority of standard or "
6466 "higher, it should be set to important.  If you feel it's necessary, send a "
6467 "copy to &email-debian-devel; by putting the address in the X-Debbugs-CC: "
6468 "header of the message (no, don't use CC:, because that way the message's "
6469 "subject won't indicate the bug number)."
6470 msgstr ""
6471
6472 #. type: Content of: <chapter><section><section><para>
6473 #: pkgs.dbk:1434
6474 msgid ""
6475 "If you just intend to give the package away, but you can keep maintainership "
6476 "for the moment, then you should instead submit a bug against <systemitem "
6477 "role=\"package\">wnpp</systemitem> and title it <literal>RFA: "
6478 "<replaceable>package</replaceable> -- <replaceable>short "
6479 "description</replaceable></literal>.  <literal>RFA</literal> stands for "
6480 "<literal>Request For Adoption</literal>."
6481 msgstr ""
6482
6483 #. type: Content of: <chapter><section><section><para>
6484 #: pkgs.dbk:1442
6485 msgid "More information is on the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink>."
6486 msgstr ""
6487
6488 #. type: Content of: <chapter><section><section><title>
6489 #: pkgs.dbk:1448
6490 msgid "Adopting a package"
6491 msgstr ""
6492
6493 #. type: Content of: <chapter><section><section><para>
6494 #: pkgs.dbk:1450
6495 msgid ""
6496 "A list of packages in need of a new maintainer is available in the <ulink "
6497 "url=\"&url-wnpp;\">Work-Needing and Prospective Packages list "
6498 "(WNPP)</ulink>.  If you wish to take over maintenance of any of the packages "
6499 "listed in the WNPP, please take a look at the aforementioned page for "
6500 "information and procedures."
6501 msgstr ""
6502
6503 #. type: Content of: <chapter><section><section><para>
6504 #: pkgs.dbk:1457
6505 msgid ""
6506 "It is not OK to simply take over a package that you feel is neglected — that "
6507 "would be package hijacking.  You can, of course, contact the current "
6508 "maintainer and ask them if you may take over the package.  If you have "
6509 "reason to believe a maintainer has gone AWOL (absent without leave), see "
6510 "<xref linkend=\"mia-qa\"/>."
6511 msgstr ""
6512
6513 #. type: Content of: <chapter><section><section><para>
6514 #: pkgs.dbk:1463
6515 msgid ""
6516 "Generally, you may not take over the package without the assent of the "
6517 "current maintainer.  Even if they ignore you, that is still not grounds to "
6518 "take over a package.  Complaints about maintainers should be brought up on "
6519 "the developers' mailing list.  If the discussion doesn't end with a positive "
6520 "conclusion, and the issue is of a technical nature, consider bringing it to "
6521 "the attention of the technical committee (see the <ulink "
6522 "url=\"&url-tech-ctte;\">technical committee web page</ulink> for more "
6523 "information)."
6524 msgstr ""
6525
6526 #. type: Content of: <chapter><section><section><para>
6527 #: pkgs.dbk:1473
6528 msgid ""
6529 "If you take over an old package, you probably want to be listed as the "
6530 "package's official maintainer in the bug system.  This will happen "
6531 "automatically once you upload a new version with an updated "
6532 "<literal>Maintainer</literal> field, although it can take a few hours after "
6533 "the upload is done.  If you do not expect to upload a new version for a "
6534 "while, you can use <xref linkend=\"pkg-tracking-system\"/> to get the bug "
6535 "reports.  However, make sure that the old maintainer has no problem with the "
6536 "fact that they will continue to receive the bugs during that time."
6537 msgstr ""
6538
6539 #. type: Content of: <chapter><section><title>
6540 #: pkgs.dbk:1487
6541 msgid "Porting and being ported"
6542 msgstr ""
6543
6544 #. type: Content of: <chapter><section><para>
6545 #: pkgs.dbk:1489
6546 msgid ""
6547 "Debian supports an ever-increasing number of architectures.  Even if you are "
6548 "not a porter, and you don't use any architecture but one, it is part of your "
6549 "duty as a maintainer to be aware of issues of portability.  Therefore, even "
6550 "if you are not a porter, you should read most of this chapter."
6551 msgstr ""
6552
6553 #. type: Content of: <chapter><section><para>
6554 #: pkgs.dbk:1495
6555 msgid ""
6556 "Porting is the act of building Debian packages for architectures that are "
6557 "different from the original architecture of the package maintainer's binary "
6558 "package.  It is a unique and essential activity.  In fact, porters do most "
6559 "of the actual compiling of Debian packages.  For instance, when a maintainer "
6560 "uploads a (portable) source packages with binaries for the "
6561 "<literal>i386</literal> architecture, it will be built for each of the other "
6562 "architectures, amounting to &number-of-arches; more builds."
6563 msgstr ""
6564
6565 #. type: Content of: <chapter><section><section><title>
6566 #: pkgs.dbk:1504
6567 msgid "Being kind to porters"
6568 msgstr ""
6569
6570 #. type: Content of: <chapter><section><section><para>
6571 #: pkgs.dbk:1506
6572 msgid ""
6573 "Porters have a difficult and unique task, since they are required to deal "
6574 "with a large volume of packages.  Ideally, every source package should build "
6575 "right out of the box.  Unfortunately, this is often not the case.  This "
6576 "section contains a checklist of ``gotchas'' often committed by Debian "
6577 "maintainers — common problems which often stymie porters, and make their "
6578 "jobs unnecessarily difficult."
6579 msgstr ""
6580
6581 #. type: Content of: <chapter><section><section><para>
6582 #: pkgs.dbk:1514
6583 msgid ""
6584 "The first and most important thing is to respond quickly to bug or issues "
6585 "raised by porters.  Please treat porters with courtesy, as if they were in "
6586 "fact co-maintainers of your package (which, in a way, they are).  Please be "
6587 "tolerant of succinct or even unclear bug reports; do your best to hunt down "
6588 "whatever the problem is."
6589 msgstr ""
6590
6591 #. type: Content of: <chapter><section><section><para>
6592 #: pkgs.dbk:1521
6593 msgid ""
6594 "By far, most of the problems encountered by porters are caused by "
6595 "<emphasis>packaging bugs</emphasis> in the source packages.  Here is a "
6596 "checklist of things you should check or be aware of."
6597 msgstr ""
6598
6599 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6600 #: pkgs.dbk:1528
6601 msgid ""
6602 "Make sure that your <literal>Build-Depends</literal> and "
6603 "<literal>Build-Depends-Indep</literal> settings in "
6604 "<filename>debian/control</filename> are set properly.  The best way to "
6605 "validate this is to use the <systemitem "
6606 "role=\"package\">debootstrap</systemitem> package to create an "
6607 "<literal>unstable</literal> chroot environment (see <xref "
6608 "linkend=\"debootstrap\"/>).  Within that chrooted environment, install the "
6609 "<systemitem role=\"package\">build-essential</systemitem> package and any "
6610 "package dependencies mentioned in <literal>Build-Depends</literal> and/or "
6611 "<literal>Build-Depends-Indep</literal>.  Finally, try building your package "
6612 "within that chrooted environment.  These steps can be automated by the use "
6613 "of the <command>pbuilder</command> program which is provided by the package "
6614 "of the same name (see <xref linkend=\"pbuilder\"/>)."
6615 msgstr ""
6616
6617 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6618 #: pkgs.dbk:1543
6619 msgid ""
6620 "If you can't set up a proper chroot, <command>dpkg-depcheck</command> may be "
6621 "of assistance (see <xref linkend=\"dpkg-depcheck\"/>)."
6622 msgstr ""
6623
6624 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6625 #: pkgs.dbk:1547
6626 msgid ""
6627 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
6628 "instructions on setting build dependencies."
6629 msgstr ""
6630
6631 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6632 #: pkgs.dbk:1553
6633 msgid ""
6634 "Don't set architecture to a value other than <literal>all</literal> or "
6635 "<literal>any</literal> unless you really mean it.  In too many cases, "
6636 "maintainers don't follow the instructions in the <ulink "
6637 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>.  Setting your "
6638 "architecture to only one architecture (such as <literal>i386</literal> or "
6639 "<literal>amd64</literal>) is usually incorrect."
6640 msgstr ""
6641
6642 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6643 #: pkgs.dbk:1563
6644 msgid ""
6645 "Make sure your source package is correct.  Do <literal>dpkg-source -x "
6646 "<replaceable>package</replaceable>.dsc</literal> to make sure your source "
6647 "package unpacks properly.  Then, in there, try building your package from "
6648 "scratch with <command>dpkg-buildpackage</command>."
6649 msgstr ""
6650
6651 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6652 #: pkgs.dbk:1571
6653 msgid ""
6654 "Make sure you don't ship your source package with the "
6655 "<filename>debian/files</filename> or <filename>debian/substvars</filename> "
6656 "files.  They should be removed by the <literal>clean</literal> target of "
6657 "<filename>debian/rules</filename>."
6658 msgstr ""
6659
6660 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6661 #: pkgs.dbk:1579
6662 msgid ""
6663 "Make sure you don't rely on locally installed or hacked configurations or "
6664 "programs.  For instance, you should never be calling programs in "
6665 "<filename>/usr/local/bin</filename> or the like.  Try not to rely on "
6666 "programs being setup in a special way.  Try building your package on another "
6667 "machine, even if it's the same architecture."
6668 msgstr ""
6669
6670 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6671 #: pkgs.dbk:1588
6672 msgid ""
6673 "Don't depend on the package you're building being installed already (a "
6674 "sub-case of the above issue). There are, of course, exceptions to this rule, "
6675 "but be aware that any case like this needs manual bootstrapping and cannot "
6676 "be done by automated package builders."
6677 msgstr ""
6678
6679 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6680 #: pkgs.dbk:1596
6681 msgid ""
6682 "Don't rely on the compiler being a certain version, if possible.  If not, "
6683 "then make sure your build dependencies reflect the restrictions, although "
6684 "you are probably asking for trouble, since different architectures sometimes "
6685 "standardize on different compilers."
6686 msgstr ""
6687
6688 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6689 #: pkgs.dbk:1604
6690 msgid ""
6691 "Make sure your <filename>debian/rules</filename> contains separate "
6692 "<literal>binary-arch</literal> and <literal>binary-indep</literal> targets, "
6693 "as the Debian Policy Manual requires.  Make sure that both targets work "
6694 "independently, that is, that you can call the target without having called "
6695 "the other before.  To test this, try to run <command>dpkg-buildpackage "
6696 "-B</command>."
6697 msgstr ""
6698
6699 #. type: Content of: <chapter><section><section><title>
6700 #: pkgs.dbk:1615
6701 msgid "Guidelines for porter uploads"
6702 msgstr ""
6703
6704 #. type: Content of: <chapter><section><section><para>
6705 #: pkgs.dbk:1617
6706 msgid ""
6707 "If the package builds out of the box for the architecture to be ported to, "
6708 "you are in luck and your job is easy.  This section applies to that case; it "
6709 "describes how to build and upload your binary package so that it is properly "
6710 "installed into the archive.  If you do have to patch the package in order to "
6711 "get it to compile for the other architecture, you are actually doing a "
6712 "source NMU, so consult <xref linkend=\"nmu-guidelines\"/> instead."
6713 msgstr ""
6714
6715 #. type: Content of: <chapter><section><section><para>
6716 #: pkgs.dbk:1625
6717 msgid ""
6718 "For a porter upload, no changes are being made to the source.  You do not "
6719 "need to touch any of the files in the source package.  This includes "
6720 "<filename>debian/changelog</filename>."
6721 msgstr ""
6722
6723 #. type: Content of: <chapter><section><section><para>
6724 #: pkgs.dbk:1630
6725 msgid ""
6726 "The way to invoke <command>dpkg-buildpackage</command> is as "
6727 "<literal>dpkg-buildpackage -B "
6728 "-m<replaceable>porter-email</replaceable></literal>.  Of course, set "
6729 "<replaceable>porter-email</replaceable> to your email address.  This will do "
6730 "a binary-only build of only the architecture-dependent portions of the "
6731 "package, using the <literal>binary-arch</literal> target in "
6732 "<filename>debian/rules</filename>."
6733 msgstr ""
6734
6735 #. type: Content of: <chapter><section><section><para>
6736 #: pkgs.dbk:1639
6737 msgid ""
6738 "If you are working on a Debian machine for your porting efforts and you need "
6739 "to sign your upload locally for its acceptance in the archive, you can run "
6740 "<command>debsign</command> on your <filename>.changes</filename> file to "
6741 "have it signed conveniently, or use the remote signing mode of "
6742 "<command>dpkg-sig</command>."
6743 msgstr ""
6744
6745 #. type: Content of: <chapter><section><section><section><title>
6746 #: pkgs.dbk:1646
6747 msgid "Recompilation or binary-only NMU"
6748 msgstr ""
6749
6750 #. type: Content of: <chapter><section><section><section><para>
6751 #: pkgs.dbk:1648
6752 msgid ""
6753 "Sometimes the initial porter upload is problematic because the environment "
6754 "in which the package was built was not good enough (outdated or obsolete "
6755 "library, bad compiler, etc.).  Then you may just need to recompile it in an "
6756 "updated environment.  However, you have to bump the version number in this "
6757 "case, so that the old bad package can be replaced in the Debian archive "
6758 "(<command>dak</command> refuses to install new packages if they don't have a "
6759 "version number greater than the currently available one)."
6760 msgstr ""
6761
6762 #. type: Content of: <chapter><section><section><section><para>
6763 #: pkgs.dbk:1657
6764 msgid ""
6765 "You have to make sure that your binary-only NMU doesn't render the package "
6766 "uninstallable.  This could happen when a source package generates "
6767 "arch-dependent and arch-independent packages that have inter-dependencies "
6768 "generated using dpkg's substitution variable "
6769 "<literal>$(Source-Version)</literal>."
6770 msgstr ""
6771
6772 #. type: Content of: <chapter><section><section><section><para>
6773 #: pkgs.dbk:1663
6774 msgid ""
6775 "Despite the required modification of the changelog, these are called "
6776 "binary-only NMUs — there is no need in this case to trigger all other "
6777 "architectures to consider themselves out of date or requiring recompilation."
6778 msgstr ""
6779
6780 #. type: Content of: <chapter><section><section><section><para>
6781 #: pkgs.dbk:1668
6782 msgid ""
6783 "Such recompilations require special ``magic'' version numbering, so that the "
6784 "archive maintenance tools recognize that, even though there is a new Debian "
6785 "version, there is no corresponding source update.  If you get this wrong, "
6786 "the archive maintainers will reject your upload (due to lack of "
6787 "corresponding source code)."
6788 msgstr ""
6789
6790 #. type: Content of: <chapter><section><section><section><para><footnote><para>
6791 #: pkgs.dbk:1683
6792 msgid ""
6793 "In the past, such NMUs used the third-level number on the Debian part of the "
6794 "revision to denote their recompilation-only status; however, this syntax was "
6795 "ambiguous with native packages and did not allow proper ordering of "
6796 "recompile-only NMUs, source NMUs, and security NMUs on the same package, and "
6797 "has therefore been abandoned in favor of this new syntax."
6798 msgstr ""
6799
6800 #. type: Content of: <chapter><section><section><section><para>
6801 #: pkgs.dbk:1675
6802 msgid ""
6803 "The ``magic'' for a recompilation-only NMU is triggered by using a suffix "
6804 "appended to the package version number, following the form "
6805 "<literal>b<replaceable>number</replaceable></literal>.  For instance, if the "
6806 "latest version you are recompiling against was version "
6807 "<literal>2.9-3</literal>, your binary-only NMU should carry a version of "
6808 "<literal>2.9-3+b1</literal>.  If the latest version was "
6809 "<literal>3.4+b1</literal> (i.e, a native package with a previous "
6810 "recompilation NMU), your binary-only NMU should have a version number of "
6811 "<literal>3.4+b2</literal>.<placeholder type=\"footnote\" id=\"0\"/>"
6812 msgstr ""
6813
6814 #. type: Content of: <chapter><section><section><section><para>
6815 #: pkgs.dbk:1691
6816 msgid ""
6817 "Similar to initial porter uploads, the correct way of invoking "
6818 "<command>dpkg-buildpackage</command> is <literal>dpkg-buildpackage "
6819 "-B</literal> to only build the architecture-dependent parts of the package."
6820 msgstr ""
6821
6822 #. type: Content of: <chapter><section><section><section><title>
6823 #: pkgs.dbk:1698
6824 msgid "When to do a source NMU if you are a porter"
6825 msgstr ""
6826
6827 #. type: Content of: <chapter><section><section><section><para>
6828 #: pkgs.dbk:1700
6829 msgid ""
6830 "Porters doing a source NMU generally follow the guidelines found in <xref "
6831 "linkend=\"nmu\"/>, just like non-porters.  However, it is expected that the "
6832 "wait cycle for a porter's source NMU is smaller than for a non-porter, since "
6833 "porters have to cope with a large quantity of packages.  Again, the "
6834 "situation varies depending on the distribution they are uploading to.  It "
6835 "also varies whether the architecture is a candidate for inclusion into the "
6836 "next stable release; the release managers decide and announce which "
6837 "architectures are candidates."
6838 msgstr ""
6839
6840 #. type: Content of: <chapter><section><section><section><para>
6841 #: pkgs.dbk:1709
6842 msgid ""
6843 "If you are a porter doing an NMU for <literal>unstable</literal>, the above "
6844 "guidelines for porting should be followed, with two variations.  Firstly, "
6845 "the acceptable waiting period — the time between when the bug is submitted "
6846 "to the BTS and when it is OK to do an NMU — is seven days for porters "
6847 "working on the <literal>unstable</literal> distribution.  This period can be "
6848 "shortened if the problem is critical and imposes hardship on the porting "
6849 "effort, at the discretion of the porter group.  (Remember, none of this is "
6850 "Policy, just mutually agreed upon guidelines.) For uploads to "
6851 "<literal>stable</literal> or <literal>testing</literal>, please coordinate "
6852 "with the appropriate release team first."
6853 msgstr ""
6854
6855 #. type: Content of: <chapter><section><section><section><para>
6856 #: pkgs.dbk:1721
6857 msgid ""
6858 "Secondly, porters doing source NMUs should make sure that the bug they "
6859 "submit to the BTS should be of severity <literal>serious</literal> or "
6860 "greater.  This ensures that a single source package can be used to compile "
6861 "every supported Debian architecture by release time.  It is very important "
6862 "that we have one version of the binary and source package for all "
6863 "architectures in order to comply with many licenses."
6864 msgstr ""
6865
6866 #. type: Content of: <chapter><section><section><section><para>
6867 #: pkgs.dbk:1729
6868 msgid ""
6869 "Porters should try to avoid patches which simply kludge around bugs in the "
6870 "current version of the compile environment, kernel, or libc.  Sometimes such "
6871 "kludges can't be helped.  If you have to kludge around compiler bugs and the "
6872 "like, make sure you <literal>#ifdef</literal> your work properly; also, "
6873 "document your kludge so that people know to remove it once the external "
6874 "problems have been fixed."
6875 msgstr ""
6876
6877 #. type: Content of: <chapter><section><section><section><para>
6878 #: pkgs.dbk:1737
6879 msgid ""
6880 "Porters may also have an unofficial location where they can put the results "
6881 "of their work during the waiting period.  This helps others running the port "
6882 "have the benefit of the porter's work, even during the waiting period.  Of "
6883 "course, such locations have no official blessing or status, so buyer beware."
6884 msgstr ""
6885
6886 #. type: Content of: <chapter><section><section><title>
6887 #: pkgs.dbk:1747
6888 msgid "Porting infrastructure and automation"
6889 msgstr ""
6890
6891 #. type: Content of: <chapter><section><section><para>
6892 #: pkgs.dbk:1749
6893 msgid ""
6894 "There is infrastructure and several tools to help automate package porting.  "
6895 "This section contains a brief overview of this automation and porting to "
6896 "these tools; see the package documentation or references for full "
6897 "information."
6898 msgstr ""
6899
6900 #. type: Content of: <chapter><section><section><section><title>
6901 #: pkgs.dbk:1754
6902 msgid "Mailing lists and web pages"
6903 msgstr ""
6904
6905 #. type: Content of: <chapter><section><section><section><para>
6906 #: pkgs.dbk:1756
6907 msgid ""
6908 "Web pages containing the status of each port can be found at <ulink "
6909 "url=\"&url-debian-ports;\"></ulink>."
6910 msgstr ""
6911
6912 #. type: Content of: <chapter><section><section><section><para>
6913 #: pkgs.dbk:1760
6914 msgid ""
6915 "Each port of Debian has a mailing list.  The list of porting mailing lists "
6916 "can be found at <ulink url=\"&url-debian-port-lists;\"></ulink>.  These "
6917 "lists are used to coordinate porters, and to connect the users of a given "
6918 "port with the porters."
6919 msgstr ""
6920
6921 #. type: Content of: <chapter><section><section><section><title>
6922 #: pkgs.dbk:1768
6923 msgid "Porter tools"
6924 msgstr ""
6925
6926 #. type: Content of: <chapter><section><section><section><para>
6927 #: pkgs.dbk:1770
6928 msgid ""
6929 "Descriptions of several porting tools can be found in <xref "
6930 "linkend=\"tools-porting\"/>."
6931 msgstr ""
6932
6933 #. type: Content of: <chapter><section><section><section><title>
6934 #: pkgs.dbk:1776
6935 msgid "<systemitem role=\"package\">wanna-build</systemitem>"
6936 msgstr ""
6937
6938 #. type: Content of: <chapter><section><section><section><para>
6939 #: pkgs.dbk:1778
6940 msgid ""
6941 "The <systemitem role=\"package\">wanna-build</systemitem> system is used as "
6942 "a distributed, client-server build distribution system.  It is usually used "
6943 "in conjunction with build daemons running the <systemitem "
6944 "role=\"package\">buildd</systemitem> program. <literal>Build "
6945 "daemons</literal> are ``slave'' hosts which contact the central <systemitem "
6946 "role=\"package\">wanna-build</systemitem> system to receive a list of "
6947 "packages that need to be built."
6948 msgstr ""
6949
6950 #. type: Content of: <chapter><section><section><section><para>
6951 #: pkgs.dbk:1786
6952 msgid ""
6953 "<systemitem role=\"package\">wanna-build</systemitem> is not yet available "
6954 "as a package; however, all Debian porting efforts are using it for automated "
6955 "package building.  The tool used to do the actual package builds, "
6956 "<systemitem role=\"package\">sbuild</systemitem> is available as a package, "
6957 "see its description in <xref linkend=\"sbuild\"/>.  Please note that the "
6958 "packaged version is not the same as the one used on build daemons, but it is "
6959 "close enough to reproduce problems."
6960 msgstr ""
6961
6962 #. type: Content of: <chapter><section><section><section><para>
6963 #: pkgs.dbk:1795
6964 msgid ""
6965 "Most of the data produced by <systemitem "
6966 "role=\"package\">wanna-build</systemitem> which is generally useful to "
6967 "porters is available on the web at <ulink url=\"&url-buildd;\"></ulink>.  "
6968 "This data includes nightly updated statistics, queueing information and logs "
6969 "for build attempts."
6970 msgstr ""
6971
6972 #. type: Content of: <chapter><section><section><section><para>
6973 #: pkgs.dbk:1801
6974 msgid ""
6975 "We are quite proud of this system, since it has so many possible uses.  "
6976 "Independent development groups can use the system for different sub-flavors "
6977 "of Debian, which may or may not really be of general interest (for instance, "
6978 "a flavor of Debian built with <command>gcc</command> bounds checking).  It "
6979 "will also enable Debian to recompile entire distributions quickly."
6980 msgstr ""
6981
6982 #. type: Content of: <chapter><section><section><section><para>
6983 #: pkgs.dbk:1808
6984 msgid ""
6985 "The wanna-build team, in charge of the buildds, can be reached at "
6986 "<literal>debian-wb-team@lists.debian.org</literal>.  To determine who "
6987 "(wanna-build team, release team) and how (mail, BTS)  to contact, refer to "
6988 "<ulink url=\"&url-wb-team;\"></ulink>."
6989 msgstr ""
6990
6991 #. type: Content of: <chapter><section><section><section><para>
6992 #: pkgs.dbk:1815
6993 msgid ""
6994 "When requesting binNMUs or give-backs (retries after a failed build), please "
6995 "use the format described at <ulink url=\"&url-release-wb;\"/>."
6996 msgstr ""
6997
6998 #. type: Content of: <chapter><section><section><title>
6999 #: pkgs.dbk:1824
7000 msgid "When your package is <emphasis>not</emphasis> portable"
7001 msgstr ""
7002
7003 #. type: Content of: <chapter><section><section><para>
7004 #: pkgs.dbk:1826
7005 msgid ""
7006 "Some packages still have issues with building and/or working on some of the "
7007 "architectures supported by Debian, and cannot be ported at all, or not "
7008 "within a reasonable amount of time.  An example is a package that is "
7009 "SVGA-specific (only available for <literal>i386</literal> and "
7010 "<literal>amd64</literal>), or uses other hardware-specific features not "
7011 "supported on all architectures."
7012 msgstr ""
7013
7014 #. type: Content of: <chapter><section><section><para>
7015 #: pkgs.dbk:1833
7016 msgid ""
7017 "In order to prevent broken packages from being uploaded to the archive, and "
7018 "wasting buildd time, you need to do a few things:"
7019 msgstr ""
7020
7021 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7022 #: pkgs.dbk:1839
7023 msgid ""
7024 "First, make sure your package <emphasis>does</emphasis> fail to build on "
7025 "architectures that it cannot support.  There are a few ways to achieve "
7026 "this.  The preferred way is to have a small testsuite during build time that "
7027 "will test the functionality, and fail if it doesn't work.  This is a good "
7028 "idea anyway, as this will prevent (some) broken uploads on all "
7029 "architectures, and also will allow the package to build as soon as the "
7030 "required functionality is available."
7031 msgstr ""
7032
7033 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7034 #: pkgs.dbk:1847
7035 msgid ""
7036 "Additionally, if you believe the list of supported architectures is pretty "
7037 "constant, you should change <literal>any</literal> to a list of supported "
7038 "architectures in <filename>debian/control</filename>.  This way, the build "
7039 "will fail also, and indicate this to a human reader without actually trying."
7040 msgstr ""
7041
7042 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7043 #: pkgs.dbk:1855
7044 msgid ""
7045 "In order to prevent autobuilders from needlessly trying to build your "
7046 "package, it must be included in <filename>Packages-arch-specific</filename>, "
7047 "a list used by the <command>wanna-build</command> script.  The current "
7048 "version is available as <ulink url=\"&url-buildd-p-a-s;\"/>; please see the "
7049 "top of the file for whom to contact for changes."
7050 msgstr ""
7051
7052 #. type: Content of: <chapter><section><section><para>
7053 #: pkgs.dbk:1864
7054 msgid ""
7055 "Please note that it is insufficient to only add your package to "
7056 "<filename>Packages-arch-specific</filename> without making it fail to build "
7057 "on unsupported architectures: A porter or any other person trying to build "
7058 "your package might accidently upload it without noticing it doesn't work.  "
7059 "If in the past some binary packages were uploaded on unsupported "
7060 "architectures, request their removal by filing a bug against <systemitem "
7061 "role=\"package\">ftp.debian.org</systemitem>."
7062 msgstr ""
7063
7064 #. type: Content of: <chapter><section><section><title>
7065 #: pkgs.dbk:1875
7066 msgid "Marking non-free packages as auto-buildable"
7067 msgstr ""
7068
7069 #. type: Content of: <chapter><section><section><para>
7070 #: pkgs.dbk:1877
7071 msgid ""
7072 "By default packages from the <literal>non-free</literal> section are not "
7073 "built by the autobuilder network (mostly because the license of the packages "
7074 "could disapprove).  To enable a package to be build you need to perform the "
7075 "following steps:"
7076 msgstr ""
7077
7078 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7079 #: pkgs.dbk:1885
7080 msgid ""
7081 "Check whether it is legally allowed and technically possible to auto-build "
7082 "the package;"
7083 msgstr ""
7084
7085 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7086 #: pkgs.dbk:1891
7087 msgid ""
7088 "Add <literal>XS-Autobuild: yes</literal> into the header part of "
7089 "<filename>debian/control</filename>;"
7090 msgstr ""
7091
7092 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7093 #: pkgs.dbk:1897
7094 msgid ""
7095 "Send an email to &email-nonfree-release; and explain why the package can "
7096 "legitimately and technically be auto-built."
7097 msgstr ""
7098
7099 #. type: Content of: <chapter><section><title>
7100 #: pkgs.dbk:1906
7101 msgid "Non-Maintainer Uploads (NMUs)"
7102 msgstr ""
7103
7104 #. type: Content of: <chapter><section><para>
7105 #: pkgs.dbk:1908
7106 msgid ""
7107 "Every package has one or more maintainers. Normally, these are the people "
7108 "who work on and upload new versions of the package. In some situations, it "
7109 "is useful that other developers can upload a new version as well, for "
7110 "example if they want to fix a bug in a package they don't maintain, when the "
7111 "maintainer needs help to respond to issues.  Such uploads are called "
7112 "<emphasis>Non-Maintainer Uploads (NMU)</emphasis>."
7113 msgstr ""
7114
7115 #. type: Content of: <chapter><section><section><title>
7116 #: pkgs.dbk:1917
7117 msgid "When and how to do an NMU"
7118 msgstr ""
7119
7120 #. type: Content of: <chapter><section><section><para>
7121 #: pkgs.dbk:1920
7122 msgid "Before doing an NMU, consider the following questions:"
7123 msgstr ""
7124
7125 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7126 #: pkgs.dbk:1925
7127 msgid ""
7128 "Does your NMU really fix bugs? Fixing cosmetic issues or changing the "
7129 "packaging style in NMUs is discouraged."
7130 msgstr ""
7131
7132 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7133 #: pkgs.dbk:1931
7134 msgid ""
7135 "Did you give enough time to the maintainer? When was the bug reported to the "
7136 "BTS? Being busy for a week or two isn't unusual.  Is the bug so severe that "
7137 "it needs to be fixed right now, or can it wait a few more days?"
7138 msgstr ""
7139
7140 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7141 #: pkgs.dbk:1938
7142 msgid ""
7143 "How confident are you about your changes? Please remember the Hippocratic "
7144 "Oath: \"Above all, do no harm.\" It is better to leave a package with an "
7145 "open grave bug than applying a non-functional patch, or one that hides the "
7146 "bug instead of resolving it. If you are not 100% sure of what you did, it "
7147 "might be a good idea to seek advice from others. Remember that if you break "
7148 "something in your NMU, many people will be very unhappy about it."
7149 msgstr ""
7150
7151 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7152 #: pkgs.dbk:1948
7153 msgid ""
7154 "Have you clearly expressed your intention to NMU, at least in the BTS? It is "
7155 "also a good idea to try to contact the maintainer by other means (private "
7156 "email, IRC)."
7157 msgstr ""
7158
7159 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7160 #: pkgs.dbk:1955
7161 msgid ""
7162 "If the maintainer is usually active and responsive, have you tried to "
7163 "contact him? In general it should be considered preferable that a maintainer "
7164 "takes care of an issue himself and that he is given the chance to review and "
7165 "correct your patch, because he can be expected to be more aware of potential "
7166 "issues which an NMUer might miss. It is often a better use of everyone's "
7167 "time if the maintainer is given an opportunity to upload a fix on their own."
7168 msgstr ""
7169
7170 #. type: Content of: <chapter><section><section><para>
7171 #: pkgs.dbk:1965
7172 msgid ""
7173 "When doing an NMU, you must first make sure that your intention to NMU is "
7174 "clear.  Then, you must send a patch with the differences between the current "
7175 "package and your proposed NMU to the BTS. The <command>nmudiff</command> "
7176 "script in the <systemitem role=\"package\">devscripts</systemitem> package "
7177 "might be helpful."
7178 msgstr ""
7179
7180 #. type: Content of: <chapter><section><section><para>
7181 #: pkgs.dbk:1972
7182 msgid ""
7183 "While preparing the patch, you should better be aware of any "
7184 "package-specific practices that the maintainer might be using. Taking them "
7185 "into account reduces the burden of integrating your changes into the normal "
7186 "package workflow and thus increases the chances that integration will "
7187 "happen. A good place where to look for for possible package-specific "
7188 "practices is <ulink "
7189 "url=\"&url-debian-policy;ch-source.html#s-readmesource\"><filename>debian/README.source</filename></ulink>."
7190 msgstr ""
7191
7192 #. type: Content of: <chapter><section><section><para>
7193 #: pkgs.dbk:1980
7194 msgid ""
7195 "Unless you have an excellent reason not to do so, you must then give some "
7196 "time to the maintainer to react (for example, by uploading to the "
7197 "<literal>DELAYED</literal> queue).  Here are some recommended values to use "
7198 "for delays:"
7199 msgstr ""
7200
7201 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7202 #: pkgs.dbk:1987
7203 msgid ""
7204 "Upload fixing only release-critical bugs older than 7 days, with no "
7205 "maintainer activity on the bug for 7 days and no indication that a fix is in "
7206 "progress: 0 days"
7207 msgstr ""
7208
7209 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7210 #: pkgs.dbk:1992
7211 msgid "Upload fixing only release-critical bugs older than 7 days: 2 days"
7212 msgstr ""
7213
7214 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7215 #: pkgs.dbk:1997
7216 msgid "Upload fixing only release-critical and important bugs: 5 days"
7217 msgstr ""
7218
7219 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7220 #: pkgs.dbk:2002
7221 msgid "Other NMUs: 10 days"
7222 msgstr ""
7223
7224 #. type: Content of: <chapter><section><section><para>
7225 #: pkgs.dbk:2008
7226 msgid ""
7227 "Those delays are only examples. In some cases, such as uploads fixing "
7228 "security issues, or fixes for trivial bugs that blocking a transition, it is "
7229 "desirable that the fixed package reaches <literal>unstable</literal> sooner."
7230 msgstr ""
7231
7232 #. type: Content of: <chapter><section><section><para>
7233 #: pkgs.dbk:2014
7234 msgid ""
7235 "Sometimes, release managers decide to allow NMUs with shorter delays for a "
7236 "subset of bugs (e.g release-critical bugs older than 7 days). Also, some "
7237 "maintainers list themselves in the <ulink "
7238 "url=\"&url-low-threshold-nmu;\">Low Threshold NMU list</ulink>, and accept "
7239 "that NMUs are uploaded without delay. But even in those cases, it's still a "
7240 "good idea to give the maintainer a few days to react before you upload, "
7241 "especially if the patch wasn't available in the BTS before, or if you know "
7242 "that the maintainer is generally active."
7243 msgstr ""
7244
7245 #. type: Content of: <chapter><section><section><para>
7246 #: pkgs.dbk:2024
7247 msgid ""
7248 "After you upload an NMU, you are responsible for the possible problems that "
7249 "you might have introduced. You must keep an eye on the package (subscribing "
7250 "to the package on the PTS is a good way to achieve this)."
7251 msgstr ""
7252
7253 #. type: Content of: <chapter><section><section><para>
7254 #: pkgs.dbk:2030
7255 msgid ""
7256 "This is not a license to perform NMUs thoughtlessly.  If you NMU when it is "
7257 "clear that the maintainers are active and would have acknowledged a patch in "
7258 "a timely manner, or if you ignore the recommendations of this document, your "
7259 "upload might be a cause of conflict with the maintainer.  You should always "
7260 "be prepared to defend the wisdom of any NMU you perform on its own merits."
7261 msgstr ""
7262
7263 #. type: Content of: <chapter><section><section><title>
7264 #: pkgs.dbk:2040
7265 msgid "NMUs and <filename>debian/changelog</filename>"
7266 msgstr ""
7267
7268 #. type: Content of: <chapter><section><section><para>
7269 #: pkgs.dbk:2042
7270 msgid ""
7271 "Just like any other (source) upload, NMUs must add an entry to "
7272 "<filename>debian/changelog</filename>, telling what has changed with this "
7273 "upload.  The first line of this entry must explicitely mention that this "
7274 "upload is an NMU, e.g.:"
7275 msgstr ""
7276
7277 #. type: Content of: <chapter><section><section><screen>
7278 #: pkgs.dbk:2047
7279 #, no-wrap
7280 msgid "  * Non-maintainer upload.\n"
7281 msgstr ""
7282
7283 #. type: Content of: <chapter><section><section><para>
7284 #: pkgs.dbk:2051
7285 msgid "The way to version NMUs differs for native and non-native packages."
7286 msgstr ""
7287
7288 #. type: Content of: <chapter><section><section><para>
7289 #: pkgs.dbk:2054
7290 msgid ""
7291 "If the package is a native package (without a Debian revision in the version "
7292 "number), the version must be the version of the last maintainer upload, plus "
7293 "<literal>+nmu<replaceable>X</replaceable></literal>, where "
7294 "<replaceable>X</replaceable> is a counter starting at <literal>1</literal>.  "
7295 "If the last upload was also an NMU, the counter should be increased.  For "
7296 "example, if the current version is <literal>1.5</literal>, then an NMU would "
7297 "get version <literal>1.5+nmu1</literal>."
7298 msgstr ""
7299
7300 #. type: Content of: <chapter><section><section><para>
7301 #: pkgs.dbk:2064
7302 msgid ""
7303 "If the package is not a native package, you should add a minor version "
7304 "number to the Debian revision part of the version number (the portion after "
7305 "the last hyphen). This extra number must start at <literal>1</literal>.  For "
7306 "example, if the current version is <literal>1.5-2</literal>, then an NMU "
7307 "would get version <literal>1.5-2.1</literal>. If a new upstream version is "
7308 "packaged in the NMU, the Debian revision is set to <literal>0</literal>, for "
7309 "example <literal>1.6-0.1</literal>."
7310 msgstr ""
7311
7312 #. type: Content of: <chapter><section><section><para>
7313 #: pkgs.dbk:2073
7314 msgid ""
7315 "In both cases, if the last upload was also an NMU, the counter should be "
7316 "increased. For example, if the current version is "
7317 "<literal>1.5+nmu3</literal> (a native package which has already been NMUed), "
7318 "the NMU would get version <literal>1.5+nmu4</literal>."
7319 msgstr ""
7320
7321 #. type: Content of: <chapter><section><section><para>
7322 #: pkgs.dbk:2079
7323 msgid ""
7324 "A special versioning scheme is needed to avoid disrupting the maintainer's "
7325 "work, since using an integer for the Debian revision will potentially "
7326 "conflict with a maintainer upload already in preparation at the time of an "
7327 "NMU, or even one sitting in the ftp NEW queue.  It also has the benefit of "
7328 "making it visually clear that a package in the archive was not made by the "
7329 "official maintainer."
7330 msgstr ""
7331
7332 #. type: Content of: <chapter><section><section><para>
7333 #: pkgs.dbk:2089
7334 msgid ""
7335 "If you upload a package to testing or stable, you sometimes need to \"fork\" "
7336 "the version number tree. This is the case for security uploads, for "
7337 "example.  For this, a version of the form "
7338 "<literal>+deb<replaceable>XY</replaceable>u<replaceable>Z</replaceable></literal> "
7339 "should be used, where <replaceable>X</replaceable> and "
7340 "<replaceable>Y</replaceable> are the major and minor release numbers, and "
7341 "<replaceable>Z</replaceable> is a counter starting at <literal>1</literal>.  "
7342 "When the release number is not yet known (often the case for "
7343 "<literal>testing</literal>, at the beginning of release cycles), the lowest "
7344 "release number higher than the last stable release number must be used.  For "
7345 "example, while Lenny (Debian 5.0) is stable, a security NMU to stable for a "
7346 "package at version <literal>1.5-3</literal> would have version "
7347 "<literal>1.5-3+deb50u1</literal>, whereas a security NMU to Squeeze would "
7348 "get version <literal>1.5-3+deb60u1</literal>. After the release of Squeeze, "
7349 "security uploads to the <literal>testing</literal> distribution will be "
7350 "versioned <literal>+deb61uZ</literal>, until it is known whether that "
7351 "release will be Debian 6.1 or Debian 7.0 (if that becomes the case, uploads "
7352 "will be versioned as <literal>+deb70uZ</literal>)."
7353 msgstr ""
7354
7355 #. type: Content of: <chapter><section><section><title>
7356 #: pkgs.dbk:2111
7357 msgid "Using the <literal>DELAYED/</literal> queue"
7358 msgstr ""
7359
7360 #. type: Content of: <chapter><section><section><para>
7361 #: pkgs.dbk:2114
7362 msgid ""
7363 "Having to wait for a response after you request permission to NMU is "
7364 "inefficient, because it costs the NMUer a context switch to come back to the "
7365 "issue.  The <literal>DELAYED</literal> queue (see <xref "
7366 "linkend=\"delayed-incoming\"/>)  allows the developer doing the NMU to "
7367 "perform all the necessary tasks at the same time. For instance, instead of "
7368 "telling the maintainer that you will upload the updated package in 7 days, "
7369 "you should upload the package to <literal>DELAYED/7</literal> and tell the "
7370 "maintainer that he has 7 days to react.  During this time, the maintainer "
7371 "can ask you to delay the upload some more, or cancel your upload."
7372 msgstr ""
7373
7374 #. type: Content of: <chapter><section><section><para>
7375 #: pkgs.dbk:2128
7376 msgid ""
7377 "The <literal>DELAYED</literal> queue should not be used to put additional "
7378 "pressure on the maintainer. In particular, it's important that you are "
7379 "available to cancel or delay the upload before the delay expires since the "
7380 "maintainer cannot cancel the upload himself."
7381 msgstr ""
7382
7383 #. type: Content of: <chapter><section><section><para>
7384 #: pkgs.dbk:2135
7385 msgid ""
7386 "If you make an NMU to <literal>DELAYED</literal> and the maintainer updates "
7387 "his package before the delay expires, your upload will be rejected because a "
7388 "newer version is already available in the archive.  Ideally, the maintainer "
7389 "will take care to include your proposed changes (or at least a solution for "
7390 "the problems they address) in that upload."
7391 msgstr ""
7392
7393 #. type: Content of: <chapter><section><section><title>
7394 #: pkgs.dbk:2145
7395 msgid "NMUs from the maintainer's point of view"
7396 msgstr ""
7397
7398 #. type: Content of: <chapter><section><section><para>
7399 #: pkgs.dbk:2148
7400 msgid ""
7401 "When someone NMUs your package, this means they want to help you to keep it "
7402 "in good shape.  This gives users fixed packages faster.  You can consider "
7403 "asking the NMUer to become a co-maintainer of the package.  Receiving an NMU "
7404 "on a package is not a bad thing; it just means that the package is "
7405 "interesting enough for other people to work on it."
7406 msgstr ""
7407
7408 #. type: Content of: <chapter><section><section><para>
7409 #: pkgs.dbk:2157
7410 msgid ""
7411 "To acknowledge an NMU, include its changes and changelog entry in your next "
7412 "maintainer upload.  If you do not acknowledge the NMU by including the NMU "
7413 "changelog entry in your changelog, the bugs will remain closed in the BTS "
7414 "but will be listed as affecting your maintainer version of the package."
7415 msgstr ""
7416
7417 #. type: Content of: <chapter><section><section><title>
7418 #: pkgs.dbk:2166
7419 msgid "Source NMUs vs Binary-only NMUs (binNMUs)"
7420 msgstr ""
7421
7422 #. type: Content of: <chapter><section><section><para>
7423 #: pkgs.dbk:2169
7424 msgid ""
7425 "The full name of an NMU is <emphasis>source NMU</emphasis>.  There is also "
7426 "another type, namely the <emphasis>binary-only NMU</emphasis>, or "
7427 "<emphasis>binNMU</emphasis>.  A binNMU is also a package upload by someone "
7428 "other than the package's maintainer.  However, it is a binary-only upload."
7429 msgstr ""
7430
7431 #. type: Content of: <chapter><section><section><para>
7432 #: pkgs.dbk:2176
7433 msgid ""
7434 "When a library (or other dependency) is updated, the packages using it may "
7435 "need to be rebuilt.  Since no changes to the source are needed, the same "
7436 "source package is used."
7437 msgstr ""
7438
7439 #. type: Content of: <chapter><section><section><para>
7440 #: pkgs.dbk:2182
7441 msgid ""
7442 "BinNMUs are usually triggered on the buildds by wanna-build.  An entry is "
7443 "added to <filename>debian/changelog</filename>, explaining why the upload "
7444 "was needed and increasing the version number as described in <xref "
7445 "linkend=\"binary-only-nmu\"/>.  This entry should not be included in the "
7446 "next upload."
7447 msgstr ""
7448
7449 #. type: Content of: <chapter><section><section><para>
7450 #: pkgs.dbk:2190
7451 msgid ""
7452 "Buildds upload packages for their architecture to the archive as binary-only "
7453 "uploads.  Strictly speaking, these are binNMUs.  However, they are not "
7454 "normally called NMU, and they don't add an entry to "
7455 "<filename>debian/changelog</filename>."
7456 msgstr ""
7457
7458 #. type: Content of: <chapter><section><section><title>
7459 #: pkgs.dbk:2198
7460 msgid "NMUs vs QA uploads"
7461 msgstr ""
7462
7463 #. type: Content of: <chapter><section><section><para>
7464 #: pkgs.dbk:2201
7465 msgid ""
7466 "NMUs are uploads of packages by somebody else than their assigned "
7467 "maintainer.  There is another type of upload where the uploaded package is "
7468 "not yours: QA uploads. QA uploads are uploads of orphaned packages."
7469 msgstr ""
7470
7471 #. type: Content of: <chapter><section><section><para>
7472 #: pkgs.dbk:2208
7473 msgid ""
7474 "QA uploads are very much like normal maintainer uploads: they may fix "
7475 "anything, even minor issues; the version numbering is normal, and there is "
7476 "no need to use a delayed upload.  The difference is that you are not listed "
7477 "as the <literal>Maintainer</literal> or <literal>Uploader</literal> for the "
7478 "package.  Also, the changelog entry of a QA upload has a special first line:"
7479 msgstr ""
7480
7481 #. type: Content of: <chapter><section><section><screen>
7482 #: pkgs.dbk:2216
7483 #, no-wrap
7484 msgid " * QA upload.\n"
7485 msgstr ""
7486
7487 #. type: Content of: <chapter><section><section><para>
7488 #: pkgs.dbk:2220
7489 msgid ""
7490 "If you want to do an NMU, and it seems that the maintainer is not active, it "
7491 "is wise to check if the package is orphaned (this information is displayed "
7492 "on the package's Package Tracking System page).  When doing the first QA "
7493 "upload to an orphaned package, the maintainer should be set to "
7494 "<literal>Debian QA Group &lt;packages@qa.debian.org&gt;</literal>.  Orphaned "
7495 "packages which did not yet have a QA upload still have their old maintainer "
7496 "set.  There is a list of them at <ulink url=\"&url-orphaned-not-qa;\"/>."
7497 msgstr ""
7498
7499 #. type: Content of: <chapter><section><section><para>
7500 #: pkgs.dbk:2231
7501 msgid ""
7502 "Instead of doing a QA upload, you can also consider adopting the package by "
7503 "making yourself the maintainer.  You don't need permission from anybody to "
7504 "adopt an orphaned package, you can just set yourself as maintainer and "
7505 "upload the new version (see <xref linkend=\"adopting\"/>)."
7506 msgstr ""
7507
7508 #. type: Content of: <chapter><section><section><title>
7509 #: pkgs.dbk:2240
7510 msgid "NMUs vs team uploads"
7511 msgstr ""
7512
7513 #. type: Content of: <chapter><section><section><para>
7514 #: pkgs.dbk:2243
7515 msgid ""
7516 "Sometimes you are fixing and/or updating a package because you are member of "
7517 "a packaging team (which uses a mailing list as <literal>Maintainer</literal> "
7518 "or <literal>Uploader</literal>, see <xref linkend=\"collaborative-maint\"/>) "
7519 "but you don't want to add yourself to <literal>Uploaders</literal> because "
7520 "you do not plan to contribute regularly to this specific package. If it "
7521 "conforms with your team's policy, you can perform a normal upload without "
7522 "being listed directly as <literal>Maintainer</literal> or "
7523 "<literal>Uploader</literal>. In that case, you should start your changelog "
7524 "entry with the following line:"
7525 msgstr ""
7526
7527 #. type: Content of: <chapter><section><section><screen>
7528 #: pkgs.dbk:2253
7529 #, no-wrap
7530 msgid " * Team upload.\n"
7531 msgstr ""
7532
7533 #. type: Content of: <chapter><section><title>
7534 #: pkgs.dbk:2261
7535 msgid "Collaborative maintenance"
7536 msgstr ""
7537
7538 #. type: Content of: <chapter><section><para>
7539 #: pkgs.dbk:2263
7540 msgid ""
7541 "Collaborative maintenance is a term describing the sharing of Debian package "
7542 "maintenance duties by several people.  This collaboration is almost always a "
7543 "good idea, since it generally results in higher quality and faster bug fix "
7544 "turnaround times.  It is strongly recommended that packages with a priority "
7545 "of <literal>standard</literal> or which are part of the base set have "
7546 "co-maintainers."
7547 msgstr ""
7548
7549 #. type: Content of: <chapter><section><para>
7550 #: pkgs.dbk:2271
7551 msgid ""
7552 "Generally there is a primary maintainer and one or more co-maintainers.  The "
7553 "primary maintainer is the person whose name is listed in the "
7554 "<literal>Maintainer</literal> field of the "
7555 "<filename>debian/control</filename> file.  Co-maintainers are all the other "
7556 "maintainers, usually listed in the <literal>Uploaders</literal> field of the "
7557 "<filename>debian/control</filename> file."
7558 msgstr ""
7559
7560 #. type: Content of: <chapter><section><para>
7561 #: pkgs.dbk:2279
7562 msgid ""
7563 "In its most basic form, the process of adding a new co-maintainer is quite "
7564 "easy:"
7565 msgstr ""
7566
7567 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7568 #: pkgs.dbk:2285
7569 msgid ""
7570 "Setup the co-maintainer with access to the sources you build the package "
7571 "from.  Generally this implies you are using a network-capable version "
7572 "control system, such as <literal>CVS</literal> or "
7573 "<literal>Subversion</literal>.  Alioth (see <xref linkend=\"alioth\"/>) "
7574 "provides such tools, amongst others."
7575 msgstr ""
7576
7577 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7578 #: pkgs.dbk:2293
7579 msgid ""
7580 "Add the co-maintainer's correct maintainer name and address to the "
7581 "<literal>Uploaders</literal> field in the first paragraph of the "
7582 "<filename>debian/control</filename> file."
7583 msgstr ""
7584
7585 #. type: Content of: <chapter><section><itemizedlist><listitem><screen>
7586 #: pkgs.dbk:2298
7587 #, no-wrap
7588 msgid ""
7589 "Uploaders: John Buzz &lt;jbuzz@debian.org&gt;, Adam Rex "
7590 "&lt;arex@debian.org&gt;\n"
7591 msgstr ""
7592
7593 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7594 #: pkgs.dbk:2303
7595 msgid ""
7596 "Using the PTS (<xref linkend=\"pkg-tracking-system\"/>), the co-maintainers "
7597 "should subscribe themselves to the appropriate source package."
7598 msgstr ""
7599
7600 #. type: Content of: <chapter><section><para>
7601 #: pkgs.dbk:2309
7602 msgid ""
7603 "Another form of collaborative maintenance is team maintenance, which is "
7604 "recommended if you maintain several packages with the same group of "
7605 "developers.  In that case, the <literal>Maintainer</literal> and "
7606 "<literal>Uploaders</literal> field of each package must be managed with "
7607 "care.  It is recommended to choose between one of the two following schemes:"
7608 msgstr ""
7609
7610 #. type: Content of: <chapter><section><orderedlist><listitem><para>
7611 #: pkgs.dbk:2318
7612 msgid ""
7613 "Put the team member mainly responsible for the package in the "
7614 "<literal>Maintainer</literal> field.  In the <literal>Uploaders</literal>, "
7615 "put the mailing list address, and the team members who care for the package."
7616 msgstr ""
7617
7618 #. type: Content of: <chapter><section><orderedlist><listitem><para>
7619 #: pkgs.dbk:2325
7620 msgid ""
7621 "Put the mailing list address in the <literal>Maintainer</literal> field.  In "
7622 "the <literal>Uploaders</literal> field, put the team members who care for "
7623 "the package.  In this case, you must make sure the mailing list accept bug "
7624 "reports without any human interaction (like moderation for non-subscribers)."
7625 msgstr ""
7626
7627 #. type: Content of: <chapter><section><para>
7628 #: pkgs.dbk:2334
7629 msgid ""
7630 "In any case, it is a bad idea to automatically put all team members in the "
7631 "<literal>Uploaders</literal> field. It clutters the Developer's Package "
7632 "Overview listing (see <xref linkend=\"ddpo\"/>) with packages one doesn't "
7633 "really care for, and creates a false sense of good maintenance. For the same "
7634 "reason, team members do not need to add themselves to the "
7635 "<literal>Uploaders</literal> field just because they are uploading the "
7636 "package once, they can do a “Team upload” (see <xref "
7637 "linkend=\"nmu-team-upload\"/>). Conversely, it is a bad idea to keep a "
7638 "package with only the mailing list address as a "
7639 "<literal>Maintainer</literal> and no <literal>Uploaders</literal>."
7640 msgstr ""
7641
7642 #. type: Content of: <chapter><section><title>
7643 #: pkgs.dbk:2347
7644 msgid "The testing distribution"
7645 msgstr ""
7646
7647 #. type: Content of: <chapter><section><section><title>
7648 #: pkgs.dbk:2349
7649 msgid "Basics"
7650 msgstr ""
7651
7652 #. type: Content of: <chapter><section><section><para>
7653 #: pkgs.dbk:2351
7654 msgid ""
7655 "Packages are usually installed into the <literal>testing</literal> "
7656 "distribution after they have undergone some degree of "
7657 "<literal>testing</literal> in <literal>unstable</literal>."
7658 msgstr ""
7659
7660 #. type: Content of: <chapter><section><section><para>
7661 #: pkgs.dbk:2356
7662 msgid ""
7663 "They must be in sync on all architectures and mustn't have dependencies that "
7664 "make them uninstallable; they also have to have generally no known "
7665 "release-critical bugs at the time they're installed into "
7666 "<literal>testing</literal>.  This way, <literal>testing</literal> should "
7667 "always be close to being a release candidate.  Please see below for details."
7668 msgstr ""
7669
7670 #. type: Content of: <chapter><section><section><title>
7671 #: pkgs.dbk:2365
7672 msgid "Updates from unstable"
7673 msgstr ""
7674
7675 #. type: Content of: <chapter><section><section><para>
7676 #: pkgs.dbk:2367
7677 msgid ""
7678 "The scripts that update the <literal>testing</literal> distribution are run "
7679 "twice each day, right after the installation of the updated packages; these "
7680 "scripts are called <literal>britney</literal>.  They generate the "
7681 "<filename>Packages</filename> files for the <literal>testing</literal> "
7682 "distribution, but they do so in an intelligent manner; they try to avoid any "
7683 "inconsistency and to use only non-buggy packages."
7684 msgstr ""
7685
7686 #. type: Content of: <chapter><section><section><para>
7687 #: pkgs.dbk:2375
7688 msgid ""
7689 "The inclusion of a package from <literal>unstable</literal> is conditional "
7690 "on the following:"
7691 msgstr ""
7692
7693 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7694 #: pkgs.dbk:2381
7695 msgid ""
7696 "The package must have been available in <literal>unstable</literal> for 2, 5 "
7697 "or 10 days, depending on the urgency (high, medium or low).  Please note "
7698 "that the urgency is sticky, meaning that the highest urgency uploaded since "
7699 "the previous <literal>testing</literal> transition is taken into account.  "
7700 "Those delays may be doubled during a freeze, or <literal>testing</literal> "
7701 "transitions may be switched off altogether;"
7702 msgstr ""
7703
7704 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7705 #: pkgs.dbk:2391
7706 msgid ""
7707 "It must not have new release-critical bugs (RC bugs affecting the version "
7708 "available in <literal>unstable</literal>, but not affecting the version in "
7709 "<literal>testing</literal>);"
7710 msgstr ""
7711
7712 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7713 #: pkgs.dbk:2398
7714 msgid ""
7715 "It must be available on all architectures on which it has previously been "
7716 "built in <literal>unstable</literal>. <link linkend=\"dak-ls\">dak ls</link> "
7717 "may be of interest to check that information;"
7718 msgstr ""
7719
7720 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7721 #: pkgs.dbk:2405
7722 msgid ""
7723 "It must not break any dependency of a package which is already available in "
7724 "<literal>testing</literal>;"
7725 msgstr ""
7726
7727 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7728 #: pkgs.dbk:2411
7729 msgid ""
7730 "The packages on which it depends must either be available in "
7731 "<literal>testing</literal> or they must be accepted into "
7732 "<literal>testing</literal> at the same time (and they will be if they "
7733 "fulfill all the necessary criteria)."
7734 msgstr ""
7735
7736 #. type: Content of: <chapter><section><section><para>
7737 #: pkgs.dbk:2419
7738 msgid ""
7739 "To find out whether a package is progressing into <literal>testing</literal> "
7740 "or not, see the <literal>testing</literal> script output on the <ulink "
7741 "url=\"&url-testing-maint;\">web page of the testing distribution</ulink>, or "
7742 "use the program <command>grep-excuses</command> which is in the <systemitem "
7743 "role=\"package\">devscripts</systemitem> package.  This utility can easily "
7744 "be used in a <citerefentry> <refentrytitle>crontab</refentrytitle> "
7745 "<manvolnum>5</manvolnum> </citerefentry> to keep yourself informed of the "
7746 "progression of your packages into <literal>testing</literal>."
7747 msgstr ""
7748
7749 #. type: Content of: <chapter><section><section><para>
7750 #: pkgs.dbk:2430
7751 msgid ""
7752 "The <filename>update_excuses</filename> file does not always give the "
7753 "precise reason why the package is refused; you may have to find it on your "
7754 "own by looking for what would break with the inclusion of the package.  The "
7755 "<ulink url=\"&url-testing-maint;\">testing web page</ulink> gives some more "
7756 "information about the usual problems which may be causing such troubles."
7757 msgstr ""
7758
7759 #. type: Content of: <chapter><section><section><para>
7760 #: pkgs.dbk:2437
7761 msgid ""
7762 "Sometimes, some packages never enter <literal>testing</literal> because the "
7763 "set of interrelationship is too complicated and cannot be sorted out by the "
7764 "scripts.  See below for details."
7765 msgstr ""
7766
7767 #. type: Content of: <chapter><section><section><para>
7768 #: pkgs.dbk:2442
7769 msgid ""
7770 "Some further dependency analysis is shown on <ulink "
7771 "url=\"http://release.debian.org/migration/\"></ulink> — but be warned, this "
7772 "page also shows build dependencies which are not considered by britney."
7773 msgstr ""
7774
7775 #. type: Content of: <chapter><section><section><section><title>
7776 #: pkgs.dbk:2447
7777 msgid "Out-of-date"
7778 msgstr ""
7779
7780 #.  FIXME: better rename this file than document rampant professionalism? 
7781 #. type: Content of: <chapter><section><section><section><para>
7782 #: pkgs.dbk:2450
7783 msgid ""
7784 "For the <literal>testing</literal> migration script, outdated means: There "
7785 "are different versions in <literal>unstable</literal> for the release "
7786 "architectures (except for the architectures in fuckedarches; fuckedarches is "
7787 "a list of architectures that don't keep up (in "
7788 "<filename>update_out.py</filename>), but currently, it's empty).  outdated "
7789 "has nothing whatsoever to do with the architectures this package has in "
7790 "<literal>testing</literal>."
7791 msgstr ""
7792
7793 #. type: Content of: <chapter><section><section><section><para>
7794 #: pkgs.dbk:2458
7795 msgid "Consider this example:"
7796 msgstr ""
7797
7798 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7799 #: pkgs.dbk:2465 pkgs.dbk:2498
7800 msgid "alpha"
7801 msgstr ""
7802
7803 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7804 #: pkgs.dbk:2466 pkgs.dbk:2499
7805 msgid "arm"
7806 msgstr ""
7807
7808 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7809 #: pkgs.dbk:2471 pkgs.dbk:2505 pkgs.dbk:2567
7810 msgid "testing"
7811 msgstr ""
7812
7813 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7814 #: pkgs.dbk:2472 pkgs.dbk:2477 pkgs.dbk:2506 pkgs.dbk:2507 pkgs.dbk:2514
7815 msgid "1"
7816 msgstr ""
7817
7818 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7819 #: pkgs.dbk:2473 pkgs.dbk:2508 pkgs.dbk:2513
7820 msgid "-"
7821 msgstr ""
7822
7823 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7824 #: pkgs.dbk:2476 pkgs.dbk:2511 pkgs.dbk:2568
7825 msgid "unstable"
7826 msgstr ""
7827
7828 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7829 #: pkgs.dbk:2478 pkgs.dbk:2512
7830 msgid "2"
7831 msgstr ""
7832
7833 #. type: Content of: <chapter><section><section><section><para>
7834 #: pkgs.dbk:2484
7835 msgid ""
7836 "The package is out of date on <literal>alpha</literal> in "
7837 "<literal>unstable</literal>, and will not go to "
7838 "<literal>testing</literal>. Removing the package would not help at all, the "
7839 "package is still out of date on <literal>alpha</literal>, and will not "
7840 "propagate to <literal>testing</literal>."
7841 msgstr ""
7842
7843 #. type: Content of: <chapter><section><section><section><para>
7844 #: pkgs.dbk:2490
7845 msgid ""
7846 "However, if ftp-master removes a package in <literal>unstable</literal> "
7847 "(here on <literal>arm</literal>):"
7848 msgstr ""
7849
7850 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7851 #: pkgs.dbk:2500
7852 msgid "hurd-i386"
7853 msgstr ""
7854
7855 #. type: Content of: <chapter><section><section><section><para>
7856 #: pkgs.dbk:2520
7857 msgid ""
7858 "In this case, the package is up to date on all release architectures in "
7859 "<literal>unstable</literal> (and the extra <literal>hurd-i386</literal> "
7860 "doesn't matter, as it's not a release architecture)."
7861 msgstr ""
7862
7863 #. type: Content of: <chapter><section><section><section><para>
7864 #: pkgs.dbk:2525
7865 msgid ""
7866 "Sometimes, the question is raised if it is possible to allow packages in "
7867 "that are not yet built on all architectures: No.  Just plainly no.  (Except "
7868 "if you maintain glibc or so.)"
7869 msgstr ""
7870
7871 #. type: Content of: <chapter><section><section><section><title>
7872 #: pkgs.dbk:2532
7873 msgid "Removals from testing"
7874 msgstr ""
7875
7876 #. type: Content of: <chapter><section><section><section><para>
7877 #: pkgs.dbk:2534
7878 msgid ""
7879 "Sometimes, a package is removed to allow another package in: This happens "
7880 "only to allow <emphasis>another</emphasis> package to go in if it's ready in "
7881 "every other sense.  Suppose e.g.  that <literal>a</literal> cannot be "
7882 "installed with the new version of <literal>b</literal>; then "
7883 "<literal>a</literal> may be removed to allow <literal>b</literal> in."
7884 msgstr ""
7885
7886 #. type: Content of: <chapter><section><section><section><para>
7887 #: pkgs.dbk:2541
7888 msgid ""
7889 "Of course, there is another reason to remove a package from "
7890 "<literal>testing</literal>: It's just too buggy (and having a single RC-bug "
7891 "is enough to be in this state)."
7892 msgstr ""
7893
7894 #. type: Content of: <chapter><section><section><section><para>
7895 #: pkgs.dbk:2546
7896 msgid ""
7897 "Furthermore, if a package has been removed from <literal>unstable</literal>, "
7898 "and no package in <literal>testing</literal> depends on it any more, then it "
7899 "will automatically be removed."
7900 msgstr ""
7901
7902 #. type: Content of: <chapter><section><section><section><title>
7903 #: pkgs.dbk:2553
7904 msgid "Circular dependencies"
7905 msgstr ""
7906
7907 #. type: Content of: <chapter><section><section><section><para>
7908 #: pkgs.dbk:2555
7909 msgid ""
7910 "A situation which is not handled very well by britney is if package "
7911 "<literal>a</literal> depends on the new version of package "
7912 "<literal>b</literal>, and vice versa."
7913 msgstr ""
7914
7915 #. type: Content of: <chapter><section><section><section><para>
7916 #: pkgs.dbk:2560
7917 msgid "An example of this is:"
7918 msgstr ""
7919
7920 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7921 #: pkgs.dbk:2573
7922 msgid "a"
7923 msgstr ""
7924
7925 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7926 #: pkgs.dbk:2574
7927 msgid "1; depends: b=1"
7928 msgstr ""
7929
7930 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7931 #: pkgs.dbk:2575
7932 msgid "2; depends: b=2"
7933 msgstr ""
7934
7935 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7936 #: pkgs.dbk:2578
7937 msgid "b"
7938 msgstr ""
7939
7940 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7941 #: pkgs.dbk:2579
7942 msgid "1; depends: a=1"
7943 msgstr ""
7944
7945 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7946 #: pkgs.dbk:2580
7947 msgid "2; depends: a=2"
7948 msgstr ""
7949
7950 #. type: Content of: <chapter><section><section><section><para>
7951 #: pkgs.dbk:2586
7952 msgid ""
7953 "Neither package <literal>a</literal> nor package <literal>b</literal> is "
7954 "considered for update."
7955 msgstr ""
7956
7957 #. type: Content of: <chapter><section><section><section><para>
7958 #: pkgs.dbk:2590
7959 msgid ""
7960 "Currently, this requires some manual hinting from the release team.  Please "
7961 "contact them by sending mail to &email-debian-release; if this happens to "
7962 "one of your packages."
7963 msgstr ""
7964
7965 #. type: Content of: <chapter><section><section><section><title>
7966 #: pkgs.dbk:2597
7967 msgid "Influence of package in testing"
7968 msgstr ""
7969
7970 #. type: Content of: <chapter><section><section><section><para>
7971 #: pkgs.dbk:2599
7972 msgid ""
7973 "Generally, there is nothing that the status of a package in "
7974 "<literal>testing</literal> means for transition of the next version from "
7975 "<literal>unstable</literal> to <literal>testing</literal>, with two "
7976 "exceptions: If the RC-bugginess of the package goes down, it may go in even "
7977 "if it is still RC-buggy.  The second exception is if the version of the "
7978 "package in <literal>testing</literal> is out of sync on the different "
7979 "arches: Then any arch might just upgrade to the version of the source "
7980 "package; however, this can happen only if the package was previously forced "
7981 "through, the arch is in fuckedarches, or there was no binary package of that "
7982 "arch present in <literal>unstable</literal> at all during the "
7983 "<literal>testing</literal> migration."
7984 msgstr ""
7985
7986 #. type: Content of: <chapter><section><section><section><para>
7987 #: pkgs.dbk:2611
7988 msgid ""
7989 "In summary this means: The only influence that a package being in "
7990 "<literal>testing</literal> has on a new version of the same package is that "
7991 "the new version might go in easier."
7992 msgstr ""
7993
7994 #. type: Content of: <chapter><section><section><section><title>
7995 #: pkgs.dbk:2618
7996 msgid "Details"
7997 msgstr ""
7998
7999 #. type: Content of: <chapter><section><section><section><para>
8000 #: pkgs.dbk:2620
8001 msgid "If you are interested in details, this is how britney works:"
8002 msgstr ""
8003
8004 #. type: Content of: <chapter><section><section><section><para>
8005 #: pkgs.dbk:2623
8006 msgid ""
8007 "The packages are looked at to determine whether they are valid candidates.  "
8008 "This gives the update excuses.  The most common reasons why a package is not "
8009 "considered are too young, RC-bugginess, and out of date on some arches.  For "
8010 "this part of britney, the release managers have hammers of various sizes to "
8011 "force britney to consider a package.  (Also, the base freeze is coded in "
8012 "that part of britney.) (There is a similar thing for binary-only updates, "
8013 "but this is not described here.  If you're interested in that, please peruse "
8014 "the code.)"
8015 msgstr ""
8016
8017 #. type: Content of: <chapter><section><section><section><para>
8018 #: pkgs.dbk:2632
8019 msgid ""
8020 "Now, the more complex part happens: Britney tries to update "
8021 "<literal>testing</literal> with the valid candidates. For that, britney "
8022 "tries to add each valid candidate to the testing distribution. If the number "
8023 "of uninstallable packages in <literal>testing</literal> doesn't increase, "
8024 "the package is accepted. From that point on, the accepted package is "
8025 "considered to be part of <literal>testing</literal>, such that all "
8026 "subsequent installability tests include this package.  Hints from the "
8027 "release team are processed before or after this main run, depending on the "
8028 "exact type."
8029 msgstr ""
8030
8031 #. type: Content of: <chapter><section><section><section><para>
8032 #: pkgs.dbk:2642
8033 msgid ""
8034 "If you want to see more details, you can look it up on <ulink "
8035 "url=\"http://&ftp-master-host;/testing/update_output/\"></ulink>."
8036 msgstr ""
8037
8038 #. type: Content of: <chapter><section><section><section><para>
8039 #: pkgs.dbk:2646
8040 msgid ""
8041 "The hints are available via <ulink "
8042 "url=\"http://&ftp-master-host;/testing/hints/\"></ulink>."
8043 msgstr ""
8044
8045 #. type: Content of: <chapter><section><section><title>
8046 #: pkgs.dbk:2654
8047 msgid "Direct updates to testing"
8048 msgstr ""
8049
8050 #. type: Content of: <chapter><section><section><para>
8051 #: pkgs.dbk:2656
8052 msgid ""
8053 "The <literal>testing</literal> distribution is fed with packages from "
8054 "<literal>unstable</literal> according to the rules explained above.  "
8055 "However, in some cases, it is necessary to upload packages built only for "
8056 "<literal>testing</literal>.  For that, you may want to upload to "
8057 "<literal>testing-proposed-updates</literal>."
8058 msgstr ""
8059
8060 #. type: Content of: <chapter><section><section><para>
8061 #: pkgs.dbk:2663
8062 msgid ""
8063 "Keep in mind that packages uploaded there are not automatically processed, "
8064 "they have to go through the hands of the release manager.  So you'd better "
8065 "have a good reason to upload there.  In order to know what a good reason is "
8066 "in the release managers' eyes, you should read the instructions that they "
8067 "regularly give on &email-debian-devel-announce;."
8068 msgstr ""
8069
8070 #. type: Content of: <chapter><section><section><para>
8071 #: pkgs.dbk:2670
8072 msgid ""
8073 "You should not upload to <literal>testing-proposed-updates</literal> when "
8074 "you can update your packages through <literal>unstable</literal>.  If you "
8075 "can't (for example because you have a newer development version in "
8076 "<literal>unstable</literal>), you may use this facility, but it is "
8077 "recommended that you ask for authorization from the release manager first.  "
8078 "Even if a package is frozen, updates through <literal>unstable</literal> are "
8079 "possible, if the upload via <literal>unstable</literal> does not pull in any "
8080 "new dependencies."
8081 msgstr ""
8082
8083 #. type: Content of: <chapter><section><section><para>
8084 #: pkgs.dbk:2679
8085 msgid ""
8086 "Version numbers are usually selected by adding the codename of the "
8087 "<literal>testing</literal> distribution and a running number, like "
8088 "<literal>1.2squeeze1</literal> for the first upload through "
8089 "<literal>testing-proposed-updates</literal> of package version "
8090 "<literal>1.2</literal>."
8091 msgstr ""
8092
8093 #. type: Content of: <chapter><section><section><para>
8094 #: pkgs.dbk:2686
8095 msgid "Please make sure you didn't miss any of these items in your upload:"
8096 msgstr ""
8097
8098 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8099 #: pkgs.dbk:2691
8100 msgid ""
8101 "Make sure that your package really needs to go through "
8102 "<literal>testing-proposed-updates</literal>, and can't go through "
8103 "<literal>unstable</literal>;"
8104 msgstr ""
8105
8106 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8107 #: pkgs.dbk:2698
8108 msgid "Make sure that you included only the minimal amount of changes;"
8109 msgstr ""
8110
8111 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8112 #: pkgs.dbk:2703
8113 msgid "Make sure that you included an appropriate explanation in the changelog;"
8114 msgstr ""
8115
8116 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8117 #: pkgs.dbk:2708
8118 msgid ""
8119 "Make sure that you've written <literal>testing</literal> or "
8120 "<literal>testing-proposed-updates</literal> into your target distribution;"
8121 msgstr ""
8122
8123 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8124 #: pkgs.dbk:2714
8125 msgid ""
8126 "Make sure that you've built and tested your package in "
8127 "<literal>testing</literal>, not in <literal>unstable</literal>;"
8128 msgstr ""
8129
8130 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8131 #: pkgs.dbk:2720
8132 msgid ""
8133 "Make sure that your version number is higher than the version in "
8134 "<literal>testing</literal> and <literal>testing-proposed-updates</literal>, "
8135 "and lower than in <literal>unstable</literal>;"
8136 msgstr ""
8137
8138 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8139 #: pkgs.dbk:2727
8140 msgid ""
8141 "After uploading and successful build on all platforms, contact the release "
8142 "team at &email-debian-release; and ask them to approve your upload."
8143 msgstr ""
8144
8145 #. type: Content of: <chapter><section><section><title>
8146 #: pkgs.dbk:2735
8147 msgid "Frequently asked questions"
8148 msgstr ""
8149
8150 #. type: Content of: <chapter><section><section><section><title>
8151 #: pkgs.dbk:2737
8152 msgid "What are release-critical bugs, and how do they get counted?"
8153 msgstr ""
8154
8155 #. type: Content of: <chapter><section><section><section><para>
8156 #: pkgs.dbk:2739
8157 msgid ""
8158 "All bugs of some higher severities are by default considered "
8159 "release-critical; currently, these are <literal>critical</literal>, "
8160 "<literal>grave</literal> and <literal>serious</literal> bugs."
8161 msgstr ""
8162
8163 #. type: Content of: <chapter><section><section><section><para>
8164 #: pkgs.dbk:2744
8165 msgid ""
8166 "Such bugs are presumed to have an impact on the chances that the package "
8167 "will be released with the <literal>stable</literal> release of Debian: in "
8168 "general, if a package has open release-critical bugs filed on it, it won't "
8169 "get into <literal>testing</literal>, and consequently won't be released in "
8170 "<literal>stable</literal>."
8171 msgstr ""
8172
8173 #. type: Content of: <chapter><section><section><section><para>
8174 #: pkgs.dbk:2751
8175 msgid ""
8176 "The <literal>unstable</literal> bug count are all release-critical bugs "
8177 "which are marked to apply to "
8178 "<replaceable>package</replaceable>/<replaceable>version</replaceable> "
8179 "combinations that are available in unstable for a release architecture. The "
8180 "<literal>testing</literal> bug count is defined analogously."
8181 msgstr ""
8182
8183 #. type: Content of: <chapter><section><section><section><title>
8184 #: pkgs.dbk:2759
8185 msgid ""
8186 "How could installing a package into <literal>testing</literal> possibly "
8187 "break other packages?"
8188 msgstr ""
8189
8190 #. type: Content of: <chapter><section><section><section><para>
8191 #: pkgs.dbk:2762
8192 msgid ""
8193 "The structure of the distribution archives is such that they can only "
8194 "contain one version of a package; a package is defined by its name.  So when "
8195 "the source package <literal>acmefoo</literal> is installed into "
8196 "<literal>testing</literal>, along with its binary packages "
8197 "<literal>acme-foo-bin</literal>, <literal>acme-bar-bin</literal>, "
8198 "<literal>libacme-foo1</literal> and <literal>libacme-foo-dev</literal>, the "
8199 "old version is removed."
8200 msgstr ""
8201
8202 #. type: Content of: <chapter><section><section><section><para>
8203 #: pkgs.dbk:2770
8204 msgid ""
8205 "However, the old version may have provided a binary package with an old "
8206 "soname of a library, such as <literal>libacme-foo0</literal>.  Removing the "
8207 "old <literal>acmefoo</literal> will remove <literal>libacme-foo0</literal>, "
8208 "which will break any packages which depend on it."
8209 msgstr ""
8210
8211 #. type: Content of: <chapter><section><section><section><para>
8212 #: pkgs.dbk:2776
8213 msgid ""
8214 "Evidently, this mainly affects packages which provide changing sets of "
8215 "binary packages in different versions (in turn, mainly libraries).  However, "
8216 "it will also affect packages upon which versioned dependencies have been "
8217 "declared of the ==, &lt;=, or &lt;&lt; varieties."
8218 msgstr ""
8219
8220 #. type: Content of: <chapter><section><section><section><para>
8221 #: pkgs.dbk:2782
8222 msgid ""
8223 "When the set of binary packages provided by a source package change in this "
8224 "way, all the packages that depended on the old binaries will have to be "
8225 "updated to depend on the new binaries instead.  Because installing such a "
8226 "source package into <literal>testing</literal> breaks all the packages that "
8227 "depended on it in <literal>testing</literal>, some care has to be taken now: "
8228 "all the depending packages must be updated and ready to be installed "
8229 "themselves so that they won't be broken, and, once everything is ready, "
8230 "manual intervention by the release manager or an assistant is normally "
8231 "required."
8232 msgstr ""
8233
8234 #. type: Content of: <chapter><section><section><section><para>
8235 #: pkgs.dbk:2793
8236 msgid ""
8237 "If you are having problems with complicated groups of packages like this, "
8238 "contact &email-debian-devel; or &email-debian-release; for help."
8239 msgstr ""
8240
8241 #. type: Content of: <chapter><title>
8242 #: resources.dbk:7
8243 msgid "Resources for Debian Developers"
8244 msgstr ""
8245
8246 #. type: Content of: <chapter><para>
8247 #: resources.dbk:9
8248 msgid ""
8249 "In this chapter you will find a very brief road map of the Debian mailing "
8250 "lists, the Debian machines which may be available to you as a developer, and "
8251 "all the other resources that are available to help you in your maintainer "
8252 "work."
8253 msgstr ""
8254
8255 #. type: Content of: <chapter><section><title>
8256 #: resources.dbk:14
8257 msgid "Mailing lists"
8258 msgstr ""
8259
8260 #. type: Content of: <chapter><section><para>
8261 #: resources.dbk:16
8262 msgid ""
8263 "Much of the conversation between Debian developers (and users) is managed "
8264 "through a wide array of mailing lists we host at <literal><ulink "
8265 "url=\"http://&lists-host;/\">&lists-host;</ulink></literal>.  To find out "
8266 "more on how to subscribe or unsubscribe, how to post and how not to post, "
8267 "where to find old posts and how to search them, how to contact the list "
8268 "maintainers and see various other information about the mailing lists, "
8269 "please read <ulink url=\"&url-debian-lists;\"></ulink>.  This section will "
8270 "only cover aspects of mailing lists that are of particular interest to "
8271 "developers."
8272 msgstr ""
8273
8274 #. type: Content of: <chapter><section><section><title>
8275 #: resources.dbk:27
8276 msgid "Basic rules for use"
8277 msgstr ""
8278
8279 #. type: Content of: <chapter><section><section><para>
8280 #: resources.dbk:29
8281 msgid ""
8282 "When replying to messages on the mailing list, please do not send a carbon "
8283 "copy (<literal>CC</literal>) to the original poster unless they explicitly "
8284 "request to be copied.  Anyone who posts to a mailing list should read it to "
8285 "see the responses."
8286 msgstr ""
8287
8288 #. type: Content of: <chapter><section><section><para>
8289 #: resources.dbk:35
8290 msgid ""
8291 "Cross-posting (sending the same message to multiple lists) is discouraged.  "
8292 "As ever on the net, please trim down the quoting of articles you're replying "
8293 "to.  In general, please adhere to the usual conventions for posting "
8294 "messages."
8295 msgstr ""
8296
8297 #. type: Content of: <chapter><section><section><para>
8298 #: resources.dbk:40
8299 msgid ""
8300 "Please read the <ulink url=\"&url-debian-lists;#codeofconduct\">code of "
8301 "conduct</ulink> for more information. The <ulink url=\"&url-dcg;\">Debian "
8302 "Community Guidelines</ulink> are also worth reading."
8303 msgstr ""
8304
8305 #. type: Content of: <chapter><section><section><title>
8306 #: resources.dbk:48
8307 msgid "Core development mailing lists"
8308 msgstr ""
8309
8310 #. type: Content of: <chapter><section><section><para>
8311 #: resources.dbk:50
8312 msgid "The core Debian mailing lists that developers should use are:"
8313 msgstr ""
8314
8315 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8316 #: resources.dbk:55
8317 msgid ""
8318 "&email-debian-devel-announce;, used to announce important things to "
8319 "developers.  All developers are expected to be subscribed to this list."
8320 msgstr ""
8321
8322 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8323 #: resources.dbk:62
8324 msgid ""
8325 "&email-debian-devel;, used to discuss various development related technical "
8326 "issues."
8327 msgstr ""
8328
8329 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8330 #: resources.dbk:68
8331 msgid "&email-debian-policy;, where the Debian Policy is discussed and voted on."
8332 msgstr ""
8333
8334 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8335 #: resources.dbk:74
8336 msgid ""
8337 "&email-debian-project;, used to discuss various non-technical issues related "
8338 "to the project."
8339 msgstr ""
8340
8341 #. type: Content of: <chapter><section><section><para>
8342 #: resources.dbk:80
8343 msgid ""
8344 "There are other mailing lists available for a variety of special topics; see "
8345 "<ulink url=\"http://&lists-host;/\"></ulink> for a list."
8346 msgstr ""
8347
8348 #. type: Content of: <chapter><section><section><title>
8349 #: resources.dbk:86
8350 msgid "Special lists"
8351 msgstr ""
8352
8353 #. type: Content of: <chapter><section><section><para>
8354 #: resources.dbk:88
8355 msgid ""
8356 "&email-debian-private; is a special mailing list for private discussions "
8357 "amongst Debian developers.  It is meant to be used for posts which for "
8358 "whatever reason should not be published publicly.  As such, it is a low "
8359 "volume list, and users are urged not to use &email-debian-private; unless it "
8360 "is really necessary.  Moreover, do <emphasis>not</emphasis> forward email "
8361 "from that list to anyone.  Archives of this list are not available on the "
8362 "web for obvious reasons, but you can see them using your shell account on "
8363 "<literal>&master-host;</literal> and looking in the "
8364 "<filename>&file-debian-private-archive;</filename> directory."
8365 msgstr ""
8366
8367 #. type: Content of: <chapter><section><section><para>
8368 #: resources.dbk:100
8369 msgid ""
8370 "&email-debian-email; is a special mailing list used as a grab-bag for Debian "
8371 "related correspondence such as contacting upstream authors about licenses, "
8372 "bugs, etc.  or discussing the project with others where it might be useful "
8373 "to have the discussion archived somewhere."
8374 msgstr ""
8375
8376 #. type: Content of: <chapter><section><section><title>
8377 #: resources.dbk:108
8378 msgid "Requesting new development-related lists"
8379 msgstr ""
8380
8381 #. type: Content of: <chapter><section><section><para>
8382 #: resources.dbk:110
8383 msgid ""
8384 "Before requesting a mailing list that relates to the development of a "
8385 "package (or a small group of related packages), please consider if using an "
8386 "alias (via a .forward-aliasname file on master.debian.org, which translates "
8387 "into a reasonably nice <replaceable>you-aliasname@debian.org</replaceable> "
8388 "address) or a self-managed mailing list on <link "
8389 "linkend=\"alioth\">Alioth</link> is more appropriate."
8390 msgstr ""
8391
8392 #. type: Content of: <chapter><section><section><para>
8393 #: resources.dbk:118
8394 msgid ""
8395 "If you decide that a regular mailing list on &lists-host; is really what you "
8396 "want, go ahead and fill in a request, following <ulink "
8397 "url=\"&url-debian-lists-new;\">the HOWTO</ulink>."
8398 msgstr ""
8399
8400 #. type: Content of: <chapter><section><title>
8401 #: resources.dbk:127
8402 msgid "IRC channels"
8403 msgstr ""
8404
8405 #. type: Content of: <chapter><section><para>
8406 #: resources.dbk:129
8407 msgid ""
8408 "Several IRC channels are dedicated to Debian's development.  They are mainly "
8409 "hosted on the <ulink url=\"&url-oftc;\">Open and free technology community "
8410 "(OFTC)</ulink> network.  The <literal>irc.debian.org</literal> DNS entry is "
8411 "an alias to <literal>irc.oftc.net</literal>."
8412 msgstr ""
8413
8414 #. type: Content of: <chapter><section><para>
8415 #: resources.dbk:135
8416 msgid ""
8417 "The main channel for Debian in general is <literal>#debian</literal>.  This "
8418 "is a large, general-purpose channel where users can find recent news in the "
8419 "topic and served by bots.  <literal>#debian</literal> is for English "
8420 "speakers; there are also <literal>#debian.de</literal>, "
8421 "<literal>#debian-fr</literal>, <literal>#debian-br</literal> and other "
8422 "similarly named channels for speakers of other languages."
8423 msgstr ""
8424
8425 #. type: Content of: <chapter><section><para>
8426 #: resources.dbk:143
8427 msgid ""
8428 "The main channel for Debian development is "
8429 "<literal>#debian-devel</literal>.  It is a very active channel; it will "
8430 "typically have a minimum of 150 people at any time of day.  It's a channel "
8431 "for people who work on Debian, it's not a support channel (there's "
8432 "<literal>#debian</literal> for that).  It is however open to anyone who "
8433 "wants to lurk (and learn).  Its topic is commonly full of interesting "
8434 "information for developers."
8435 msgstr ""
8436
8437 #. type: Content of: <chapter><section><para>
8438 #: resources.dbk:152
8439 msgid ""
8440 "Since <literal>#debian-devel</literal> is an open channel, you should not "
8441 "speak there of issues that are discussed in &email-debian-private;.  There's "
8442 "another channel for this purpose, it's called "
8443 "<literal>#debian-private</literal> and it's protected by a key.  This key is "
8444 "available at "
8445 "<filename>master.debian.org:&file-debian-private-key;</filename>."
8446 msgstr ""
8447
8448 #. type: Content of: <chapter><section><para>
8449 #: resources.dbk:160
8450 msgid ""
8451 "There are other additional channels dedicated to specific subjects.  "
8452 "<literal>#debian-bugs</literal> is used for coordinating bug squashing "
8453 "parties.  <literal>#debian-boot</literal> is used to coordinate the work on "
8454 "the debian-installer.  <literal>#debian-doc</literal> is occasionally used "
8455 "to talk about documentation, like the document you are reading.  Other "
8456 "channels are dedicated to an architecture or a set of packages: "
8457 "<literal>#debian-kde</literal>, <literal>#debian-dpkg</literal>, "
8458 "<literal>#debian-jr</literal>, <literal>#debian-edu</literal>, "
8459 "<literal>#debian-oo</literal> (OpenOffice.org package)..."
8460 msgstr ""
8461
8462 #. type: Content of: <chapter><section><para>
8463 #: resources.dbk:171
8464 msgid ""
8465 "Some non-English developers' channels exist as well, for example "
8466 "<literal>#debian-devel-fr</literal> for French speaking people interested in "
8467 "Debian's development."
8468 msgstr ""
8469
8470 #. type: Content of: <chapter><section><para>
8471 #: resources.dbk:176
8472 msgid ""
8473 "Channels dedicated to Debian also exist on other IRC networks, notably on "
8474 "the <ulink url=\"&url-openprojects;\">freenode</ulink> IRC network, which "
8475 "was pointed at by the <literal>irc.debian.org</literal> alias until 4th June "
8476 "2006."
8477 msgstr ""
8478
8479 #. type: Content of: <chapter><section><para>
8480 #: resources.dbk:182
8481 msgid ""
8482 "To get a cloak on freenode, you send Jörg Jaspert &lt;joerg@debian.org&gt; a "
8483 "signed mail where you tell what your nick is.  Put cloak somewhere in the "
8484 "Subject: header.  The nick should be registered: <ulink "
8485 "url=\"http://freenode.net/faq.shtml#nicksetup\">Nick Setup Page</ulink>.  "
8486 "The mail needs to be signed by a key in the Debian keyring.  Please see "
8487 "<ulink url=\"http://freenode.net/faq.shtml#projectcloak\">Freenodes "
8488 "documentation</ulink> for more information about cloaks."
8489 msgstr ""
8490
8491 #. type: Content of: <chapter><section><para>
8492 #: resources.dbk:195
8493 msgid ""
8494 "This document contains a lot of information which is useful to Debian "
8495 "developers, but it cannot contain everything.  Most of the other interesting "
8496 "documents are linked from <ulink url=\"&url-devel-docs;\">The Developers' "
8497 "Corner</ulink>.  Take the time to browse all the links, you will learn many "
8498 "more things."
8499 msgstr ""
8500
8501 #. type: Content of: <chapter><section><title>
8502 #: resources.dbk:204
8503 msgid "Debian machines"
8504 msgstr ""
8505
8506 #. type: Content of: <chapter><section><para>
8507 #: resources.dbk:206
8508 msgid ""
8509 "Debian has several computers working as servers, most of which serve "
8510 "critical functions in the Debian project.  Most of the machines are used for "
8511 "porting activities, and they all have a permanent connection to the "
8512 "Internet."
8513 msgstr ""
8514
8515 #. type: Content of: <chapter><section><para>
8516 #: resources.dbk:211
8517 msgid ""
8518 "Some of the machines are available for individual developers to use, as long "
8519 "as the developers follow the rules set forth in the <ulink "
8520 "url=\"&url-dmup;\">Debian Machine Usage Policies</ulink>."
8521 msgstr ""
8522
8523 #. type: Content of: <chapter><section><para>
8524 #: resources.dbk:216
8525 msgid ""
8526 "Generally speaking, you can use these machines for Debian-related purposes "
8527 "as you see fit.  Please be kind to system administrators, and do not use up "
8528 "tons and tons of disk space, network bandwidth, or CPU without first getting "
8529 "the approval of the system administrators.  Usually these machines are run "
8530 "by volunteers."
8531 msgstr ""
8532
8533 #. type: Content of: <chapter><section><para>
8534 #: resources.dbk:223
8535 msgid ""
8536 "Please take care to protect your Debian passwords and SSH keys installed on "
8537 "Debian machines.  Avoid login or upload methods which send passwords over "
8538 "the Internet in the clear, such as Telnet, FTP, POP etc."
8539 msgstr ""
8540
8541 #. type: Content of: <chapter><section><para>
8542 #: resources.dbk:228
8543 msgid ""
8544 "Please do not put any material that doesn't relate to Debian on the Debian "
8545 "servers, unless you have prior permission."
8546 msgstr ""
8547
8548 #. type: Content of: <chapter><section><para>
8549 #: resources.dbk:232
8550 msgid ""
8551 "The current list of Debian machines is available at <ulink "
8552 "url=\"&url-devel-machines;\"></ulink>.  That web page contains machine "
8553 "names, contact information, information about who can log in, SSH keys etc."
8554 msgstr ""
8555
8556 #. type: Content of: <chapter><section><para>
8557 #: resources.dbk:238
8558 msgid ""
8559 "If you have a problem with the operation of a Debian server, and you think "
8560 "that the system operators need to be notified of this problem, you can check "
8561 "the list of open issues in the DSA queue of our request tracker at <ulink "
8562 "url=\"&url-rt;\" /> (you can login with user \"debian\", its password is "
8563 "available at "
8564 "<filename>master.debian.org:&file-debian-rt-password;</filename>).  To "
8565 "report a new problem, simply send a mail to &email-rt-dsa; and make sure to "
8566 "put the string \"Debian RT\" somewhere in the subject."
8567 msgstr ""
8568
8569 #. type: Content of: <chapter><section><para>
8570 #: resources.dbk:247
8571 msgid ""
8572 "If you have a problem with a certain service, not related to the system "
8573 "administration (such as packages to be removed from the archive, suggestions "
8574 "for the web site, etc.), generally you'll report a bug against a "
8575 "``pseudo-package''.  See <xref linkend=\"submit-bug\"/> for information on "
8576 "how to submit bugs."
8577 msgstr ""
8578
8579 #. type: Content of: <chapter><section><para>
8580 #: resources.dbk:254
8581 msgid ""
8582 "Some of the core servers are restricted, but the information from there is "
8583 "mirrored to another server."
8584 msgstr ""
8585
8586 #. type: Content of: <chapter><section><section><title>
8587 #: resources.dbk:258
8588 msgid "The bugs server"
8589 msgstr ""
8590
8591 #. type: Content of: <chapter><section><section><para>
8592 #: resources.dbk:260
8593 msgid ""
8594 "<literal>&bugs-host;</literal> is the canonical location for the Bug "
8595 "Tracking System (BTS)."
8596 msgstr ""
8597
8598 #. type: Content of: <chapter><section><section><para>
8599 #: resources.dbk:264
8600 msgid ""
8601 "If you plan on doing some statistical analysis or processing of Debian bugs, "
8602 "this would be the place to do it.  Please describe your plans on "
8603 "&email-debian-devel; before implementing anything, however, to reduce "
8604 "unnecessary duplication of effort or wasted processing time."
8605 msgstr ""
8606
8607 #. type: Content of: <chapter><section><section><title>
8608 #: resources.dbk:272
8609 msgid "The ftp-master server"
8610 msgstr ""
8611
8612 #. type: Content of: <chapter><section><section><para>
8613 #: resources.dbk:274
8614 msgid ""
8615 "The <literal>&ftp-master-host;</literal> server holds the canonical copy of "
8616 "the Debian archive.  Generally, package uploaded to &ftp-upload-host; end up "
8617 "on this server, see <xref linkend=\"upload\"/>."
8618 msgstr ""
8619
8620 #. type: Content of: <chapter><section><section><para>
8621 #: resources.dbk:279
8622 msgid ""
8623 "It is restricted; a mirror is available on "
8624 "<literal>&ftp-master-mirror;</literal>."
8625 msgstr ""
8626
8627 #. type: Content of: <chapter><section><section><para>
8628 #: resources.dbk:282
8629 msgid ""
8630 "Problems with the Debian FTP archive generally need to be reported as bugs "
8631 "against the <systemitem role=\"package\">&ftp-debian-org;</systemitem> "
8632 "pseudo-package or an email to &email-ftpmaster;, but also see the procedures "
8633 "in <xref linkend=\"archive-manip\"/>."
8634 msgstr ""
8635
8636 #. type: Content of: <chapter><section><section><title>
8637 #: resources.dbk:290
8638 msgid "The www-master server"
8639 msgstr ""
8640
8641 #. type: Content of: <chapter><section><section><para>
8642 #: resources.dbk:292
8643 msgid ""
8644 "The main web server is <literal>www-master.debian.org</literal>.  It holds "
8645 "the official web pages, the face of Debian for most newbies."
8646 msgstr ""
8647
8648 #. type: Content of: <chapter><section><section><para>
8649 #: resources.dbk:296
8650 msgid ""
8651 "If you find a problem with the Debian web server, you should generally "
8652 "submit a bug against the pseudo-package, <systemitem "
8653 "role=\"package\">www.debian.org</systemitem>.  Remember to check whether or "
8654 "not someone else has already reported the problem to the <ulink "
8655 "url=\"http://&bugs-host;/&www-debian-org;\">Bug Tracking System</ulink>."
8656 msgstr ""
8657
8658 #. type: Content of: <chapter><section><section><title>
8659 #: resources.dbk:305
8660 msgid "The people web server"
8661 msgstr ""
8662
8663 #. type: Content of: <chapter><section><section><para>
8664 #: resources.dbk:307
8665 msgid ""
8666 "<literal>people.debian.org</literal> is the server used for developers' own "
8667 "web pages about anything related to Debian."
8668 msgstr ""
8669
8670 #. type: Content of: <chapter><section><section><para>
8671 #: resources.dbk:311
8672 msgid ""
8673 "If you have some Debian-specific information which you want to serve on the "
8674 "web, you can do this by putting material in the "
8675 "<filename>public_html</filename> directory under your home directory on "
8676 "<literal>people.debian.org</literal>.  This will be accessible at the URL "
8677 "<literal>http://people.debian.org/~<replaceable>your-user-id</replaceable>/</literal>."
8678 msgstr ""
8679
8680 #. type: Content of: <chapter><section><section><para>
8681 #: resources.dbk:318
8682 msgid ""
8683 "You should only use this particular location because it will be backed up, "
8684 "whereas on other hosts it won't."
8685 msgstr ""
8686
8687 #. type: Content of: <chapter><section><section><para>
8688 #: resources.dbk:322
8689 msgid ""
8690 "Usually the only reason to use a different host is when you need to publish "
8691 "materials subject to the U.S.  export restrictions, in which case you can "
8692 "use one of the other servers located outside the United States."
8693 msgstr ""
8694
8695 #. type: Content of: <chapter><section><section><para>
8696 #: resources.dbk:327
8697 msgid "Send mail to &email-debian-devel; if you have any questions."
8698 msgstr ""
8699
8700 #. type: Content of: <chapter><section><section><title>
8701 #: resources.dbk:332
8702 msgid "The VCS servers"
8703 msgstr ""
8704
8705 #. type: Content of: <chapter><section><section><para>
8706 #: resources.dbk:334
8707 msgid ""
8708 "If you need to use a Version Control System for any of your Debian work, you "
8709 "can use one of the existing repositories hosted on Alioth or you can request "
8710 "a new project and ask for the VCS repository of your choice.  Alioth "
8711 "supports CVS (cvs.alioth.debian.org/cvs.debian.org), Subversion "
8712 "(svn.debian.org), Arch (tla/baz, both on arch.debian.org), Bazaar "
8713 "(bzr.debian.org), Darcs (darcs.debian.org), Mercurial (hg.debian.org) and "
8714 "Git (git.debian.org).  Checkout <ulink url=\"&url-alioth-pkg;\" /> if you "
8715 "plan to maintain packages in a VCS repository. See <xref "
8716 "linkend=\"alioth\"/> for information on the services provided by Alioth."
8717 msgstr ""
8718
8719 #. type: Content of: <chapter><section><section><title>
8720 #: resources.dbk:347
8721 msgid "chroots to different distributions"
8722 msgstr ""
8723
8724 #. type: Content of: <chapter><section><section><para>
8725 #: resources.dbk:349
8726 msgid ""
8727 "On some machines, there are chroots to different distributions available.  "
8728 "You can use them like this:"
8729 msgstr ""
8730
8731 #. type: Content of: <chapter><section><section><screen>
8732 #: resources.dbk:353
8733 #, no-wrap
8734 msgid ""
8735 "vore$ dchroot unstable\n"
8736 "Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable\n"
8737 msgstr ""
8738
8739 #. type: Content of: <chapter><section><section><para>
8740 #: resources.dbk:357
8741 msgid ""
8742 "In all chroots, the normal user home directories are available.  You can "
8743 "find out which chroots are available via <ulink "
8744 "url=\"&url-devel-machines;\"></ulink>."
8745 msgstr ""
8746
8747 #. type: Content of: <chapter><section><title>
8748 #: resources.dbk:366
8749 msgid "The Developers Database"
8750 msgstr ""
8751
8752 #. type: Content of: <chapter><section><para>
8753 #: resources.dbk:368
8754 msgid ""
8755 "The Developers Database, at <ulink url=\"&url-debian-db;\"></ulink>, is an "
8756 "LDAP directory for managing Debian developer attributes.  You can use this "
8757 "resource to search the list of Debian developers.  Part of this information "
8758 "is also available through the finger service on Debian servers, try "
8759 "<command>finger yourlogin@db.debian.org</command> to see what it reports."
8760 msgstr ""
8761
8762 #. type: Content of: <chapter><section><para>
8763 #: resources.dbk:376
8764 msgid ""
8765 "Developers can <ulink url=\"&url-debian-db-login;\">log into the "
8766 "database</ulink> to change various information about themselves, such as:"
8767 msgstr ""
8768
8769 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8770 #: resources.dbk:382
8771 msgid "forwarding address for your debian.org email"
8772 msgstr ""
8773
8774 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8775 #: resources.dbk:387
8776 msgid "subscription to debian-private"
8777 msgstr ""
8778
8779 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8780 #: resources.dbk:392
8781 msgid "whether you are on vacation"
8782 msgstr ""
8783
8784 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8785 #: resources.dbk:397
8786 msgid ""
8787 "personal information such as your address, country, the latitude and "
8788 "longitude of the place where you live for use in <ulink "
8789 "url=\"&url-worldmap;\">the world map of Debian developers</ulink>, phone and "
8790 "fax numbers, IRC nickname and web page"
8791 msgstr ""
8792
8793 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8794 #: resources.dbk:405
8795 msgid "password and preferred shell on Debian Project machines"
8796 msgstr ""
8797
8798 #. type: Content of: <chapter><section><para>
8799 #: resources.dbk:410
8800 msgid ""
8801 "Most of the information is not accessible to the public, naturally.  For "
8802 "more information please read the online documentation that you can find at "
8803 "<ulink url=\"&url-debian-db-doc;\"></ulink>."
8804 msgstr ""
8805
8806 #. type: Content of: <chapter><section><para>
8807 #: resources.dbk:415
8808 msgid ""
8809 "Developers can also submit their SSH keys to be used for authorization on "
8810 "the official Debian machines, and even add new *.debian.net DNS entries.  "
8811 "Those features are documented at <ulink "
8812 "url=\"&url-debian-db-mail-gw;\"></ulink>."
8813 msgstr ""
8814
8815 #. type: Content of: <chapter><section><title>
8816 #: resources.dbk:423
8817 msgid "The Debian archive"
8818 msgstr ""
8819
8820 #. type: Content of: <chapter><section><para>
8821 #: resources.dbk:425
8822 msgid ""
8823 "The &debian-formal; distribution consists of a lot of packages (currently "
8824 "around &number-of-pkgs; source packages) and a few additional files (such as "
8825 "documentation and installation disk images)."
8826 msgstr ""
8827
8828 #. type: Content of: <chapter><section><para>
8829 #: resources.dbk:430
8830 msgid "Here is an example directory tree of a complete Debian archive:"
8831 msgstr ""
8832
8833 #. type: Content of: <chapter><section><para>
8834 #: resources.dbk:434
8835 msgid ""
8836 "As you can see, the top-level directory contains two directories, "
8837 "<filename>dists/</filename> and <filename>pool/</filename>.  The latter is a "
8838 "“pool” in which the packages actually are, and which is handled by the "
8839 "archive maintenance database and the accompanying programs.  The former "
8840 "contains the distributions, <literal>stable</literal>, "
8841 "<literal>testing</literal> and <literal>unstable</literal>.  The "
8842 "<filename>Packages</filename> and <filename>Sources</filename> files in the "
8843 "distribution subdirectories can reference files in the "
8844 "<filename>pool/</filename> directory.  The directory tree below each of the "
8845 "distributions is arranged in an identical manner.  What we describe below "
8846 "for <literal>stable</literal> is equally applicable to the "
8847 "<literal>unstable</literal> and <literal>testing</literal> distributions."
8848 msgstr ""
8849
8850 #. type: Content of: <chapter><section><para>
8851 #: resources.dbk:448
8852 msgid ""
8853 "<filename>dists/stable</filename> contains three directories, namely "
8854 "<filename>main</filename>, <filename>contrib</filename>, and "
8855 "<filename>non-free</filename>."
8856 msgstr ""
8857
8858 #. type: Content of: <chapter><section><para>
8859 #: resources.dbk:453
8860 msgid ""
8861 "In each of the areas, there is a directory for the source packages "
8862 "(<filename>source</filename>) and a directory for each supported "
8863 "architecture (<filename>binary-i386</filename>, "
8864 "<filename>binary-amd64</filename>, etc.)."
8865 msgstr ""
8866
8867 #. type: Content of: <chapter><section><para>
8868 #: resources.dbk:458
8869 msgid ""
8870 "The <filename>main</filename> area contains additional directories which "
8871 "hold the disk images and some essential pieces of documentation required for "
8872 "installing the Debian distribution on a specific architecture "
8873 "(<filename>disks-i386</filename>, <filename>disks-amd64</filename>, etc.)."
8874 msgstr ""
8875
8876 #. type: Content of: <chapter><section><section><title>
8877 #: resources.dbk:464
8878 msgid "Sections"
8879 msgstr ""
8880
8881 #. type: Content of: <chapter><section><section><para>
8882 #: resources.dbk:466
8883 msgid ""
8884 "The <literal>main</literal> section of the Debian archive is what makes up "
8885 "the <emphasis role=\"strong\">official &debian-formal; "
8886 "distribution</emphasis>.  The <literal>main</literal> section is official "
8887 "because it fully complies with all our guidelines.  The other two sections "
8888 "do not, to different degrees; as such, they are <emphasis "
8889 "role=\"strong\">not</emphasis> officially part of &debian-formal;."
8890 msgstr ""
8891
8892 #. type: Content of: <chapter><section><section><para>
8893 #: resources.dbk:474
8894 msgid ""
8895 "Every package in the main section must fully comply with the <ulink "
8896 "url=\"&url-dfsg;\">Debian Free Software Guidelines</ulink> (DFSG) and with "
8897 "all other policy requirements as described in the <ulink "
8898 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>.  The DFSG is our "
8899 "definition of “free software.” Check out the Debian Policy Manual for "
8900 "details."
8901 msgstr ""
8902
8903 #. type: Content of: <chapter><section><section><para>
8904 #: resources.dbk:482
8905 msgid ""
8906 "Packages in the <literal>contrib</literal> section have to comply with the "
8907 "DFSG, but may fail other requirements.  For instance, they may depend on "
8908 "non-free packages."
8909 msgstr ""
8910
8911 #. type: Content of: <chapter><section><section><para>
8912 #: resources.dbk:487
8913 msgid ""
8914 "Packages which do not conform to the DFSG are placed in the "
8915 "<literal>non-free</literal> section.  These packages are not considered as "
8916 "part of the Debian distribution, though we enable their use, and we provide "
8917 "infrastructure (such as our bug-tracking system and mailing lists) for "
8918 "non-free software packages."
8919 msgstr ""
8920
8921 #. type: Content of: <chapter><section><section><para>
8922 #: resources.dbk:494
8923 msgid ""
8924 "The <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> contains "
8925 "a more exact definition of the three sections.  The above discussion is just "
8926 "an introduction."
8927 msgstr ""
8928
8929 #. type: Content of: <chapter><section><section><para>
8930 #: resources.dbk:499
8931 msgid ""
8932 "The separation of the three sections at the top-level of the archive is "
8933 "important for all people who want to distribute Debian, either via FTP "
8934 "servers on the Internet or on CD-ROMs: by distributing only the "
8935 "<literal>main</literal> and <literal>contrib</literal> sections, one can "
8936 "avoid any legal risks.  Some packages in the <literal>non-free</literal> "
8937 "section do not allow commercial distribution, for example."
8938 msgstr ""
8939
8940 #. type: Content of: <chapter><section><section><para>
8941 #: resources.dbk:507
8942 msgid ""
8943 "On the other hand, a CD-ROM vendor could easily check the individual package "
8944 "licenses of the packages in <literal>non-free</literal> and include as many "
8945 "on the CD-ROMs as it's allowed to.  (Since this varies greatly from vendor "
8946 "to vendor, this job can't be done by the Debian developers.)"
8947 msgstr ""
8948
8949 #. type: Content of: <chapter><section><section><para>
8950 #: resources.dbk:513
8951 msgid ""
8952 "Note that the term section is also used to refer to categories which "
8953 "simplify the organization and browsing of available packages, e.g.  "
8954 "<literal>admin</literal>, <literal>net</literal>, <literal>utils</literal> "
8955 "etc.  Once upon a time, these sections (subsections, rather) existed in the "
8956 "form of subdirectories within the Debian archive.  Nowadays, these exist "
8957 "only in the Section header fields of packages."
8958 msgstr ""
8959
8960 #. type: Content of: <chapter><section><section><title>
8961 #: resources.dbk:523
8962 msgid "Architectures"
8963 msgstr ""
8964
8965 #. type: Content of: <chapter><section><section><para>
8966 #: resources.dbk:525
8967 msgid ""
8968 "In the first days, the Linux kernel was only available for Intel i386 (or "
8969 "greater) platforms, and so was Debian.  But as Linux became more and more "
8970 "popular, the kernel was ported to other architectures and Debian started to "
8971 "support them. And as if supporting so much hardware was not enough, Debian "
8972 "decided to build some ports based on other Unix kernels, like "
8973 "<literal>hurd</literal> and <literal>kfreebsd</literal>."
8974 msgstr ""
8975
8976 #. type: Content of: <chapter><section><section><para>
8977 #: resources.dbk:533
8978 msgid ""
8979 "&debian-formal; 1.3 was only available as <literal>i386</literal>.  Debian "
8980 "2.0 shipped for <literal>i386</literal> and <literal>m68k</literal> "
8981 "architectures.  Debian 2.1 shipped for the <literal>i386</literal>, "
8982 "<literal>m68k</literal>, <literal>alpha</literal>, and "
8983 "<literal>sparc</literal> architectures.  Since then Debian has grown "
8984 "hugely.  Debian 6 supports a total of nine Linux architectures "
8985 "(<literal>amd64</literal>, <literal>armel</literal>, "
8986 "<literal>i386</literal>, <literal>ia64</literal>, <literal>mips</literal>, "
8987 "<literal>mipsel</literal>, <literal>powerpc</literal>, "
8988 "<literal>s390</literal>, <literal>sparc</literal>) and two kFreeBSD "
8989 "architectures (<literal>kfreebsd-i386</literal> and "
8990 "<literal>kfreebsd-amd64</literal>)."
8991 msgstr ""
8992
8993 #. type: Content of: <chapter><section><section><para>
8994 #: resources.dbk:546
8995 msgid ""
8996 "Information for developers and users about the specific ports are available "
8997 "at the <ulink url=\"&url-debian-ports;\">Debian Ports web pages</ulink>."
8998 msgstr ""
8999
9000 #. type: Content of: <chapter><section><section><title>
9001 #: resources.dbk:552
9002 msgid "Packages"
9003 msgstr ""
9004
9005 #. type: Content of: <chapter><section><section><para>
9006 #: resources.dbk:554
9007 msgid ""
9008 "There are two types of Debian packages, namely <literal>source</literal> and "
9009 "<literal>binary</literal> packages."
9010 msgstr ""
9011
9012 #. type: Content of: <chapter><section><section><para>
9013 #: resources.dbk:558
9014 msgid ""
9015 "Depending on the format of the source package, it will consist of one or "
9016 "more files in addition to the mandatory <filename>.dsc</filename> file:"
9017 msgstr ""
9018
9019 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9020 #: resources.dbk:562
9021 msgid ""
9022 "with format “1.0”, it has either a <filename>.tar.gz</filename> file or both "
9023 "an <filename>.orig.tar.gz</filename> and a <filename>.diff.gz</filename> "
9024 "file;"
9025 msgstr ""
9026
9027 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9028 #: resources.dbk:565
9029 msgid ""
9030 "with format “3.0 (quilt)”, it has a mandatory "
9031 "<filename>.orig.tar.{gz,bz2,xz}</filename> upstream tarball, multiple "
9032 "optional "
9033 "<filename>.orig-<replaceable>component</replaceable>.tar.{gz,bz2,xz}</filename> "
9034 "additional upstream tarballs and a mandatory "
9035 "<filename>debian.tar.{gz,bz2,xz}</filename> debian tarball;"
9036 msgstr ""
9037
9038 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9039 #: resources.dbk:571
9040 msgid ""
9041 "with format “3.0 (native)”, it has only a single "
9042 "<filename>.tar.{gz,bz2,xz}</filename> tarball."
9043 msgstr ""
9044
9045 #. type: Content of: <chapter><section><section><para>
9046 #: resources.dbk:576
9047 msgid ""
9048 "If a package is developed specially for Debian and is not distributed "
9049 "outside of Debian, there is just one <filename>.tar.{gz,bz2,xz}</filename> "
9050 "file which contains the sources of the program, it's called a “native” "
9051 "source package.  If a package is distributed elsewhere too, the "
9052 "<filename>.orig.tar.{gz,bz2,xz}</filename> file stores the so-called "
9053 "<literal>upstream source code</literal>, that is the source code that's "
9054 "distributed by the <literal>upstream maintainer</literal> (often the author "
9055 "of the software). In this case, the <filename>.diff.gz</filename> or the "
9056 "<filename>debian.tar.{gz,bz2,xz}</filename> contains the changes made by the "
9057 "Debian maintainer."
9058 msgstr ""
9059
9060 #. type: Content of: <chapter><section><section><para>
9061 #: resources.dbk:589
9062 msgid ""
9063 "The <filename>.dsc</filename> file lists all the files in the source package "
9064 "together with checksums (<command>md5sums</command>) and some additional "
9065 "info about the package (maintainer, version, etc.)."
9066 msgstr ""
9067
9068 #. type: Content of: <chapter><section><section><title>
9069 #: resources.dbk:596
9070 msgid "Distributions"
9071 msgstr ""
9072
9073 #. type: Content of: <chapter><section><section><para>
9074 #: resources.dbk:598
9075 msgid ""
9076 "The directory system described in the previous chapter is itself contained "
9077 "within <literal>distribution directories</literal>.  Each distribution is "
9078 "actually contained in the <filename>pool</filename> directory in the "
9079 "top-level of the Debian archive itself."
9080 msgstr ""
9081
9082 #. type: Content of: <chapter><section><section><para>
9083 #: resources.dbk:604
9084 msgid ""
9085 "To summarize, the Debian archive has a root directory within an FTP server.  "
9086 "For instance, at the mirror site, <literal>ftp.us.debian.org</literal>, the "
9087 "Debian archive itself is contained in <ulink "
9088 "url=\"ftp://ftp.us.debian.org/debian\">/debian</ulink>, which is a common "
9089 "location (another is <filename>/pub/debian</filename>)."
9090 msgstr ""
9091
9092 #. type: Content of: <chapter><section><section><para>
9093 #: resources.dbk:611
9094 msgid ""
9095 "A distribution comprises Debian source and binary packages, and the "
9096 "respective <filename>Sources</filename> and <filename>Packages</filename> "
9097 "index files, containing the header information from all those packages.  The "
9098 "former are kept in the <filename>pool/</filename> directory, while the "
9099 "latter are kept in the <filename>dists/</filename> directory of the archive "
9100 "(for backwards compatibility)."
9101 msgstr ""
9102
9103 #. type: Content of: <chapter><section><section><section><title>
9104 #: resources.dbk:619
9105 msgid "Stable, testing, and unstable"
9106 msgstr ""
9107
9108 #. type: Content of: <chapter><section><section><section><para>
9109 #: resources.dbk:621
9110 msgid ""
9111 "There are always distributions called <literal>stable</literal> (residing in "
9112 "<filename>dists/stable</filename>), <literal>testing</literal> (residing in "
9113 "<filename>dists/testing</filename>), and <literal>unstable</literal> "
9114 "(residing in <filename>dists/unstable</filename>).  This reflects the "
9115 "development process of the Debian project."
9116 msgstr ""
9117
9118 #. type: Content of: <chapter><section><section><section><para>
9119 #: resources.dbk:628
9120 msgid ""
9121 "Active development is done in the <literal>unstable</literal> distribution "
9122 "(that's why this distribution is sometimes called the <literal>development "
9123 "distribution</literal>).  Every Debian developer can update his or her "
9124 "packages in this distribution at any time.  Thus, the contents of this "
9125 "distribution change from day to day.  Since no special effort is made to "
9126 "make sure everything in this distribution is working properly, it is "
9127 "sometimes literally unstable."
9128 msgstr ""
9129
9130 #. type: Content of: <chapter><section><section><section><para>
9131 #: resources.dbk:637
9132 msgid ""
9133 "The <link linkend=\"testing\">testing</link> distribution is generated "
9134 "automatically by taking packages from <literal>unstable</literal> if they "
9135 "satisfy certain criteria.  Those criteria should ensure a good quality for "
9136 "packages within <literal>testing</literal>.  The update to "
9137 "<literal>testing</literal> is launched twice each day, right after the new "
9138 "packages have been installed.  See <xref linkend=\"testing\"/>."
9139 msgstr ""
9140
9141 #. type: Content of: <chapter><section><section><section><para>
9142 #: resources.dbk:645
9143 msgid ""
9144 "After a period of development, once the release manager deems fit, the "
9145 "<literal>testing</literal> distribution is frozen, meaning that the policies "
9146 "which control how packages move from <literal>unstable</literal> to "
9147 "<literal>testing</literal> are tightened.  Packages which are too buggy are "
9148 "removed.  No changes are allowed into <literal>testing</literal> except for "
9149 "bug fixes.  After some time has elapsed, depending on progress, the "
9150 "<literal>testing</literal> distribution is frozen even further.  Details of "
9151 "the handling of the testing distribution are published by the Release Team "
9152 "on debian-devel-announce.  After the open issues are solved to the "
9153 "satisfaction of the Release Team, the distribution is released.  Releasing "
9154 "means that <literal>testing</literal> is renamed to "
9155 "<literal>stable</literal>, and a new copy is created for the new "
9156 "<literal>testing</literal>, and the previous <literal>stable</literal> is "
9157 "renamed to <literal>oldstable</literal> and stays there until it is finally "
9158 "archived.  On archiving, the contents are moved to "
9159 "<literal>&archive-host;</literal>."
9160 msgstr ""
9161
9162 #. type: Content of: <chapter><section><section><section><para>
9163 #: resources.dbk:662
9164 msgid ""
9165 "This development cycle is based on the assumption that the "
9166 "<literal>unstable</literal> distribution becomes <literal>stable</literal> "
9167 "after passing a period of being in <literal>testing</literal>.  Even once a "
9168 "distribution is considered stable, a few bugs inevitably remain — that's why "
9169 "the stable distribution is updated every now and then.  However, these "
9170 "updates are tested very carefully and have to be introduced into the archive "
9171 "individually to reduce the risk of introducing new bugs.  You can find "
9172 "proposed additions to <literal>stable</literal> in the "
9173 "<filename>proposed-updates</filename> directory.  Those packages in "
9174 "<filename>proposed-updates</filename> that pass muster are periodically "
9175 "moved as a batch into the stable distribution and the revision level of the "
9176 "stable distribution is incremented (e.g., ‘6.0’ becomes ‘6.0.1’, ‘5.0.7’ "
9177 "becomes ‘5.0.8’, and so forth).  Please refer to <link "
9178 "linkend=\"upload-stable\">uploads to the <literal>stable</literal> "
9179 "distribution</link> for details."
9180 msgstr ""
9181
9182 #. type: Content of: <chapter><section><section><section><para>
9183 #: resources.dbk:679
9184 msgid ""
9185 "Note that development under <literal>unstable</literal> continues during the "
9186 "freeze period, since the <literal>unstable</literal> distribution remains in "
9187 "place in parallel with <literal>testing</literal>."
9188 msgstr ""
9189
9190 #. type: Content of: <chapter><section><section><section><title>
9191 #: resources.dbk:686
9192 msgid "More information about the testing distribution"
9193 msgstr ""
9194
9195 #. type: Content of: <chapter><section><section><section><para>
9196 #: resources.dbk:688
9197 msgid ""
9198 "Packages are usually installed into the <literal>testing</literal> "
9199 "distribution after they have undergone some degree of testing in "
9200 "<literal>unstable</literal>."
9201 msgstr ""
9202
9203 #. type: Content of: <chapter><section><section><section><para>
9204 #: resources.dbk:692
9205 msgid ""
9206 "For more details, please see the <link linkend=\"testing\">information about "
9207 "the testing distribution</link>."
9208 msgstr ""
9209
9210 #. type: Content of: <chapter><section><section><section><title>
9211 #: resources.dbk:698
9212 msgid "Experimental"
9213 msgstr ""
9214
9215 #. type: Content of: <chapter><section><section><section><para>
9216 #: resources.dbk:700
9217 msgid ""
9218 "The <literal>experimental</literal> distribution is a special distribution.  "
9219 "It is not a full distribution in the same sense as "
9220 "<literal>stable</literal>, <literal>testing</literal> and "
9221 "<literal>unstable</literal> are.  Instead, it is meant to be a temporary "
9222 "staging area for highly experimental software where there's a good chance "
9223 "that the software could break your system, or software that's just too "
9224 "unstable even for the <literal>unstable</literal> distribution (but there is "
9225 "a reason to package it nevertheless).  Users who download and install "
9226 "packages from <literal>experimental</literal> are expected to have been duly "
9227 "warned.  In short, all bets are off for the <literal>experimental</literal> "
9228 "distribution."
9229 msgstr ""
9230
9231 #. type: Content of: <chapter><section><section><section><para>
9232 #: resources.dbk:712
9233 msgid ""
9234 "These are the <citerefentry> <refentrytitle>sources.list</refentrytitle> "
9235 "<manvolnum>5</manvolnum> </citerefentry> lines for "
9236 "<literal>experimental</literal>:"
9237 msgstr ""
9238
9239 #. type: Content of: <chapter><section><section><section><programlisting>
9240 #: resources.dbk:717
9241 #, no-wrap
9242 msgid ""
9243 "deb http://ftp.<replaceable>xy</replaceable>.debian.org/debian/ experimental "
9244 "main\n"
9245 "deb-src http://ftp.<replaceable>xy</replaceable>.debian.org/debian/ "
9246 "experimental main\n"
9247 msgstr ""
9248
9249 #. type: Content of: <chapter><section><section><section><para>
9250 #: resources.dbk:721
9251 msgid ""
9252 "If there is a chance that the software could do grave damage to a system, it "
9253 "is likely to be better to put it into <literal>experimental</literal>.  For "
9254 "instance, an experimental compressed file system should probably go into "
9255 "<literal>experimental</literal>."
9256 msgstr ""
9257
9258 #. type: Content of: <chapter><section><section><section><para>
9259 #: resources.dbk:727
9260 msgid ""
9261 "Whenever there is a new upstream version of a package that introduces new "
9262 "features but breaks a lot of old ones, it should either not be uploaded, or "
9263 "be uploaded to <literal>experimental</literal>.  A new, beta, version of "
9264 "some software which uses a completely different configuration can go into "
9265 "<literal>experimental</literal>, at the maintainer's discretion.  If you are "
9266 "working on an incompatible or complex upgrade situation, you can also use "
9267 "<literal>experimental</literal> as a staging area, so that testers can get "
9268 "early access."
9269 msgstr ""
9270
9271 #. type: Content of: <chapter><section><section><section><para>
9272 #: resources.dbk:737
9273 msgid ""
9274 "Some experimental software can still go into <literal>unstable</literal>, "
9275 "with a few warnings in the description, but that isn't recommended because "
9276 "packages from <literal>unstable</literal> are expected to propagate to "
9277 "<literal>testing</literal> and thus to <literal>stable</literal>.  You "
9278 "should not be afraid to use <literal>experimental</literal> since it does "
9279 "not cause any pain to the ftpmasters, the experimental packages are "
9280 "periodically removed once you upload the package in "
9281 "<literal>unstable</literal> with a higher version number."
9282 msgstr ""
9283
9284 #. type: Content of: <chapter><section><section><section><para>
9285 #: resources.dbk:747
9286 msgid ""
9287 "New software which isn't likely to damage your system can go directly into "
9288 "<literal>unstable</literal>."
9289 msgstr ""
9290
9291 #. type: Content of: <chapter><section><section><section><para>
9292 #: resources.dbk:751
9293 msgid ""
9294 "An alternative to <literal>experimental</literal> is to use your personal "
9295 "web space on <literal>people.debian.org</literal>."
9296 msgstr ""
9297
9298 #. type: Content of: <chapter><section><section><title>
9299 #: resources.dbk:759
9300 msgid "Release code names"
9301 msgstr ""
9302
9303 #. type: Content of: <chapter><section><section><para>
9304 #: resources.dbk:761
9305 msgid ""
9306 "Every released Debian distribution has a <literal>code name</literal>: "
9307 "Debian 1.1 is called <literal>buzz</literal>; Debian 1.2, "
9308 "<literal>rex</literal>; Debian 1.3, <literal>bo</literal>; Debian 2.0, "
9309 "<literal>hamm</literal>; Debian 2.1, <literal>slink</literal>; Debian 2.2, "
9310 "<literal>potato</literal>; Debian 3.0, <literal>woody</literal>; Debian 3.1, "
9311 "<literal>sarge</literal>; Debian 4.0, <literal>etch</literal>; Debian 5.0, "
9312 "<literal>lenny</literal>; Debian 6.0, <literal>squeeze</literal> and the "
9313 "next release will be called <literal>wheezy</literal>.  There is also a "
9314 "``pseudo-distribution'', called <literal>sid</literal>, which is the current "
9315 "<literal>unstable</literal> distribution; since packages are moved from "
9316 "<literal>unstable</literal> to <literal>testing</literal> as they approach "
9317 "stability, <literal>sid</literal> itself is never released.  As well as the "
9318 "usual contents of a Debian distribution, <literal>sid</literal> contains "
9319 "packages for architectures which are not yet officially supported or "
9320 "released by Debian.  These architectures are planned to be integrated into "
9321 "the mainstream distribution at some future date."
9322 msgstr ""
9323
9324 #. type: Content of: <chapter><section><section><para>
9325 #: resources.dbk:780
9326 msgid ""
9327 "Since Debian has an open development model (i.e., everyone can participate "
9328 "and follow the development) even the <literal>unstable</literal> and "
9329 "<literal> testing</literal> distributions are distributed to the Internet "
9330 "through the Debian FTP and HTTP server network. Thus, if we had called the "
9331 "directory which contains the release candidate version "
9332 "<literal>testing</literal>, then we would have to rename it to "
9333 "<literal>stable</literal> when the version is released, which would cause "
9334 "all FTP mirrors to re-retrieve the whole distribution (which is quite "
9335 "large)."
9336 msgstr ""
9337
9338 #. type: Content of: <chapter><section><section><para>
9339 #: resources.dbk:790
9340 msgid ""
9341 "On the other hand, if we called the distribution directories "
9342 "<literal>Debian-x.y</literal> from the beginning, people would think that "
9343 "Debian release <literal>x.y</literal> is available.  (This happened in the "
9344 "past, where a CD-ROM vendor built a Debian 1.0 CD-ROM based on a pre-1.0 "
9345 "development version.  That's the reason why the first official Debian "
9346 "release was 1.1, and not 1.0.)"
9347 msgstr ""
9348
9349 #. type: Content of: <chapter><section><section><para>
9350 #: resources.dbk:798
9351 msgid ""
9352 "Thus, the names of the distribution directories in the archive are "
9353 "determined by their code names and not their release status (e.g., "
9354 "`squeeze'). These names stay the same during the development period and "
9355 "after the release; symbolic links, which can be changed easily, indicate the "
9356 "currently released stable distribution.  That's why the real distribution "
9357 "directories use the <literal>code names</literal>, while symbolic links for "
9358 "<literal>stable</literal>, <literal>testing</literal>, and "
9359 "<literal>unstable</literal> point to the appropriate release directories."
9360 msgstr ""
9361
9362 #. type: Content of: <chapter><section><title>
9363 #: resources.dbk:812
9364 msgid "Debian mirrors"
9365 msgstr ""
9366
9367 #. type: Content of: <chapter><section><para>
9368 #: resources.dbk:814
9369 msgid ""
9370 "The various download archives and the web site have several mirrors "
9371 "available in order to relieve our canonical servers from heavy load.  In "
9372 "fact, some of the canonical servers aren't public — a first tier of mirrors "
9373 "balances the load instead.  That way, users always access the mirrors and "
9374 "get used to using them, which allows Debian to better spread its bandwidth "
9375 "requirements over several servers and networks, and basically makes users "
9376 "avoid hammering on one primary location.  Note that the first tier of "
9377 "mirrors is as up-to-date as it can be since they update when triggered from "
9378 "the internal sites (we call this push mirroring)."
9379 msgstr ""
9380
9381 #. type: Content of: <chapter><section><para>
9382 #: resources.dbk:825
9383 msgid ""
9384 "All the information on Debian mirrors, including a list of the available "
9385 "public FTP/HTTP servers, can be found at <ulink "
9386 "url=\"&url-debian-mirrors;\"></ulink>.  This useful page also includes "
9387 "information and tools which can be helpful if you are interested in setting "
9388 "up your own mirror, either for internal or public access."
9389 msgstr ""
9390
9391 #. type: Content of: <chapter><section><para>
9392 #: resources.dbk:832
9393 msgid ""
9394 "Note that mirrors are generally run by third-parties who are interested in "
9395 "helping Debian.  As such, developers generally do not have accounts on these "
9396 "machines."
9397 msgstr ""
9398
9399 #. type: Content of: <chapter><section><title>
9400 #: resources.dbk:839
9401 msgid "The Incoming system"
9402 msgstr ""
9403
9404 #. type: Content of: <chapter><section><para>
9405 #: resources.dbk:841
9406 msgid ""
9407 "The Incoming system is responsible for collecting updated packages and "
9408 "installing them in the Debian archive.  It consists of a set of directories "
9409 "and scripts that are installed on <literal>&ftp-master-host;</literal>."
9410 msgstr ""
9411
9412 #. type: Content of: <chapter><section><para>
9413 #: resources.dbk:846
9414 msgid ""
9415 "Packages are uploaded by all the maintainers into a directory called "
9416 "<filename>UploadQueue</filename>.  This directory is scanned every few "
9417 "minutes by a daemon called <command>queued</command>, "
9418 "<filename>*.command</filename>-files are executed, and remaining and "
9419 "correctly signed <filename>*.changes</filename>-files are moved together "
9420 "with their corresponding files to the <filename>unchecked</filename> "
9421 "directory.  This directory is not visible for most Developers, as ftp-master "
9422 "is restricted; it is scanned every 15 minutes by the <command>dak "
9423 "process-upload</command> script, which verifies the integrity of the "
9424 "uploaded packages and their cryptographic signatures.  If the package is "
9425 "considered ready to be installed, it is moved into the "
9426 "<filename>done</filename> directory.  If this is the first upload of the "
9427 "package (or it has new binary packages), it is moved to the "
9428 "<filename>new</filename> directory, where it waits for approval by the "
9429 "ftpmasters.  If the package contains files to be installed by hand it is "
9430 "moved to the <filename>byhand</filename> directory, where it waits for "
9431 "manual installation by the ftpmasters.  Otherwise, if any error has been "
9432 "detected, the package is refused and is moved to the "
9433 "<filename>reject</filename> directory."
9434 msgstr ""
9435
9436 #. type: Content of: <chapter><section><para>
9437 #: resources.dbk:865
9438 msgid ""
9439 "Once the package is accepted, the system sends a confirmation mail to the "
9440 "maintainer and closes all the bugs marked as fixed by the upload, and the "
9441 "auto-builders may start recompiling it.  The package is now publicly "
9442 "accessible at <ulink url=\"&url-incoming;\"></ulink> until it is really "
9443 "installed in the Debian archive.  This happens four times a day (and is also "
9444 "called the `dinstall run' for historical reasons); the package is then "
9445 "removed from incoming and installed in the pool along with all the other "
9446 "packages.  Once all the other updates (generating new "
9447 "<filename>Packages</filename> and <filename>Sources</filename> index files "
9448 "for example) have been made, a special script is called to ask all the "
9449 "primary mirrors to update themselves."
9450 msgstr ""
9451
9452 #. type: Content of: <chapter><section><para>
9453 #: resources.dbk:877
9454 msgid ""
9455 "The archive maintenance software will also send the OpenPGP/GnuPG signed "
9456 "<filename>.changes</filename> file that you uploaded to the appropriate "
9457 "mailing lists.  If a package is released with the "
9458 "<literal>Distribution</literal> set to <literal>stable</literal>, the "
9459 "announcement is sent to &email-debian-changes;.  If a package is released "
9460 "with <literal>Distribution</literal> set to <literal>unstable</literal> or "
9461 "<literal>experimental</literal>, the announcement will be posted to "
9462 "&email-debian-devel-changes; instead."
9463 msgstr ""
9464
9465 #. type: Content of: <chapter><section><para>
9466 #: resources.dbk:887
9467 msgid ""
9468 "Though ftp-master is restricted, a copy of the installation is available to "
9469 "all developers on <literal>&ftp-master-mirror;</literal>."
9470 msgstr ""
9471
9472 #. type: Content of: <chapter><section><title>
9473 #: resources.dbk:950
9474 msgid "Package information"
9475 msgstr ""
9476
9477 #. type: Content of: <chapter><section><section><title>
9478 #: resources.dbk:952
9479 msgid "On the web"
9480 msgstr ""
9481
9482 #. type: Content of: <chapter><section><section><para>
9483 #: resources.dbk:954
9484 msgid ""
9485 "Each package has several dedicated web pages.  "
9486 "<literal>http://&packages-host;/<replaceable>package-name</replaceable></literal> "
9487 "displays each version of the package available in the various "
9488 "distributions.  Each version links to a page which provides information, "
9489 "including the package description, the dependencies, and package download "
9490 "links."
9491 msgstr ""
9492
9493 #. type: Content of: <chapter><section><section><para>
9494 #: resources.dbk:961
9495 msgid ""
9496 "The bug tracking system tracks bugs for each package.  You can view the bugs "
9497 "of a given package at the URL "
9498 "<literal>http://&bugs-host;/<replaceable>package-name</replaceable></literal>."
9499 msgstr ""
9500
9501 #. type: Content of: <chapter><section><section><title>
9502 #: resources.dbk:968
9503 msgid "The <command>dak ls</command> utility"
9504 msgstr ""
9505
9506 #. type: Content of: <chapter><section><section><para>
9507 #: resources.dbk:970
9508 msgid ""
9509 "<command>dak ls</command> is part of the dak suite of tools, listing "
9510 "available package versions for all known distributions and architectures.  "
9511 "The <command>dak</command> tool is available on "
9512 "<literal>&ftp-master-host;</literal>, and on the mirror on "
9513 "<literal>&ftp-master-mirror;</literal>.  It uses a single argument "
9514 "corresponding to a package name. An example will explain it better:"
9515 msgstr ""
9516
9517 #. type: Content of: <chapter><section><section><screen>
9518 #: resources.dbk:978
9519 #, no-wrap
9520 msgid ""
9521 "$ dak ls evince\n"
9522 "evince | 0.1.5-2sarge1 |     oldstable | source, alpha, arm, hppa, i386, "
9523 "ia64, m68k, mips, mipsel, powerpc, s390, sparc\n"
9524 "evince |    0.4.0-5 |     etch-m68k | source, m68k\n"
9525 "evince |    0.4.0-5 |        stable | source, alpha, amd64, arm, hppa, i386, "
9526 "ia64, mips, mipsel, powerpc, s390, sparc\n"
9527 "evince |   2.20.2-1 |       testing | source\n"
9528 "evince | 2.20.2-1+b1 |       testing | alpha, amd64, arm, armel, hppa, i386, "
9529 "ia64, mips, mipsel, powerpc, s390, sparc\n"
9530 "evince |   2.22.2-1 |      unstable | source, alpha, amd64, arm, armel, "
9531 "hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc\n"
9532 msgstr ""
9533
9534 #. type: Content of: <chapter><section><section><para>
9535 #: resources.dbk:987
9536 msgid ""
9537 "In this example, you can see that the version in <literal>unstable</literal> "
9538 "differs from the version in <literal>testing</literal> and that there has "
9539 "been a binary-only NMU of the package for all architectures.  Each version "
9540 "of the package has been recompiled on all architectures."
9541 msgstr ""
9542
9543 #. type: Content of: <chapter><section><title>
9544 #: resources.dbk:997
9545 msgid "The Package Tracking System"
9546 msgstr ""
9547
9548 #. type: Content of: <chapter><section><para>
9549 #: resources.dbk:999
9550 msgid ""
9551 "The Package Tracking System (PTS) is an email-based tool to track the "
9552 "activity of a source package.  This really means that you can get the same "
9553 "emails that the package maintainer gets, simply by subscribing to the "
9554 "package in the PTS."
9555 msgstr ""
9556
9557 #. type: Content of: <chapter><section><para>
9558 #: resources.dbk:1004
9559 msgid ""
9560 "Each email sent through the PTS is classified under one of the keywords "
9561 "listed below.  This will let you select the mails that you want to receive."
9562 msgstr ""
9563
9564 #. type: Content of: <chapter><section><para>
9565 #: resources.dbk:1008
9566 msgid "By default you will get:"
9567 msgstr ""
9568
9569 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9570 #: resources.dbk:1012
9571 msgid "<literal>bts</literal>"
9572 msgstr ""
9573
9574 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9575 #: resources.dbk:1015
9576 msgid "All the bug reports and following discussions."
9577 msgstr ""
9578
9579 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9580 #: resources.dbk:1020
9581 msgid "<literal>bts-control</literal>"
9582 msgstr ""
9583
9584 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9585 #: resources.dbk:1023
9586 msgid ""
9587 "The email notifications from <email>control@&bugs-host;</email> about bug "
9588 "report status changes."
9589 msgstr ""
9590
9591 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9592 #: resources.dbk:1029
9593 msgid "<literal>upload-source</literal>"
9594 msgstr ""
9595
9596 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9597 #: resources.dbk:1032
9598 msgid ""
9599 "The email notification from <command>dak</command> when an uploaded source "
9600 "package is accepted."
9601 msgstr ""
9602
9603 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9604 #: resources.dbk:1038
9605 msgid "<literal>katie-other</literal>"
9606 msgstr ""
9607
9608 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9609 #: resources.dbk:1041
9610 msgid ""
9611 "Other warning and error emails from <command>dak</command> (such as an "
9612 "override disparity for the section and/or the priority field)."
9613 msgstr ""
9614
9615 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9616 #: resources.dbk:1047
9617 msgid "<literal>buildd</literal>"
9618 msgstr ""
9619
9620 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9621 #: resources.dbk:1050
9622 msgid ""
9623 "Build failures notifications sent by the network of build daemons, they "
9624 "contain a pointer to the build logs for analysis."
9625 msgstr ""
9626
9627 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9628 #: resources.dbk:1056
9629 msgid "<literal>default</literal>"
9630 msgstr ""
9631
9632 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9633 #: resources.dbk:1059
9634 msgid ""
9635 "Any non-automatic email sent to the PTS by people who wanted to contact the "
9636 "subscribers of the package.  This can be done by sending mail to "
9637 "<literal><replaceable>sourcepackage</replaceable>@&pts-host;</literal>.  In "
9638 "order to prevent spam, all messages sent to these addresses must contain the "
9639 "<literal>X-PTS-Approved</literal> header with a non-empty value."
9640 msgstr ""
9641
9642 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9643 #: resources.dbk:1068
9644 msgid "<literal>contact</literal>"
9645 msgstr ""
9646
9647 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9648 #: resources.dbk:1071
9649 msgid ""
9650 "Mails sent to the maintainer through the *@packages.debian.org email "
9651 "aliases."
9652 msgstr ""
9653
9654 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9655 #: resources.dbk:1077
9656 msgid "<literal>summary</literal>"
9657 msgstr ""
9658
9659 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9660 #: resources.dbk:1080
9661 msgid ""
9662 "Regular summary emails about the package's status, including progression "
9663 "into <literal>testing</literal>, <ulink url=\"&url-dehs;\">DEHS</ulink> "
9664 "notifications of new upstream versions, and a notification if the package is "
9665 "removed or orphaned."
9666 msgstr ""
9667
9668 #. type: Content of: <chapter><section><para>
9669 #: resources.dbk:1090
9670 msgid "You can also decide to receive additional information:"
9671 msgstr ""
9672
9673 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9674 #: resources.dbk:1094
9675 msgid "<literal>upload-binary</literal>"
9676 msgstr ""
9677
9678 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9679 #: resources.dbk:1097
9680 msgid ""
9681 "The email notification from <command>katie</command> when an uploaded binary "
9682 "package is accepted.  In other words, whenever a build daemon or a porter "
9683 "uploads your package for another architecture, you can get an email to track "
9684 "how your package gets recompiled for all architectures."
9685 msgstr ""
9686
9687 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9688 #: resources.dbk:1105
9689 msgid "<literal>cvs</literal>"
9690 msgstr ""
9691
9692 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9693 #: resources.dbk:1108
9694 msgid ""
9695 "VCS commit notifications, if the package has a VCS repository and the "
9696 "maintainer has set up forwarding of commit notifications to the PTS. The "
9697 "\"cvs\" name is historic, in most cases commit notifications will come from "
9698 "some other VCS like subversion or git."
9699 msgstr ""
9700
9701 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9702 #: resources.dbk:1116
9703 msgid "<literal>ddtp</literal>"
9704 msgstr ""
9705
9706 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9707 #: resources.dbk:1119
9708 msgid ""
9709 "Translations of descriptions or debconf templates submitted to the Debian "
9710 "Description Translation Project."
9711 msgstr ""
9712
9713 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9714 #: resources.dbk:1125
9715 msgid "<literal>derivatives</literal>"
9716 msgstr ""
9717
9718 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9719 #: resources.dbk:1128
9720 msgid ""
9721 "Information about changes made to the package in derivative distributions "
9722 "(for example Ubuntu)."
9723 msgstr ""
9724
9725 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9726 #: resources.dbk:1134
9727 msgid "<literal>derivatives-bugs</literal>"
9728 msgstr ""
9729
9730 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9731 #: resources.dbk:1137
9732 msgid ""
9733 "Bugs reports and comments from derivative distributions (for example "
9734 "Ubuntu)."
9735 msgstr ""
9736
9737 #. type: Content of: <chapter><section><section><title>
9738 #: resources.dbk:1143
9739 msgid "The PTS email interface"
9740 msgstr ""
9741
9742 #. type: Content of: <chapter><section><section><para>
9743 #: resources.dbk:1145
9744 msgid ""
9745 "You can control your subscription(s) to the PTS by sending various commands "
9746 "to <email>pts@qa.debian.org</email>."
9747 msgstr ""
9748
9749 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9750 #: resources.dbk:1150
9751 msgid "<literal>subscribe &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9752 msgstr ""
9753
9754 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9755 #: resources.dbk:1153
9756 msgid ""
9757 "Subscribes <replaceable>email</replaceable> to communications related to the "
9758 "source package <replaceable>sourcepackage</replaceable>.  Sender address is "
9759 "used if the second argument is not present.  If "
9760 "<replaceable>sourcepackage</replaceable> is not a valid source package, "
9761 "you'll get a warning.  However if it's a valid binary package, the PTS will "
9762 "subscribe you to the corresponding source package."
9763 msgstr ""
9764
9765 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9766 #: resources.dbk:1163
9767 msgid "<literal>unsubscribe &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9768 msgstr ""
9769
9770 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9771 #: resources.dbk:1166
9772 msgid ""
9773 "Removes a previous subscription to the source package "
9774 "<replaceable>sourcepackage</replaceable> using the specified email address "
9775 "or the sender address if the second argument is left out."
9776 msgstr ""
9777
9778 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9779 #: resources.dbk:1173
9780 msgid "<literal>unsubscribeall [&lt;email&gt;]</literal>"
9781 msgstr ""
9782
9783 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9784 #: resources.dbk:1176
9785 msgid ""
9786 "Removes all subscriptions of the specified email address or the sender "
9787 "address if the second argument is left out."
9788 msgstr ""
9789
9790 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9791 #: resources.dbk:1182
9792 msgid "<literal>which [&lt;email&gt;]</literal>"
9793 msgstr ""
9794
9795 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9796 #: resources.dbk:1185
9797 msgid ""
9798 "Lists all subscriptions for the sender or the email address optionally "
9799 "specified."
9800 msgstr ""
9801
9802 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9803 #: resources.dbk:1191
9804 msgid "<literal>keyword [&lt;email&gt;]</literal>"
9805 msgstr ""
9806
9807 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9808 #: resources.dbk:1194
9809 msgid ""
9810 "Tells you the keywords that you are accepting.  For an explanation of "
9811 "keywords, <link linkend=\"pkg-tracking-system\">see above</link>.  Here's a "
9812 "quick summary:"
9813 msgstr ""
9814
9815 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9816 #: resources.dbk:1201
9817 msgid "<literal>bts</literal>: mails coming from the Debian Bug Tracking System"
9818 msgstr ""
9819
9820 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9821 #: resources.dbk:1206
9822 msgid "<literal>bts-control</literal>: reply to mails sent to &email-bts-control;"
9823 msgstr ""
9824
9825 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9826 #: resources.dbk:1212
9827 msgid ""
9828 "<literal>summary</literal>: automatic summary mails about the state of a "
9829 "package"
9830 msgstr ""
9831
9832 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9833 #: resources.dbk:1218
9834 msgid ""
9835 "<literal>contact</literal>: mails sent to the maintainer through the "
9836 "*@packages.debian.org aliases"
9837 msgstr ""
9838
9839 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9840 #: resources.dbk:1224
9841 msgid "<literal>cvs</literal>: notification of VCS commits"
9842 msgstr ""
9843
9844 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9845 #: resources.dbk:1229
9846 msgid "<literal>ddtp</literal>: translations of descriptions and debconf templates"
9847 msgstr ""
9848
9849 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9850 #: resources.dbk:1234
9851 msgid ""
9852 "<literal>derivatives</literal>: changes made on the package by derivative "
9853 "distributions"
9854 msgstr ""
9855
9856 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9857 #: resources.dbk:1240
9858 msgid ""
9859 "<literal>derivatives-bugs</literal>: bugs reports and comments from "
9860 "derivative distributions"
9861 msgstr ""
9862
9863 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9864 #: resources.dbk:1246
9865 msgid ""
9866 "<literal>upload-source</literal>: announce of a new source upload that has "
9867 "been accepted"
9868 msgstr ""
9869
9870 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9871 #: resources.dbk:1252
9872 msgid ""
9873 "<literal>upload-binary</literal>: announce of a new binary-only upload "
9874 "(porting)"
9875 msgstr ""
9876
9877 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9878 #: resources.dbk:1258
9879 msgid ""
9880 "<literal>katie-other</literal>: other mails from ftpmasters (override "
9881 "disparity, etc.)"
9882 msgstr ""
9883
9884 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9885 #: resources.dbk:1264
9886 msgid "<literal>buildd</literal>: build failures notifications from build daemons"
9887 msgstr ""
9888
9889 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9890 #: resources.dbk:1269
9891 msgid ""
9892 "<literal>default</literal>: all the other mails (those which aren't "
9893 "automatic)"
9894 msgstr ""
9895
9896 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9897 #: resources.dbk:1276
9898 msgid "<literal>keyword &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9899 msgstr ""
9900
9901 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9902 #: resources.dbk:1279
9903 msgid ""
9904 "Same as the previous item but for the given source package, since you may "
9905 "select a different set of keywords for each source package."
9906 msgstr ""
9907
9908 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9909 #: resources.dbk:1285
9910 msgid "<literal>keyword [&lt;email&gt;] {+|-|=} &lt;list of keywords&gt;</literal>"
9911 msgstr ""
9912
9913 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9914 #: resources.dbk:1288
9915 msgid ""
9916 "Accept (+) or refuse (-) mails classified under the given keyword(s).  "
9917 "Define the list (=) of accepted keywords.  This changes the default set of "
9918 "keywords accepted by a user."
9919 msgstr ""
9920
9921 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9922 #: resources.dbk:1295
9923 msgid ""
9924 "<literal>keywordall [&lt;email&gt;] {+|-|=} &lt;list of "
9925 "keywords&gt;</literal>"
9926 msgstr ""
9927
9928 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9929 #: resources.dbk:1298
9930 msgid ""
9931 "Accept (+) or refuse (-) mails classified under the given keyword(s).  "
9932 "Define the list (=) of accepted keywords.  This changes the set of accepted "
9933 "keywords of all the currently active subscriptions of a user."
9934 msgstr ""
9935
9936 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9937 #: resources.dbk:1305
9938 msgid ""
9939 "<literal>keyword &lt;sourcepackage&gt; [&lt;email&gt;] {+|-|=} &lt;list of "
9940 "keywords&gt;</literal>"
9941 msgstr ""
9942
9943 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9944 #: resources.dbk:1308
9945 msgid ""
9946 "Same as previous item but overrides the keywords list for the indicated "
9947 "source package."
9948 msgstr ""
9949
9950 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9951 #: resources.dbk:1314
9952 msgid "<literal>quit | thanks | --</literal>"
9953 msgstr ""
9954
9955 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9956 #: resources.dbk:1317
9957 msgid "Stops processing commands.  All following lines are ignored by the bot."
9958 msgstr ""
9959
9960 #. type: Content of: <chapter><section><section><para>
9961 #: resources.dbk:1323
9962 msgid ""
9963 "The <command>pts-subscribe</command> command-line utility (from the "
9964 "<systemitem role=\"package\">devscripts</systemitem> package) can be handy "
9965 "to temporarily subscribe to some packages, for example after having made an "
9966 "non-maintainer upload."
9967 msgstr ""
9968
9969 #. type: Content of: <chapter><section><section><title>
9970 #: resources.dbk:1331
9971 msgid "Filtering PTS mails"
9972 msgstr ""
9973
9974 #. type: Content of: <chapter><section><section><para>
9975 #: resources.dbk:1333
9976 msgid ""
9977 "Once you are subscribed to a package, you will get the mails sent to "
9978 "<literal><replaceable>sourcepackage</replaceable>@&pts-host;</literal>.  "
9979 "Those mails have special headers appended to let you filter them in a "
9980 "special mailbox (e.g.  with <command>procmail</command>).  The added headers "
9981 "are <literal>X-Loop</literal>, <literal>X-PTS-Package</literal>, "
9982 "<literal>X-PTS-Keyword</literal> and <literal>X-Unsubscribe</literal>."
9983 msgstr ""
9984
9985 #. type: Content of: <chapter><section><section><para>
9986 #: resources.dbk:1341
9987 msgid ""
9988 "Here is an example of added headers for a source upload notification on the "
9989 "<systemitem role=\"package\">dpkg</systemitem> package:"
9990 msgstr ""
9991
9992 #. type: Content of: <chapter><section><section><screen>
9993 #: resources.dbk:1345
9994 #, no-wrap
9995 msgid ""
9996 "X-Loop: dpkg@&pts-host;\n"
9997 "X-PTS-Package: dpkg\n"
9998 "X-PTS-Keyword: upload-source\n"
9999 "List-Unsubscribe: &lt;mailto:pts@qa.debian.org?body=unsubscribe+dpkg&gt;\n"
10000 msgstr ""
10001
10002 #. type: Content of: <chapter><section><section><title>
10003 #: resources.dbk:1353
10004 msgid "Forwarding VCS commits in the PTS"
10005 msgstr ""
10006
10007 #. type: Content of: <chapter><section><section><para>
10008 #: resources.dbk:1355
10009 msgid ""
10010 "If you use a publicly accessible VCS repository for maintaining your Debian "
10011 "package, you may want to forward the commit notification to the PTS so that "
10012 "the subscribers (and possible co-maintainers) can closely follow the "
10013 "package's evolution."
10014 msgstr ""
10015
10016 #. type: Content of: <chapter><section><section><para>
10017 #: resources.dbk:1361
10018 msgid ""
10019 "Once you set up the VCS repository to generate commit notifications, you "
10020 "just have to make sure it sends a copy of those mails to "
10021 "<literal><replaceable>sourcepackage</replaceable>_cvs@&pts-host;</literal>.  "
10022 "Only the people who accept the <literal>cvs</literal> keyword will receive "
10023 "these notifications. Note that the mail needs to be sent from a "
10024 "<literal>debian.org</literal> machine, otherwise you'll have to add the "
10025 "<literal>X-PTS-Approved: 1</literal> header."
10026 msgstr ""
10027
10028 #. type: Content of: <chapter><section><section><para>
10029 #: resources.dbk:1370
10030 msgid ""
10031 "For Subversion repositories, the usage of svnmailer is recommended.  See "
10032 "<ulink url=\"&url-alioth-pkg;\" /> for an example on how to do it."
10033 msgstr ""
10034
10035 #. type: Content of: <chapter><section><section><title>
10036 #: resources.dbk:1376
10037 msgid "The PTS web interface"
10038 msgstr ""
10039
10040 #. type: Content of: <chapter><section><section><para>
10041 #: resources.dbk:1378
10042 msgid ""
10043 "The PTS has a web interface at <ulink url=\"http://&pts-host;/\"></ulink> "
10044 "that puts together a lot of information about each source package.  It "
10045 "features many useful links (BTS, QA stats, contact information, DDTP "
10046 "translation status, buildd logs) and gathers much more information from "
10047 "various places (30 latest changelog entries, testing status, etc.).  It's a "
10048 "very useful tool if you want to know what's going on with a specific source "
10049 "package.  Furthermore there's a form that allows easy subscription to the "
10050 "PTS via email."
10051 msgstr ""
10052
10053 #. type: Content of: <chapter><section><section><para>
10054 #: resources.dbk:1388
10055 msgid ""
10056 "You can jump directly to the web page concerning a specific source package "
10057 "with a URL like "
10058 "<literal>http://&pts-host;/<replaceable>sourcepackage</replaceable></literal>."
10059 msgstr ""
10060
10061 #. type: Content of: <chapter><section><section><para>
10062 #: resources.dbk:1393
10063 msgid ""
10064 "This web interface has been designed like a portal for the development of "
10065 "packages: you can add custom content on your packages' pages.  You can add "
10066 "static information (news items that are meant to stay available "
10067 "indefinitely)  and news items in the latest news section."
10068 msgstr ""
10069
10070 #. type: Content of: <chapter><section><section><para>
10071 #: resources.dbk:1399
10072 msgid "Static news items can be used to indicate:"
10073 msgstr ""
10074
10075 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10076 #: resources.dbk:1404
10077 msgid ""
10078 "the availability of a project hosted on <link "
10079 "linkend=\"alioth\">Alioth</link> for co-maintaining the package"
10080 msgstr ""
10081
10082 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10083 #: resources.dbk:1410
10084 msgid "a link to the upstream web site"
10085 msgstr ""
10086
10087 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10088 #: resources.dbk:1415
10089 msgid "a link to the upstream bug tracker"
10090 msgstr ""
10091
10092 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10093 #: resources.dbk:1420
10094 msgid "the existence of an IRC channel dedicated to the software"
10095 msgstr ""
10096
10097 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10098 #: resources.dbk:1425
10099 msgid ""
10100 "any other available resource that could be useful in the maintenance of the "
10101 "package"
10102 msgstr ""
10103
10104 #. type: Content of: <chapter><section><section><para>
10105 #: resources.dbk:1431
10106 msgid "Usual news items may be used to announce that:"
10107 msgstr ""
10108
10109 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10110 #: resources.dbk:1436
10111 msgid "beta packages are available for testing"
10112 msgstr ""
10113
10114 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10115 #: resources.dbk:1441
10116 msgid "final packages are expected for next week"
10117 msgstr ""
10118
10119 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10120 #: resources.dbk:1446
10121 msgid "the packaging is about to be redone from scratch"
10122 msgstr ""
10123
10124 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10125 #: resources.dbk:1451
10126 msgid "backports are available"
10127 msgstr ""
10128
10129 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10130 #: resources.dbk:1456
10131 msgid "the maintainer is on vacation (if they wish to publish this information)"
10132 msgstr ""
10133
10134 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10135 #: resources.dbk:1461
10136 msgid "a NMU is being worked on"
10137 msgstr ""
10138
10139 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10140 #: resources.dbk:1466
10141 msgid "something important will affect the package"
10142 msgstr ""
10143
10144 #. type: Content of: <chapter><section><section><para>
10145 #: resources.dbk:1471
10146 msgid ""
10147 "Both kinds of news are generated in a similar manner: you just have to send "
10148 "an email either to <email>pts-static-news@qa.debian.org</email> or to "
10149 "<email>pts-news@qa.debian.org</email>.  The mail should indicate which "
10150 "package is concerned by having the name of the source package in a "
10151 "<literal>X-PTS-Package</literal> mail header or in a "
10152 "<literal>Package</literal> pseudo-header (like the BTS reports).  If a URL "
10153 "is available in the <literal>X-PTS-Url</literal> mail header or in the "
10154 "<literal>Url</literal> pseudo-header, then the result is a link to that URL "
10155 "instead of a complete news item."
10156 msgstr ""
10157
10158 #. type: Content of: <chapter><section><section><para>
10159 #: resources.dbk:1482
10160 msgid ""
10161 "Here are a few examples of valid mails used to generate news items in the "
10162 "PTS.  The first one adds a link to the viewsvn interface of debian-cd in the "
10163 "Static information section:"
10164 msgstr ""
10165
10166 #. type: Content of: <chapter><section><section><screen>
10167 #: resources.dbk:1487
10168 #, no-wrap
10169 msgid ""
10170 "From: Raphael Hertzog &lt;hertzog@debian.org&gt;\n"
10171 "To: pts-static-news@qa.debian.org\n"
10172 "Subject: Browse debian-cd SVN repository\n"
10173 "\n"
10174 "Package: debian-cd\n"
10175 "Url: http://svn.debian.org/viewsvn/debian-cd/trunk/\n"
10176 msgstr ""
10177
10178 #. type: Content of: <chapter><section><section><para>
10179 #: resources.dbk:1495
10180 msgid ""
10181 "The second one is an announcement sent to a mailing list which is also sent "
10182 "to the PTS so that it is published on the PTS web page of the package.  Note "
10183 "the use of the BCC field to avoid answers sent to the PTS by mistake."
10184 msgstr ""
10185
10186 #. type: Content of: <chapter><section><section><screen>
10187 #: resources.dbk:1500
10188 #, no-wrap
10189 msgid ""
10190 "From: Raphael Hertzog &lt;hertzog@debian.org&gt;\n"
10191 "To: debian-gtk-gnome@&lists-host;\n"
10192 "Bcc: pts-news@qa.debian.org\n"
10193 "Subject: Galeon 2.0 backported for woody\n"
10194 "X-PTS-Package: galeon\n"
10195 "\n"
10196 "Hello gnomers!\n"
10197 "\n"
10198 "I'm glad to announce that galeon has been backported for woody. You'll "
10199 "find\n"
10200 "everything here:\n"
10201 "...\n"
10202 msgstr ""
10203
10204 #. type: Content of: <chapter><section><section><para>
10205 #: resources.dbk:1513
10206 msgid ""
10207 "Think twice before adding a news item to the PTS because you won't be able "
10208 "to remove it later and you won't be able to edit it either.  The only thing "
10209 "that you can do is send a second news item that will deprecate the "
10210 "information contained in the previous one."
10211 msgstr ""
10212
10213 #. type: Content of: <chapter><section><title>
10214 #: resources.dbk:1523
10215 msgid "Developer's packages overview"
10216 msgstr ""
10217
10218 #. type: Content of: <chapter><section><para>
10219 #: resources.dbk:1525
10220 msgid ""
10221 "A QA (quality assurance) web portal is available at <ulink "
10222 "url=\"&url-ddpo;\"></ulink> which displays a table listing all the packages "
10223 "of a single developer (including those where the party is listed as a "
10224 "co-maintainer).  The table gives a good summary about the developer's "
10225 "packages: number of bugs by severity, list of available versions in each "
10226 "distribution, testing status and much more including links to any other "
10227 "useful information."
10228 msgstr ""
10229
10230 #. type: Content of: <chapter><section><para>
10231 #: resources.dbk:1534
10232 msgid ""
10233 "It is a good idea to look up your own data regularly so that you don't "
10234 "forget any open bugs, and so that you don't forget which packages are your "
10235 "responsibility."
10236 msgstr ""
10237
10238 #. type: Content of: <chapter><section><title>
10239 #: resources.dbk:1541
10240 msgid "Debian's FusionForge installation: Alioth"
10241 msgstr ""
10242
10243 #. type: Content of: <chapter><section><para>
10244 #: resources.dbk:1543
10245 msgid ""
10246 "Alioth is a Debian service based on a slightly modified version of the "
10247 "FusionForge software (which evolved from SourceForge and GForge). This "
10248 "software offers developers access to easy-to-use tools such as bug trackers, "
10249 "patch manager, project/task managers, file hosting services, mailing lists, "
10250 "VCS repositories etc.  All these tools are managed via a web interface."
10251 msgstr ""
10252
10253 #. type: Content of: <chapter><section><para>
10254 #: resources.dbk:1550
10255 msgid ""
10256 "It is intended to provide facilities to free software projects backed or led "
10257 "by Debian, facilitate contributions from external developers to projects "
10258 "started by Debian, and help projects whose goals are the promotion of Debian "
10259 "or its derivatives. It's heavily used by many Debian teams and provides "
10260 "hosting for all sorts of VCS repositories."
10261 msgstr ""
10262
10263 #. type: Content of: <chapter><section><para>
10264 #: resources.dbk:1557
10265 msgid ""
10266 "All Debian developers automatically have an account on Alioth.  They can "
10267 "activate it by using the recover password facility.  External developers can "
10268 "request guest accounts on Alioth."
10269 msgstr ""
10270
10271 #. type: Content of: <chapter><section><para>
10272 #: resources.dbk:1562
10273 msgid "For more information please visit the following links:"
10274 msgstr ""
10275
10276 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10277 #: resources.dbk:1565
10278 msgid "<ulink url=\"&url-alioth-wiki;\" />"
10279 msgstr ""
10280
10281 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10282 #: resources.dbk:1566
10283 msgid "<ulink url=\"&url-alioth-faq;\" />"
10284 msgstr ""
10285
10286 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10287 #: resources.dbk:1567
10288 msgid "<ulink url=\"&url-alioth-pkg;\" />"
10289 msgstr ""
10290
10291 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10292 #: resources.dbk:1568
10293 msgid "<ulink url=\"&url-alioth;\" />"
10294 msgstr ""
10295
10296 #. type: Content of: <chapter><section><title>
10297 #: resources.dbk:1573
10298 msgid "Goodies for Developers"
10299 msgstr ""
10300
10301 #. type: Content of: <chapter><section><section><title>
10302 #: resources.dbk:1575
10303 msgid "LWN Subscriptions"
10304 msgstr ""
10305
10306 #. type: Content of: <chapter><section><section><para>
10307 #: resources.dbk:1577
10308 msgid ""
10309 "Since October of 2002, HP has sponsored a subscription to LWN for all "
10310 "interested Debian developers.  Details on how to get access to this benefit "
10311 "are in <ulink "
10312 "url=\"http://&lists-host;/debian-devel-announce/2002/10/msg00018.html\"></ulink>."
10313 msgstr ""
10314
10315 #. type: Content of: <chapter><section><section><title>
10316 #: resources.dbk:1584
10317 msgid "Gandi.net Hosting Discount"
10318 msgstr ""
10319
10320 #. type: Content of: <chapter><section><section><para>
10321 #: resources.dbk:1586
10322 msgid ""
10323 "As of November 2008, Gandi.net offers a discount rate on their VPS hosting "
10324 "for Debian Developers.  See <ulink "
10325 "url=\"http://&lists-host;/debian-devel-announce/2008/11/msg00004.html\"></ulink>."
10326 msgstr ""
10327
10328 #. type: Content of: <chapter><title>
10329 #: scope.dbk:7
10330 msgid "Scope of This Document"
10331 msgstr ""
10332
10333 #. type: Content of: <chapter><para>
10334 #: scope.dbk:9
10335 msgid ""
10336 "The purpose of this document is to provide an overview of the recommended "
10337 "procedures and the available resources for Debian developers."
10338 msgstr ""
10339
10340 #. type: Content of: <chapter><para>
10341 #: scope.dbk:14
10342 msgid ""
10343 "The procedures discussed within include how to become a maintainer (<xref "
10344 "linkend=\"new-maintainer\"/>); how to create new packages (<xref "
10345 "linkend=\"newpackage\"/>) and how to upload packages (<xref "
10346 "linkend=\"upload\"/>); how to handle bug reports (<xref "
10347 "linkend=\"bug-handling\"/>); how to move, remove, or orphan packages (<xref "
10348 "linkend=\"archive-manip\"/>); how to port packages (<xref "
10349 "linkend=\"porting\"/>); and how and when to do interim releases of other "
10350 "maintainers' packages (<xref linkend=\"nmu\"/>)."
10351 msgstr ""
10352
10353 #. type: Content of: <chapter><para>
10354 #: scope.dbk:23
10355 msgid ""
10356 "The resources discussed in this reference include the mailing lists (<xref "
10357 "linkend=\"mailing-lists\"/>) and servers (<xref "
10358 "linkend=\"server-machines\"/>); a discussion of the structure of the Debian "
10359 "archive (<xref linkend=\"archive\"/>); explanation of the different servers "
10360 "which accept package uploads (<xref linkend=\"upload-ftp-master\"/>); and a "
10361 "discussion of resources which can help maintainers with the quality of their "
10362 "packages (<xref linkend=\"tools\"/>)."
10363 msgstr ""
10364
10365 #. type: Content of: <chapter><para>
10366 #: scope.dbk:31
10367 msgid ""
10368 "It should be clear that this reference does not discuss the technical "
10369 "details of Debian packages nor how to generate them.  Nor does this "
10370 "reference detail the standards to which Debian software must comply.  All of "
10371 "such information can be found in the <ulink "
10372 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>."
10373 msgstr ""
10374
10375 #. type: Content of: <chapter><para>
10376 #: scope.dbk:38
10377 msgid ""
10378 "Furthermore, this document is <emphasis>not an expression of formal "
10379 "policy</emphasis>.  It contains documentation for the Debian system and "
10380 "generally agreed-upon best practices.  Thus, it is not what is called a "
10381 "``normative'' document."
10382 msgstr ""
10383
10384 #. type: Content of: <appendix><title>
10385 #: tools.dbk:7
10386 msgid "Overview of Debian Maintainer Tools"
10387 msgstr ""
10388
10389 #. type: Content of: <appendix><para>
10390 #: tools.dbk:9
10391 msgid ""
10392 "This section contains a rough overview of the tools available to "
10393 "maintainers.  The following is by no means complete or definitive, but just "
10394 "a guide to some of the more popular tools."
10395 msgstr ""
10396
10397 #. type: Content of: <appendix><para>
10398 #: tools.dbk:14
10399 msgid ""
10400 "Debian maintainer tools are meant to aid developers and free their time for "
10401 "critical tasks.  As Larry Wall says, there's more than one way to do it."
10402 msgstr ""
10403
10404 #. type: Content of: <appendix><para>
10405 #: tools.dbk:18
10406 msgid ""
10407 "Some people prefer to use high-level package maintenance tools and some do "
10408 "not.  Debian is officially agnostic on this issue; any tool which gets the "
10409 "job done is fine.  Therefore, this section is not meant to stipulate to "
10410 "anyone which tools they should use or how they should go about their duties "
10411 "of maintainership.  Nor is it meant to endorse any particular tool to the "
10412 "exclusion of a competing tool."
10413 msgstr ""
10414
10415 #. type: Content of: <appendix><para>
10416 #: tools.dbk:26
10417 msgid ""
10418 "Most of the descriptions of these packages come from the actual package "
10419 "descriptions themselves.  Further information can be found in the package "
10420 "documentation itself.  You can also see more info with the command "
10421 "<command>apt-cache show <replaceable>package-name</replaceable></command>."
10422 msgstr ""
10423
10424 #. type: Content of: <appendix><section><title>
10425 #: tools.dbk:32
10426 msgid "Core tools"
10427 msgstr ""
10428
10429 #. type: Content of: <appendix><section><para>
10430 #: tools.dbk:34
10431 msgid "The following tools are pretty much required for any maintainer."
10432 msgstr ""
10433
10434 #. type: Content of: <appendix><section><section><title>
10435 #: tools.dbk:37
10436 msgid "<systemitem role=\"package\">dpkg-dev</systemitem>"
10437 msgstr ""
10438
10439 #. type: Content of: <appendix><section><section><para>
10440 #: tools.dbk:39
10441 msgid ""
10442 "<systemitem role=\"package\">dpkg-dev</systemitem> contains the tools "
10443 "(including <command>dpkg-source</command>) required to unpack, build, and "
10444 "upload Debian source packages.  These utilities contain the fundamental, "
10445 "low-level functionality required to create and manipulate packages; as such, "
10446 "they are essential for any Debian maintainer."
10447 msgstr ""
10448
10449 #. type: Content of: <appendix><section><section><title>
10450 #: tools.dbk:48
10451 msgid "<systemitem role=\"package\">debconf</systemitem>"
10452 msgstr ""
10453
10454 #. type: Content of: <appendix><section><section><para>
10455 #: tools.dbk:50
10456 msgid ""
10457 "<systemitem role=\"package\">debconf</systemitem> provides a consistent "
10458 "interface to configuring packages interactively.  It is user interface "
10459 "independent, allowing end-users to configure packages with a text-only "
10460 "interface, an HTML interface, or a dialog interface.  New interfaces can be "
10461 "added as modules."
10462 msgstr ""
10463
10464 #. type: Content of: <appendix><section><section><para>
10465 #: tools.dbk:56
10466 msgid ""
10467 "You can find documentation for this package in the <systemitem "
10468 "role=\"package\">debconf-doc</systemitem> package."
10469 msgstr ""
10470
10471 #. type: Content of: <appendix><section><section><para>
10472 #: tools.dbk:60
10473 msgid ""
10474 "Many feel that this system should be used for all packages which require "
10475 "interactive configuration; see <xref linkend=\"bpp-config-mgmt\"/>.  "
10476 "<systemitem role=\"package\">debconf</systemitem> is not currently required "
10477 "by Debian Policy, but that may change in the future."
10478 msgstr ""
10479
10480 #. type: Content of: <appendix><section><section><title>
10481 #: tools.dbk:68
10482 msgid "<systemitem role=\"package\">fakeroot</systemitem>"
10483 msgstr ""
10484
10485 #. type: Content of: <appendix><section><section><para>
10486 #: tools.dbk:70
10487 msgid ""
10488 "<systemitem role=\"package\">fakeroot</systemitem> simulates root "
10489 "privileges.  This enables you to build packages without being root (packages "
10490 "usually want to install files with root ownership).  If you have <systemitem "
10491 "role=\"package\">fakeroot</systemitem> installed, you can build packages as "
10492 "a regular user: <literal>dpkg-buildpackage -rfakeroot</literal>."
10493 msgstr ""
10494
10495 #. type: Content of: <appendix><section><title>
10496 #: tools.dbk:81
10497 msgid "Package lint tools"
10498 msgstr ""
10499
10500 #. type: Content of: <appendix><section><para>
10501 #: tools.dbk:83
10502 msgid ""
10503 "According to the Free On-line Dictionary of Computing (FOLDOC), `lint' is a "
10504 "Unix C language processor which carries out more thorough checks on the code "
10505 "than is usual with C compilers.  Package lint tools help package maintainers "
10506 "by automatically finding common problems and policy violations in their "
10507 "packages."
10508 msgstr ""
10509
10510 #. type: Content of: <appendix><section><section><title>
10511 #: tools.dbk:89
10512 msgid "<systemitem role=\"package\">lintian</systemitem>"
10513 msgstr ""
10514
10515 #. type: Content of: <appendix><section><section><para>
10516 #: tools.dbk:91
10517 msgid ""
10518 "<systemitem role=\"package\">lintian</systemitem> dissects Debian packages "
10519 "and emits information about bugs and policy violations.  It contains "
10520 "automated checks for many aspects of Debian policy as well as some checks "
10521 "for common errors."
10522 msgstr ""
10523
10524 #. type: Content of: <appendix><section><section><para>
10525 #: tools.dbk:97
10526 msgid ""
10527 "You should periodically get the newest <systemitem "
10528 "role=\"package\">lintian</systemitem> from <literal>unstable</literal> and "
10529 "check over all your packages.  Notice that the <literal>-i</literal> option "
10530 "provides detailed explanations of what each error or warning means, what its "
10531 "basis in Policy is, and commonly how you can fix the problem."
10532 msgstr ""
10533
10534 #. type: Content of: <appendix><section><section><para>
10535 #: tools.dbk:104
10536 msgid ""
10537 "Refer to <xref linkend=\"sanitycheck\"/> for more information on how and "
10538 "when to use Lintian."
10539 msgstr ""
10540
10541 #. type: Content of: <appendix><section><section><para>
10542 #: tools.dbk:108
10543 msgid ""
10544 "You can also see a summary of all problems reported by Lintian on your "
10545 "packages at <ulink url=\"&url-lintian;\"></ulink>.  These reports contain "
10546 "the latest <command>lintian</command> output for the whole development "
10547 "distribution (<literal>unstable</literal>)."
10548 msgstr ""
10549
10550 #. type: Content of: <appendix><section><section><title>
10551 #: tools.dbk:116
10552 msgid "<command>debdiff</command>"
10553 msgstr ""
10554
10555 #. type: Content of: <appendix><section><section><para>
10556 #: tools.dbk:118
10557 msgid ""
10558 "<command>debdiff</command> (from the <systemitem "
10559 "role=\"package\">devscripts</systemitem> package, <xref "
10560 "linkend=\"devscripts\"/>)  compares file lists and control files of two "
10561 "packages.  It is a simple regression test, as it will help you notice if the "
10562 "number of binary packages has changed since the last upload, or if something "
10563 "has changed in the control file.  Of course, some of the changes it reports "
10564 "will be all right, but it can help you prevent various accidents."
10565 msgstr ""
10566
10567 #. type: Content of: <appendix><section><section><para>
10568 #: tools.dbk:127
10569 msgid "You can run it over a pair of binary packages:"
10570 msgstr ""
10571
10572 #. type: Content of: <appendix><section><section><screen>
10573 #: tools.dbk:130
10574 #, no-wrap
10575 msgid "debdiff package_1-1_arch.deb package_2-1_arch.deb\n"
10576 msgstr ""
10577
10578 #. type: Content of: <appendix><section><section><para>
10579 #: tools.dbk:133
10580 msgid "Or even a pair of changes files:"
10581 msgstr ""
10582
10583 #. type: Content of: <appendix><section><section><screen>
10584 #: tools.dbk:136
10585 #, no-wrap
10586 msgid "debdiff package_1-1_arch.changes package_2-1_arch.changes\n"
10587 msgstr ""
10588
10589 #. type: Content of: <appendix><section><section><para>
10590 #: tools.dbk:139
10591 msgid ""
10592 "For more information please see <citerefentry> "
10593 "<refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> "
10594 "</citerefentry>."
10595 msgstr ""
10596
10597 #. type: Content of: <appendix><section><title>
10598 #: tools.dbk:148
10599 msgid "Helpers for <filename>debian/rules</filename>"
10600 msgstr ""
10601
10602 #. type: Content of: <appendix><section><para>
10603 #: tools.dbk:150
10604 msgid ""
10605 "Package building tools make the process of writing "
10606 "<filename>debian/rules</filename> files easier.  See <xref "
10607 "linkend=\"helper-scripts\"/> for more information about why these might or "
10608 "might not be desired."
10609 msgstr ""
10610
10611 #. type: Content of: <appendix><section><section><title>
10612 #: tools.dbk:156
10613 msgid "<systemitem role=\"package\">debhelper</systemitem>"
10614 msgstr ""
10615
10616 #. type: Content of: <appendix><section><section><para>
10617 #: tools.dbk:158
10618 msgid ""
10619 "<systemitem role=\"package\">debhelper</systemitem> is a collection of "
10620 "programs which can be used in <filename>debian/rules</filename> to automate "
10621 "common tasks related to building binary Debian packages.  <systemitem "
10622 "role=\"package\">debhelper</systemitem> includes programs to install various "
10623 "files into your package, compress files, fix file permissions, and integrate "
10624 "your package with the Debian menu system."
10625 msgstr ""
10626
10627 #. type: Content of: <appendix><section><section><para>
10628 #: tools.dbk:166
10629 msgid ""
10630 "Unlike some approaches, <systemitem role=\"package\">debhelper</systemitem> "
10631 "is broken into several small, simple commands which act in a consistent "
10632 "manner.  As such, it allows more fine-grained control than some of the other "
10633 "debian/rules tools."
10634 msgstr ""
10635
10636 #. type: Content of: <appendix><section><section><para>
10637 #: tools.dbk:172
10638 msgid ""
10639 "There are a number of little <systemitem "
10640 "role=\"package\">debhelper</systemitem> add-on packages, too transient to "
10641 "document.  You can see the list of most of them by doing <literal>apt-cache "
10642 "search ^dh-</literal>."
10643 msgstr ""
10644
10645 #. type: Content of: <appendix><section><section><title>
10646 #: tools.dbk:179
10647 msgid "<systemitem role=\"package\">dh-make</systemitem>"
10648 msgstr ""
10649
10650 #. type: Content of: <appendix><section><section><para>
10651 #: tools.dbk:181
10652 msgid ""
10653 "The <systemitem role=\"package\">dh-make</systemitem> package contains "
10654 "<command>dh_make</command>, a program that creates a skeleton of files "
10655 "necessary to build a Debian package out of a source tree.  As the name "
10656 "suggests, <command>dh_make</command> is a rewrite of <systemitem "
10657 "role=\"package\">debmake</systemitem> and its template files use "
10658 "<command>dh_*</command> programs from <systemitem "
10659 "role=\"package\">debhelper</systemitem>."
10660 msgstr ""
10661
10662 #. type: Content of: <appendix><section><section><para>
10663 #: tools.dbk:189
10664 msgid ""
10665 "While the rules files generated by <command>dh_make</command> are in general "
10666 "a sufficient basis for a working package, they are still just the "
10667 "groundwork: the burden still lies on the maintainer to finely tune the "
10668 "generated files and make the package entirely functional and "
10669 "Policy-compliant."
10670 msgstr ""
10671
10672 #. type: Content of: <appendix><section><section><title>
10673 #: tools.dbk:197
10674 msgid "<systemitem role=\"package\">equivs</systemitem>"
10675 msgstr ""
10676
10677 #. type: Content of: <appendix><section><section><para>
10678 #: tools.dbk:199
10679 msgid ""
10680 "<systemitem role=\"package\">equivs</systemitem> is another package for "
10681 "making packages.  It is often suggested for local use if you need to make a "
10682 "package simply to fulfill dependencies.  It is also sometimes used when "
10683 "making ``meta-packages'', which are packages whose only purpose is to depend "
10684 "on other packages."
10685 msgstr ""
10686
10687 #. type: Content of: <appendix><section><title>
10688 #: tools.dbk:210
10689 msgid "Package builders"
10690 msgstr ""
10691
10692 #. type: Content of: <appendix><section><para>
10693 #: tools.dbk:212
10694 msgid ""
10695 "The following packages help with the package building process, general "
10696 "driving <command>dpkg-buildpackage</command> as well as handling supporting "
10697 "tasks."
10698 msgstr ""
10699
10700 #. type: Content of: <appendix><section><section><title>
10701 #: tools.dbk:216
10702 msgid "<systemitem role=\"package\">cvs-buildpackage</systemitem>"
10703 msgstr ""
10704
10705 #. type: Content of: <appendix><section><section><para>
10706 #: tools.dbk:218
10707 msgid ""
10708 "<systemitem role=\"package\">cvs-buildpackage</systemitem> provides the "
10709 "capability to inject or import Debian source packages into a CVS repository, "
10710 "build a Debian package from the CVS repository, and helps in integrating "
10711 "upstream changes into the repository."
10712 msgstr ""
10713
10714 #. type: Content of: <appendix><section><section><para>
10715 #: tools.dbk:224
10716 msgid ""
10717 "These utilities provide an infrastructure to facilitate the use of CVS by "
10718 "Debian maintainers.  This allows one to keep separate CVS branches of a "
10719 "package for <literal>stable</literal>, <literal>unstable</literal> and "
10720 "possibly <literal>experimental</literal> distributions, along with the other "
10721 "benefits of a version control system."
10722 msgstr ""
10723
10724 #. type: Content of: <appendix><section><section><title>
10725 #: tools.dbk:233
10726 msgid "<systemitem role=\"package\">debootstrap</systemitem>"
10727 msgstr ""
10728
10729 #. type: Content of: <appendix><section><section><para>
10730 #: tools.dbk:235
10731 msgid ""
10732 "The <systemitem role=\"package\">debootstrap</systemitem> package and script "
10733 "allows you to bootstrap a Debian base system into any part of your "
10734 "filesystem.  By base system, we mean the bare minimum of packages required "
10735 "to operate and install the rest of the system."
10736 msgstr ""
10737
10738 #. type: Content of: <appendix><section><section><para>
10739 #: tools.dbk:241
10740 msgid ""
10741 "Having a system like this can be useful in many ways.  For instance, you can "
10742 "<command>chroot</command> into it if you want to test your build "
10743 "dependencies.  Or you can test how your package behaves when installed into "
10744 "a bare base system.  Chroot builders use this package; see below."
10745 msgstr ""
10746
10747 #. type: Content of: <appendix><section><section><title>
10748 #: tools.dbk:249
10749 msgid "<systemitem role=\"package\">pbuilder</systemitem>"
10750 msgstr ""
10751
10752 #. type: Content of: <appendix><section><section><para>
10753 #: tools.dbk:251
10754 msgid ""
10755 "<systemitem role=\"package\">pbuilder</systemitem> constructs a chrooted "
10756 "system, and builds a package inside the chroot.  It is very useful to check "
10757 "that a package's build-dependencies are correct, and to be sure that "
10758 "unnecessary and wrong build dependencies will not exist in the resulting "
10759 "package."
10760 msgstr ""
10761
10762 #. type: Content of: <appendix><section><section><para>
10763 #: tools.dbk:257
10764 msgid ""
10765 "A related package is <systemitem role=\"package\">pbuilder-uml</systemitem>, "
10766 "which goes even further by doing the build within a User Mode Linux "
10767 "environment."
10768 msgstr ""
10769
10770 #. type: Content of: <appendix><section><section><title>
10771 #: tools.dbk:264
10772 msgid "<systemitem role=\"package\">sbuild</systemitem>"
10773 msgstr ""
10774
10775 #. type: Content of: <appendix><section><section><para>
10776 #: tools.dbk:266
10777 msgid ""
10778 "<systemitem role=\"package\">sbuild</systemitem> is another automated "
10779 "builder.  It can use chrooted environments as well.  It can be used "
10780 "stand-alone, or as part of a networked, distributed build environment.  As "
10781 "the latter, it is part of the system used by porters to build binary "
10782 "packages for all the available architectures.  See <xref "
10783 "linkend=\"wanna-build\"/> for more information, and <ulink "
10784 "url=\"&url-buildd;\"></ulink> to see the system in action."
10785 msgstr ""
10786
10787 #. type: Content of: <appendix><section><title>
10788 #: tools.dbk:278
10789 msgid "Package uploaders"
10790 msgstr ""
10791
10792 #. type: Content of: <appendix><section><para>
10793 #: tools.dbk:280
10794 msgid ""
10795 "The following packages help automate or simplify the process of uploading "
10796 "packages into the official archive."
10797 msgstr ""
10798
10799 #. type: Content of: <appendix><section><section><title>
10800 #: tools.dbk:284
10801 msgid "<systemitem role=\"package\">dupload</systemitem>"
10802 msgstr ""
10803
10804 #. type: Content of: <appendix><section><section><para>
10805 #: tools.dbk:286
10806 msgid ""
10807 "<systemitem role=\"package\">dupload</systemitem> is a package and a script "
10808 "to automatically upload Debian packages to the Debian archive, to log the "
10809 "upload, and to send mail about the upload of a package.  You can configure "
10810 "it for new upload locations or methods."
10811 msgstr ""
10812
10813 #. type: Content of: <appendix><section><section><title>
10814 #: tools.dbk:294
10815 msgid "<systemitem role=\"package\">dput</systemitem>"
10816 msgstr ""
10817
10818 #. type: Content of: <appendix><section><section><para>
10819 #: tools.dbk:296
10820 msgid ""
10821 "The <systemitem role=\"package\">dput</systemitem> package and script does "
10822 "much the same thing as <systemitem role=\"package\">dupload</systemitem>, "
10823 "but in a different way.  It has some features over <systemitem "
10824 "role=\"package\">dupload</systemitem>, such as the ability to check the "
10825 "GnuPG signature and checksums before uploading, and the possibility of "
10826 "running <command>dinstall</command> in dry-run mode after the upload."
10827 msgstr ""
10828
10829 #. type: Content of: <appendix><section><section><title>
10830 #: tools.dbk:306
10831 msgid "<command>dcut</command>"
10832 msgstr ""
10833
10834 #. type: Content of: <appendix><section><section><para>
10835 #: tools.dbk:308
10836 msgid ""
10837 "The <command>dcut</command> script (part of the package <systemitem "
10838 "role=\"package\">dput</systemitem>, <xref linkend=\"dput\"/>) helps in "
10839 "removing files from the ftp upload directory."
10840 msgstr ""
10841
10842 #. type: Content of: <appendix><section><title>
10843 #: tools.dbk:316
10844 msgid "Maintenance automation"
10845 msgstr ""
10846
10847 #. type: Content of: <appendix><section><para>
10848 #: tools.dbk:318
10849 msgid ""
10850 "The following tools help automate different maintenance tasks, from adding "
10851 "changelog entries or signature lines and looking up bugs in Emacs to making "
10852 "use of the newest and official <filename>config.sub</filename>."
10853 msgstr ""
10854
10855 #. type: Content of: <appendix><section><section><title>
10856 #: tools.dbk:323
10857 msgid "<systemitem role=\"package\">devscripts</systemitem>"
10858 msgstr ""
10859
10860 #. type: Content of: <appendix><section><section><para>
10861 #: tools.dbk:325
10862 msgid ""
10863 "<systemitem role=\"package\">devscripts</systemitem> is a package containing "
10864 "wrappers and tools which are very helpful for maintaining your Debian "
10865 "packages.  Example scripts include <command>debchange</command> and "
10866 "<command>dch</command>, which manipulate your "
10867 "<filename>debian/changelog</filename> file from the command-line, and "
10868 "<command>debuild</command>, which is a wrapper around "
10869 "<command>dpkg-buildpackage</command>.  The <command>bts</command> utility is "
10870 "also very helpful to update the state of bug reports on the command line.  "
10871 "<command>uscan</command> can be used to watch for new upstream versions of "
10872 "your packages.  <command>debrsign</command> can be used to remotely sign a "
10873 "package prior to upload, which is nice when the machine you build the "
10874 "package on is different from where your GPG keys are."
10875 msgstr ""
10876
10877 #. type: Content of: <appendix><section><section><para>
10878 #: tools.dbk:339
10879 msgid ""
10880 "See the <citerefentry> <refentrytitle>devscripts</refentrytitle> "
10881 "<manvolnum>1</manvolnum> </citerefentry> manual page for a complete list of "
10882 "available scripts."
10883 msgstr ""
10884
10885 #. type: Content of: <appendix><section><section><title>
10886 #: tools.dbk:346
10887 msgid "<systemitem role=\"package\">autotools-dev</systemitem>"
10888 msgstr ""
10889
10890 #. type: Content of: <appendix><section><section><para>
10891 #: tools.dbk:348
10892 msgid ""
10893 "<systemitem role=\"package\">autotools-dev</systemitem> contains best "
10894 "practices for people who maintain packages which use "
10895 "<command>autoconf</command> and/or <command>automake</command>.  Also "
10896 "contains canonical <filename>config.sub</filename> and "
10897 "<filename>config.guess</filename> files which are known to work on all "
10898 "Debian ports."
10899 msgstr ""
10900
10901 #. type: Content of: <appendix><section><section><title>
10902 #: tools.dbk:357
10903 msgid "<systemitem role=\"package\">dpkg-repack</systemitem>"
10904 msgstr ""
10905
10906 #. type: Content of: <appendix><section><section><para>
10907 #: tools.dbk:359
10908 msgid ""
10909 "<command>dpkg-repack</command> creates Debian package file out of a package "
10910 "that has already been installed.  If any changes have been made to the "
10911 "package while it was unpacked (e.g., files in <filename>/etc</filename> were "
10912 "modified), the new package will inherit the changes."
10913 msgstr ""
10914
10915 #. type: Content of: <appendix><section><section><para>
10916 #: tools.dbk:365
10917 msgid ""
10918 "This utility can make it easy to copy packages from one computer to another, "
10919 "or to recreate packages which are installed on your system but no longer "
10920 "available elsewhere, or to save the current state of a package before you "
10921 "upgrade it."
10922 msgstr ""
10923
10924 #. type: Content of: <appendix><section><section><title>
10925 #: tools.dbk:372
10926 msgid "<systemitem role=\"package\">alien</systemitem>"
10927 msgstr ""
10928
10929 #. type: Content of: <appendix><section><section><para>
10930 #: tools.dbk:374
10931 msgid ""
10932 "<command>alien</command> converts binary packages between various packaging "
10933 "formats, including Debian, RPM (RedHat), LSB (Linux Standard Base), Solaris, "
10934 "and Slackware packages."
10935 msgstr ""
10936
10937 #. type: Content of: <appendix><section><section><title>
10938 #: tools.dbk:381
10939 msgid "<systemitem role=\"package\">debsums</systemitem>"
10940 msgstr ""
10941
10942 #. type: Content of: <appendix><section><section><para>
10943 #: tools.dbk:383
10944 msgid ""
10945 "<command>debsums</command> checks installed packages against their MD5 "
10946 "sums.  Note that not all packages have MD5 sums, since they aren't required "
10947 "by Policy."
10948 msgstr ""
10949
10950 #. type: Content of: <appendix><section><section><title>
10951 #: tools.dbk:389
10952 msgid "<systemitem role=\"package\">dpkg-dev-el</systemitem>"
10953 msgstr ""
10954
10955 #. type: Content of: <appendix><section><section><para>
10956 #: tools.dbk:391
10957 msgid ""
10958 "<systemitem role=\"package\">dpkg-dev-el</systemitem> is an Emacs lisp "
10959 "package which provides assistance when editing some of the files in the "
10960 "<filename>debian</filename> directory of your package.  For instance, there "
10961 "are handy functions for listing a package's current bugs, and for finalizing "
10962 "the latest entry in a <filename>debian/changelog</filename> file."
10963 msgstr ""
10964
10965 #. type: Content of: <appendix><section><section><title>
10966 #: tools.dbk:400
10967 msgid "<command>dpkg-depcheck</command>"
10968 msgstr ""
10969
10970 #. type: Content of: <appendix><section><section><para>
10971 #: tools.dbk:402
10972 msgid ""
10973 "<command>dpkg-depcheck</command> (from the <systemitem "
10974 "role=\"package\">devscripts</systemitem> package, <xref "
10975 "linkend=\"devscripts\"/>)  runs a command under <command>strace</command> to "
10976 "determine all the packages that were used by the said command."
10977 msgstr ""
10978
10979 #. type: Content of: <appendix><section><section><para>
10980 #: tools.dbk:408
10981 msgid ""
10982 "For Debian packages, this is useful when you have to compose a "
10983 "<literal>Build-Depends</literal> line for your new package: running the "
10984 "build process through <command>dpkg-depcheck</command> will provide you with "
10985 "a good first approximation of the build-dependencies.  For example:"
10986 msgstr ""
10987
10988 #. type: Content of: <appendix><section><section><screen>
10989 #: tools.dbk:414
10990 #, no-wrap
10991 msgid "dpkg-depcheck -b debian/rules build\n"
10992 msgstr ""
10993
10994 #. type: Content of: <appendix><section><section><para>
10995 #: tools.dbk:417
10996 msgid ""
10997 "<command>dpkg-depcheck</command> can also be used to check for run-time "
10998 "dependencies, especially if your package uses <citerefentry> "
10999 "<refentrytitle>exec</refentrytitle> <manvolnum>2</manvolnum> </citerefentry> "
11000 "to run other programs."
11001 msgstr ""
11002
11003 #. type: Content of: <appendix><section><section><para>
11004 #: tools.dbk:423
11005 msgid ""
11006 "For more information please see <citerefentry> "
11007 "<refentrytitle>dpkg-depcheck</refentrytitle> <manvolnum>1</manvolnum> "
11008 "</citerefentry>."
11009 msgstr ""
11010
11011 #. type: Content of: <appendix><section><title>
11012 #: tools.dbk:432
11013 msgid "Porting tools"
11014 msgstr ""
11015
11016 #. type: Content of: <appendix><section><para>
11017 #: tools.dbk:434
11018 msgid "The following tools are helpful for porters and for cross-compilation."
11019 msgstr ""
11020
11021 #. type: Content of: <appendix><section><section><title>
11022 #: tools.dbk:437
11023 msgid "<systemitem role=\"package\">quinn-diff</systemitem>"
11024 msgstr ""
11025
11026 #. type: Content of: <appendix><section><section><para>
11027 #: tools.dbk:439
11028 msgid ""
11029 "<systemitem role=\"package\">quinn-diff</systemitem> is used to locate the "
11030 "differences from one architecture to another.  For instance, it could tell "
11031 "you which packages need to be ported for architecture "
11032 "<replaceable>Y</replaceable>, based on architecture "
11033 "<replaceable>X</replaceable>."
11034 msgstr ""
11035
11036 #. type: Content of: <appendix><section><section><title>
11037 #: tools.dbk:447
11038 msgid "<systemitem role=\"package\">dpkg-cross</systemitem>"
11039 msgstr ""
11040
11041 #. type: Content of: <appendix><section><section><para>
11042 #: tools.dbk:449
11043 msgid ""
11044 "<systemitem role=\"package\">dpkg-cross</systemitem> is a tool for "
11045 "installing libraries and headers for cross-compiling in a way similar to "
11046 "<systemitem role=\"package\">dpkg</systemitem>.  Furthermore, the "
11047 "functionality of <command>dpkg-buildpackage</command> and "
11048 "<command>dpkg-shlibdeps</command> is enhanced to support cross-compiling."
11049 msgstr ""
11050
11051 #. type: Content of: <appendix><section><title>
11052 #: tools.dbk:460
11053 msgid "Documentation and information"
11054 msgstr ""
11055
11056 #. type: Content of: <appendix><section><para>
11057 #: tools.dbk:462
11058 msgid ""
11059 "The following packages provide information for maintainers or help with "
11060 "building documentation."
11061 msgstr ""
11062
11063 #. type: Content of: <appendix><section><section><title>
11064 #: tools.dbk:467
11065 msgid "<systemitem role=\"package\">docbook-xml</systemitem>"
11066 msgstr ""
11067
11068 #. type: Content of: <appendix><section><section><para>
11069 #: tools.dbk:469
11070 msgid ""
11071 "<systemitem role=\"package\">docbook-xml</systemitem> provides the DocBook "
11072 "XML DTDs, which are commonly used for Debian documentation (as is the older "
11073 "debiandoc SGML DTD). This manual, for instance, is written in DocBook XML."
11074 msgstr ""
11075
11076 #. type: Content of: <appendix><section><section><para>
11077 #: tools.dbk:475
11078 msgid ""
11079 "The <systemitem role=\"package\">docbook-xsl</systemitem> package provides "
11080 "the XSL files for building and styling the source to various output "
11081 "formats. You will need an XSLT processor, such as <systemitem "
11082 "role=\"package\">xsltproc</systemitem>, to use the XSL stylesheets.  "
11083 "Documentation for the stylesheets can be found in the various <systemitem "
11084 "role=\"package\">docbook-xsl-doc-*</systemitem> packages."
11085 msgstr ""
11086
11087 #. type: Content of: <appendix><section><section><para>
11088 #: tools.dbk:483
11089 msgid ""
11090 "To produce PDF from FO, you need an FO processor, such as <systemitem "
11091 "role=\"package\">xmlroff</systemitem> or <systemitem "
11092 "role=\"package\">fop</systemitem>. Another tool to generate PDF from DocBook "
11093 "XML is <systemitem role=\"package\">dblatex</systemitem>."
11094 msgstr ""
11095
11096 #. type: Content of: <appendix><section><section><title>
11097 #: tools.dbk:491
11098 msgid "<systemitem role=\"package\">debiandoc-sgml</systemitem>"
11099 msgstr ""
11100
11101 #. type: Content of: <appendix><section><section><para>
11102 #: tools.dbk:493
11103 msgid ""
11104 "<systemitem role=\"package\">debiandoc-sgml</systemitem> provides the "
11105 "DebianDoc SGML DTD, which is commonly used for Debian documentation, but is "
11106 "now deprecated (<systemitem role=\"package\">docbook-xml</systemitem> should "
11107 "be used instead).  It also provides scripts for building and styling the "
11108 "source to various output formats."
11109 msgstr ""
11110
11111 #. type: Content of: <appendix><section><section><para>
11112 #: tools.dbk:502
11113 msgid ""
11114 "Documentation for the DTD can be found in the <systemitem "
11115 "role=\"package\">debiandoc-sgml-doc</systemitem> package."
11116 msgstr ""
11117
11118 #. type: Content of: <appendix><section><section><title>
11119 #: tools.dbk:508
11120 msgid "<systemitem role=\"package\">debian-keyring</systemitem>"
11121 msgstr ""
11122
11123 #. type: Content of: <appendix><section><section><para>
11124 #: tools.dbk:510
11125 msgid ""
11126 "Contains the public GPG and PGP keys of Debian developers.  See <xref "
11127 "linkend=\"key-maint\"/> and the package documentation for more information."
11128 msgstr ""
11129
11130 #. type: Content of: <appendix><section><section><title>
11131 #: tools.dbk:516
11132 msgid "<systemitem role=\"package\">debian-maintainers</systemitem>"
11133 msgstr ""
11134
11135 #. type: Content of: <appendix><section><section><para>
11136 #: tools.dbk:518
11137 msgid ""
11138 "Contains the public GPG keys of Debian Maintainers.  See <ulink "
11139 "url=\"&url-wiki-dm;\"></ulink> for more information."
11140 msgstr ""
11141
11142 #. type: Content of: <appendix><section><section><title>
11143 #: tools.dbk:524
11144 msgid "<systemitem role=\"package\">debview</systemitem>"
11145 msgstr ""
11146
11147 #. type: Content of: <appendix><section><section><para>
11148 #: tools.dbk:526
11149 msgid ""
11150 "<systemitem role=\"package\">debview</systemitem> provides an Emacs mode for "
11151 "viewing Debian binary packages.  This lets you examine a package without "
11152 "unpacking it."
11153 msgstr ""