chiark / gitweb /
[DR] po4a: Update POT and PO files, 1340t 6f 8u
[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: 2013-05-14 16:55-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><title>
124 #: best-pkging-practices.dbk:81
125 msgid "Separating your patches into multiple files"
126 msgstr ""
127
128 #. type: Content of: <chapter><section><section><para>
129 #: best-pkging-practices.dbk:83
130 msgid ""
131 "Big, complex packages may have many bugs that you need to deal with.  If you "
132 "correct a number of bugs directly in the source, and you're not careful, it "
133 "can get hard to differentiate the various patches that you applied.  It can "
134 "get quite messy when you have to update the package to a new upstream "
135 "version which integrates some of the fixes (but not all).  You can't take "
136 "the total set of diffs (e.g., from <filename>.diff.gz</filename>) and work "
137 "out which patch sets to back out as a unit as bugs are fixed upstream."
138 msgstr ""
139
140 #. type: Content of: <chapter><section><section><para>
141 #: best-pkging-practices.dbk:92
142 msgid ""
143 "Fortunately, with the source format “3.0 (quilt)” it is now possible to keep "
144 "patches separate without having to modify <filename>debian/rules</filename> "
145 "to setup a patch system. Patches are stored in "
146 "<filename>debian/patches/</filename> and when the source package is unpacked "
147 "patches listed in <filename>debian/patches/series</filename> are "
148 "automatically applied.  As the name implies, patches can be managed with "
149 "<command>quilt</command>."
150 msgstr ""
151
152 #. type: Content of: <chapter><section><section><para>
153 #: best-pkging-practices.dbk:100
154 msgid ""
155 "When using the older source “1.0”, it's also possible to separate patches "
156 "but a dedicated patch system must be used: the patch files are shipped "
157 "within the Debian patch file (<filename>.diff.gz</filename>), usually within "
158 "the <filename>debian/</filename> directory. The only difference is that they "
159 "aren't applied immediately by <command>dpkg-source</command>, but by the "
160 "<literal>build</literal> rule of <filename>debian/rules</filename>, through "
161 "a dependency on the <literal>patch</literal> rule.  Conversely, they are "
162 "reverted in the <literal>clean</literal> rule, through a dependency on the "
163 "<literal>unpatch</literal> rule."
164 msgstr ""
165
166 #. type: Content of: <chapter><section><section><para>
167 #: best-pkging-practices.dbk:112
168 msgid ""
169 "<command>quilt</command> is the recommended tool for this.  It does all of "
170 "the above, and also allows to manage patch series.  See the <systemitem "
171 "role=\"package\">quilt</systemitem> package for more information."
172 msgstr ""
173
174 #. type: Content of: <chapter><section><section><para>
175 #: best-pkging-practices.dbk:118
176 msgid ""
177 "There are other tools to manage patches, like <command>dpatch</command>, and "
178 "the patch system integrated with <systemitem "
179 "role=\"package\">cdbs</systemitem>."
180 msgstr ""
181
182 #. type: Content of: <chapter><section><section><title>
183 #: best-pkging-practices.dbk:125
184 msgid "Multiple binary packages"
185 msgstr ""
186
187 #. type: Content of: <chapter><section><section><para>
188 #: best-pkging-practices.dbk:127
189 msgid ""
190 "A single source package will often build several binary packages, either to "
191 "provide several flavors of the same software (e.g., the <systemitem "
192 "role=\"package\">vim</systemitem> source package) or to make several small "
193 "packages instead of a big one (e.g., so the user can install only the subset "
194 "needed, and thus save some disk space)."
195 msgstr ""
196
197 #. type: Content of: <chapter><section><section><para>
198 #: best-pkging-practices.dbk:134
199 msgid ""
200 "The second case can be easily managed in <filename>debian/rules</filename>.  "
201 "You just need to move the appropriate files from the build directory into "
202 "the package's temporary trees.  You can do this using "
203 "<command>install</command> or <command>dh_install</command> from <systemitem "
204 "role=\"package\">debhelper</systemitem>.  Be sure to check the different "
205 "permutations of the various packages, ensuring that you have the "
206 "inter-package dependencies set right in <filename>debian/control</filename>."
207 msgstr ""
208
209 #. type: Content of: <chapter><section><section><para>
210 #: best-pkging-practices.dbk:143
211 msgid ""
212 "The first case is a bit more difficult since it involves multiple recompiles "
213 "of the same software but with different configuration options.  The "
214 "<systemitem role=\"package\">vim</systemitem> source package is an example "
215 "of how to manage this using an hand-crafted "
216 "<filename>debian/rules</filename> file."
217 msgstr ""
218
219 #. type: Content of: <chapter><section><title>
220 #: best-pkging-practices.dbk:155
221 msgid "Best practices for <filename>debian/control</filename>"
222 msgstr ""
223
224 #. type: Content of: <chapter><section><para>
225 #: best-pkging-practices.dbk:157
226 msgid ""
227 "The following practices are relevant to the "
228 "<filename>debian/control</filename> file.  They supplement the <ulink "
229 "url=\"&url-debian-policy;ch-binary.html#s-descriptions\">Policy on package "
230 "descriptions</ulink>."
231 msgstr ""
232
233 #. type: Content of: <chapter><section><para>
234 #: best-pkging-practices.dbk:163
235 msgid ""
236 "The description of the package, as defined by the corresponding field in the "
237 "<filename>control</filename> file, contains both the package synopsis and "
238 "the long description for the package.  <xref linkend=\"bpp-desc-basics\"/> "
239 "describes common guidelines for both parts of the package description.  "
240 "Following that, <xref linkend=\"bpp-pkg-synopsis\"/> provides guidelines "
241 "specific to the synopsis, and <xref linkend=\"bpp-pkg-desc\"/> contains "
242 "guidelines specific to the description."
243 msgstr ""
244
245 #. type: Content of: <chapter><section><section><title>
246 #: best-pkging-practices.dbk:172
247 msgid "General guidelines for package descriptions"
248 msgstr ""
249
250 #. type: Content of: <chapter><section><section><para>
251 #: best-pkging-practices.dbk:174
252 msgid ""
253 "The package description should be written for the average likely user, the "
254 "average person who will use and benefit from the package.  For instance, "
255 "development packages are for developers, and can be technical in their "
256 "language.  More general-purpose applications, such as editors, should be "
257 "written for a less technical user."
258 msgstr ""
259
260 #. type: Content of: <chapter><section><section><para>
261 #: best-pkging-practices.dbk:181
262 msgid ""
263 "Our review of package descriptions lead us to conclude that most package "
264 "descriptions are technical, that is, are not written to make sense for "
265 "non-technical users.  Unless your package really is only for technical "
266 "users, this is a problem."
267 msgstr ""
268
269 #. type: Content of: <chapter><section><section><para>
270 #: best-pkging-practices.dbk:187
271 msgid ""
272 "How do you write for non-technical users? Avoid jargon.  Avoid referring to "
273 "other applications or frameworks that the user might not be familiar with — "
274 "GNOME or KDE is fine, since users are probably familiar with these terms, "
275 "but GTK+ is probably not.  Try not to assume any knowledge at all.  If you "
276 "must use technical terms, introduce them."
277 msgstr ""
278
279 #. type: Content of: <chapter><section><section><para>
280 #: best-pkging-practices.dbk:194
281 msgid ""
282 "Be objective.  Package descriptions are not the place for advocating your "
283 "package, no matter how much you love it.  Remember that the reader may not "
284 "care about the same things you care about."
285 msgstr ""
286
287 #. type: Content of: <chapter><section><section><para>
288 #: best-pkging-practices.dbk:199
289 msgid ""
290 "References to the names of any other software packages, protocol names, "
291 "standards, or specifications should use their canonical forms, if one "
292 "exists.  For example, use X Window System, X11, or X; not X Windows, "
293 "X-Windows, or X Window.  Use GTK+, not GTK or gtk.  Use GNOME, not Gnome.  "
294 "Use PostScript, not Postscript or postscript."
295 msgstr ""
296
297 #. type: Content of: <chapter><section><section><para>
298 #: best-pkging-practices.dbk:206
299 msgid ""
300 "If you are having problems writing your description, you may wish to send it "
301 "along to &email-debian-l10n-english; and request feedback."
302 msgstr ""
303
304 #. type: Content of: <chapter><section><section><title>
305 #: best-pkging-practices.dbk:212
306 msgid "The package synopsis, or short description"
307 msgstr ""
308
309 #. type: Content of: <chapter><section><section><para>
310 #: best-pkging-practices.dbk:214
311 msgid ""
312 "Policy says the synopsis line (the short description) must be concise, not "
313 "repeating the package name, but also informative."
314 msgstr ""
315
316 #. type: Content of: <chapter><section><section><para>
317 #: best-pkging-practices.dbk:218
318 msgid ""
319 "The synopsis functions as a phrase describing the package, not a complete "
320 "sentence, so sentential punctuation is inappropriate: it does not need extra "
321 "capital letters or a final period (full stop). It should also omit any "
322 "initial indefinite or definite article — \"a\", \"an\", or \"the\". Thus for "
323 "instance:"
324 msgstr ""
325
326 #. type: Content of: <chapter><section><section><screen>
327 #: best-pkging-practices.dbk:224
328 #, no-wrap
329 msgid ""
330 "Package: libeg0\n"
331 "Description: exemplification support library\n"
332 msgstr ""
333
334 #. type: Content of: <chapter><section><section><para>
335 #: best-pkging-practices.dbk:228
336 msgid ""
337 "Technically this is a noun phrase minus articles, as opposed to a verb "
338 "phrase.  A good heuristic is that it should be possible to substitute the "
339 "package <replaceable>name</replaceable> and "
340 "<replaceable>synopsis</replaceable> into this formula:"
341 msgstr ""
342
343 #. type: Content of: <chapter><section><section><para>
344 #: best-pkging-practices.dbk:233
345 msgid ""
346 "The package <replaceable>name</replaceable> provides {a,an,the,some} "
347 "<replaceable>synopsis</replaceable>."
348 msgstr ""
349
350 #. type: Content of: <chapter><section><section><para>
351 #: best-pkging-practices.dbk:237
352 msgid ""
353 "Sets of related packages may use an alternative scheme that divides the "
354 "synopsis into two parts, the first a description of the whole suite and the "
355 "second a summary of the package's role within it:"
356 msgstr ""
357
358 #. type: Content of: <chapter><section><section><screen>
359 #: best-pkging-practices.dbk:242
360 #, no-wrap
361 msgid ""
362 "Package: eg-tools\n"
363 "Description: simple exemplification system (utilities)\n"
364 "\t\t\t              \n"
365 "Package: eg-doc\n"
366 "Description: simple exemplification system - documentation\n"
367 msgstr ""
368
369 #. type: Content of: <chapter><section><section><para>
370 #: best-pkging-practices.dbk:249
371 msgid ""
372 "These synopses follow a modified formula. Where a package "
373 "\"<replaceable>name</replaceable>\" has a synopsis "
374 "\"<replaceable>suite</replaceable> (<replaceable>role</replaceable>)\" or "
375 "\"<replaceable>suite</replaceable> - <replaceable>role</replaceable>\", the "
376 "elements should be phrased so that they fit into the formula:"
377 msgstr ""
378
379 #. type: Content of: <chapter><section><section><para>
380 #: best-pkging-practices.dbk:256
381 msgid ""
382 "The package <replaceable>name</replaceable> provides {a,an,the} "
383 "<replaceable>role</replaceable> for the <replaceable>suite</replaceable>."
384 msgstr ""
385
386 #. type: Content of: <chapter><section><section><title>
387 #: best-pkging-practices.dbk:262
388 msgid "The long description"
389 msgstr ""
390
391 #. type: Content of: <chapter><section><section><para>
392 #: best-pkging-practices.dbk:264
393 msgid ""
394 "The long description is the primary information available to the user about "
395 "a package before they install it.  It should provide all the information "
396 "needed to let the user decide whether to install the package.  Assume that "
397 "the user has already read the package synopsis."
398 msgstr ""
399
400 #. type: Content of: <chapter><section><section><para>
401 #: best-pkging-practices.dbk:270
402 msgid "The long description should consist of full and complete sentences."
403 msgstr ""
404
405 #. type: Content of: <chapter><section><section><para>
406 #: best-pkging-practices.dbk:273
407 msgid ""
408 "The first paragraph of the long description should answer the following "
409 "questions: what does the package do? what task does it help the user "
410 "accomplish? It is important to describe this in a non-technical way, unless "
411 "of course the audience for the package is necessarily technical."
412 msgstr ""
413
414 #. type: Content of: <chapter><section><section><para>
415 #: best-pkging-practices.dbk:279
416 msgid ""
417 "The following paragraphs should answer the following questions: Why do I as "
418 "a user need this package? What other features does the package have? What "
419 "outstanding features and deficiencies are there compared to other packages "
420 "(e.g., if you need X, use Y instead)? Is this package related to other "
421 "packages in some way that is not handled by the package manager (e.g., this "
422 "is the client for the foo server)?"
423 msgstr ""
424
425 #. type: Content of: <chapter><section><section><para>
426 #: best-pkging-practices.dbk:287
427 msgid ""
428 "Be careful to avoid spelling and grammar mistakes.  Ensure that you "
429 "spell-check it.  Both <command>ispell</command> and "
430 "<command>aspell</command> have special modes for checking "
431 "<filename>debian/control</filename> files:"
432 msgstr ""
433
434 #. type: Content of: <chapter><section><section><screen>
435 #: best-pkging-practices.dbk:292
436 #, no-wrap
437 msgid "ispell -d american -g debian/control\n"
438 msgstr ""
439
440 #. type: Content of: <chapter><section><section><screen>
441 #: best-pkging-practices.dbk:295
442 #, no-wrap
443 msgid "aspell -d en -D -c debian/control\n"
444 msgstr ""
445
446 #. type: Content of: <chapter><section><section><para>
447 #: best-pkging-practices.dbk:298
448 msgid ""
449 "Users usually expect these questions to be answered in the package "
450 "description:"
451 msgstr ""
452
453 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
454 #: best-pkging-practices.dbk:303
455 msgid ""
456 "What does the package do? If it is an add-on to another package, then the "
457 "short description of the package we are an add-on to should be put in here."
458 msgstr ""
459
460 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
461 #: best-pkging-practices.dbk:309
462 msgid ""
463 "Why should I want this package? This is related to the above, but not the "
464 "same (this is a mail user agent; this is cool, fast, interfaces with PGP and "
465 "LDAP and IMAP, has features X, Y, and Z)."
466 msgstr ""
467
468 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
469 #: best-pkging-practices.dbk:316
470 msgid ""
471 "If this package should not be installed directly, but is pulled in by "
472 "another package, this should be mentioned."
473 msgstr ""
474
475 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
476 #: best-pkging-practices.dbk:322
477 msgid ""
478 "If the package is <literal>experimental</literal>, or there are other "
479 "reasons it should not be used, if there are other packages that should be "
480 "used instead, it should be here as well."
481 msgstr ""
482
483 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
484 #: best-pkging-practices.dbk:329
485 msgid ""
486 "How is this package different from the competition? Is it a better "
487 "implementation? more features? different features? Why should I choose this "
488 "package."
489 msgstr ""
490
491 #. type: Content of: <chapter><section><section><title>
492 #: best-pkging-practices.dbk:342
493 msgid "Upstream home page"
494 msgstr ""
495
496 #. type: Content of: <chapter><section><section><para>
497 #: best-pkging-practices.dbk:344
498 msgid ""
499 "We recommend that you add the URL for the package's home page in the "
500 "<literal>Homepage</literal> field of the <literal>Source</literal> section "
501 "in <filename>debian/control</filename>.  Adding this information in the "
502 "package description itself is considered deprecated."
503 msgstr ""
504
505 #. type: Content of: <chapter><section><section><title>
506 #: best-pkging-practices.dbk:352
507 msgid "Version Control System location"
508 msgstr ""
509
510 #. type: Content of: <chapter><section><section><para>
511 #: best-pkging-practices.dbk:354
512 msgid ""
513 "There are additional fields for the location of the Version Control System "
514 "in <filename>debian/control</filename>."
515 msgstr ""
516
517 #. type: Content of: <chapter><section><section><section><title>
518 #: best-pkging-practices.dbk:358
519 msgid "Vcs-Browser"
520 msgstr ""
521
522 #. type: Content of: <chapter><section><section><section><para>
523 #: best-pkging-practices.dbk:360
524 msgid ""
525 "Value of this field should be a <literal>http://</literal> URL pointing to a "
526 "web-browsable copy of the Version Control System repository used to maintain "
527 "the given package, if available."
528 msgstr ""
529
530 #. type: Content of: <chapter><section><section><section><para>
531 #: best-pkging-practices.dbk:365
532 msgid ""
533 "The information is meant to be useful for the final user, willing to browse "
534 "the latest work done on the package (e.g.  when looking for the patch fixing "
535 "a bug tagged as <literal>pending</literal> in the bug tracking system)."
536 msgstr ""
537
538 #. type: Content of: <chapter><section><section><section><title>
539 #: best-pkging-practices.dbk:372
540 msgid "Vcs-*"
541 msgstr ""
542
543 #. type: Content of: <chapter><section><section><section><para>
544 #: best-pkging-practices.dbk:374
545 msgid ""
546 "Value of this field should be a string identifying unequivocally the "
547 "location of the Version Control System repository used to maintain the given "
548 "package, if available.  <literal>*</literal> identify the Version Control "
549 "System; currently the following systems are supported by the package "
550 "tracking system: <literal>arch</literal>, <literal>bzr</literal> (Bazaar), "
551 "<literal>cvs</literal>, <literal>darcs</literal>, <literal>git</literal>, "
552 "<literal>hg</literal> (Mercurial), <literal>mtn</literal> (Monotone), "
553 "<literal>svn</literal> (Subversion).  It is allowed to specify different VCS "
554 "fields for the same package: they will all be shown in the PTS web "
555 "interface."
556 msgstr ""
557
558 #. type: Content of: <chapter><section><section><section><para>
559 #: best-pkging-practices.dbk:385
560 msgid ""
561 "The information is meant to be useful for a user knowledgeable in the given "
562 "Version Control System and willing to build the current version of a package "
563 "from the VCS sources.  Other uses of this information might include "
564 "automatic building of the latest VCS version of the given package.  To this "
565 "end the location pointed to by the field should better be version agnostic "
566 "and point to the main branch (for VCSs supporting such a concept).  Also, "
567 "the location pointed to should be accessible to the final user; fulfilling "
568 "this requirement might imply pointing to an anonymous access of the "
569 "repository instead of pointing to an SSH-accessible version of the same."
570 msgstr ""
571
572 #. type: Content of: <chapter><section><section><section><para>
573 #: best-pkging-practices.dbk:396
574 msgid ""
575 "In the following example, an instance of the field for a Subversion "
576 "repository of the <systemitem role=\"package\">vim</systemitem> package is "
577 "shown.  Note how the URL is in the <literal>svn://</literal> scheme (instead "
578 "of <literal>svn+ssh://</literal>) and how it points to the "
579 "<filename>trunk/</filename> branch.  The use of the "
580 "<literal>Vcs-Browser</literal> and <literal>Homepage</literal> fields "
581 "described above is also shown."
582 msgstr ""
583
584 #. type: Content of: <chapter><section><section><section><screen>
585 #: best-pkging-practices.dbk:405
586 #, no-wrap
587 msgid ""
588 "  Source: vim\n"
589 "  Section: editors\n"
590 "  Priority: optional\n"
591 "  &lt;snip&gt;\n"
592 "  Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n"
593 "  Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim\n"
594 "  Homepage: http://www.vim.org\n"
595 msgstr ""
596
597 #. type: Content of: <chapter><section><title>
598 #: best-pkging-practices.dbk:420
599 msgid "Best practices for <filename>debian/changelog</filename>"
600 msgstr ""
601
602 #. type: Content of: <chapter><section><para>
603 #: best-pkging-practices.dbk:422
604 msgid ""
605 "The following practices supplement the <ulink "
606 "url=\"&url-debian-policy;ch-docs.html#s-changelogs\">Policy on changelog "
607 "files</ulink>."
608 msgstr ""
609
610 #. type: Content of: <chapter><section><section><title>
611 #: best-pkging-practices.dbk:427
612 msgid "Writing useful changelog entries"
613 msgstr ""
614
615 #. type: Content of: <chapter><section><section><para>
616 #: best-pkging-practices.dbk:429
617 msgid ""
618 "The changelog entry for a package revision documents changes in that "
619 "revision, and only them.  Concentrate on describing significant and "
620 "user-visible changes that were made since the last version."
621 msgstr ""
622
623 #. type: Content of: <chapter><section><section><para>
624 #: best-pkging-practices.dbk:434
625 msgid ""
626 "Focus on <emphasis>what</emphasis> was changed — who, how and when are "
627 "usually less important.  Having said that, remember to politely attribute "
628 "people who have provided notable help in making the package (e.g., those who "
629 "have sent in patches)."
630 msgstr ""
631
632 #. type: Content of: <chapter><section><section><para>
633 #: best-pkging-practices.dbk:440
634 msgid ""
635 "There's no need to elaborate the trivial and obvious changes.  You can also "
636 "aggregate several changes in one entry.  On the other hand, don't be overly "
637 "terse if you have undertaken a major change.  Be especially clear if there "
638 "are changes that affect the behaviour of the program.  For further "
639 "explanations, use the <filename>README.Debian</filename> file."
640 msgstr ""
641
642 #. type: Content of: <chapter><section><section><para>
643 #: best-pkging-practices.dbk:447
644 msgid ""
645 "Use common English so that the majority of readers can comprehend it.  Avoid "
646 "abbreviations, tech-speak and jargon when explaining changes that close "
647 "bugs, especially for bugs filed by users that did not strike you as "
648 "particularly technically savvy.  Be polite, don't swear."
649 msgstr ""
650
651 #. type: Content of: <chapter><section><section><para>
652 #: best-pkging-practices.dbk:453
653 msgid ""
654 "It is sometimes desirable to prefix changelog entries with the names of the "
655 "files that were changed.  However, there's no need to explicitly list each "
656 "and every last one of the changed files, especially if the change was small "
657 "or repetitive.  You may use wildcards."
658 msgstr ""
659
660 #. type: Content of: <chapter><section><section><para>
661 #: best-pkging-practices.dbk:459
662 msgid ""
663 "When referring to bugs, don't assume anything.  Say what the problem was, "
664 "how it was fixed, and append the closes: #nnnnn string.  See <xref "
665 "linkend=\"upload-bugfix\"/> for more information."
666 msgstr ""
667
668 #. type: Content of: <chapter><section><section><title>
669 #: best-pkging-practices.dbk:466
670 msgid "Common misconceptions about changelog entries"
671 msgstr ""
672
673 #. type: Content of: <chapter><section><section><para>
674 #: best-pkging-practices.dbk:468
675 msgid ""
676 "The changelog entries should <emphasis role=\"strong\">not</emphasis> "
677 "document generic packaging issues (Hey, if you're looking for foo.conf, it's "
678 "in /etc/blah/.), since administrators and users are supposed to be at least "
679 "remotely acquainted with how such things are generally arranged on Debian "
680 "systems.  Do, however, mention if you change the location of a configuration "
681 "file."
682 msgstr ""
683
684 #. type: Content of: <chapter><section><section><para>
685 #: best-pkging-practices.dbk:476
686 msgid ""
687 "The only bugs closed with a changelog entry should be those that are "
688 "actually fixed in the same package revision.  Closing unrelated bugs in the "
689 "changelog is bad practice.  See <xref linkend=\"upload-bugfix\"/>."
690 msgstr ""
691
692 #. type: Content of: <chapter><section><section><para>
693 #: best-pkging-practices.dbk:481
694 msgid ""
695 "The changelog entries should <emphasis role=\"strong\">not</emphasis> be "
696 "used for random discussion with bug reporters (I don't see segfaults when "
697 "starting foo with option bar; send in more info), general statements on "
698 "life, the universe and everything (sorry this upload took me so long, but I "
699 "caught the flu), or pleas for help (the bug list on this package is huge, "
700 "please lend me a hand).  Such things usually won't be noticed by their "
701 "target audience, but may annoy people who wish to read information about "
702 "actual changes in the package.  See <xref linkend=\"bug-answering\"/> for "
703 "more information on how to use the bug tracking system."
704 msgstr ""
705
706 #. type: Content of: <chapter><section><section><para>
707 #: best-pkging-practices.dbk:492
708 msgid ""
709 "It is an old tradition to acknowledge bugs fixed in non-maintainer uploads "
710 "in the first changelog entry of the proper maintainer upload.  As we have "
711 "version tracking now, it is enough to keep the NMUed changelog entries and "
712 "just mention this fact in your own changelog entry."
713 msgstr ""
714
715 #. type: Content of: <chapter><section><section><title>
716 #: best-pkging-practices.dbk:500
717 msgid "Common errors in changelog entries"
718 msgstr ""
719
720 #. type: Content of: <chapter><section><section><para>
721 #: best-pkging-practices.dbk:502
722 msgid ""
723 "The following examples demonstrate some common errors or examples of bad "
724 "style in changelog entries."
725 msgstr ""
726
727 #. type: Content of: <chapter><section><section><screen>
728 #: best-pkging-practices.dbk:506
729 #, no-wrap
730 msgid "  * Fixed all outstanding bugs.\n"
731 msgstr ""
732
733 #. type: Content of: <chapter><section><section><para>
734 #: best-pkging-practices.dbk:509
735 msgid "This doesn't tell readers anything too useful, obviously."
736 msgstr ""
737
738 #. type: Content of: <chapter><section><section><screen>
739 #: best-pkging-practices.dbk:512
740 #, no-wrap
741 msgid "  * Applied patch from Jane Random.\n"
742 msgstr ""
743
744 #. type: Content of: <chapter><section><section><para>
745 #: best-pkging-practices.dbk:515
746 msgid "What was the patch about?"
747 msgstr ""
748
749 #. type: Content of: <chapter><section><section><screen>
750 #: best-pkging-practices.dbk:518
751 #, no-wrap
752 msgid "  * Late night install target overhaul.\n"
753 msgstr ""
754
755 #. type: Content of: <chapter><section><section><para>
756 #: best-pkging-practices.dbk:521
757 msgid ""
758 "Overhaul which accomplished what? Is the mention of late night supposed to "
759 "remind us that we shouldn't trust that code?"
760 msgstr ""
761
762 #. type: Content of: <chapter><section><section><screen>
763 #: best-pkging-practices.dbk:525
764 #, no-wrap
765 msgid "  * Fix vsync FU w/ ancient CRTs.\n"
766 msgstr ""
767
768 #. type: Content of: <chapter><section><section><para>
769 #: best-pkging-practices.dbk:528
770 msgid ""
771 "Too many acronyms, and it's not overly clear what the, uh, fsckup (oops, a "
772 "curse word!) was actually about, or how it was fixed."
773 msgstr ""
774
775 #. type: Content of: <chapter><section><section><screen>
776 #: best-pkging-practices.dbk:532
777 #, no-wrap
778 msgid "  * This is not a bug, closes: #nnnnnn.\n"
779 msgstr ""
780
781 #. type: Content of: <chapter><section><section><para>
782 #: best-pkging-practices.dbk:535
783 msgid ""
784 "First of all, there's absolutely no need to upload the package to convey "
785 "this information; instead, use the bug tracking system.  Secondly, there's "
786 "no explanation as to why the report is not a bug."
787 msgstr ""
788
789 #. type: Content of: <chapter><section><section><screen>
790 #: best-pkging-practices.dbk:540
791 #, no-wrap
792 msgid "  * Has been fixed for ages, but I forgot to close; closes: #54321.\n"
793 msgstr ""
794
795 #. type: Content of: <chapter><section><section><para>
796 #: best-pkging-practices.dbk:543
797 msgid ""
798 "If for some reason you didn't mention the bug number in a previous changelog "
799 "entry, there's no problem, just close the bug normally in the BTS.  There's "
800 "no need to touch the changelog file, presuming the description of the fix is "
801 "already in (this applies to the fixes by the upstream authors/maintainers as "
802 "well, you don't have to track bugs that they fixed ages ago in your "
803 "changelog)."
804 msgstr ""
805
806 #. type: Content of: <chapter><section><section><screen>
807 #: best-pkging-practices.dbk:550
808 #, no-wrap
809 msgid "  * Closes: #12345, #12346, #15432\n"
810 msgstr ""
811
812 #. type: Content of: <chapter><section><section><para>
813 #: best-pkging-practices.dbk:553
814 msgid ""
815 "Where's the description? If you can't think of a descriptive message, start "
816 "by inserting the title of each different bug."
817 msgstr ""
818
819 #. type: Content of: <chapter><section><section><title>
820 #: best-pkging-practices.dbk:559
821 msgid "Supplementing changelogs with <filename>NEWS.Debian</filename> files"
822 msgstr ""
823
824 #. type: Content of: <chapter><section><section><para>
825 #: best-pkging-practices.dbk:561
826 msgid ""
827 "Important news about changes in a package can also be put in "
828 "<filename>NEWS.Debian</filename> files.  The news will be displayed by tools "
829 "like <systemitem role=\"package\">apt-listchanges</systemitem>, before all "
830 "the rest of the changelogs.  This is the preferred means to let the user "
831 "know about significant changes in a package.  It is better than using "
832 "<systemitem role=\"package\">debconf</systemitem> notes since it is less "
833 "annoying and the user can go back and refer to the "
834 "<filename>NEWS.Debian</filename> file after the install.  And it's better "
835 "than listing major changes in <filename>README.Debian</filename>, since the "
836 "user can easily miss such notes."
837 msgstr ""
838
839 #. type: Content of: <chapter><section><section><para>
840 #: best-pkging-practices.dbk:572
841 msgid ""
842 "The file format is the same as a debian changelog file, but leave off the "
843 "asterisks and describe each news item with a full paragraph when necessary "
844 "rather than the more concise summaries that would go in a changelog.  It's a "
845 "good idea to run your file through <literal>dpkg-parsechangelog</literal> to "
846 "check its formatting as it will not be automatically checked during build as "
847 "the changelog is.  Here is an example of a real "
848 "<filename>NEWS.Debian</filename> file:"
849 msgstr ""
850
851 #. type: Content of: <chapter><section><section><screen>
852 #: best-pkging-practices.dbk:581
853 #, no-wrap
854 msgid ""
855 "cron (3.0pl1-74) unstable; urgency=low\n"
856 "\n"
857 "    The checksecurity script is no longer included with the cron package:\n"
858 "    it now has its own package, checksecurity. If you liked the\n"
859 "    functionality provided with that script, please install the new\n"
860 "    package.\n"
861 "\n"
862 " -- Steve Greenland &lt;stevegr@debian.org&gt;  Sat,  6 Sep 2003 17:15:03 "
863 "-0500\n"
864 msgstr ""
865
866 #. type: Content of: <chapter><section><section><para>
867 #: best-pkging-practices.dbk:591
868 msgid ""
869 "The <filename>NEWS.Debian</filename> file is installed as "
870 "<filename>/usr/share/doc/<replaceable>package</replaceable>/NEWS.Debian.gz</filename>.  "
871 "It is compressed, and always has that name even in Debian native packages.  "
872 "If you use <literal>debhelper</literal>, "
873 "<literal>dh_installchangelogs</literal> will install "
874 "<filename>debian/NEWS</filename> files for you."
875 msgstr ""
876
877 #. type: Content of: <chapter><section><section><para>
878 #: best-pkging-practices.dbk:598
879 msgid ""
880 "Unlike changelog files, you need not update <filename>NEWS.Debian</filename> "
881 "files with every release.  Only update them if you have something "
882 "particularly newsworthy that user should know about.  If you have no news at "
883 "all, there's no need to ship a <filename>NEWS.Debian</filename> file in your "
884 "package.  No news is good news!"
885 msgstr ""
886
887 #. type: Content of: <chapter><section><title>
888 #: best-pkging-practices.dbk:620
889 msgid "Best practices for maintainer scripts"
890 msgstr ""
891
892 #. type: Content of: <chapter><section><para>
893 #: best-pkging-practices.dbk:622
894 msgid ""
895 "Maintainer scripts include the files <filename>debian/postinst</filename>, "
896 "<filename>debian/preinst</filename>, <filename>debian/prerm</filename> and "
897 "<filename>debian/postrm</filename>.  These scripts take care of any package "
898 "installation or deinstallation setup which isn't handled merely by the "
899 "creation or removal of files and directories.  The following instructions "
900 "supplement the <ulink url=\"&url-debian-policy;\">Debian Policy</ulink>."
901 msgstr ""
902
903 #. type: Content of: <chapter><section><para>
904 #: best-pkging-practices.dbk:630
905 msgid ""
906 "Maintainer scripts must be idempotent.  That means that you need to make "
907 "sure nothing bad will happen if the script is called twice where it would "
908 "usually be called once."
909 msgstr ""
910
911 #. type: Content of: <chapter><section><para>
912 #: best-pkging-practices.dbk:635
913 msgid ""
914 "Standard input and output may be redirected (e.g.  into pipes) for logging "
915 "purposes, so don't rely on them being a tty."
916 msgstr ""
917
918 #. type: Content of: <chapter><section><para>
919 #: best-pkging-practices.dbk:639
920 msgid ""
921 "All prompting or interactive configuration should be kept to a minimum.  "
922 "When it is necessary, you should use the <systemitem "
923 "role=\"package\">debconf</systemitem> package for the interface.  Remember "
924 "that prompting in any case can only be in the <literal>configure</literal> "
925 "stage of the <filename>postinst</filename> script."
926 msgstr ""
927
928 #. type: Content of: <chapter><section><para>
929 #: best-pkging-practices.dbk:646
930 msgid ""
931 "Keep the maintainer scripts as simple as possible.  We suggest you use pure "
932 "POSIX shell scripts.  Remember, if you do need any bash features, the "
933 "maintainer script must have a bash shebang line.  POSIX shell or Bash are "
934 "preferred to Perl, since they enable <systemitem "
935 "role=\"package\">debhelper</systemitem> to easily add bits to the scripts."
936 msgstr ""
937
938 #. type: Content of: <chapter><section><para>
939 #: best-pkging-practices.dbk:653
940 msgid ""
941 "If you change your maintainer scripts, be sure to test package removal, "
942 "double installation, and purging.  Be sure that a purged package is "
943 "completely gone, that is, it must remove any files created, directly or "
944 "indirectly, in any maintainer script."
945 msgstr ""
946
947 #. type: Content of: <chapter><section><para>
948 #: best-pkging-practices.dbk:659
949 msgid ""
950 "If you need to check for the existence of a command, you should use "
951 "something like"
952 msgstr ""
953
954 #. type: Content of: <chapter><section><programlisting>
955 #: best-pkging-practices.dbk:662
956 #, no-wrap
957 msgid "if [ -x /usr/sbin/install-docs ]; then ..."
958 msgstr ""
959
960 #. type: Content of: <chapter><section><para>
961 #: best-pkging-practices.dbk:664
962 msgid ""
963 "If you don't wish to hard-code the path of a command in your maintainer "
964 "script, the following POSIX-compliant shell function may help:"
965 msgstr ""
966
967 #. type: Content of: <chapter><section><para>
968 #: best-pkging-practices.dbk:669
969 msgid ""
970 "You can use this function to search <varname>$PATH</varname> for a command "
971 "name, passed as an argument.  It returns true (zero) if the command was "
972 "found, and false if not.  This is really the most portable way, since "
973 "<literal>command -v</literal>, <command>type</command>, and "
974 "<command>which</command> are not POSIX."
975 msgstr ""
976
977 #. type: Content of: <chapter><section><para>
978 #: best-pkging-practices.dbk:676
979 msgid ""
980 "While <command>which</command> is an acceptable alternative, since it is "
981 "from the required <systemitem role=\"package\">debianutils</systemitem> "
982 "package, it's not on the root partition.  That is, it's in "
983 "<filename>/usr/bin</filename> rather than <filename>/bin</filename>, so one "
984 "can't use it in scripts which are run before the <filename>/usr</filename> "
985 "partition is mounted.  Most scripts won't have this problem, though."
986 msgstr ""
987
988 #. type: Content of: <chapter><section><title>
989 #: best-pkging-practices.dbk:686
990 msgid ""
991 "Configuration management with <systemitem "
992 "role=\"package\">debconf</systemitem>"
993 msgstr ""
994
995 #. type: Content of: <chapter><section><para>
996 #: best-pkging-practices.dbk:688
997 msgid ""
998 "<systemitem role=\"package\">Debconf</systemitem> is a configuration "
999 "management system which can be used by all the various packaging scripts "
1000 "(<filename>postinst</filename> mainly) to request feedback from the user "
1001 "concerning how to configure the package.  Direct user interactions must now "
1002 "be avoided in favor of <systemitem role=\"package\">debconf</systemitem> "
1003 "interaction.  This will enable non-interactive installations in the future."
1004 msgstr ""
1005
1006 #. type: Content of: <chapter><section><para>
1007 #: best-pkging-practices.dbk:696
1008 msgid ""
1009 "Debconf is a great tool but it is often poorly used.  Many common mistakes "
1010 "are listed in the <citerefentry> "
1011 "<refentrytitle>debconf-devel</refentrytitle> <manvolnum>7</manvolnum> "
1012 "</citerefentry> man page.  It is something that you must read if you decide "
1013 "to use debconf.  Also, we document some best practices here."
1014 msgstr ""
1015
1016 #. type: Content of: <chapter><section><para>
1017 #: best-pkging-practices.dbk:703
1018 msgid ""
1019 "These guidelines include some writing style and typography recommendations, "
1020 "general considerations about debconf usage as well as more specific "
1021 "recommendations for some parts of the distribution (the installation system "
1022 "for instance)."
1023 msgstr ""
1024
1025 #. type: Content of: <chapter><section><section><title>
1026 #: best-pkging-practices.dbk:709
1027 msgid "Do not abuse debconf"
1028 msgstr ""
1029
1030 #. type: Content of: <chapter><section><section><para>
1031 #: best-pkging-practices.dbk:711
1032 msgid ""
1033 "Since debconf appeared in Debian, it has been widely abused and several "
1034 "criticisms received by the Debian distribution come from debconf abuse with "
1035 "the need of answering a wide bunch of questions before getting any little "
1036 "thing installed."
1037 msgstr ""
1038
1039 #. type: Content of: <chapter><section><section><para>
1040 #: best-pkging-practices.dbk:717
1041 msgid ""
1042 "Keep usage notes to what they belong: the <filename>NEWS.Debian</filename>, "
1043 "or <filename>README.Debian</filename> file.  Only use notes for important "
1044 "notes which may directly affect the package usability.  Remember that notes "
1045 "will always block the install until confirmed or bother the user by email."
1046 msgstr ""
1047
1048 #. type: Content of: <chapter><section><section><para>
1049 #: best-pkging-practices.dbk:723
1050 msgid ""
1051 "Carefully choose the questions priorities in maintainer scripts.  See "
1052 "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> "
1053 "<manvolnum>7</manvolnum> </citerefentry> for details about priorities.  Most "
1054 "questions should use medium and low priorities."
1055 msgstr ""
1056
1057 #. type: Content of: <chapter><section><section><title>
1058 #: best-pkging-practices.dbk:731
1059 msgid "General recommendations for authors and translators"
1060 msgstr ""
1061
1062 #. type: Content of: <chapter><section><section><section><title>
1063 #: best-pkging-practices.dbk:733
1064 msgid "Write correct English"
1065 msgstr ""
1066
1067 #. type: Content of: <chapter><section><section><section><para>
1068 #: best-pkging-practices.dbk:735
1069 msgid ""
1070 "Most Debian package maintainers are not native English speakers.  So, "
1071 "writing properly phrased templates may not be easy for them."
1072 msgstr ""
1073
1074 #. type: Content of: <chapter><section><section><section><para>
1075 #: best-pkging-practices.dbk:739
1076 msgid ""
1077 "Please use (and abuse) &email-debian-l10n-english; mailing list.  Have your "
1078 "templates proofread."
1079 msgstr ""
1080
1081 #. type: Content of: <chapter><section><section><section><para>
1082 #: best-pkging-practices.dbk:743
1083 msgid ""
1084 "Badly written templates give a poor image of your package, of your "
1085 "work... or even of Debian itself."
1086 msgstr ""
1087
1088 #. type: Content of: <chapter><section><section><section><para>
1089 #: best-pkging-practices.dbk:747
1090 msgid ""
1091 "Avoid technical jargon as much as possible.  If some terms sound common to "
1092 "you, they may be impossible to understand for others.  If you cannot avoid "
1093 "them, try to explain them (use the extended description).  When doing so, "
1094 "try to balance between verbosity and simplicity."
1095 msgstr ""
1096
1097 #. type: Content of: <chapter><section><section><section><title>
1098 #: best-pkging-practices.dbk:755
1099 msgid "Be kind to translators"
1100 msgstr ""
1101
1102 #. type: Content of: <chapter><section><section><section><para>
1103 #: best-pkging-practices.dbk:757
1104 msgid ""
1105 "Debconf templates may be translated.  Debconf, along with its sister package "
1106 "<command>po-debconf</command> offers a simple framework for getting "
1107 "templates translated by translation teams or even individuals."
1108 msgstr ""
1109
1110 #. type: Content of: <chapter><section><section><section><para>
1111 #: best-pkging-practices.dbk:762
1112 msgid ""
1113 "Please use gettext-based templates.  Install <systemitem "
1114 "role=\"package\">po-debconf</systemitem> on your development system and read "
1115 "its documentation (<command>man po-debconf</command> is a good start)."
1116 msgstr ""
1117
1118 #. type: Content of: <chapter><section><section><section><para>
1119 #: best-pkging-practices.dbk:767
1120 msgid ""
1121 "Avoid changing templates too often.  Changing templates text induces more "
1122 "work to translators which will get their translation fuzzied.  A fuzzy "
1123 "translation is a string for which the original changed since it was "
1124 "translated, therefore requiring some update by a translator to be usable.  "
1125 "When changes are small enough, the original translation is kept in PO files "
1126 "but marked as <literal>fuzzy</literal>."
1127 msgstr ""
1128
1129 #. type: Content of: <chapter><section><section><section><para>
1130 #: best-pkging-practices.dbk:775
1131 msgid ""
1132 "If you plan to do changes to your original templates, please use the "
1133 "notification system provided with the <systemitem "
1134 "role=\"package\">po-debconf</systemitem> package, namely the "
1135 "<command>podebconf-report-po</command>, to contact translators.  Most active "
1136 "translators are very responsive and getting their work included along with "
1137 "your modified templates will save you additional uploads.  If you use "
1138 "gettext-based templates, the translator's name and e-mail addresses are "
1139 "mentioned in the PO files headers and will be used by "
1140 "<command>podebconf-report-po</command>."
1141 msgstr ""
1142
1143 #. type: Content of: <chapter><section><section><section><para>
1144 #: best-pkging-practices.dbk:787
1145 msgid "A recommended use of that utility is:"
1146 msgstr ""
1147
1148 #. type: Content of: <chapter><section><section><section><programlisting>
1149 #: best-pkging-practices.dbk:789
1150 #, no-wrap
1151 msgid ""
1152 "cd debian/po &amp;&amp; podebconf-report-po --call --languageteam "
1153 "--withtranslators --deadline=\"+10 days\""
1154 msgstr ""
1155
1156 #. type: Content of: <chapter><section><section><section><para>
1157 #: best-pkging-practices.dbk:791
1158 msgid ""
1159 "This command will first synchronize the PO and POT files in "
1160 "<filename>debian/po</filename> with the templates files listed in "
1161 "<filename>debian/po/POTFILES.in</filename>.  Then, it will send a call for "
1162 "new translations, in the &email-debian-i18n; mailing list. Finally, it will "
1163 "also send a call for translation updates to the language team (mentioned in "
1164 "the <literal>Language-Team</literal> field of each PO file)  as well as the "
1165 "last translator (mentioned in <literal>Last-translator</literal>)."
1166 msgstr ""
1167
1168 #. type: Content of: <chapter><section><section><section><para>
1169 #: best-pkging-practices.dbk:800
1170 msgid ""
1171 "Giving a deadline to translators is always appreciated, so that they can "
1172 "organize their work. Please remember that some translation teams have a "
1173 "formalized translate/review process and a delay lower than 10 days is "
1174 "considered as unreasonable. A shorter delay puts too much pressure on "
1175 "translation teams and should be kept for very minor changes."
1176 msgstr ""
1177
1178 #. type: Content of: <chapter><section><section><section><para>
1179 #: best-pkging-practices.dbk:807
1180 msgid ""
1181 "If in doubt, you may also contact the translation team for a given language "
1182 "(debian-l10n-xxxxx@&lists-host;), or the &email-debian-i18n; mailing list."
1183 msgstr ""
1184
1185 #. type: Content of: <chapter><section><section><section><title>
1186 #: best-pkging-practices.dbk:814
1187 msgid "Unfuzzy complete translations when correcting typos and spelling"
1188 msgstr ""
1189
1190 #. type: Content of: <chapter><section><section><section><para>
1191 #: best-pkging-practices.dbk:816
1192 msgid ""
1193 "When the text of a debconf template is corrected and you are <emphasis "
1194 "role=\"strong\">sure</emphasis> that the change does <emphasis "
1195 "role=\"strong\">not</emphasis> affect translations, please be kind to "
1196 "translators and <emphasis>unfuzzy</emphasis> their translations."
1197 msgstr ""
1198
1199 #. type: Content of: <chapter><section><section><section><para>
1200 #: best-pkging-practices.dbk:822
1201 msgid ""
1202 "If you don't do so, the whole template will not be translated as long as a "
1203 "translator will send you an update."
1204 msgstr ""
1205
1206 #. type: Content of: <chapter><section><section><section><para>
1207 #: best-pkging-practices.dbk:826
1208 msgid ""
1209 "To <emphasis>unfuzzy</emphasis> translations, you can use "
1210 "<command>msguntypot</command> (part of the <systemitem "
1211 "role=\"package\">po4a</systemitem> package)."
1212 msgstr ""
1213
1214 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1215 #: best-pkging-practices.dbk:833
1216 msgid "Regenerate the POT and PO files."
1217 msgstr ""
1218
1219 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1220 #: best-pkging-practices.dbk:835 best-pkging-practices.dbk:858
1221 #, no-wrap
1222 msgid "debconf-updatepo"
1223 msgstr ""
1224
1225 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1226 #: best-pkging-practices.dbk:839
1227 msgid "Make a copy of the POT file."
1228 msgstr ""
1229
1230 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1231 #: best-pkging-practices.dbk:841
1232 #, no-wrap
1233 msgid "cp templates.pot templates.pot.orig"
1234 msgstr ""
1235
1236 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1237 #: best-pkging-practices.dbk:845
1238 msgid "Make a copy of all the PO files."
1239 msgstr ""
1240
1241 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1242 #: best-pkging-practices.dbk:847
1243 #, no-wrap
1244 msgid "mkdir po_fridge; cp *.po po_fridge"
1245 msgstr ""
1246
1247 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1248 #: best-pkging-practices.dbk:851
1249 msgid "Change the debconf template files to fix the typos."
1250 msgstr ""
1251
1252 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1253 #: best-pkging-practices.dbk:856
1254 msgid "Regenerate the POT and PO files (again)."
1255 msgstr ""
1256
1257 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1258 #: best-pkging-practices.dbk:860
1259 msgid ""
1260 "At this point, the typo fix fuzzied all the translations, and this "
1261 "unfortunate change is the only one between the PO files of your main "
1262 "directory and the one from the fridge. Here is how to solve this."
1263 msgstr ""
1264
1265 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1266 #: best-pkging-practices.dbk:867
1267 msgid "Discard fuzzy translation, restore the ones from the fridge."
1268 msgstr ""
1269
1270 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1271 #: best-pkging-practices.dbk:869
1272 #, no-wrap
1273 msgid "cp po_fridge/*.po ."
1274 msgstr ""
1275
1276 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1277 #: best-pkging-practices.dbk:873
1278 msgid ""
1279 "Manually merge the PO files with the new POT file, but taking the useless "
1280 "fuzzy into account."
1281 msgstr ""
1282
1283 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1284 #: best-pkging-practices.dbk:875
1285 #, no-wrap
1286 msgid "msguntypot -o templates.pot.orig -n templates.pot *.po"
1287 msgstr ""
1288
1289 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1290 #: best-pkging-practices.dbk:879
1291 msgid "Clean up."
1292 msgstr ""
1293
1294 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1295 #: best-pkging-practices.dbk:881
1296 #, no-wrap
1297 msgid "rm -rf templates.pot.orig po_fridge"
1298 msgstr ""
1299
1300 #. type: Content of: <chapter><section><section><section><title>
1301 #: best-pkging-practices.dbk:887
1302 msgid "Do not make assumptions about interfaces"
1303 msgstr ""
1304
1305 #. type: Content of: <chapter><section><section><section><para>
1306 #: best-pkging-practices.dbk:889
1307 msgid ""
1308 "Templates text should not make reference to widgets belonging to some "
1309 "debconf interfaces.  Sentences like <emphasis>If you answer "
1310 "Yes...</emphasis> have no meaning for users of graphical interfaces which "
1311 "use checkboxes for boolean questions."
1312 msgstr ""
1313
1314 #. type: Content of: <chapter><section><section><section><para>
1315 #: best-pkging-practices.dbk:894
1316 msgid ""
1317 "String templates should also avoid mentioning the default values in their "
1318 "description.  First, because this is redundant with the values seen by the "
1319 "users.  Also, because these default values may be different from the "
1320 "maintainer choices (for instance, when the debconf database was preseeded)."
1321 msgstr ""
1322
1323 #. type: Content of: <chapter><section><section><section><para>
1324 #: best-pkging-practices.dbk:900
1325 msgid ""
1326 "More generally speaking, try to avoid referring to user actions.  Just give "
1327 "facts."
1328 msgstr ""
1329
1330 #. type: Content of: <chapter><section><section><section><title>
1331 #: best-pkging-practices.dbk:906
1332 msgid "Do not use first person"
1333 msgstr ""
1334
1335 #. type: Content of: <chapter><section><section><section><para>
1336 #: best-pkging-practices.dbk:908
1337 msgid ""
1338 "You should avoid the use of first person (<emphasis>I will do "
1339 "this...</emphasis> or <emphasis>We recommend...</emphasis>).  The computer "
1340 "is not a person and the Debconf templates do not speak for the Debian "
1341 "developers.  You should use neutral construction.  Those of you who already "
1342 "wrote scientific publications, just write your templates like you would "
1343 "write a scientific paper.  However, try using active voice if still "
1344 "possible, like <emphasis>Enable this if ...</emphasis> instead of "
1345 "<emphasis>This can be enabled if...</emphasis>."
1346 msgstr ""
1347
1348 #. type: Content of: <chapter><section><section><section><title>
1349 #: best-pkging-practices.dbk:918
1350 msgid "Be gender neutral"
1351 msgstr ""
1352
1353 #. type: Content of: <chapter><section><section><section><para>
1354 #: best-pkging-practices.dbk:920
1355 msgid ""
1356 "The world is made of men and women.  Please use gender-neutral constructions "
1357 "in your writing."
1358 msgstr ""
1359
1360 #. type: Content of: <chapter><section><section><title>
1361 #: best-pkging-practices.dbk:928
1362 msgid "Templates fields definition"
1363 msgstr ""
1364
1365 #. type: Content of: <chapter><section><section><para>
1366 #: best-pkging-practices.dbk:930
1367 msgid ""
1368 "This part gives some information which is mostly taken from the "
1369 "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> "
1370 "<manvolnum>7</manvolnum> </citerefentry> manual page."
1371 msgstr ""
1372
1373 #. type: Content of: <chapter><section><section><section><title>
1374 #: best-pkging-practices.dbk:935
1375 msgid "Type"
1376 msgstr ""
1377
1378 #. type: Content of: <chapter><section><section><section><section><title>
1379 #: best-pkging-practices.dbk:937
1380 msgid "string"
1381 msgstr ""
1382
1383 #. type: Content of: <chapter><section><section><section><section><para>
1384 #: best-pkging-practices.dbk:939
1385 msgid "Results in a free-form input field that the user can type any string into."
1386 msgstr ""
1387
1388 #. type: Content of: <chapter><section><section><section><section><title>
1389 #: best-pkging-practices.dbk:944
1390 msgid "password"
1391 msgstr ""
1392
1393 #. type: Content of: <chapter><section><section><section><section><para>
1394 #: best-pkging-practices.dbk:946
1395 msgid ""
1396 "Prompts the user for a password.  Use this with caution; be aware that the "
1397 "password the user enters will be written to debconf's database.  You should "
1398 "probably clean that value out of the database as soon as is possible."
1399 msgstr ""
1400
1401 #. type: Content of: <chapter><section><section><section><section><title>
1402 #: best-pkging-practices.dbk:953
1403 msgid "boolean"
1404 msgstr ""
1405
1406 #. type: Content of: <chapter><section><section><section><section><para>
1407 #: best-pkging-practices.dbk:955
1408 msgid ""
1409 "A true/false choice.  Remember: true/false, <emphasis role=\"strong\">not "
1410 "yes/no</emphasis>..."
1411 msgstr ""
1412
1413 #. type: Content of: <chapter><section><section><section><section><title>
1414 #: best-pkging-practices.dbk:961
1415 msgid "select"
1416 msgstr ""
1417
1418 #. type: Content of: <chapter><section><section><section><section><para>
1419 #: best-pkging-practices.dbk:963
1420 msgid ""
1421 "A choice between one of a number of values.  The choices must be specified "
1422 "in a field named 'Choices'.  Separate the possible values with commas and "
1423 "spaces, like this: <literal>Choices: yes, no, maybe</literal>."
1424 msgstr ""
1425
1426 #. type: Content of: <chapter><section><section><section><section><para>
1427 #: best-pkging-practices.dbk:968
1428 msgid ""
1429 "If choices are translatable strings, the 'Choices' field may be marked as "
1430 "translatable by using <literal>__Choices</literal>. The double underscore "
1431 "will split out each choice in a separate string."
1432 msgstr ""
1433
1434 #. type: Content of: <chapter><section><section><section><section><para>
1435 #: best-pkging-practices.dbk:973
1436 msgid ""
1437 "The <command>po-debconf</command> system also offers interesting "
1438 "possibilities to only mark <emphasis role=\"strong\">some</emphasis> choices "
1439 "as translatable.  Example:"
1440 msgstr ""
1441
1442 #. type: Content of: <chapter><section><section><section><section><programlisting>
1443 #: best-pkging-practices.dbk:978
1444 #, no-wrap
1445 msgid ""
1446 "Template: foo/bar\n"
1447 "Type: Select\n"
1448 "#flag:translate:3\n"
1449 "__Choices: PAL, SECAM, Other\n"
1450 "_Description: TV standard:\n"
1451 " Please choose the TV standard used in your country.\n"
1452 msgstr ""
1453
1454 #. type: Content of: <chapter><section><section><section><section><para>
1455 #: best-pkging-practices.dbk:986
1456 msgid ""
1457 "In that example, only the 'Other' string is translatable while others are "
1458 "acronyms that should not be translated. The above allows only 'Other' to be "
1459 "included in PO and POT files."
1460 msgstr ""
1461
1462 #. type: Content of: <chapter><section><section><section><section><para>
1463 #: best-pkging-practices.dbk:991
1464 msgid ""
1465 "The debconf templates flag system offers many such possibilities. The "
1466 "<citerefentry> <refentrytitle>po-debconf</refentrytitle> "
1467 "<manvolnum>7</manvolnum> </citerefentry> manual page lists all these "
1468 "possibilities."
1469 msgstr ""
1470
1471 #. type: Content of: <chapter><section><section><section><section><title>
1472 #: best-pkging-practices.dbk:999
1473 msgid "multiselect"
1474 msgstr ""
1475
1476 #. type: Content of: <chapter><section><section><section><section><para>
1477 #: best-pkging-practices.dbk:1001
1478 msgid ""
1479 "Like the select data type, except the user can choose any number of items "
1480 "from the choices list (or chose none of them)."
1481 msgstr ""
1482
1483 #. type: Content of: <chapter><section><section><section><section><title>
1484 #: best-pkging-practices.dbk:1007
1485 msgid "note"
1486 msgstr ""
1487
1488 #. type: Content of: <chapter><section><section><section><section><para>
1489 #: best-pkging-practices.dbk:1009
1490 msgid ""
1491 "Rather than being a question per se, this datatype indicates a note that can "
1492 "be displayed to the user.  It should be used only for important notes that "
1493 "the user really should see, since debconf will go to great pains to make "
1494 "sure the user sees it; halting the install for them to press a key, and even "
1495 "mailing the note to them in some cases."
1496 msgstr ""
1497
1498 #. type: Content of: <chapter><section><section><section><section><title>
1499 #: best-pkging-practices.dbk:1018
1500 msgid "text"
1501 msgstr ""
1502
1503 #. type: Content of: <chapter><section><section><section><section><para>
1504 #: best-pkging-practices.dbk:1020
1505 msgid "This type is now considered obsolete: don't use it."
1506 msgstr ""
1507
1508 #. type: Content of: <chapter><section><section><section><section><title>
1509 #: best-pkging-practices.dbk:1025
1510 msgid "error"
1511 msgstr ""
1512
1513 #. type: Content of: <chapter><section><section><section><section><para>
1514 #: best-pkging-practices.dbk:1027
1515 msgid ""
1516 "This type is designed to handle error messages.  It is mostly similar to the "
1517 "note type.  Frontends may present it differently (for instance, the dialog "
1518 "frontend of cdebconf draws a red screen instead of the usual blue one)."
1519 msgstr ""
1520
1521 #. type: Content of: <chapter><section><section><section><section><para>
1522 #: best-pkging-practices.dbk:1032
1523 msgid ""
1524 "It is recommended to use this type for any message that needs user attention "
1525 "for a correction of any kind."
1526 msgstr ""
1527
1528 #. type: Content of: <chapter><section><section><section><title>
1529 #: best-pkging-practices.dbk:1040
1530 msgid "Description: short and extended description"
1531 msgstr ""
1532
1533 #. type: Content of: <chapter><section><section><section><para>
1534 #: best-pkging-practices.dbk:1042
1535 msgid ""
1536 "Template descriptions have two parts: short and extended.  The short "
1537 "description is in the Description: line of the template."
1538 msgstr ""
1539
1540 #. type: Content of: <chapter><section><section><section><para>
1541 #: best-pkging-practices.dbk:1046
1542 msgid ""
1543 "The short description should be kept short (50 characters or so) so that it "
1544 "may be accommodated by most debconf interfaces.  Keeping it short also helps "
1545 "translators, as usually translations tend to end up being longer than the "
1546 "original."
1547 msgstr ""
1548
1549 #. type: Content of: <chapter><section><section><section><para>
1550 #: best-pkging-practices.dbk:1052
1551 msgid ""
1552 "The short description should be able to stand on its own.  Some interfaces "
1553 "do not show the long description by default, or only if the user explicitely "
1554 "asks for it or even do not show it at all.  Avoid things like What do you "
1555 "want to do?"
1556 msgstr ""
1557
1558 #. type: Content of: <chapter><section><section><section><para>
1559 #: best-pkging-practices.dbk:1058
1560 msgid ""
1561 "The short description does not necessarily have to be a full sentence.  This "
1562 "is part of the keep it short and efficient recommendation."
1563 msgstr ""
1564
1565 #. type: Content of: <chapter><section><section><section><para>
1566 #: best-pkging-practices.dbk:1062
1567 msgid ""
1568 "The extended description should not repeat the short description word for "
1569 "word.  If you can't think up a long description, then first, think some "
1570 "more.  Post to debian-devel.  Ask for help.  Take a writing class! That "
1571 "extended description is important.  If after all that you still can't come "
1572 "up with anything, leave it blank."
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 use complete sentences.  Paragraphs should "
1579 "be kept short for improved readability.  Do not mix two ideas in the same "
1580 "paragraph but rather use another paragraph."
1581 msgstr ""
1582
1583 #. type: Content of: <chapter><section><section><section><para>
1584 #: best-pkging-practices.dbk:1074
1585 msgid ""
1586 "Don't be too verbose.  User tend to ignore too long screens.  20 lines are "
1587 "by experience a border you shouldn't cross, because that means that in the "
1588 "classical dialog interface, people will need to scroll, and lot of people "
1589 "just don't do that."
1590 msgstr ""
1591
1592 #. type: Content of: <chapter><section><section><section><para>
1593 #: best-pkging-practices.dbk:1080
1594 msgid ""
1595 "The extended description should <emphasis role=\"strong\">never</emphasis> "
1596 "include a question."
1597 msgstr ""
1598
1599 #. type: Content of: <chapter><section><section><section><para>
1600 #: best-pkging-practices.dbk:1084
1601 msgid ""
1602 "For specific rules depending on templates type (string, boolean, etc.), "
1603 "please read below."
1604 msgstr ""
1605
1606 #. type: Content of: <chapter><section><section><section><title>
1607 #: best-pkging-practices.dbk:1090
1608 msgid "Choices"
1609 msgstr ""
1610
1611 #. type: Content of: <chapter><section><section><section><para>
1612 #: best-pkging-practices.dbk:1092
1613 msgid ""
1614 "This field should be used for select and multiselect types.  It contains the "
1615 "possible choices which will be presented to users.  These choices should be "
1616 "separated by commas."
1617 msgstr ""
1618
1619 #. type: Content of: <chapter><section><section><section><title>
1620 #: best-pkging-practices.dbk:1099
1621 msgid "Default"
1622 msgstr ""
1623
1624 #. type: Content of: <chapter><section><section><section><para>
1625 #: best-pkging-practices.dbk:1101
1626 msgid ""
1627 "This field is optional.  It contains the default answer for string, select "
1628 "and multiselect templates.  For multiselect templates, it may contain a "
1629 "comma-separated list of choices."
1630 msgstr ""
1631
1632 #. type: Content of: <chapter><section><section><title>
1633 #: best-pkging-practices.dbk:1110
1634 msgid "Templates fields specific style guide"
1635 msgstr ""
1636
1637 #. type: Content of: <chapter><section><section><section><title>
1638 #: best-pkging-practices.dbk:1112
1639 msgid "Type field"
1640 msgstr ""
1641
1642 #. type: Content of: <chapter><section><section><section><para>
1643 #: best-pkging-practices.dbk:1114
1644 msgid ""
1645 "No specific indication except: use the appropriate type by referring to the "
1646 "previous section."
1647 msgstr ""
1648
1649 #. type: Content of: <chapter><section><section><section><title>
1650 #: best-pkging-practices.dbk:1120
1651 msgid "Description field"
1652 msgstr ""
1653
1654 #. type: Content of: <chapter><section><section><section><para>
1655 #: best-pkging-practices.dbk:1122
1656 msgid ""
1657 "Below are specific instructions for properly writing the Description (short "
1658 "and extended) depending on the template type."
1659 msgstr ""
1660
1661 #. type: Content of: <chapter><section><section><section><section><title>
1662 #: best-pkging-practices.dbk:1126
1663 msgid "String/password templates"
1664 msgstr ""
1665
1666 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1667 #: best-pkging-practices.dbk:1130
1668 msgid ""
1669 "The short description is a prompt and <emphasis "
1670 "role=\"strong\">not</emphasis> a title.  Avoid question style prompts (IP "
1671 "Address?) in favour of opened prompts (IP address:).  The use of colons is "
1672 "recommended."
1673 msgstr ""
1674
1675 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1676 #: best-pkging-practices.dbk:1137
1677 msgid ""
1678 "The extended description is a complement to the short description.  In the "
1679 "extended part, explain what is being asked, rather than ask the same "
1680 "question again using longer words.  Use complete sentences.  Terse writing "
1681 "style is strongly discouraged."
1682 msgstr ""
1683
1684 #. type: Content of: <chapter><section><section><section><section><title>
1685 #: best-pkging-practices.dbk:1147
1686 msgid "Boolean templates"
1687 msgstr ""
1688
1689 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1690 #: best-pkging-practices.dbk:1151
1691 msgid ""
1692 "The short description should be phrased in the form of a question which "
1693 "should be kept short and should generally end with a question mark.  Terse "
1694 "writing style is permitted and even encouraged if the question is rather "
1695 "long (remember that translations are often longer than original versions)."
1696 msgstr ""
1697
1698 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1699 #: best-pkging-practices.dbk:1159
1700 msgid ""
1701 "Again, please avoid referring to specific interface widgets.  A common "
1702 "mistake for such templates is if you answer Yes-type constructions."
1703 msgstr ""
1704
1705 #. type: Content of: <chapter><section><section><section><section><title>
1706 #: best-pkging-practices.dbk:1167
1707 msgid "Select/Multiselect"
1708 msgstr ""
1709
1710 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1711 #: best-pkging-practices.dbk:1171
1712 msgid ""
1713 "The short description is a prompt and <emphasis "
1714 "role=\"strong\">not</emphasis> a title.  Do <emphasis "
1715 "role=\"strong\">not</emphasis> use useless Please choose...  constructions.  "
1716 "Users are clever enough to figure out they have to choose something...:)"
1717 msgstr ""
1718
1719 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1720 #: best-pkging-practices.dbk:1179
1721 msgid ""
1722 "The extended description will complete the short description.  It may refer "
1723 "to the available choices.  It may also mention that the user may choose more "
1724 "than one of the available choices, if the template is a multiselect one "
1725 "(although the interface often makes this clear)."
1726 msgstr ""
1727
1728 #. type: Content of: <chapter><section><section><section><section><title>
1729 #: best-pkging-practices.dbk:1189
1730 msgid "Notes"
1731 msgstr ""
1732
1733 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1734 #: best-pkging-practices.dbk:1193
1735 msgid ""
1736 "The short description should be considered to be a <emphasis "
1737 "role=\"strong\">title</emphasis>."
1738 msgstr ""
1739
1740 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1741 #: best-pkging-practices.dbk:1198
1742 msgid ""
1743 "The extended description is what will be displayed as a more detailed "
1744 "explanation of the note.  Phrases, no terse writing style."
1745 msgstr ""
1746
1747 #. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1748 #: best-pkging-practices.dbk:1204
1749 msgid ""
1750 "<emphasis role=\"strong\">Do not abuse debconf.</emphasis> Notes are the "
1751 "most common way to abuse debconf.  As written in debconf-devel manual page: "
1752 "it's best to use them only for warning about very serious problems.  The "
1753 "<filename>NEWS.Debian</filename> or <filename>README.Debian</filename> files "
1754 "are the appropriate location for a lot of notes.  If, by reading this, you "
1755 "consider converting your Note type templates to entries in "
1756 "<filename>NEWS.Debian</filename> or <filename>README.Debian</filename>, plus "
1757 "consider keeping existing translations for the future."
1758 msgstr ""
1759
1760 #. type: Content of: <chapter><section><section><section><title>
1761 #: best-pkging-practices.dbk:1219
1762 msgid "Choices field"
1763 msgstr ""
1764
1765 #. type: Content of: <chapter><section><section><section><para>
1766 #: best-pkging-practices.dbk:1221
1767 msgid ""
1768 "If the Choices are likely to change often, please consider using the "
1769 "__Choices trick.  This will split each individual choice into a single "
1770 "string, which will considerably help translators for doing their work."
1771 msgstr ""
1772
1773 #. type: Content of: <chapter><section><section><section><title>
1774 #: best-pkging-practices.dbk:1228 best-pkging-practices.dbk:1266
1775 msgid "Default field"
1776 msgstr ""
1777
1778 #. type: Content of: <chapter><section><section><section><para>
1779 #: best-pkging-practices.dbk:1230
1780 msgid ""
1781 "If the default value, for a select template, is likely to vary depending on "
1782 "the user language (for instance, if the choice is a language choice), please "
1783 "use the _Default trick."
1784 msgstr ""
1785
1786 #. type: Content of: <chapter><section><section><section><para>
1787 #: best-pkging-practices.dbk:1235
1788 msgid ""
1789 "This special field allow translators to put the most appropriate choice "
1790 "according to their own language.  It will become the default choice when "
1791 "their language is used while your own mentioned Default Choice will be used "
1792 "when using English."
1793 msgstr ""
1794
1795 #. type: Content of: <chapter><section><section><section><para>
1796 #: best-pkging-practices.dbk:1241
1797 msgid "Example, taken from the geneweb package templates:"
1798 msgstr ""
1799
1800 #. type: Content of: <chapter><section><section><section><screen>
1801 #: best-pkging-practices.dbk:1244
1802 #, no-wrap
1803 msgid ""
1804 "Template: geneweb/lang\n"
1805 "Type: select\n"
1806 "__Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech "
1807 "(cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), "
1808 "Finnish (fi), French (fr), German (de), Hebrew (he), Icelandic (is), Italian "
1809 "(it), Latvian (lv), Norwegian (no), Polish (pl), Portuguese (pt), Romanian "
1810 "(ro), Russian (ru), Spanish (es), Swedish (sv)\n"
1811 "# This is the default choice. Translators may put their own language here\n"
1812 "# instead of the default.\n"
1813 "# WARNING : you MUST use the ENGLISH NAME of your language\n"
1814 "# For instance, the french translator will need to put French (fr) here.\n"
1815 "_Default: English[ translators, please see comment in PO files]\n"
1816 "_Description: Geneweb default language:\n"
1817 msgstr ""
1818
1819 #. type: Content of: <chapter><section><section><section><para>
1820 #: best-pkging-practices.dbk:1255
1821 msgid ""
1822 "Note the use of brackets which allow internal comments in debconf fields.  "
1823 "Also note the use of comments which will show up in files the translators "
1824 "will work with."
1825 msgstr ""
1826
1827 #. type: Content of: <chapter><section><section><section><para>
1828 #: best-pkging-practices.dbk:1260
1829 msgid ""
1830 "The comments are needed as the _Default trick is a bit confusing: the "
1831 "translators may put their own choice"
1832 msgstr ""
1833
1834 #. type: Content of: <chapter><section><section><section><para>
1835 #: best-pkging-practices.dbk:1268
1836 msgid ""
1837 "Do NOT use empty default field.  If you don't want to use default values, do "
1838 "not use Default at all."
1839 msgstr ""
1840
1841 #. type: Content of: <chapter><section><section><section><para>
1842 #: best-pkging-practices.dbk:1272
1843 msgid ""
1844 "If you use po-debconf (and you <emphasis role=\"strong\">should</emphasis>, "
1845 "see <xref linkend=\"s6.5.2.2\"/>), consider making this field translatable, "
1846 "if you think it may be translated."
1847 msgstr ""
1848
1849 #. type: Content of: <chapter><section><section><section><para>
1850 #: best-pkging-practices.dbk:1277
1851 msgid ""
1852 "If the default value may vary depending on language/country (for instance "
1853 "the default value for a language choice), consider using the special "
1854 "_Default type documented in <citerefentry> "
1855 "<refentrytitle>po-debconf</refentrytitle> <manvolnum>7</manvolnum> "
1856 "</citerefentry>."
1857 msgstr ""
1858
1859 #. type: Content of: <chapter><section><title>
1860 #: best-pkging-practices.dbk:1289
1861 msgid "Internationalization"
1862 msgstr ""
1863
1864 #. type: Content of: <chapter><section><para>
1865 #: best-pkging-practices.dbk:1291
1866 msgid ""
1867 "This section contains global information for developers to make translators' "
1868 "life easier.  More information for translators and developers interested in "
1869 "internationalization are available in the <ulink "
1870 "url=\"&url-i18n-l10n;\">Internationalisation and localisation in "
1871 "Debian</ulink> documentation."
1872 msgstr ""
1873
1874 #. type: Content of: <chapter><section><section><title>
1875 #: best-pkging-practices.dbk:1298
1876 msgid "Handling debconf translations"
1877 msgstr ""
1878
1879 #. type: Content of: <chapter><section><section><para>
1880 #: best-pkging-practices.dbk:1300
1881 msgid ""
1882 "Like porters, translators have a difficult task.  They work on many packages "
1883 "and must collaborate with many different maintainers.  Moreover, most of the "
1884 "time, they are not native English speakers, so you may need to be "
1885 "particularly patient with them."
1886 msgstr ""
1887
1888 #. type: Content of: <chapter><section><section><para>
1889 #: best-pkging-practices.dbk:1306
1890 msgid ""
1891 "The goal of <systemitem role=\"package\">debconf</systemitem> was to make "
1892 "packages configuration easier for maintainers and for users.  Originally, "
1893 "translation of debconf templates was handled with "
1894 "<command>debconf-mergetemplate</command>.  However, that technique is now "
1895 "deprecated; the best way to accomplish <systemitem "
1896 "role=\"package\">debconf</systemitem> internationalization is by using the "
1897 "<systemitem role=\"package\">po-debconf</systemitem> package.  This method "
1898 "is easier both for maintainer and translators; transition scripts are "
1899 "provided."
1900 msgstr ""
1901
1902 #. type: Content of: <chapter><section><section><para>
1903 #: best-pkging-practices.dbk:1316
1904 msgid ""
1905 "Using <systemitem role=\"package\">po-debconf</systemitem>, the translation "
1906 "is stored in <filename>.po</filename> files (drawing from "
1907 "<command>gettext</command> translation techniques).  Special template files "
1908 "contain the original messages and mark which fields are translatable.  When "
1909 "you change the value of a translatable field, by calling "
1910 "<command>debconf-updatepo</command>, the translation is marked as needing "
1911 "attention from the translators.  Then, at build time, the "
1912 "<command>dh_installdebconf</command> program takes care of all the needed "
1913 "magic to add the template along with the up-to-date translations into the "
1914 "binary packages.  Refer to the <citerefentry> "
1915 "<refentrytitle>po-debconf</refentrytitle> <manvolnum>7</manvolnum> "
1916 "</citerefentry> manual page for details."
1917 msgstr ""
1918
1919 #. type: Content of: <chapter><section><section><title>
1920 #: best-pkging-practices.dbk:1332
1921 msgid "Internationalized documentation"
1922 msgstr ""
1923
1924 #. type: Content of: <chapter><section><section><para>
1925 #: best-pkging-practices.dbk:1334
1926 msgid ""
1927 "Internationalizing documentation is crucial for users, but a lot of labor.  "
1928 "There's no way to eliminate all that work, but you can make things easier "
1929 "for translators."
1930 msgstr ""
1931
1932 #. type: Content of: <chapter><section><section><para>
1933 #: best-pkging-practices.dbk:1339
1934 msgid ""
1935 "If you maintain documentation of any size, it is easier for translators if "
1936 "they have access to a source control system.  That lets translators see the "
1937 "differences between two versions of the documentation, so, for instance, "
1938 "they can see what needs to be retranslated.  It is recommended that the "
1939 "translated documentation maintain a note about what source control revision "
1940 "the translation is based on.  An interesting system is provided by <ulink "
1941 "url=\"&url-i18n-doc-check;\">doc-check</ulink> in the <systemitem "
1942 "role=\"package\">debian-installer</systemitem> package, which shows an "
1943 "overview of the translation status for any given language, using structured "
1944 "comments for the current revision of the file to be translated and, for a "
1945 "translated file, the revision of the original file the translation is based "
1946 "on.  You might wish to adapt and provide that in your VCS area."
1947 msgstr ""
1948
1949 #. type: Content of: <chapter><section><section><para>
1950 #: best-pkging-practices.dbk:1353
1951 msgid ""
1952 "If you maintain XML or SGML documentation, we suggest that you isolate any "
1953 "language-independent information and define those as entities in a separate "
1954 "file which is included by all the different translations.  This makes it "
1955 "much easier, for instance, to keep URLs up to date across multiple files."
1956 msgstr ""
1957
1958 #. type: Content of: <chapter><section><section><para>
1959 #: best-pkging-practices.dbk:1359
1960 msgid ""
1961 "Some tools (e.g. <systemitem role=\"package\">po4a</systemitem>, <systemitem "
1962 "role=\"package\">poxml</systemitem>, or the <systemitem "
1963 "role=\"package\">translate-toolkit</systemitem>) are specialized in "
1964 "extracting the translatable material from different formats.  They produce "
1965 "PO files, a format quite common to translators, which permits to see what "
1966 "needs to be retranslated when the translated document is updated."
1967 msgstr ""
1968
1969 #. type: Content of: <chapter><section><title>
1970 #: best-pkging-practices.dbk:1371
1971 msgid "Common packaging situations"
1972 msgstr ""
1973
1974 #. type: Content of: <chapter><section><section><title>
1975 #: best-pkging-practices.dbk:1382
1976 msgid "Packages using <command>autoconf</command>/<command>automake</command>"
1977 msgstr ""
1978
1979 #. type: Content of: <chapter><section><section><para>
1980 #: best-pkging-practices.dbk:1384
1981 msgid ""
1982 "Keeping <command>autoconf</command>'s <filename>config.sub</filename> and "
1983 "<filename>config.guess</filename> files up to date is critical for porters, "
1984 "especially on more volatile architectures.  Some very good packaging "
1985 "practices for any package using <command>autoconf</command> and/or "
1986 "<command>automake</command> have been synthesized in &file-bpp-autotools; "
1987 "from the <systemitem role=\"package\">autotools-dev</systemitem> package.  "
1988 "You're strongly encouraged to read this file and to follow the given "
1989 "recommendations."
1990 msgstr ""
1991
1992 #. type: Content of: <chapter><section><section><title>
1993 #: best-pkging-practices.dbk:1396
1994 msgid "Libraries"
1995 msgstr ""
1996
1997 #. type: Content of: <chapter><section><section><para>
1998 #: best-pkging-practices.dbk:1398
1999 msgid ""
2000 "Libraries are always difficult to package for various reasons.  The policy "
2001 "imposes many constraints to ease their maintenance and to make sure upgrades "
2002 "are as simple as possible when a new upstream version comes out.  Breakage "
2003 "in a library can result in dozens of dependent packages breaking."
2004 msgstr ""
2005
2006 #. type: Content of: <chapter><section><section><para>
2007 #: best-pkging-practices.dbk:1404
2008 msgid ""
2009 "Good practices for library packaging have been grouped in <ulink "
2010 "url=\"&url-libpkg-guide;\">the library packaging guide</ulink>."
2011 msgstr ""
2012
2013 #. type: Content of: <chapter><section><title>
2014 #: best-pkging-practices.dbk:1411 resources.dbk:193
2015 msgid "Documentation"
2016 msgstr ""
2017
2018 #. type: Content of: <chapter><section><section><para>
2019 #: best-pkging-practices.dbk:1413
2020 msgid ""
2021 "Be sure to follow the <ulink url=\"&url-debian-policy;ch-docs.html\">Policy "
2022 "on documentation</ulink>."
2023 msgstr ""
2024
2025 #. type: Content of: <chapter><section><section><para>
2026 #: best-pkging-practices.dbk:1418
2027 msgid ""
2028 "If your package contains documentation built from XML or SGML, we recommend "
2029 "you not ship the XML or SGML source in the binary package(s).  If users want "
2030 "the source of the documentation, they should retrieve the source package."
2031 msgstr ""
2032
2033 #. type: Content of: <chapter><section><section><para>
2034 #: best-pkging-practices.dbk:1423
2035 msgid ""
2036 "Policy specifies that documentation should be shipped in HTML format.  We "
2037 "also recommend shipping documentation in PDF and plain text format if "
2038 "convenient and if output of reasonable quality is possible.  However, it is "
2039 "generally not appropriate to ship plain text versions of documentation whose "
2040 "source format is HTML."
2041 msgstr ""
2042
2043 #. type: Content of: <chapter><section><section><para>
2044 #: best-pkging-practices.dbk:1430
2045 msgid ""
2046 "Major shipped manuals should register themselves with <systemitem "
2047 "role=\"package\">doc-base</systemitem> on installation.  See the <systemitem "
2048 "role=\"package\">doc-base</systemitem> package documentation for more "
2049 "information."
2050 msgstr ""
2051
2052 #. type: Content of: <chapter><section><section><para>
2053 #: best-pkging-practices.dbk:1436
2054 msgid ""
2055 "Debian policy (section 12.1) directs that manual pages should accompany "
2056 "every program, utility, and function, and suggests them for other objects "
2057 "like configuration files. If the work you are packaging does not have such "
2058 "manual pages, consider writing them for inclusion in your package, and "
2059 "submitting them upstream."
2060 msgstr ""
2061
2062 #. type: Content of: <chapter><section><section><para>
2063 #: best-pkging-practices.dbk:1443
2064 msgid ""
2065 "The manpages do not need to be written directly in the troff format.  "
2066 "Popular source formats are Docbook, POD and reST, which can be converted "
2067 "using <command>xsltproc</command>, <command>pod2man</command> and "
2068 "<command>rst2man</command> respectively. To a lesser extent, the "
2069 "<command>help2man</command> program can also be used to write a stub."
2070 msgstr ""
2071
2072 #. type: Content of: <chapter><section><section><title>
2073 #: best-pkging-practices.dbk:1452
2074 msgid "Specific types of packages"
2075 msgstr ""
2076
2077 #. type: Content of: <chapter><section><section><para>
2078 #: best-pkging-practices.dbk:1454
2079 msgid ""
2080 "Several specific types of packages have special sub-policies and "
2081 "corresponding packaging rules and practices:"
2082 msgstr ""
2083
2084 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2085 #: best-pkging-practices.dbk:1460
2086 msgid ""
2087 "Perl related packages have a <ulink url=\"&url-perl-policy;\">Perl "
2088 "policy</ulink>, some examples of packages following that policy are "
2089 "<systemitem role=\"package\">libdbd-pg-perl</systemitem> (binary perl "
2090 "module) or <systemitem role=\"package\">libmldbm-perl</systemitem> (arch "
2091 "independent perl module)."
2092 msgstr ""
2093
2094 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2095 #: best-pkging-practices.dbk:1469
2096 msgid ""
2097 "Python related packages have their python policy; see &file-python-policy; "
2098 "in the <systemitem role=\"package\">python</systemitem> package."
2099 msgstr ""
2100
2101 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2102 #: best-pkging-practices.dbk:1476
2103 msgid ""
2104 "Emacs related packages have the <ulink url=\"&url-emacs-policy;\">emacs "
2105 "policy</ulink>."
2106 msgstr ""
2107
2108 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2109 #: best-pkging-practices.dbk:1483
2110 msgid ""
2111 "Java related packages have their <ulink url=\"&url-java-policy;\">java "
2112 "policy</ulink>."
2113 msgstr ""
2114
2115 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2116 #: best-pkging-practices.dbk:1490
2117 msgid ""
2118 "Ocaml related packages have their own policy, found in &file-ocaml-policy; "
2119 "from the <systemitem role=\"package\">ocaml</systemitem> package.  A good "
2120 "example is the <systemitem role=\"package\">camlzip</systemitem> source "
2121 "package."
2122 msgstr ""
2123
2124 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2125 #: best-pkging-practices.dbk:1498
2126 msgid ""
2127 "Packages providing XML or SGML DTDs should conform to the recommendations "
2128 "found in the <systemitem role=\"package\">sgml-base-doc</systemitem> "
2129 "package."
2130 msgstr ""
2131
2132 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2133 #: best-pkging-practices.dbk:1504
2134 msgid ""
2135 "Lisp packages should register themselves with <systemitem "
2136 "role=\"package\">common-lisp-controller</systemitem>, about which see "
2137 "&file-lisp-controller;."
2138 msgstr ""
2139
2140 #. type: Content of: <chapter><section><section><title>
2141 #: best-pkging-practices.dbk:1534
2142 msgid "Architecture-independent data"
2143 msgstr ""
2144
2145 #. type: Content of: <chapter><section><section><para>
2146 #: best-pkging-practices.dbk:1536
2147 msgid ""
2148 "It is not uncommon to have a large amount of architecture-independent data "
2149 "packaged with a program.  For example, audio files, a collection of icons, "
2150 "wallpaper patterns, or other graphic files.  If the size of this data is "
2151 "negligible compared to the size of the rest of the package, it's probably "
2152 "best to keep it all in a single package."
2153 msgstr ""
2154
2155 #. type: Content of: <chapter><section><section><para>
2156 #: best-pkging-practices.dbk:1543
2157 msgid ""
2158 "However, if the size of the data is considerable, consider splitting it out "
2159 "into a separate, architecture-independent package "
2160 "(<filename>_all.deb</filename>).  By doing this, you avoid needless "
2161 "duplication of the same data into eleven or more .debs, one per each "
2162 "architecture.  While this adds some extra overhead into the "
2163 "<filename>Packages</filename> files, it saves a lot of disk space on Debian "
2164 "mirrors.  Separating out architecture-independent data also reduces "
2165 "processing time of <command>lintian</command> (see <xref "
2166 "linkend=\"tools-lint\"/>) when run over the entire Debian archive."
2167 msgstr ""
2168
2169 #. type: Content of: <chapter><section><section><title>
2170 #: best-pkging-practices.dbk:1555
2171 msgid "Needing a certain locale during build"
2172 msgstr ""
2173
2174 #. type: Content of: <chapter><section><section><para>
2175 #: best-pkging-practices.dbk:1557
2176 msgid ""
2177 "If you need a certain locale during build, you can create a temporary file "
2178 "via this trick:"
2179 msgstr ""
2180
2181 #. type: Content of: <chapter><section><section><para>
2182 #: best-pkging-practices.dbk:1561
2183 msgid ""
2184 "If you set <varname>LOCPATH</varname> to the equivalent of "
2185 "<filename>/usr/lib/locale</filename>, and <varname>LC_ALL</varname> to the "
2186 "name of the locale you generate, you should get what you want without being "
2187 "root.  Something like this:"
2188 msgstr ""
2189
2190 #. type: Content of: <chapter><section><section><screen>
2191 #: best-pkging-practices.dbk:1566
2192 #, no-wrap
2193 msgid ""
2194 "LOCALE_PATH=debian/tmpdir/usr/lib/locale\n"
2195 "LOCALE_NAME=en_IN\n"
2196 "LOCALE_CHARSET=UTF-8\n"
2197 "\n"
2198 "mkdir -p $LOCALE_PATH\n"
2199 "localedef -i $LOCALE_NAME.$LOCALE_CHARSET -f $LOCALE_CHARSET "
2200 "$LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET\n"
2201 "\n"
2202 "# Using the locale\n"
2203 "LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date\n"
2204 msgstr ""
2205
2206 #. type: Content of: <chapter><section><section><title>
2207 #: best-pkging-practices.dbk:1579
2208 msgid "Make transition packages deborphan compliant"
2209 msgstr ""
2210
2211 #. type: Content of: <chapter><section><section><para>
2212 #: best-pkging-practices.dbk:1581
2213 msgid ""
2214 "Deborphan is a program for helping users to detect which packages can safely "
2215 "be removed from the system, i.e.  the ones that have no packages depending "
2216 "on them.  The default operation is to search only within the libs and "
2217 "oldlibs sections, to hunt down unused libraries.  But when passed the right "
2218 "argument, it tries to catch other useless packages."
2219 msgstr ""
2220
2221 #. type: Content of: <chapter><section><section><para>
2222 #: best-pkging-practices.dbk:1588
2223 msgid ""
2224 "For example, with <literal>--guess-dummy</literal>, "
2225 "<command>deborphan</command> tries to search all transitional packages which "
2226 "were needed for upgrade but which can now safely be removed.  For that, it "
2227 "looks for the string dummy or transitional in their short description."
2228 msgstr ""
2229
2230 #. type: Content of: <chapter><section><section><para>
2231 #: best-pkging-practices.dbk:1595
2232 msgid ""
2233 "So, when you are creating such a package, please make sure to add this text "
2234 "to your short description.  If you are looking for examples, just run: "
2235 "<command>apt-cache search .|grep dummy</command> or <command>apt-cache "
2236 "search .|grep transitional</command>."
2237 msgstr ""
2238
2239 #. type: Content of: <chapter><section><section><para>
2240 #: best-pkging-practices.dbk:1601
2241 msgid ""
2242 "Also, it is recommended to adjust its section to <literal>oldlibs</literal> "
2243 "and its priority to <literal>extra</literal> in order to ease "
2244 "<command>deborphan</command>'s job."
2245 msgstr ""
2246
2247 #. type: Content of: <chapter><section><section><title>
2248 #: best-pkging-practices.dbk:1610
2249 msgid "Best practices for <filename>.orig.tar.{gz,bz2,xz}</filename> files"
2250 msgstr ""
2251
2252 #. type: Content of: <chapter><section><section><para>
2253 #: best-pkging-practices.dbk:1612
2254 msgid ""
2255 "There are two kinds of original source tarballs: Pristine source and "
2256 "repackaged upstream source."
2257 msgstr ""
2258
2259 #. type: Content of: <chapter><section><section><section><title>
2260 #: best-pkging-practices.dbk:1616
2261 msgid "Pristine source"
2262 msgstr ""
2263
2264 #. type: Content of: <chapter><section><section><section><para><footnote><para>
2265 #: best-pkging-practices.dbk:1620
2266 msgid ""
2267 "We cannot prevent upstream authors from changing the tarball they distribute "
2268 "without also incrementing the version number, so there can be no guarantee "
2269 "that a pristine tarball is identical to what upstream "
2270 "<emphasis>currently</emphasis> distributing at any point in time.  All that "
2271 "can be expected is that it is identical to something that upstream once "
2272 "<emphasis>did</emphasis> distribute.  If a difference arises later (say, if "
2273 "upstream notice that they weren't using maximal compression in their "
2274 "original distribution and then re-<command>gzip</command> it), that's just "
2275 "too bad.  Since there is no good way to upload a new "
2276 "<filename>.orig.tar.{gz,bz2,xz}</filename> for the same version, there is "
2277 "not even any point in treating this situation as a bug."
2278 msgstr ""
2279
2280 #. type: Content of: <chapter><section><section><section><para>
2281 #: best-pkging-practices.dbk:1618
2282 msgid ""
2283 "The defining characteristic of a pristine source tarball is that the "
2284 "<filename>.orig.tar.{gz,bz2,xz}</filename> file is byte-for-byte identical "
2285 "to a tarball officially distributed by the upstream author.<placeholder "
2286 "type=\"footnote\" id=\"0\"/> This makes it possible to use checksums to "
2287 "easily verify that all changes between Debian's version and upstream's are "
2288 "contained in the Debian diff.  Also, if the original source is huge, "
2289 "upstream authors and others who already have the upstream tarball can save "
2290 "download time if they want to inspect your packaging in detail."
2291 msgstr ""
2292
2293 #. type: Content of: <chapter><section><section><section><para>
2294 #: best-pkging-practices.dbk:1638
2295 msgid ""
2296 "There is no universally accepted guidelines that upstream authors follow "
2297 "regarding to the directory structure inside their tarball, but "
2298 "<command>dpkg-source</command> is nevertheless able to deal with most "
2299 "upstream tarballs as pristine source.  Its strategy is equivalent to the "
2300 "following:"
2301 msgstr ""
2302
2303 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2304 #: best-pkging-practices.dbk:1646
2305 msgid "It unpacks the tarball in an empty temporary directory by doing"
2306 msgstr ""
2307
2308 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><screen>
2309 #: best-pkging-practices.dbk:1649
2310 #, no-wrap
2311 msgid ""
2312 "zcat "
2313 "path/to/<replaceable>packagename</replaceable>_<replaceable>upstream-version</replaceable>.orig.tar.gz "
2314 "| tar xf -\n"
2315 msgstr ""
2316
2317 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2318 #: best-pkging-practices.dbk:1654
2319 msgid ""
2320 "If, after this, the temporary directory contains nothing but one directory "
2321 "and no other files, <command>dpkg-source</command> renames that directory to "
2322 "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>(.orig)</filename>.  "
2323 "The name of the top-level directory in the tarball does not matter, and is "
2324 "forgotten."
2325 msgstr ""
2326
2327 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2328 #: best-pkging-practices.dbk:1663
2329 msgid ""
2330 "Otherwise, the upstream tarball must have been packaged without a common "
2331 "top-level directory (shame on the upstream author!).  In this case, "
2332 "<command>dpkg-source</command> renames the temporary directory "
2333 "<emphasis>itself</emphasis> to "
2334 "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>(.orig)</filename>."
2335 msgstr ""
2336
2337 #. type: Content of: <chapter><section><section><section><title>
2338 #: best-pkging-practices.dbk:1674
2339 msgid "Repackaged upstream source"
2340 msgstr ""
2341
2342 #. type: Content of: <chapter><section><section><section><para>
2343 #: best-pkging-practices.dbk:1676
2344 msgid ""
2345 "You <emphasis role=\"strong\">should</emphasis> upload packages with a "
2346 "pristine source tarball if possible, but there are various reasons why it "
2347 "might not be possible.  This is the case if upstream does not distribute the "
2348 "source as gzipped tar at all, or if upstream's tarball contains "
2349 "non-DFSG-free material that you must remove before uploading."
2350 msgstr ""
2351
2352 #. type: Content of: <chapter><section><section><section><para>
2353 #: best-pkging-practices.dbk:1683
2354 msgid ""
2355 "In these cases the developer must construct a suitable "
2356 "<filename>.orig.tar.{gz,bz2,xz}</filename> file themselves.  We refer to "
2357 "such a tarball as a repackaged upstream source.  Note that a repackaged "
2358 "upstream source is different from a Debian-native package.  A repackaged "
2359 "source still comes with Debian-specific changes in a separate "
2360 "<filename>.diff.gz</filename> or "
2361 "<filename>.debian.tar.{gz,bz2,xz}</filename> and still has a version number "
2362 "composed of <replaceable>upstream-version</replaceable> and "
2363 "<replaceable>debian-version</replaceable>."
2364 msgstr ""
2365
2366 #. type: Content of: <chapter><section><section><section><para>
2367 #: best-pkging-practices.dbk:1692
2368 msgid ""
2369 "There may be cases where it is desirable to repackage the source even though "
2370 "upstream distributes a <filename>.tar.{gz,bz2,xz}</filename> that could in "
2371 "principle be used in its pristine form.  The most obvious is if "
2372 "<emphasis>significant</emphasis> space savings can be achieved by "
2373 "recompressing the tar archive or by removing genuinely useless cruft from "
2374 "the upstream archive.  Use your own discretion here, but be prepared to "
2375 "defend your decision if you repackage source that could have been pristine."
2376 msgstr ""
2377
2378 #. type: Content of: <chapter><section><section><section><para>
2379 #: best-pkging-practices.dbk:1701
2380 msgid "A repackaged <filename>.orig.tar.{gz,bz2,xz}</filename>"
2381 msgstr ""
2382
2383 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2384 #: best-pkging-practices.dbk:1706
2385 msgid ""
2386 "<emphasis role=\"strong\">should</emphasis> be documented in the resulting "
2387 "source package.  Detailed information on how the repackaged source was "
2388 "obtained, and on how this can be reproduced should be provided in "
2389 "<filename>debian/copyright</filename>.  It is also a good idea to provide a "
2390 "<literal>get-orig-source</literal> target in your "
2391 "<filename>debian/rules</filename> file that repeats the process, as "
2392 "described in the Policy Manual, <ulink "
2393 "url=\"&url-debian-policy;ch-source.html#s-debianrules\">Main building "
2394 "script: <filename>debian/rules</filename></ulink>."
2395 msgstr ""
2396
2397 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para><footnote><para>
2398 #: best-pkging-practices.dbk:1721
2399 msgid ""
2400 "As a special exception, if the omission of non-free files would lead to the "
2401 "source failing to build without assistance from the Debian diff, it might be "
2402 "appropriate to instead edit the files, omitting only the non-free parts of "
2403 "them, and/or explain the situation in a <filename>README.source</filename> "
2404 "file in the root of the source tree.  But in that case please also urge the "
2405 "upstream author to make the non-free components easier separable from the "
2406 "rest of the source."
2407 msgstr ""
2408
2409 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2410 #: best-pkging-practices.dbk:1719
2411 msgid ""
2412 "<emphasis role=\"strong\">should not</emphasis> contain any file that does "
2413 "not come from the upstream author(s), or whose contents has been changed by "
2414 "you.<placeholder type=\"footnote\" id=\"0\"/>"
2415 msgstr ""
2416
2417 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2418 #: best-pkging-practices.dbk:1732
2419 msgid ""
2420 "<emphasis role=\"strong\">should</emphasis>, except where impossible for "
2421 "legal reasons, preserve the entire building and portablility infrastructure "
2422 "provided by the upstream author.  For example, it is not a sufficient reason "
2423 "for omitting a file that it is used only when building on MS-DOS.  "
2424 "Similarly, a <filename>Makefile</filename> provided by upstream should not "
2425 "be omitted even if the first thing your <filename>debian/rules</filename> "
2426 "does is to overwrite it by running a configure script."
2427 msgstr ""
2428
2429 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2430 #: best-pkging-practices.dbk:1741
2431 msgid ""
2432 "(<emphasis>Rationale:</emphasis> It is common for Debian users who need to "
2433 "build software for non-Debian platforms to fetch the source from a Debian "
2434 "mirror rather than trying to locate a canonical upstream distribution "
2435 "point)."
2436 msgstr ""
2437
2438 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2439 #: best-pkging-practices.dbk:1748
2440 msgid ""
2441 "<emphasis role=\"strong\">should</emphasis> use "
2442 "<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>.orig</filename> "
2443 "as the name of the top-level directory in its tarball.  This makes it "
2444 "possible to distinguish pristine tarballs from repackaged ones."
2445 msgstr ""
2446
2447 #. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2448 #: best-pkging-practices.dbk:1756
2449 msgid ""
2450 "<emphasis role=\"strong\">should</emphasis> be gzipped or bzipped with "
2451 "maximal compression."
2452 msgstr ""
2453
2454 #. type: Content of: <chapter><section><section><section><title>
2455 #: best-pkging-practices.dbk:1763
2456 msgid "Changing binary files"
2457 msgstr ""
2458
2459 #. type: Content of: <chapter><section><section><section><para>
2460 #: best-pkging-practices.dbk:1765
2461 msgid ""
2462 "Sometimes it is necessary to change binary files contained in the original "
2463 "tarball, or to add binary files that are not in it. This is fully supported "
2464 "when using source packages in “3.0 (quilt)” format, see the "
2465 "<citerefentry><refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum></citerefentry> "
2466 "manual page for details. When using the older format “1.0”, binary files "
2467 "can't be stored in the <filename>.diff.gz</filename> so you must store an "
2468 "<command>uuencode</command>d (or similar) version of the file(s)  and decode "
2469 "it at build time in <filename>debian/rules</filename> (and move it in its "
2470 "official location)."
2471 msgstr ""
2472
2473 #. type: Content of: <chapter><section><section><title>
2474 #: best-pkging-practices.dbk:1780
2475 msgid "Best practices for debug packages"
2476 msgstr ""
2477
2478 #. type: Content of: <chapter><section><section><para>
2479 #: best-pkging-practices.dbk:1782
2480 msgid ""
2481 "A debug package is a package with a name ending in -dbg, that contains "
2482 "additional information that <command>gdb</command> can use.  Since Debian "
2483 "binaries are stripped by default, debugging information, including function "
2484 "names and line numbers, is otherwise not available when running "
2485 "<command>gdb</command> on Debian binaries.  Debug packages allow users who "
2486 "need this additional debugging information to install it, without bloating a "
2487 "regular system with the information."
2488 msgstr ""
2489
2490 #. type: Content of: <chapter><section><section><para>
2491 #: best-pkging-practices.dbk:1790
2492 msgid ""
2493 "It is up to a package's maintainer whether to create a debug package or "
2494 "not.  Maintainers are encouraged to create debug packages for library "
2495 "packages, since this can aid in debugging many programs linked to a "
2496 "library.  In general, debug packages do not need to be added for all "
2497 "programs; doing so would bloat the archive.  But if a maintainer finds that "
2498 "users often need a debugging version of a program, it can be worthwhile to "
2499 "make a debug package for it.  Programs that are core infrastructure, such as "
2500 "apache and the X server are also good candidates for debug packages."
2501 msgstr ""
2502
2503 #. type: Content of: <chapter><section><section><para>
2504 #: best-pkging-practices.dbk:1800
2505 msgid ""
2506 "Some debug packages may contain an entire special debugging build of a "
2507 "library or other binary, but most of them can save space and build time by "
2508 "instead containing separated debugging symbols that <command>gdb</command> "
2509 "can find and load on the fly when debugging a program or library.  The "
2510 "convention in Debian is to keep these symbols in "
2511 "<filename>/usr/lib/debug/<replaceable>path</replaceable></filename>, where "
2512 "<replaceable>path</replaceable> is the path to the executable or library.  "
2513 "For example, debugging symbols for <filename>/usr/bin/foo</filename> go in "
2514 "<filename>/usr/lib/debug/usr/bin/foo</filename>, and debugging symbols for "
2515 "<filename>/usr/lib/libfoo.so.1</filename> go in "
2516 "<filename>/usr/lib/debug/usr/lib/libfoo.so.1</filename>."
2517 msgstr ""
2518
2519 #. type: Content of: <chapter><section><section><para>
2520 #: best-pkging-practices.dbk:1812
2521 msgid ""
2522 "The debugging symbols can be extracted from an object file using "
2523 "<command>objcopy --only-keep-debug</command>.  Then the object file can be "
2524 "stripped, and <command>objcopy --add-gnu-debuglink</command> used to specify "
2525 "the path to the debugging symbol file.  <citerefentry> "
2526 "<refentrytitle>objcopy</refentrytitle> <manvolnum>1</manvolnum> "
2527 "</citerefentry> explains in detail how this works."
2528 msgstr ""
2529
2530 #. type: Content of: <chapter><section><section><para>
2531 #: best-pkging-practices.dbk:1820
2532 msgid ""
2533 "The <command>dh_strip</command> command in <systemitem "
2534 "role=\"package\">debhelper</systemitem> supports creating debug packages, "
2535 "and can take care of using <command>objcopy</command> to separate out the "
2536 "debugging symbols for you.  If your package uses <systemitem "
2537 "role=\"package\">debhelper</systemitem>, all you need to do is call "
2538 "<command>dh_strip --dbg-package=libfoo-dbg</command>, and add an entry to "
2539 "<filename>debian/control</filename> for the debug package."
2540 msgstr ""
2541
2542 #. type: Content of: <chapter><section><section><para>
2543 #: best-pkging-practices.dbk:1827
2544 msgid ""
2545 "Note that the debug package should depend on the package that it provides "
2546 "debugging symbols for, and this dependency should be versioned.  For "
2547 "example:"
2548 msgstr ""
2549
2550 #. type: Content of: <chapter><section><section><screen>
2551 #: best-pkging-practices.dbk:1831
2552 #, no-wrap
2553 msgid "Depends: libfoo (= ${binary:Version})\n"
2554 msgstr ""
2555
2556 #. type: Content of: <chapter><section><section><title>
2557 #: best-pkging-practices.dbk:1835
2558 msgid "Best practices for meta-packages"
2559 msgstr ""
2560
2561 #. type: Content of: <chapter><section><section><para>
2562 #: best-pkging-practices.dbk:1837
2563 msgid ""
2564 "A meta-package is a mostly empty package that makes it easy to install a "
2565 "coherent set of packages that can evolve over time. It achieves this by "
2566 "depending on all the packages of the set. Thanks to the power of APT, the "
2567 "meta-package maintainer can adjust the dependencies and the user's system "
2568 "will automatically get the supplementary packages. The dropped packages that "
2569 "were automatically installed will be also be marked as removal candidates "
2570 "(and are even automatically removed by <command>aptitude</command>).  "
2571 "<systemitem role=\"package\">gnome</systemitem> and <systemitem "
2572 "role=\"package\">linux-image-amd64</systemitem> are two examples of "
2573 "meta-packages (built by the source packages <systemitem "
2574 "role=\"package\">meta-gnome2</systemitem> and <systemitem "
2575 "role=\"package\">linux-latest</systemitem>)."
2576 msgstr ""
2577
2578 #. type: Content of: <chapter><section><section><para>
2579 #: best-pkging-practices.dbk:1851
2580 msgid ""
2581 "The long description of the meta-package must clearly document its purpose "
2582 "so that the user knows what they will lose if they remove the package. Being "
2583 "explicit about the consequences is recommended. This is particularly "
2584 "important for meta-packages which are installed during initial installation "
2585 "and that have not been explicitly installed by the user.  Those tend to be "
2586 "important to ensure smooth system upgrades and the user should be "
2587 "discouraged from uninstalling them to avoid potential breakages."
2588 msgstr ""
2589
2590 #. type: Content of: <chapter><title>
2591 #: beyond-pkging.dbk:7
2592 msgid "Beyond Packaging"
2593 msgstr ""
2594
2595 #. type: Content of: <chapter><para>
2596 #: beyond-pkging.dbk:9
2597 msgid ""
2598 "Debian is about a lot more than just packaging software and maintaining "
2599 "those packages.  This chapter contains information about ways, often really "
2600 "critical ways, to contribute to Debian beyond simply creating and "
2601 "maintaining packages."
2602 msgstr ""
2603
2604 #. type: Content of: <chapter><para>
2605 #: beyond-pkging.dbk:14
2606 msgid ""
2607 "As a volunteer organization, Debian relies on the discretion of its members "
2608 "in choosing what they want to work on and in choosing the most critical "
2609 "thing to spend their time on."
2610 msgstr ""
2611
2612 #. type: Content of: <chapter><section><title>
2613 #: beyond-pkging.dbk:19
2614 msgid "Bug reporting"
2615 msgstr ""
2616
2617 #. type: Content of: <chapter><section><para>
2618 #: beyond-pkging.dbk:21
2619 msgid ""
2620 "We encourage you to file bugs as you find them in Debian packages.  In fact, "
2621 "Debian developers are often the first line testers.  Finding and reporting "
2622 "bugs in other developers' packages improves the quality of Debian."
2623 msgstr ""
2624
2625 #. type: Content of: <chapter><section><para>
2626 #: beyond-pkging.dbk:26
2627 msgid ""
2628 "Read the <ulink url=\"&url-bts-report;\">instructions for reporting "
2629 "bugs</ulink> in the Debian <ulink url=\"&url-bts;\">bug tracking "
2630 "system</ulink>."
2631 msgstr ""
2632
2633 #. type: Content of: <chapter><section><para>
2634 #: beyond-pkging.dbk:31
2635 msgid ""
2636 "Try to submit the bug from a normal user account at which you are likely to "
2637 "receive mail, so that people can reach you if they need further information "
2638 "about the bug.  Do not submit bugs as root."
2639 msgstr ""
2640
2641 #. type: Content of: <chapter><section><para>
2642 #: beyond-pkging.dbk:36
2643 msgid ""
2644 "You can use a tool like <citerefentry> "
2645 "<refentrytitle>reportbug</refentrytitle> <manvolnum>1</manvolnum> "
2646 "</citerefentry> to submit bugs.  It can automate and generally ease the "
2647 "process."
2648 msgstr ""
2649
2650 #. type: Content of: <chapter><section><para>
2651 #: beyond-pkging.dbk:41
2652 msgid ""
2653 "Make sure the bug is not already filed against a package.  Each package has "
2654 "a bug list easily reachable at "
2655 "<literal>http://&bugs-host;/<replaceable>packagename</replaceable></literal>.  "
2656 "Utilities like <citerefentry> <refentrytitle>querybts</refentrytitle> "
2657 "<manvolnum>1</manvolnum> </citerefentry> can also provide you with this "
2658 "information (and <command>reportbug</command> will usually invoke "
2659 "<command>querybts</command> before sending, too)."
2660 msgstr ""
2661
2662 #. type: Content of: <chapter><section><para>
2663 #: beyond-pkging.dbk:50
2664 msgid ""
2665 "Try to direct your bugs to the proper location.  When for example your bug "
2666 "is about a package which overwrites files from another package, check the "
2667 "bug lists for <emphasis>both</emphasis> of those packages in order to avoid "
2668 "filing duplicate bug reports."
2669 msgstr ""
2670
2671 #. type: Content of: <chapter><section><para>
2672 #: beyond-pkging.dbk:56
2673 msgid ""
2674 "For extra credit, you can go through other packages, merging bugs which are "
2675 "reported more than once, or tagging bugs `fixed' when they have already been "
2676 "fixed.  Note that when you are neither the bug submitter nor the package "
2677 "maintainer, you should not actually close the bug (unless you secure "
2678 "permission from the maintainer)."
2679 msgstr ""
2680
2681 #. type: Content of: <chapter><section><para>
2682 #: beyond-pkging.dbk:63
2683 msgid ""
2684 "From time to time you may want to check what has been going on with the bug "
2685 "reports that you submitted.  Take this opportunity to close those that you "
2686 "can't reproduce anymore.  To find out all the bugs you submitted, you just "
2687 "have to visit "
2688 "<literal>http://&bugs-host;/from:<replaceable>your-email-addr</replaceable></literal>."
2689 msgstr ""
2690
2691 #. type: Content of: <chapter><section><section><title>
2692 #: beyond-pkging.dbk:70
2693 msgid "Reporting lots of bugs at once (mass bug filing)"
2694 msgstr ""
2695
2696 #. type: Content of: <chapter><section><section><para>
2697 #: beyond-pkging.dbk:72
2698 msgid ""
2699 "Reporting a great number of bugs for the same problem on a great number of "
2700 "different packages — i.e., more than 10 — is a deprecated practice.  Take "
2701 "all possible steps to avoid submitting bulk bugs at all.  For instance, if "
2702 "checking for the problem can be automated, add a new check to <systemitem "
2703 "role=\"package\">lintian</systemitem> so that an error or warning is "
2704 "emitted."
2705 msgstr ""
2706
2707 #. type: Content of: <chapter><section><section><para>
2708 #: beyond-pkging.dbk:79
2709 msgid ""
2710 "If you report more than 10 bugs on the same topic at once, it is recommended "
2711 "that you send a message to &email-debian-devel; describing your intention "
2712 "before submitting the report, and mentioning the fact in the subject of your "
2713 "mail.  This will allow other developers to verify that the bug is a real "
2714 "problem.  In addition, it will help prevent a situation in which several "
2715 "maintainers start filing the same bug report simultaneously."
2716 msgstr ""
2717
2718 #. type: Content of: <chapter><section><section><para>
2719 #: beyond-pkging.dbk:87
2720 msgid ""
2721 "Please use the programs <command>dd-list</command> and if appropriate "
2722 "<command>whodepends</command> (from the package <systemitem "
2723 "role=\"package\">devscripts</systemitem>) to generate a list of all affected "
2724 "packages, and include the output in your mail to &email-debian-devel;."
2725 msgstr ""
2726
2727 #. type: Content of: <chapter><section><section><para>
2728 #: beyond-pkging.dbk:93
2729 msgid ""
2730 "Note that when sending lots of bugs on the same subject, you should send the "
2731 "bug report to <email>maintonly@&bugs-host;</email> so that the bug report is "
2732 "not forwarded to the bug distribution mailing list."
2733 msgstr ""
2734
2735 #. type: Content of: <chapter><section><section><section><title>
2736 #: beyond-pkging.dbk:98
2737 msgid "Usertags"
2738 msgstr ""
2739
2740 #. type: Content of: <chapter><section><section><section><para>
2741 #: beyond-pkging.dbk:100
2742 msgid ""
2743 "You may wish to use BTS usertags when submitting bugs across a number of "
2744 "packages. Usertags are similar to normal tags such as 'patch' and 'wishlist' "
2745 "but differ in that they are user-defined and occupy a namespace that is "
2746 "unique to a particular user. This allows multiple sets of developers to "
2747 "'usertag' the same bug in different ways without conflicting."
2748 msgstr ""
2749
2750 #. type: Content of: <chapter><section><section><section><para>
2751 #: beyond-pkging.dbk:107
2752 msgid ""
2753 "To add usertags when filing bugs, specify the <literal>User</literal> and "
2754 "<literal>Usertags</literal> pseudo-headers:"
2755 msgstr ""
2756
2757 #. type: Content of: <chapter><section><section><section><screen>
2758 #: beyond-pkging.dbk:111
2759 #, no-wrap
2760 msgid ""
2761 "To: submit@bugs.debian.org\n"
2762 "Subject: <replaceable>title-of-bug</replaceable>\n"
2763 "\n"
2764 "Package: <replaceable>pkgname</replaceable>\n"
2765 "<replaceable>[ ... ]</replaceable>\n"
2766 "User: <replaceable>email-addr</replaceable>\n"
2767 "Usertags: <replaceable>tag-name [ tag-name ... ]</replaceable>\n"
2768 "\n"
2769 "<replaceable>description-of-bug ...</replaceable>\n"
2770 msgstr ""
2771
2772 #. type: Content of: <chapter><section><section><section><para>
2773 #: beyond-pkging.dbk:122
2774 msgid ""
2775 "Note that tags are seperated by spaces and cannot contain underscores. If "
2776 "you are filing bugs for a particular group or team it is recommended that "
2777 "you set the <literal>User</literal> to an appropriate mailing list after "
2778 "describing your intention there."
2779 msgstr ""
2780
2781 #. type: Content of: <chapter><section><section><section><para>
2782 #: beyond-pkging.dbk:128
2783 msgid ""
2784 "To view bugs tagged with a specific usertag, visit "
2785 "<literal>http://&bugs-host;/cgi-bin/pkgreport.cgi?users=<replaceable>email-addr</replaceable>&amp;tag=<replaceable>tag-name</replaceable></literal>."
2786 msgstr ""
2787
2788 #. type: Content of: <chapter><section><title>
2789 #: beyond-pkging.dbk:137
2790 msgid "Quality Assurance effort"
2791 msgstr ""
2792
2793 #. type: Content of: <chapter><section><section><title>
2794 #: beyond-pkging.dbk:139
2795 msgid "Daily work"
2796 msgstr ""
2797
2798 #. type: Content of: <chapter><section><section><para>
2799 #: beyond-pkging.dbk:141
2800 msgid ""
2801 "Even though there is a dedicated group of people for Quality Assurance, QA "
2802 "duties are not reserved solely for them.  You can participate in this effort "
2803 "by keeping your packages as bug-free as possible, and as lintian-clean (see "
2804 "<xref linkend=\"lintian\"/>) as possible.  If you do not find that possible, "
2805 "then you should consider orphaning some of your packages (see <xref "
2806 "linkend=\"orphaning\"/>).  Alternatively, you may ask the help of other "
2807 "people in order to catch up with the backlog of bugs that you have (you can "
2808 "ask for help on &email-debian-qa; or &email-debian-devel;).  At the same "
2809 "time, you can look for co-maintainers (see <xref "
2810 "linkend=\"collaborative-maint\"/>)."
2811 msgstr ""
2812
2813 #. type: Content of: <chapter><section><section><title>
2814 #: beyond-pkging.dbk:155
2815 msgid "Bug squashing parties"
2816 msgstr ""
2817
2818 #. type: Content of: <chapter><section><section><para>
2819 #: beyond-pkging.dbk:157
2820 msgid ""
2821 "From time to time the QA group organizes bug squashing parties to get rid of "
2822 "as many problems as possible.  They are announced on "
2823 "&email-debian-devel-announce; and the announcement explains which area will "
2824 "be the focus of the party: usually they focus on release critical bugs but "
2825 "it may happen that they decide to help finish a major upgrade (like a new "
2826 "<command>perl</command> version which requires recompilation of all the "
2827 "binary modules)."
2828 msgstr ""
2829
2830 #. type: Content of: <chapter><section><section><para>
2831 #: beyond-pkging.dbk:166
2832 msgid ""
2833 "The rules for non-maintainer uploads differ during the parties because the "
2834 "announcement of the party is considered prior notice for NMU.  If you have "
2835 "packages that may be affected by the party (because they have release "
2836 "critical bugs for example), you should send an update to each of the "
2837 "corresponding bug to explain their current status and what you expect from "
2838 "the party.  If you don't want an NMU, or if you're only interested in a "
2839 "patch, or if you will deal yourself with the bug, please explain that in the "
2840 "BTS."
2841 msgstr ""
2842
2843 #. type: Content of: <chapter><section><section><para>
2844 #: beyond-pkging.dbk:175
2845 msgid ""
2846 "People participating in the party have special rules for NMU, they can NMU "
2847 "without prior notice if they upload their NMU to DELAYED/3-day at least.  "
2848 "All other NMU rules apply as usually; they should send the patch of the NMU "
2849 "to the BTS (to one of the open bugs fixed by the NMU, or to a new bug, "
2850 "tagged fixed).  They should also respect any particular wishes of the "
2851 "maintainer."
2852 msgstr ""
2853
2854 #. type: Content of: <chapter><section><section><para>
2855 #: beyond-pkging.dbk:182
2856 msgid ""
2857 "If you don't feel confident about doing an NMU, just send a patch to the "
2858 "BTS.  It's far better than a broken NMU."
2859 msgstr ""
2860
2861 #. type: Content of: <chapter><section><title>
2862 #: beyond-pkging.dbk:190
2863 msgid "Contacting other maintainers"
2864 msgstr ""
2865
2866 #. type: Content of: <chapter><section><para>
2867 #: beyond-pkging.dbk:192
2868 msgid ""
2869 "During your lifetime within Debian, you will have to contact other "
2870 "maintainers for various reasons.  You may want to discuss a new way of "
2871 "cooperating between a set of related packages, or you may simply remind "
2872 "someone that a new upstream version is available and that you need it."
2873 msgstr ""
2874
2875 #. type: Content of: <chapter><section><para>
2876 #: beyond-pkging.dbk:198
2877 msgid ""
2878 "Looking up the email address of the maintainer for the package can be "
2879 "distracting.  Fortunately, there is a simple email alias, "
2880 "<literal><replaceable>package</replaceable>@&packages-host;</literal>, which "
2881 "provides a way to email the maintainer, whatever their individual email "
2882 "address (or addresses)  may be.  Replace <replaceable>package</replaceable> "
2883 "with the name of a source or a binary package."
2884 msgstr ""
2885
2886 #. type: Content of: <chapter><section><para>
2887 #: beyond-pkging.dbk:206
2888 msgid ""
2889 "You may also be interested in contacting the persons who are subscribed to a "
2890 "given source package via <xref linkend=\"pkg-tracking-system\"/>.  You can "
2891 "do so by using the "
2892 "<literal><replaceable>package</replaceable>@&pts-host;</literal> email "
2893 "address."
2894 msgstr ""
2895
2896 #. type: Content of: <chapter><section><title>
2897 #: beyond-pkging.dbk:215
2898 msgid "Dealing with inactive and/or unreachable maintainers"
2899 msgstr ""
2900
2901 #. type: Content of: <chapter><section><para>
2902 #: beyond-pkging.dbk:217
2903 msgid ""
2904 "If you notice that a package is lacking maintenance, you should make sure "
2905 "that the maintainer is active and will continue to work on their packages.  "
2906 "It is possible that they are not active any more, but haven't registered out "
2907 "of the system, so to speak.  On the other hand, it is also possible that "
2908 "they just need a reminder."
2909 msgstr ""
2910
2911 #. type: Content of: <chapter><section><para>
2912 #: beyond-pkging.dbk:224
2913 msgid ""
2914 "There is a simple system (the MIA database) in which information about "
2915 "maintainers who are deemed Missing In Action is recorded.  When a member of "
2916 "the QA group contacts an inactive maintainer or finds more information about "
2917 "one, this is recorded in the MIA database.  This system is available in "
2918 "<filename>/org/qa.debian.org/mia</filename> on the host "
2919 "<literal>qa.debian.org</literal>, and can be queried with the "
2920 "<command>mia-query</command> tool.  Use <command>mia-query --help</command> "
2921 "to see how to query the database.  If you find that no information has been "
2922 "recorded about an inactive maintainer yet, or that you can add more "
2923 "information, you should generally proceed as follows."
2924 msgstr ""
2925
2926 #. type: Content of: <chapter><section><para>
2927 #: beyond-pkging.dbk:235
2928 msgid ""
2929 "The first step is to politely contact the maintainer, and wait a reasonable "
2930 "time for a response.  It is quite hard to define reasonable time, but it is "
2931 "important to take into account that real life is sometimes very hectic.  One "
2932 "way to handle this would be to send a reminder after two weeks."
2933 msgstr ""
2934
2935 #. type: Content of: <chapter><section><para>
2936 #: beyond-pkging.dbk:241
2937 msgid ""
2938 "If the maintainer doesn't reply within four weeks (a month), one can assume "
2939 "that a response will probably not happen.  If that happens, you should "
2940 "investigate further, and try to gather as much useful information about the "
2941 "maintainer in question as possible.  This includes:"
2942 msgstr ""
2943
2944 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
2945 #: beyond-pkging.dbk:249
2946 msgid ""
2947 "The <literal>echelon</literal> information available through the <ulink "
2948 "url=\"&url-debian-db;\">developers' LDAP database</ulink>, which indicates "
2949 "when the developer last posted to a Debian mailing list.  (This includes "
2950 "mails about uploads distributed via the &email-debian-devel-changes; list.)  "
2951 "Also, remember to check whether the maintainer is marked as on vacation in "
2952 "the database."
2953 msgstr ""
2954
2955 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
2956 #: beyond-pkging.dbk:259
2957 msgid ""
2958 "The number of packages this maintainer is responsible for, and the condition "
2959 "of those packages.  In particular, are there any RC bugs that have been open "
2960 "for ages? Furthermore, how many bugs are there in general? Another important "
2961 "piece of information is whether the packages have been NMUed, and if so, by "
2962 "whom."
2963 msgstr ""
2964
2965 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
2966 #: beyond-pkging.dbk:268
2967 msgid ""
2968 "Is there any activity of the maintainer outside of Debian? For example, they "
2969 "might have posted something recently to non-Debian mailing lists or news "
2970 "groups."
2971 msgstr ""
2972
2973 #. type: Content of: <chapter><section><para>
2974 #: beyond-pkging.dbk:275
2975 msgid ""
2976 "A bit of a problem are packages which were sponsored — the maintainer is not "
2977 "an official Debian developer.  The <literal>echelon</literal> information is "
2978 "not available for sponsored people, for example, so you need to find and "
2979 "contact the Debian developer who has actually uploaded the package.  Given "
2980 "that they signed the package, they're responsible for the upload anyhow, and "
2981 "are likely to know what happened to the person they sponsored."
2982 msgstr ""
2983
2984 #. type: Content of: <chapter><section><para>
2985 #: beyond-pkging.dbk:283
2986 msgid ""
2987 "It is also allowed to post a query to &email-debian-devel;, asking if anyone "
2988 "is aware of the whereabouts of the missing maintainer.  Please Cc: the "
2989 "person in question."
2990 msgstr ""
2991
2992 #. type: Content of: <chapter><section><para>
2993 #: beyond-pkging.dbk:288
2994 msgid ""
2995 "Once you have gathered all of this, you can contact &email-mia;.  People on "
2996 "this alias will use the information you provide in order to decide how to "
2997 "proceed.  For example, they might orphan one or all of the packages of the "
2998 "maintainer.  If a package has been NMUed, they might prefer to contact the "
2999 "NMUer before orphaning the package — perhaps the person who has done the NMU "
3000 "is interested in the package."
3001 msgstr ""
3002
3003 #. type: Content of: <chapter><section><para>
3004 #: beyond-pkging.dbk:296
3005 msgid ""
3006 "One last word: please remember to be polite.  We are all volunteers and "
3007 "cannot dedicate all of our time to Debian.  Also, you are not aware of the "
3008 "circumstances of the person who is involved.  Perhaps they might be "
3009 "seriously ill or might even have died — you do not know who may be on the "
3010 "receiving side.  Imagine how a relative will feel if they read the e-mail of "
3011 "the deceased and find a very impolite, angry and accusing message!"
3012 msgstr ""
3013
3014 #. type: Content of: <chapter><section><para>
3015 #: beyond-pkging.dbk:304
3016 msgid ""
3017 "On the other hand, although we are volunteers, we do have a responsibility.  "
3018 "So you can stress the importance of the greater good — if a maintainer does "
3019 "not have the time or interest anymore, they should let go and give the "
3020 "package to someone with more time."
3021 msgstr ""
3022
3023 #. type: Content of: <chapter><section><para>
3024 #: beyond-pkging.dbk:310
3025 msgid ""
3026 "If you are interested in working in the MIA team, please have a look at the "
3027 "<filename>README</filename> file in "
3028 "<filename>/org/qa.debian.org/mia</filename> on "
3029 "<literal>qa.debian.org</literal> where the technical details and the MIA "
3030 "procedures are documented and contact &email-mia;."
3031 msgstr ""
3032
3033 #. type: Content of: <chapter><section><title>
3034 #: beyond-pkging.dbk:318
3035 msgid "Interacting with prospective Debian developers"
3036 msgstr ""
3037
3038 #. type: Content of: <chapter><section><para>
3039 #: beyond-pkging.dbk:320
3040 msgid ""
3041 "Debian's success depends on its ability to attract and retain new and "
3042 "talented volunteers.  If you are an experienced developer, we recommend that "
3043 "you get involved with the process of bringing in new developers.  This "
3044 "section describes how to help new prospective developers."
3045 msgstr ""
3046
3047 #. type: Content of: <chapter><section><section><title>
3048 #: beyond-pkging.dbk:326
3049 msgid "Sponsoring packages"
3050 msgstr ""
3051
3052 #. type: Content of: <chapter><section><section><para>
3053 #: beyond-pkging.dbk:328
3054 msgid ""
3055 "Sponsoring a package means uploading a package for a maintainer who is not "
3056 "able to do it on their own. It's not a trivial matter, the sponsor must "
3057 "verify the packaging and ensure that it is of the high level of quality that "
3058 "Debian strives to have."
3059 msgstr ""
3060
3061 #. type: Content of: <chapter><section><section><para>
3062 #: beyond-pkging.dbk:334
3063 msgid "Debian Developers can sponsor packages. Debian Maintainers can't."
3064 msgstr ""
3065
3066 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
3067 #: beyond-pkging.dbk:340
3068 msgid ""
3069 "The maintainer prepares a source package (<filename>.dsc</filename>) and "
3070 "puts it online somewhere (like on <ulink "
3071 "url=\"http://mentors.debian.net/cgi-bin/welcome\">mentors.debian.net</ulink>) "
3072 "or even better, provides a link to a public VCS repository (see <xref "
3073 "linkend=\"servers-vcs\"/>) where the package is maintained."
3074 msgstr ""
3075
3076 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
3077 #: beyond-pkging.dbk:346
3078 msgid "The sponsor downloads (or checkouts) the source package."
3079 msgstr ""
3080
3081 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
3082 #: beyond-pkging.dbk:349
3083 msgid ""
3084 "The sponsor reviews the source package. If they find issues, they inform the "
3085 "maintainer and ask them to provide a fixed version (the process starts over "
3086 "at step 1)."
3087 msgstr ""
3088
3089 #. type: Content of: <chapter><section><section><para><orderedlist><listitem><para>
3090 #: beyond-pkging.dbk:354
3091 msgid ""
3092 "The sponsor could not find any remaining problem. They build the package, "
3093 "sign it, and upload it to Debian."
3094 msgstr ""
3095
3096 #. type: Content of: <chapter><section><section><para>
3097 #: beyond-pkging.dbk:337
3098 msgid ""
3099 "The process of sponsoring a package is: <placeholder type=\"orderedlist\" "
3100 "id=\"0\"/>"
3101 msgstr ""
3102
3103 #. type: Content of: <chapter><section><section><para>
3104 #: beyond-pkging.dbk:360
3105 msgid ""
3106 "Before delving in the details of how to sponsor a package, you should ask "
3107 "yourself whether adding the proposed package is beneficial to Debian."
3108 msgstr ""
3109
3110 #. type: Content of: <chapter><section><section><para>
3111 #: beyond-pkging.dbk:364
3112 msgid ""
3113 "There's no simple rule to answer this question, it can depend on many "
3114 "factors: is the upstream codebase mature and not full of security holes? Are "
3115 "there pre-existing packages that can do the same task and how do they "
3116 "compare to this new package? Has the new package been requested by users and "
3117 "how large is the user base? How active are the upstream developers?"
3118 msgstr ""
3119
3120 #. type: Content of: <chapter><section><section><para>
3121 #: beyond-pkging.dbk:371
3122 msgid ""
3123 "You should also ensure that the prospective maintainer is going to be a good "
3124 "maintainer. Do they already have some experience with other packages? If "
3125 "yes, are they doing a good job with them (check out some bugs)? Are they "
3126 "familiar with the package and its programming language? Do they have the "
3127 "skills needed for this package? If not, are they able to learn them?"
3128 msgstr ""
3129
3130 #. type: Content of: <chapter><section><section><para>
3131 #: beyond-pkging.dbk:379
3132 msgid ""
3133 "It's also a good idea to know where they stand with respect to Debian: do "
3134 "they agree with Debian's philosophy and do they intend to join Debian? Given "
3135 "how easy it is to become a Debian Maintainer, you might want to only sponsor "
3136 "people who plan to join. That way you know from the start that you won't "
3137 "have to act as a sponsor indefinitely."
3138 msgstr ""
3139
3140 #. type: Content of: <chapter><section><section><section><title>
3141 #: beyond-pkging.dbk:386
3142 msgid "Sponsoring a new package"
3143 msgstr ""
3144
3145 #. type: Content of: <chapter><section><section><section><para>
3146 #: beyond-pkging.dbk:388
3147 msgid ""
3148 "New maintainers usually have certain difficulties creating Debian packages — "
3149 "this is quite understandable. They will do mistakes. That's why sponsoring a "
3150 "brand new package into Debian requires a thorough review of the Debian "
3151 "packaging. Sometimes several iterations will be needed until the package is "
3152 "good enough to be uploaded to Debian. Thus being a sponsor implies being a "
3153 "mentor."
3154 msgstr ""
3155
3156 #. type: Content of: <chapter><section><section><section><para>
3157 #: beyond-pkging.dbk:396
3158 msgid ""
3159 "Don't ever sponsor a new package without reviewing it. The review of new "
3160 "packages done by ftpmasters mainly ensures that the software is really "
3161 "free. Of course, it happens that they stumble on packaging problems but they "
3162 "really should not. It's your task to ensure that the uploaded package "
3163 "complies with the Debian Free Software Guidelines and is of good quality."
3164 msgstr ""
3165
3166 #. type: Content of: <chapter><section><section><section><para><footnote><para>
3167 #: beyond-pkging.dbk:409
3168 msgid ""
3169 "You can find more checks in the wiki where several developers share their "
3170 "own <ulink url=\"http://wiki.debian.org/SponsorChecklist\">sponsorship "
3171 "checklists</ulink>."
3172 msgstr ""
3173
3174 #. type: Content of: <chapter><section><section><section><para>
3175 #: beyond-pkging.dbk:404
3176 msgid ""
3177 "Building the package and testing the software is part of the review, but "
3178 "it's also not enough. The rest of this section contains a non-exhaustive "
3179 "list of points to check in your review.  <placeholder type=\"footnote\" "
3180 "id=\"0\"/>"
3181 msgstr ""
3182
3183 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3184 #: beyond-pkging.dbk:416
3185 msgid ""
3186 "Verify that the upstream tarball provided is the same that has been "
3187 "distributed by the upstream author (when the sources are repackaged for "
3188 "Debian, generate the modified tarball yourself)."
3189 msgstr ""
3190
3191 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3192 #: beyond-pkging.dbk:421
3193 msgid ""
3194 "Run <command>lintian</command> (see <xref linkend=\"lintian\"/>). It will "
3195 "catch many common problems. Be sure to verify that any "
3196 "<command>lintian</command> overrides setup by the maintainer is fully "
3197 "justified."
3198 msgstr ""
3199
3200 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3201 #: beyond-pkging.dbk:426
3202 msgid ""
3203 "Run <command>licensecheck</command> (part of <xref linkend=\"devscripts\"/>) "
3204 "and verify that <filename>debian/copyright</filename> seems correct and "
3205 "complete. Look for license problems (like files with “All rights reserved” "
3206 "headers, or with a non-DFSG compliant license). <command>grep -ri</command> "
3207 "is your friend for this task."
3208 msgstr ""
3209
3210 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3211 #: beyond-pkging.dbk:433
3212 msgid ""
3213 "Build the package with <command>pbuilder</command> (or any similar tool, see "
3214 "<xref linkend=\"pbuilder\"/>) to ensure that the build-dependencies are "
3215 "complete."
3216 msgstr ""
3217
3218 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3219 #: beyond-pkging.dbk:438
3220 msgid ""
3221 "Proofread <filename>debian/control</filename>: does it follow the best "
3222 "practices (see <xref linkend=\"bpp-debian-control\"/>)? Are the dependencies "
3223 "complete?"
3224 msgstr ""
3225
3226 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3227 #: beyond-pkging.dbk:443
3228 msgid ""
3229 "Proofread <filename>debian/rules</filename>: does it follow the best "
3230 "practices (see <xref linkend=\"bpp-debian-rules\"/>)? Do you see some "
3231 "possible improvements?"
3232 msgstr ""
3233
3234 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3235 #: beyond-pkging.dbk:448
3236 msgid ""
3237 "Proofread the maintainer scripts (<filename>preinst</filename>, "
3238 "<filename>postinst</filename>, <filename>prerm</filename>, "
3239 "<filename>postrm</filename>, <filename>config</filename>): will the "
3240 "<filename>preinst</filename>/<filename>postrm</filename> work when the "
3241 "dependencies are not installed? Are all the scripts idempotent (i.e. can you "
3242 "run them multiple times without consequences)?"
3243 msgstr ""
3244
3245 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3246 #: beyond-pkging.dbk:456
3247 msgid ""
3248 "Review any change to upstream files (either in "
3249 "<filename>.diff.gz</filename>, or in <filename>debian/patches/</filename> or "
3250 "directly embedded in the <filename>debian</filename> tarball for binary "
3251 "files). Are they justified? Are they properly documented (with <ulink "
3252 "url=\"&url-dep3;\">DEP-3</ulink> for patches)?"
3253 msgstr ""
3254
3255 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3256 #: beyond-pkging.dbk:462
3257 msgid ""
3258 "For every file, ask yourself why the file is there and whether it's the "
3259 "right way to achieve the desired result. Is the maintainer following the "
3260 "best packaging practices (see <xref linkend=\"best-pkging-practices\"/>)?"
3261 msgstr ""
3262
3263 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
3264 #: beyond-pkging.dbk:468
3265 msgid ""
3266 "Build the packages, install them and try the software. Ensure you can remove "
3267 "and purge the packages. Maybe test them with <command>piuparts</command>."
3268 msgstr ""
3269
3270 #. type: Content of: <chapter><section><section><section><para>
3271 #: beyond-pkging.dbk:474
3272 msgid ""
3273 "If the audit did not reveal any problem, you can build the package and "
3274 "upload it to Debian. Remember that even if you're not the maintainer, as a "
3275 "sponsor you are still responsible for what you upload to Debian. That's why "
3276 "you're encouraged to keep up with the package through the <xref "
3277 "linkend=\"pkg-tracking-system\"/>."
3278 msgstr ""
3279
3280 #. type: Content of: <chapter><section><section><section><para>
3281 #: beyond-pkging.dbk:481
3282 msgid ""
3283 "Note that you should not need to modify the source package to put your name "
3284 "in the <filename>changelog</filename> or in the <filename>control</filename> "
3285 "file. The <literal>Maintainer</literal> field of the "
3286 "<filename>control</filename> file and the <filename>changelog</filename> "
3287 "should list the person who did the packaging, i.e. the sponsoree. That way "
3288 "they will get all the BTS mail."
3289 msgstr ""
3290
3291 #. type: Content of: <chapter><section><section><section><para>
3292 #: beyond-pkging.dbk:487
3293 msgid ""
3294 "Instead you should instruct <command>dpkg-buildpackage</command> to use your "
3295 "key for the signature. You do that with the <literal>-k</literal> option:"
3296 msgstr ""
3297
3298 #. type: Content of: <chapter><section><section><section><screen>
3299 #: beyond-pkging.dbk:490
3300 #, no-wrap
3301 msgid "dpkg-buildpackage -k<replaceable>KEY-ID</replaceable>\n"
3302 msgstr ""
3303
3304 #. type: Content of: <chapter><section><section><section><para>
3305 #: beyond-pkging.dbk:492
3306 msgid ""
3307 "If you use <command>debuild</command> and <command>debsign</command>, you "
3308 "can even configure it permanently in <filename>~/.devscripts</filename>:"
3309 msgstr ""
3310
3311 #. type: Content of: <chapter><section><section><section><programlisting>
3312 #: beyond-pkging.dbk:495
3313 #, no-wrap
3314 msgid "DEBSIGN_KEYID=<replaceable>KEY-ID</replaceable>\n"
3315 msgstr ""
3316
3317 #. type: Content of: <chapter><section><section><section><title>
3318 #: beyond-pkging.dbk:500
3319 msgid "Sponsoring an update of an existing package"
3320 msgstr ""
3321
3322 #. type: Content of: <chapter><section><section><section><para>
3323 #: beyond-pkging.dbk:502
3324 msgid ""
3325 "You will usually assume that the package has already gone through a full "
3326 "review. So instead of doing it again, you will carefully analyze the "
3327 "difference between the current version and the new version prepared by the "
3328 "maintainer. If you have not done the initial review yourself, you might "
3329 "still want to have a more deeper look just in case the initial reviewer was "
3330 "sloppy."
3331 msgstr ""
3332
3333 #. type: Content of: <chapter><section><section><section><para>
3334 #: beyond-pkging.dbk:510
3335 msgid ""
3336 "To be able to analyze the difference you need both versions. Download the "
3337 "current version of the source package (with <command>apt-get "
3338 "source</command>)  and rebuild it (or download the current binary packages "
3339 "with <command>aptitude download</command>). Download the source package to "
3340 "sponsor (usually with <command>dget</command>)."
3341 msgstr ""
3342
3343 #. type: Content of: <chapter><section><section><section><para>
3344 #: beyond-pkging.dbk:517
3345 msgid ""
3346 "Read the new changelog entry, it should tell you what to expect during the "
3347 "review. The main tool you will use is <command>debdiff</command> (provide by "
3348 "the <systemitem role=\"package\">devscripts</systemitem> package), you can "
3349 "run it with two source packages (<filename>.dsc</filename> files), or two "
3350 "binary packages, or two <filename>.changes</filename> files (it will then "
3351 "compare all the binary packages listed in the "
3352 "<filename>.changes</filename>)."
3353 msgstr ""
3354
3355 #. type: Content of: <chapter><section><section><section><para>
3356 #: beyond-pkging.dbk:524
3357 msgid ""
3358 "If you compare the source packages (excluding upstream files in the case of "
3359 "a new upstream version, for example by filtering the output of "
3360 "<command>debdiff</command> with <command>filterdiff -i "
3361 "'*/debian/*'</command>), you must understand all the changes you see and "
3362 "they should be properly documented in the Debian changelog."
3363 msgstr ""
3364
3365 #. type: Content of: <chapter><section><section><section><para>
3366 #: beyond-pkging.dbk:531
3367 msgid ""
3368 "If everything is fine, build the package and compare the binary packages to "
3369 "verify that the changes on the source package have no unexpected "
3370 "consequences (like some files dropped by mistake, missing dependencies, "
3371 "etc.)."
3372 msgstr ""
3373
3374 #. type: Content of: <chapter><section><section><section><para>
3375 #: beyond-pkging.dbk:537
3376 msgid ""
3377 "You might want to check out the Package Tracking System (see <xref "
3378 "linkend=\"pkg-tracking-system\"/>) to verify if the maintainer has not "
3379 "missed something important. Maybe there are translations updates sitting in "
3380 "the BTS that could have been integrated. Maybe the package has been NMUed "
3381 "and the maintainer forgot to integrate the changes from the NMU into their "
3382 "package. Maybe there's a release critical bug that they have left unhandled "
3383 "and that's blocking migration to <literal>testing</literal>.  If you find "
3384 "something that they could have done (better), it's time to tell them so that "
3385 "they can improve for next time, and so that they have a better understanding "
3386 "of their responsibilities."
3387 msgstr ""
3388
3389 #. type: Content of: <chapter><section><section><section><para>
3390 #: beyond-pkging.dbk:549
3391 msgid ""
3392 "If you have found no major problem, upload the new version. Otherwise ask "
3393 "the maintainer to provide you a fixed version."
3394 msgstr ""
3395
3396 #. type: Content of: <chapter><section><section><title>
3397 #: beyond-pkging.dbk:556
3398 msgid "Advocating new developers"
3399 msgstr ""
3400
3401 #. type: Content of: <chapter><section><section><para>
3402 #: beyond-pkging.dbk:558
3403 msgid ""
3404 "See the page about <ulink url=\"&url-newmaint-advocate;\">advocating a "
3405 "prospective developer</ulink> at the Debian web site."
3406 msgstr ""
3407
3408 #. type: Content of: <chapter><section><section><title>
3409 #: beyond-pkging.dbk:565
3410 msgid "Handling new maintainer applications"
3411 msgstr ""
3412
3413 #. type: Content of: <chapter><section><section><para>
3414 #: beyond-pkging.dbk:567
3415 msgid ""
3416 "Please see <ulink url=\"&url-newmaint-amchecklist;\">Checklist for "
3417 "Application Managers</ulink> at the Debian web site."
3418 msgstr ""
3419
3420 #. type: Content of: <chapter><title>
3421 #: developer-duties.dbk:7
3422 msgid "Debian Developer's Duties"
3423 msgstr ""
3424
3425 #. type: Content of: <chapter><section><title>
3426 #: developer-duties.dbk:10
3427 msgid "Package Maintainer's Duties"
3428 msgstr ""
3429
3430 #. type: Content of: <chapter><section><para>
3431 #: developer-duties.dbk:11
3432 msgid ""
3433 "As a package maintainer, you're supposed to provide high-quality packages "
3434 "that are well integrated in the system and that adhere to the Debian Policy."
3435 msgstr ""
3436
3437 #. type: Content of: <chapter><section><section><title>
3438 #: developer-duties.dbk:16
3439 msgid "Work towards the next <literal>stable</literal> release"
3440 msgstr ""
3441
3442 #. type: Content of: <chapter><section><section><para>
3443 #: developer-duties.dbk:18
3444 msgid ""
3445 "Providing high-quality packages in <literal>unstable</literal> is not "
3446 "enough, most users will only benefit from your packages when they are "
3447 "released as part of the next <literal>stable</literal> release. You are thus "
3448 "expected to collaborate with the release team to ensure your packages get "
3449 "included."
3450 msgstr ""
3451
3452 #. type: Content of: <chapter><section><section><para>
3453 #: developer-duties.dbk:24
3454 msgid ""
3455 "More concretely, you should monitor whether your packages are migrating to "
3456 "<literal>testing</literal> (see <xref linkend=\"testing\"/>). When the "
3457 "migration doesn't happen after the test period, you should analyze why and "
3458 "work towards fixing this.  It might mean fixing your package (in the case of "
3459 "release-critical bugs or failures to build on some architecture) but it can "
3460 "also mean updating (or fixing, or removing from <literal>testing</literal>) "
3461 "other packages to help complete a transition in which your package is "
3462 "entangled due to its dependencies. The release team might provide you some "
3463 "input on the current blockers of a given transition if you are not able to "
3464 "identify them."
3465 msgstr ""
3466
3467 #. type: Content of: <chapter><section><section><title>
3468 #: developer-duties.dbk:37
3469 msgid "Maintain packages in <literal>stable</literal>"
3470 msgstr ""
3471
3472 #. type: Content of: <chapter><section><section><para>
3473 #: developer-duties.dbk:39
3474 msgid ""
3475 "Most of the package maintainer's work goes into providing updated versions "
3476 "of packages in <literal>unstable</literal>, but their job also entails "
3477 "taking care of the packages in the current <literal>stable</literal> "
3478 "release."
3479 msgstr ""
3480
3481 #. type: Content of: <chapter><section><section><para>
3482 #: developer-duties.dbk:44
3483 msgid ""
3484 "While changes in <literal>stable</literal> are discouraged, they are "
3485 "possible. Whenever a security problem is reported, you should collaborate "
3486 "with the security team to provide a fixed version (see <xref "
3487 "linkend=\"bug-security\"/>). When bugs of severity important (or more) are "
3488 "reported against the <literal>stable</literal> version of your packages, you "
3489 "should consider providing a targeted fix.  You can ask the "
3490 "<literal>stable</literal> release team whether they would accept such an "
3491 "update and then prepare a <literal>stable</literal> upload (see <xref "
3492 "linkend=\"upload-stable\"/>)."
3493 msgstr ""
3494
3495 #. type: Content of: <chapter><section><section><title>
3496 #: developer-duties.dbk:56
3497 msgid "Manage release-critical bugs"
3498 msgstr ""
3499
3500 #. type: Content of: <chapter><section><section><para>
3501 #: developer-duties.dbk:58
3502 msgid ""
3503 "Generally you should deal with bug reports on your packages as described in "
3504 "<xref linkend=\"bug-handling\"/>.  However, there's a special category of "
3505 "bugs that you need to take care of — the so-called release-critical bugs (RC "
3506 "bugs). All bug reports that have severity <literal>critical</literal>, "
3507 "<literal>grave</literal> or <literal>serious</literal> make the package "
3508 "unsuitable for inclusion in the next <literal>stable</literal> release.  "
3509 "They can thus delay the Debian release (when they affect a package in "
3510 "<literal>testing</literal>) or block migrations to "
3511 "<literal>testing</literal> (when they only affect the package in "
3512 "<literal>unstable</literal>). In the worst scenario, they will lead to the "
3513 "package's removal. That's why these bugs need to be corrected as quickly as "
3514 "possible."
3515 msgstr ""
3516
3517 #. type: Content of: <chapter><section><section><para>
3518 #: developer-duties.dbk:70
3519 msgid ""
3520 "If, for any reason, you aren't able fix an RC bug in a package of yours "
3521 "within 2 weeks (for example due to time constraints, or because it's "
3522 "difficult to fix), you should mention it clearly in the bug report and you "
3523 "should tag the bug <literal>help</literal> to invite other volunteers to "
3524 "chime in. Be aware that RC bugs are frequently the targets of Non-Maintainer "
3525 "Uploads (see <xref linkend=\"nmu\"/>) because they can block the "
3526 "<literal>testing</literal> migration of many packages."
3527 msgstr ""
3528
3529 #. type: Content of: <chapter><section><section><para>
3530 #: developer-duties.dbk:79
3531 msgid ""
3532 "Lack of attention to RC bugs is often interpreted by the QA team as a sign "
3533 "that the maintainer has disappeared without properly orphaning their "
3534 "package.  The MIA team might also get involved, which could result in your "
3535 "packages being orphaned (see <xref linkend=\"mia-qa\" />)."
3536 msgstr ""
3537
3538 #. type: Content of: <chapter><section><section><title>
3539 #: developer-duties.dbk:87
3540 msgid "Coordination with upstream developers"
3541 msgstr ""
3542
3543 #. type: Content of: <chapter><section><section><para>
3544 #: developer-duties.dbk:89
3545 msgid ""
3546 "A big part of your job as Debian maintainer will be to stay in contact with "
3547 "the upstream developers.  Debian users will sometimes report bugs that are "
3548 "not specific to Debian to our bug tracking system.  You have to forward "
3549 "these bug reports to the upstream developers so that they can be fixed in a "
3550 "future upstream release."
3551 msgstr ""
3552
3553 #. type: Content of: <chapter><section><section><para>
3554 #: developer-duties.dbk:96
3555 msgid ""
3556 "While it's not your job to fix non-Debian specific bugs, you may freely do "
3557 "so if you're able.  When you make such fixes, be sure to pass them on to the "
3558 "upstream maintainers as well.  Debian users and developers will sometimes "
3559 "submit patches to fix upstream bugs — you should evaluate and forward these "
3560 "patches upstream."
3561 msgstr ""
3562
3563 #. type: Content of: <chapter><section><section><para>
3564 #: developer-duties.dbk:103
3565 msgid ""
3566 "If you need to modify the upstream sources in order to build a policy "
3567 "compliant package, then you should propose a nice fix to the upstream "
3568 "developers which can be included there, so that you won't have to modify the "
3569 "sources of the next upstream version.  Whatever changes you need, always try "
3570 "not to fork from the upstream sources."
3571 msgstr ""
3572
3573 #. type: Content of: <chapter><section><section><para>
3574 #: developer-duties.dbk:110
3575 msgid ""
3576 "If you find that the upstream developers are or become hostile towards "
3577 "Debian or the free software community, you may want to re-consider the need "
3578 "to include the software in Debian. Sometimes the social cost to the Debian "
3579 "community is not worth the benefits the software may bring."
3580 msgstr ""
3581
3582 #. type: Content of: <chapter><section><title>
3583 #: developer-duties.dbk:120
3584 msgid "Administrative Duties"
3585 msgstr ""
3586
3587 #. type: Content of: <chapter><section><para>
3588 #: developer-duties.dbk:121
3589 msgid ""
3590 "A project of the size of Debian relies on some administrative infrastructure "
3591 "to keep track of everything. As a project member, you have some duties to "
3592 "ensure everything keeps running smoothly."
3593 msgstr ""
3594
3595 #. type: Content of: <chapter><section><section><title>
3596 #: developer-duties.dbk:126
3597 msgid "Maintaining your Debian information"
3598 msgstr ""
3599
3600 #. type: Content of: <chapter><section><section><para>
3601 #: developer-duties.dbk:128
3602 msgid ""
3603 "There's a LDAP database containing information about Debian developers at "
3604 "<ulink url=\"&url-debian-db;\"></ulink>.  You should enter your information "
3605 "there and update it as it changes.  Most notably, make sure that the address "
3606 "where your debian.org email gets forwarded to is always up to date, as well "
3607 "as the address where you get your debian-private subscription if you choose "
3608 "to subscribe there."
3609 msgstr ""
3610
3611 #. type: Content of: <chapter><section><section><para>
3612 #: developer-duties.dbk:136
3613 msgid ""
3614 "For more information about the database, please see <xref "
3615 "linkend=\"devel-db\"/>."
3616 msgstr ""
3617
3618 #. type: Content of: <chapter><section><section><title>
3619 #: developer-duties.dbk:141
3620 msgid "Maintaining your public key"
3621 msgstr ""
3622
3623 #. type: Content of: <chapter><section><section><para>
3624 #: developer-duties.dbk:143
3625 msgid ""
3626 "Be very careful with your private keys.  Do not place them on any public "
3627 "servers or multiuser machines, such as the Debian servers (see <xref "
3628 "linkend=\"server-machines\"/>).  Back your keys up; keep a copy offline.  "
3629 "Read the documentation that comes with your software; read the <ulink "
3630 "url=\"&url-pgp-faq;\">PGP FAQ</ulink>."
3631 msgstr ""
3632
3633 #. type: Content of: <chapter><section><section><para>
3634 #: developer-duties.dbk:150
3635 msgid ""
3636 "You need to ensure not only that your key is secure against being stolen, "
3637 "but also that it is secure against being lost.  Generate and make a copy "
3638 "(best also in paper form) of your revocation certificate; this is needed if "
3639 "your key is lost."
3640 msgstr ""
3641
3642 #. type: Content of: <chapter><section><section><para>
3643 #: developer-duties.dbk:156
3644 msgid ""
3645 "If you add signatures to your public key, or add user identities, you can "
3646 "update the Debian key ring by sending your key to the key server at "
3647 "<literal>&keyserver-host;</literal>."
3648 msgstr ""
3649
3650 #. type: Content of: <chapter><section><section><para>
3651 #: developer-duties.dbk:161
3652 msgid ""
3653 "If you need to add a completely new key or remove an old key, you need to "
3654 "get the new key signed by another developer.  If the old key is compromised "
3655 "or invalid, you also have to add the revocation certificate.  If there is no "
3656 "real reason for a new key, the Keyring Maintainers might reject the new "
3657 "key.  Details can be found at <ulink "
3658 "url=\"http://&keyserver-host;/replacing_keys.html\"></ulink>."
3659 msgstr ""
3660
3661 #. type: Content of: <chapter><section><section><para>
3662 #: developer-duties.dbk:169
3663 msgid ""
3664 "The same key extraction routines discussed in <xref "
3665 "linkend=\"registering\"/> apply."
3666 msgstr ""
3667
3668 #. type: Content of: <chapter><section><section><para>
3669 #: developer-duties.dbk:173
3670 msgid ""
3671 "You can find a more in-depth discussion of Debian key maintenance in the "
3672 "documentation of the <systemitem "
3673 "role=\"package\">debian-keyring</systemitem> package."
3674 msgstr ""
3675
3676 #. type: Content of: <chapter><section><section><title>
3677 #: developer-duties.dbk:180
3678 msgid "Voting"
3679 msgstr ""
3680
3681 #. type: Content of: <chapter><section><section><para>
3682 #: developer-duties.dbk:182
3683 msgid ""
3684 "Even though Debian isn't really a democracy, we use a democratic process to "
3685 "elect our leaders and to approve general resolutions.  These procedures are "
3686 "defined by the <ulink url=\"&url-constitution;\">Debian "
3687 "Constitution</ulink>."
3688 msgstr ""
3689
3690 #. type: Content of: <chapter><section><section><para>
3691 #: developer-duties.dbk:188
3692 msgid ""
3693 "Other than the yearly leader election, votes are not routinely held, and "
3694 "they are not undertaken lightly.  Each proposal is first discussed on the "
3695 "&email-debian-vote; mailing list and it requires several endorsements before "
3696 "the project secretary starts the voting procedure."
3697 msgstr ""
3698
3699 #. type: Content of: <chapter><section><section><para>
3700 #: developer-duties.dbk:194
3701 msgid ""
3702 "You don't have to track the pre-vote discussions, as the secretary will "
3703 "issue several calls for votes on &email-debian-devel-announce; (and all "
3704 "developers are expected to be subscribed to that list).  Democracy doesn't "
3705 "work well if people don't take part in the vote, which is why we encourage "
3706 "all developers to vote.  Voting is conducted via GPG-signed/encrypted email "
3707 "messages."
3708 msgstr ""
3709
3710 #. type: Content of: <chapter><section><section><para>
3711 #: developer-duties.dbk:202
3712 msgid ""
3713 "The list of all proposals (past and current) is available on the <ulink "
3714 "url=\"&url-vote;\">Debian Voting Information</ulink> page, along with "
3715 "information on how to make, second and vote on proposals."
3716 msgstr ""
3717
3718 #. type: Content of: <chapter><section><section><title>
3719 #: developer-duties.dbk:209
3720 msgid "Going on vacation gracefully"
3721 msgstr ""
3722
3723 #. type: Content of: <chapter><section><section><para>
3724 #: developer-duties.dbk:211
3725 msgid ""
3726 "It is common for developers to have periods of absence, whether those are "
3727 "planned vacations or simply being buried in other work.  The important thing "
3728 "to notice is that other developers need to know that you're on vacation so "
3729 "that they can do whatever is needed if a problem occurs with your packages "
3730 "or other duties in the project."
3731 msgstr ""
3732
3733 #. type: Content of: <chapter><section><section><para>
3734 #: developer-duties.dbk:218
3735 msgid ""
3736 "Usually this means that other developers are allowed to NMU (see <xref "
3737 "linkend=\"nmu\"/>) your package if a big problem (release critical bug, "
3738 "security update, etc.) occurs while you're on vacation.  Sometimes it's "
3739 "nothing as critical as that, but it's still appropriate to let others know "
3740 "that you're unavailable."
3741 msgstr ""
3742
3743 #. type: Content of: <chapter><section><section><para><footnote><para>
3744 #: developer-duties.dbk:227
3745 msgid ""
3746 "This is so that the message can be easily filtered by people who don't want "
3747 "to read vacation notices."
3748 msgstr ""
3749
3750 #. type: Content of: <chapter><section><section><para>
3751 #: developer-duties.dbk:225
3752 msgid ""
3753 "In order to inform the other developers, there are two things that you "
3754 "should do.  First send a mail to <email>debian-private@&lists-host;</email> "
3755 "with [VAC] prepended to the subject of your message<placeholder "
3756 "type=\"footnote\" id=\"0\"/> and state the period of time when you will be "
3757 "on vacation.  You can also give some special instructions on what to do if a "
3758 "problem occurs."
3759 msgstr ""
3760
3761 #. type: Content of: <chapter><section><section><para>
3762 #: developer-duties.dbk:234
3763 msgid ""
3764 "The other thing to do is to mark yourself as on vacation in the <link "
3765 "linkend=\"devel-db\">Debian developers' LDAP database</link> (this "
3766 "information is only accessible to Debian developers).  Don't forget to "
3767 "remove the on vacation flag when you come back!"
3768 msgstr ""
3769
3770 #. type: Content of: <chapter><section><section><para>
3771 #: developer-duties.dbk:240
3772 msgid ""
3773 "Ideally, you should sign up at the <ulink url=\"&url-gpg-coord;\">GPG "
3774 "coordination pages</ulink> when booking a holiday and check if anyone there "
3775 "is looking for signing.  This is especially important when people go to "
3776 "exotic places where we don't have any developers yet but where there are "
3777 "people who are interested in applying."
3778 msgstr ""
3779
3780 #. type: Content of: <chapter><section><section><title>
3781 #: developer-duties.dbk:249
3782 msgid "Retiring"
3783 msgstr ""
3784
3785 #. type: Content of: <chapter><section><section><para>
3786 #: developer-duties.dbk:251
3787 msgid ""
3788 "If you choose to leave the Debian project, you should make sure you do the "
3789 "following steps:"
3790 msgstr ""
3791
3792 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
3793 #: developer-duties.dbk:257
3794 msgid "Orphan all your packages, as described in <xref linkend=\"orphaning\"/>."
3795 msgstr ""
3796
3797 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
3798 #: developer-duties.dbk:262
3799 msgid ""
3800 "Send an gpg-signed email about why you are leaving the project to "
3801 "<email>debian-private@&lists-host;</email>."
3802 msgstr ""
3803
3804 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
3805 #: developer-duties.dbk:268
3806 msgid ""
3807 "Notify the Debian key ring maintainers that you are leaving by opening a "
3808 "ticket in Debian RT by sending a mail to &email-keyring; with the words "
3809 "'Debian RT' somewhere in the subject line (case doesn't matter)."
3810 msgstr ""
3811
3812 #. type: Content of: <chapter><section><section><para>
3813 #: developer-duties.dbk:275
3814 msgid ""
3815 "It is important that the above process is followed, because finding inactive "
3816 "developers and orphaning their packages takes significant time and effort."
3817 msgstr ""
3818
3819 #. type: Content of: <chapter><section><section><title>
3820 #: developer-duties.dbk:281
3821 msgid "Returning after retirement"
3822 msgstr ""
3823
3824 #. type: Content of: <chapter><section><section><para>
3825 #: developer-duties.dbk:283
3826 msgid ""
3827 "A retired developer's account is marked as \"emeritus\" when the process in "
3828 "<xref linkend=\"s3.7\"/> is followed, and \"disabled\" otherwise. Retired "
3829 "developers with an \"emeritus\" account can get their account re-activated "
3830 "as follows:"
3831 msgstr ""
3832
3833 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3834 #: developer-duties.dbk:292
3835 msgid "Contact &email-debian-account-manager;."
3836 msgstr ""
3837
3838 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3839 #: developer-duties.dbk:297
3840 msgid ""
3841 "Go through a shortened NM process (to ensure that the returning developer "
3842 "still knows important parts of P&amp;P and T&amp;S)."
3843 msgstr ""
3844
3845 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
3846 #: developer-duties.dbk:303
3847 msgid ""
3848 "Prove that they still control the GPG key associated with the account, or "
3849 "provide proof of identify on a new GPG key, with at least two signatures "
3850 "from other developers."
3851 msgstr ""
3852
3853 #. type: Content of: <chapter><section><section><para>
3854 #: developer-duties.dbk:310
3855 msgid "Retired developers with a \"disabled\" account need to go through NM again."
3856 msgstr ""
3857
3858 #. type: Attribute 'lang' of: <book>
3859 #: index.dbk:7
3860 msgid "en"
3861 msgstr ""
3862
3863 #. type: Content of: <book><title>
3864 #: index.dbk:9
3865 msgid "Debian Developer's Reference"
3866 msgstr ""
3867
3868 #. type: Content of: <book><bookinfo>
3869 #: index.dbk:11
3870 msgid ""
3871 "<author> <othername>Developer's Reference Team</othername> &email-devel-ref; "
3872 "</author> <author> <firstname>Andreas</firstname> <surname>Barth</surname> "
3873 "</author> <author> <firstname>Adam</firstname> <surname>Di Carlo</surname> "
3874 "</author> <author> <firstname>Raphaël</firstname> <surname>Hertzog</surname> "
3875 "</author> <author> <firstname>Lucas</firstname> <surname>Nussbaum</surname> "
3876 "</author> <author> <firstname>Christian</firstname> "
3877 "<surname>Schwarz</surname> </author> <author> <firstname>Ian</firstname> "
3878 "<surname>Jackson</surname> </author>"
3879 msgstr ""
3880
3881 #. type: Content of: <book><bookinfo><releaseinfo>
3882 #: index.dbk:33
3883 msgid "ver. &version;"
3884 msgstr ""
3885
3886 #. type: Content of: <book><bookinfo>
3887 #: index.dbk:34
3888 msgid ""
3889 "<pubdate>&pubdate;</pubdate> <copyright> <year>2004</year> <year>2005</year> "
3890 "<year>2006</year> <year>2007</year> <holder>Andreas Barth</holder> "
3891 "</copyright> <copyright> <year>1998</year> <year>1999</year> "
3892 "<year>2000</year> <year>2001</year> <year>2002</year> <year>2003</year> "
3893 "<holder>Adam Di Carlo</holder> </copyright> <copyright> <year>2002</year> "
3894 "<year>2003</year> <year>2008</year> <year>2009</year> <holder>Raphaël "
3895 "Hertzog</holder> </copyright> <copyright> <year>2008</year> "
3896 "<year>2009</year> <holder>Lucas Nussbaum</holder> </copyright> <copyright> "
3897 "<year>1997</year> <year>1998</year> <holder>Christian Schwarz</holder> "
3898 "</copyright>"
3899 msgstr ""
3900
3901 #. type: Content of: <book><bookinfo><legalnotice><para>
3902 #: index.dbk:70
3903 msgid ""
3904 "This manual is free software; you may redistribute it and/or modify it under "
3905 "the terms of the GNU General Public License as published by the Free "
3906 "Software Foundation; either version 2, or (at your option) any later "
3907 "version."
3908 msgstr ""
3909
3910 #. type: Content of: <book><bookinfo><legalnotice><para>
3911 #: index.dbk:75
3912 msgid ""
3913 "This is distributed in the hope that it will be useful, but "
3914 "<emphasis>without any warranty</emphasis>; without even the implied warranty "
3915 "of merchantability or fitness for a particular purpose.  See the GNU General "
3916 "Public License for more details."
3917 msgstr ""
3918
3919 #. type: Content of: <book><bookinfo><legalnotice><para>
3920 #: index.dbk:81
3921 msgid ""
3922 "A copy of the GNU General Public License is available as &file-GPL; in the "
3923 "&debian-formal; distribution or on the World Wide Web at <ulink "
3924 "url=\"&url-gpl;\">the GNU web site</ulink>.  You can also obtain it by "
3925 "writing to the &fsf-addr;."
3926 msgstr ""
3927
3928 #.  TODO: Maybe better: "This document has originally been written
3929 #. in English.  Translations into different languages are available." 
3930 #. type: Content of: <book><bookinfo><legalnotice><para>
3931 #: index.dbk:88
3932 msgid ""
3933 "If you want to print this reference, you should use the <ulink "
3934 "url=\"developers-reference.pdf\">pdf version</ulink>.  This page is also "
3935 "available in <ulink url=\"index.fr.html\">French</ulink>, <ulink "
3936 "url=\"index.de.html\">German</ulink> and <ulink "
3937 "url=\"index.ja.html\">Japanese</ulink>."
3938 msgstr ""
3939
3940 #. type: Content of: <chapter><title>
3941 #: l10n.dbk:7
3942 msgid "Internationalization and Translations"
3943 msgstr ""
3944
3945 #. type: Content of: <chapter><para>
3946 #: l10n.dbk:9
3947 msgid ""
3948 "Debian supports an ever-increasing number of natural languages.  Even if you "
3949 "are a native English speaker and do not speak any other language, it is part "
3950 "of your duty as a maintainer to be aware of issues of internationalization "
3951 "(abbreviated i18n because there are 18 letters between the 'i' and the 'n' "
3952 "in internationalization).  Therefore, even if you are ok with English-only "
3953 "programs, you should read most of this chapter."
3954 msgstr ""
3955
3956 #. type: Content of: <chapter><para>
3957 #: l10n.dbk:17
3958 msgid ""
3959 "According to <ulink url=\"&url-i18n-intro;\">Introduction to i18n</ulink> "
3960 "from Tomohiro KUBOTA, I18N (internationalization) means modification of a "
3961 "software or related technologies so that a software can potentially handle "
3962 "multiple languages, customs, and so on in the world, while L10N "
3963 "(localization) means implementation of a specific language for an already "
3964 "internationalized software."
3965 msgstr ""
3966
3967 #. type: Content of: <chapter><para>
3968 #: l10n.dbk:26
3969 msgid ""
3970 "l10n and i18n are interconnected, but the difficulties related to each of "
3971 "them are very different.  It's not really difficult to allow a program to "
3972 "change the language in which texts are displayed based on user settings, but "
3973 "it is very time consuming to actually translate these messages.  On the "
3974 "other hand, setting the character encoding is trivial, but adapting the code "
3975 "to use several character encodings is a really hard problem."
3976 msgstr ""
3977
3978 #. type: Content of: <chapter><para>
3979 #: l10n.dbk:34
3980 msgid ""
3981 "Setting aside the i18n problems, where no general guideline can be given, "
3982 "there is actually no central infrastructure for l10n within Debian which "
3983 "could be compared to the buildd mechanism for porting.  So most of the work "
3984 "has to be done manually."
3985 msgstr ""
3986
3987 #. type: Content of: <chapter><section><title>
3988 #: l10n.dbk:40
3989 msgid "How translations are handled within Debian"
3990 msgstr ""
3991
3992 #. type: Content of: <chapter><section><para>
3993 #: l10n.dbk:42
3994 msgid ""
3995 "Handling translation of the texts contained in a package is still a manual "
3996 "task, and the process depends on the kind of text you want to see "
3997 "translated."
3998 msgstr ""
3999
4000 #. type: Content of: <chapter><section><para>
4001 #: l10n.dbk:46
4002 msgid ""
4003 "For program messages, the gettext infrastructure is used most of the time.  "
4004 "Most of the time, the translation is handled upstream within projects like "
4005 "the <ulink url=\"&url-l10n-tp;\">Free Translation Project</ulink>, the "
4006 "<ulink url=\"&url-l10n-gnome;\">Gnome translation Project</ulink> or the "
4007 "<ulink url=\"&url-l10n-kde;\">KDE one</ulink>.  The only centralized "
4008 "resource within Debian is the <ulink url=\"&url-l10n;\">Central Debian "
4009 "translation statistics</ulink>, where you can find some statistics about the "
4010 "translation files found in the actual packages, but no real infrastructure "
4011 "to ease the translation process."
4012 msgstr ""
4013
4014 #. type: Content of: <chapter><section><para>
4015 #: l10n.dbk:59
4016 msgid ""
4017 "An effort to translate the package descriptions started long ago, even if "
4018 "very little support is offered by the tools to actually use them (i.e., only "
4019 "APT can use them, when configured correctly).  Maintainers don't need to do "
4020 "anything special to support translated package descriptions; translators "
4021 "should use the <ulink url=\"&url-ddtp;\">Debian Description Translation "
4022 "Project (DDTP)</ulink>."
4023 msgstr ""
4024
4025 #. type: Content of: <chapter><section><para>
4026 #: l10n.dbk:66
4027 msgid ""
4028 "For <systemitem role=\"package\">debconf</systemitem> templates, maintainers "
4029 "should use the <systemitem role=\"package\">po-debconf</systemitem> package "
4030 "to ease the work of translators, who could use the DDTP to do their work "
4031 "(but the French and Brazilian teams don't).  Some statistics can be found "
4032 "both on the <ulink url=\"&url-ddtp;\">DDTP site</ulink> (about what is "
4033 "actually translated), and on the <ulink url=\"&url-l10n;\">Central Debian "
4034 "translation statistics</ulink> site (about what is integrated in the "
4035 "packages)."
4036 msgstr ""
4037
4038 #. type: Content of: <chapter><section><para>
4039 #: l10n.dbk:75
4040 msgid ""
4041 "For web pages, each l10n team has access to the relevant VCS, and the "
4042 "statistics are available from the Central Debian translation statistics "
4043 "site."
4044 msgstr ""
4045
4046 #. type: Content of: <chapter><section><para>
4047 #: l10n.dbk:79
4048 msgid ""
4049 "For general documentation about Debian, the process is more or less the same "
4050 "as for the web pages (the translators have access to the VCS), but there are "
4051 "no statistics pages."
4052 msgstr ""
4053
4054 #. type: Content of: <chapter><section><para>
4055 #: l10n.dbk:84
4056 msgid ""
4057 "For package-specific documentation (man pages, info documents, other "
4058 "formats), almost everything remains to be done."
4059 msgstr ""
4060
4061 #. type: Content of: <chapter><section><para>
4062 #: l10n.dbk:88
4063 msgid ""
4064 "Most notably, the KDE project handles translation of its documentation in "
4065 "the same way as its program messages."
4066 msgstr ""
4067
4068 #. type: Content of: <chapter><section><para>
4069 #: l10n.dbk:92
4070 msgid ""
4071 "There is an effort to handle Debian-specific man pages within a <ulink "
4072 "url=\"&url-cvsweb;manpages/?cvsroot=debian-doc\">specific VCS "
4073 "repository</ulink>."
4074 msgstr ""
4075
4076 #. type: Content of: <chapter><section><title>
4077 #: l10n.dbk:99
4078 msgid "I18N &amp; L10N FAQ for maintainers"
4079 msgstr ""
4080
4081 #. type: Content of: <chapter><section><para>
4082 #: l10n.dbk:101
4083 msgid ""
4084 "This is a list of problems that maintainers may face concerning i18n and "
4085 "l10n.  While reading this, keep in mind that there is no real consensus on "
4086 "these points within Debian, and that this is only advice.  If you have a "
4087 "better idea for a given problem, or if you disagree on some points, feel "
4088 "free to provide your feedback, so that this document can be enhanced."
4089 msgstr ""
4090
4091 #. type: Content of: <chapter><section><section><title>
4092 #: l10n.dbk:108
4093 msgid "How to get a given text translated"
4094 msgstr ""
4095
4096 #. type: Content of: <chapter><section><section><para>
4097 #: l10n.dbk:110
4098 msgid ""
4099 "To translate package descriptions or <systemitem "
4100 "role=\"package\">debconf</systemitem> templates, you have nothing to do; the "
4101 "DDTP infrastructure will dispatch the material to translate to volunteers "
4102 "with no need for interaction from your part."
4103 msgstr ""
4104
4105 #. type: Content of: <chapter><section><section><para>
4106 #: l10n.dbk:115
4107 msgid ""
4108 "For all other material (gettext files, man pages, or other documentation), "
4109 "the best solution is to put your text somewhere on the Internet, and ask on "
4110 "debian-i18n for a translation in different languages.  Some translation team "
4111 "members are subscribed to this list, and they will take care of the "
4112 "translation and of the reviewing process.  Once they are done, you will get "
4113 "your translated document from them in your mailbox."
4114 msgstr ""
4115
4116 #. type: Content of: <chapter><section><section><title>
4117 #: l10n.dbk:125
4118 msgid "How to get a given translation reviewed"
4119 msgstr ""
4120
4121 #. type: Content of: <chapter><section><section><para>
4122 #: l10n.dbk:127
4123 msgid ""
4124 "From time to time, individuals translate some texts in your package and will "
4125 "ask you for inclusion of the translation in the package.  This can become "
4126 "problematic if you are not fluent in the given language.  It is a good idea "
4127 "to send the document to the corresponding l10n mailing list, asking for a "
4128 "review.  Once it has been done, you should feel more confident in the "
4129 "quality of the translation, and feel safe to include it in your package."
4130 msgstr ""
4131
4132 #. type: Content of: <chapter><section><section><title>
4133 #: l10n.dbk:137
4134 msgid "How to get a given translation updated"
4135 msgstr ""
4136
4137 #. type: Content of: <chapter><section><section><para>
4138 #: l10n.dbk:139
4139 msgid ""
4140 "If you have some translations of a given text lying around, each time you "
4141 "update the original, you should ask the previous translator to update the "
4142 "translation with your new changes.  Keep in mind that this task takes time; "
4143 "at least one week to get the update reviewed and all."
4144 msgstr ""
4145
4146 #. type: Content of: <chapter><section><section><para>
4147 #: l10n.dbk:145
4148 msgid ""
4149 "If the translator is unresponsive, you may ask for help on the corresponding "
4150 "l10n mailing list.  If everything fails, don't forget to put a warning in "
4151 "the translated document, stating that the translation is somehow outdated, "
4152 "and that the reader should refer to the original document if possible."
4153 msgstr ""
4154
4155 #. type: Content of: <chapter><section><section><para>
4156 #: l10n.dbk:151
4157 msgid ""
4158 "Avoid removing a translation completely because it is outdated.  Old "
4159 "documentation is often better than no documentation at all for non-English "
4160 "speakers."
4161 msgstr ""
4162
4163 #. type: Content of: <chapter><section><section><title>
4164 #: l10n.dbk:158
4165 msgid "How to handle a bug report concerning a translation"
4166 msgstr ""
4167
4168 #.  TODO: add the i18n tag to the bug? 
4169 #. type: Content of: <chapter><section><section><para>
4170 #: l10n.dbk:160
4171 msgid ""
4172 "The best solution may be to mark the bug as forwarded to upstream, and "
4173 "forward it to both the previous translator and their team (using the "
4174 "corresponding debian-l10n-XXX mailing list)."
4175 msgstr ""
4176
4177 #. type: Content of: <chapter><section><title>
4178 #: l10n.dbk:170
4179 msgid "I18N &amp; L10N FAQ for translators"
4180 msgstr ""
4181
4182 #. type: Content of: <chapter><section><para>
4183 #: l10n.dbk:172
4184 msgid ""
4185 "While reading this, please keep in mind that there is no general procedure "
4186 "within Debian concerning these points, and that in any case, you should "
4187 "collaborate with your team and the package maintainer."
4188 msgstr ""
4189
4190 #. type: Content of: <chapter><section><section><title>
4191 #: l10n.dbk:177
4192 msgid "How to help the translation effort"
4193 msgstr ""
4194
4195 #. type: Content of: <chapter><section><section><para>
4196 #: l10n.dbk:179
4197 msgid ""
4198 "Choose what you want to translate, make sure that nobody is already working "
4199 "on it (using your debian-l10n-XXX mailing list), translate it, get it "
4200 "reviewed by other native speakers on your l10n mailing list, and provide it "
4201 "to the maintainer of the package (see next point)."
4202 msgstr ""
4203
4204 #. type: Content of: <chapter><section><section><title>
4205 #: l10n.dbk:187
4206 msgid "How to provide a translation for inclusion in a package"
4207 msgstr ""
4208
4209 #. type: Content of: <chapter><section><section><para>
4210 #: l10n.dbk:189
4211 msgid ""
4212 "Make sure your translation is correct (asking for review on your l10n "
4213 "mailing list) before providing it for inclusion.  It will save time for "
4214 "everyone, and avoid the chaos resulting in having several versions of the "
4215 "same document in bug reports."
4216 msgstr ""
4217
4218 #. type: Content of: <chapter><section><section><para>
4219 #: l10n.dbk:195
4220 msgid ""
4221 "The best solution is to file a regular bug containing the translation "
4222 "against the package.  Make sure to use the 'PATCH' tag, and to not use a "
4223 "severity higher than 'wishlist', since the lack of translation never "
4224 "prevented a program from running."
4225 msgstr ""
4226
4227 #. type: Content of: <chapter><section><title>
4228 #: l10n.dbk:205
4229 msgid "Best current practice concerning l10n"
4230 msgstr ""
4231
4232 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4233 #: l10n.dbk:209
4234 msgid ""
4235 "As a maintainer, never edit the translations in any way (even to reformat "
4236 "the layout) without asking on the corresponding l10n mailing list.  You risk "
4237 "for example breaking the encoding of the file by doing so.  Moreover, what "
4238 "you consider an error can be right (or even needed) in the given language."
4239 msgstr ""
4240
4241 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4242 #: l10n.dbk:217
4243 msgid ""
4244 "As a translator, if you find an error in the original text, make sure to "
4245 "report it.  Translators are often the most attentive readers of a given "
4246 "text, and if they don't report the errors they find, nobody will."
4247 msgstr ""
4248
4249 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4250 #: l10n.dbk:224
4251 msgid ""
4252 "In any case, remember that the major issue with l10n is that it requires "
4253 "several people to cooperate, and that it is very easy to start a flamewar "
4254 "about small problems because of misunderstandings.  So if you have problems "
4255 "with your interlocutor, ask for help on the corresponding l10n mailing list, "
4256 "on debian-i18n, or even on debian-devel (but beware, l10n discussions very "
4257 "often become flamewars on that list :)"
4258 msgstr ""
4259
4260 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4261 #: l10n.dbk:234
4262 msgid ""
4263 "In any case, cooperation can only be achieved with <emphasis "
4264 "role=\"strong\">mutual respect</emphasis>."
4265 msgstr ""
4266
4267 #. type: Content of: <chapter><title>
4268 #: new-maintainer.dbk:7
4269 msgid "Applying to Become a Maintainer"
4270 msgstr ""
4271
4272 #. type: Content of: <chapter><section><title>
4273 #: new-maintainer.dbk:9
4274 msgid "Getting started"
4275 msgstr ""
4276
4277 #. type: Content of: <chapter><section><para>
4278 #: new-maintainer.dbk:11
4279 msgid ""
4280 "So, you've read all the documentation, you've gone through the <ulink "
4281 "url=\"&url-newmaint-guide;\">Debian New Maintainers' Guide</ulink>, "
4282 "understand what everything in the <systemitem "
4283 "role=\"package\">hello</systemitem> example package is for, and you're about "
4284 "to Debianize your favorite piece of software.  How do you actually become a "
4285 "Debian developer so that your work can be incorporated into the Project?"
4286 msgstr ""
4287
4288 #. type: Content of: <chapter><section><para>
4289 #: new-maintainer.dbk:19
4290 msgid ""
4291 "Firstly, subscribe to &email-debian-devel; if you haven't already.  Send the "
4292 "word <literal>subscribe</literal> in the <literal>Subject</literal> of an "
4293 "email to &email-debian-devel-req;.  In case of problems, contact the list "
4294 "administrator at &email-listmaster;.  More information on available mailing "
4295 "lists can be found in <xref linkend=\"mailing-lists\"/>.  "
4296 "&email-debian-devel-announce; is another list which is mandatory for anyone "
4297 "who wishes to follow Debian's development."
4298 msgstr ""
4299
4300 #. type: Content of: <chapter><section><para>
4301 #: new-maintainer.dbk:29
4302 msgid ""
4303 "You should subscribe and lurk (that is, read without posting) for a bit "
4304 "before doing any coding, and you should post about your intentions to work "
4305 "on something to avoid duplicated effort."
4306 msgstr ""
4307
4308 #. type: Content of: <chapter><section><para>
4309 #: new-maintainer.dbk:34
4310 msgid ""
4311 "Another good list to subscribe to is &email-debian-mentors;.  See <xref "
4312 "linkend=\"mentors\"/> for details.  The IRC channel "
4313 "<literal>#debian</literal> can also be helpful; see <xref "
4314 "linkend=\"irc-channels\"/>."
4315 msgstr ""
4316
4317 #. type: Content of: <chapter><section><para>
4318 #: new-maintainer.dbk:40
4319 msgid ""
4320 "When you know how you want to contribute to &debian-formal;, you should get "
4321 "in contact with existing Debian maintainers who are working on similar "
4322 "tasks.  That way, you can learn from experienced developers.  For example, "
4323 "if you are interested in packaging existing software for Debian, you should "
4324 "try to get a sponsor.  A sponsor will work together with you on your package "
4325 "and upload it to the Debian archive once they are happy with the packaging "
4326 "work you have done.  You can find a sponsor by mailing the "
4327 "&email-debian-mentors; mailing list, describing your package and yourself "
4328 "and asking for a sponsor (see <xref linkend=\"sponsoring\"/> and <ulink "
4329 "url=\"&url-mentors;\"></ulink> for more information on sponsoring).  On the "
4330 "other hand, if you are interested in porting Debian to alternative "
4331 "architectures or kernels you can subscribe to port specific mailing lists "
4332 "and ask there how to get started.  Finally, if you are interested in "
4333 "documentation or Quality Assurance (QA) work you can join maintainers "
4334 "already working on these tasks and submit patches and improvements."
4335 msgstr ""
4336
4337 #. type: Content of: <chapter><section><para>
4338 #: new-maintainer.dbk:57
4339 msgid ""
4340 "One pitfall could be a too-generic local part in your mailadress: Terms like "
4341 "mail, admin, root, master should be avoided, please see <ulink "
4342 "url=\"&url-debian-lists;\"></ulink> for details."
4343 msgstr ""
4344
4345 #. type: Content of: <chapter><section><title>
4346 #: new-maintainer.dbk:64
4347 msgid "Debian mentors and sponsors"
4348 msgstr ""
4349
4350 #. type: Content of: <chapter><section><para>
4351 #: new-maintainer.dbk:66
4352 msgid ""
4353 "The mailing list &email-debian-mentors; has been set up for novice "
4354 "maintainers who seek help with initial packaging and other developer-related "
4355 "issues.  Every new developer is invited to subscribe to that list (see <xref "
4356 "linkend=\"mailing-lists\"/> for details)."
4357 msgstr ""
4358
4359 #. type: Content of: <chapter><section><para>
4360 #: new-maintainer.dbk:72
4361 msgid ""
4362 "Those who prefer one-on-one help (e.g., via private email) should also post "
4363 "to that list and an experienced developer will volunteer to help."
4364 msgstr ""
4365
4366 #. type: Content of: <chapter><section><para>
4367 #: new-maintainer.dbk:76
4368 msgid ""
4369 "In addition, if you have some packages ready for inclusion in Debian, but "
4370 "are waiting for your new maintainer application to go through, you might be "
4371 "able find a sponsor to upload your package for you.  Sponsors are people who "
4372 "are official Debian Developers, and who are willing to criticize and upload "
4373 "your packages for you. Please read the debian-mentors FAQ at <ulink "
4374 "url=\"&url-mentors;\"></ulink> first."
4375 msgstr ""
4376
4377 #. type: Content of: <chapter><section><para>
4378 #: new-maintainer.dbk:84
4379 msgid ""
4380 "If you wish to be a mentor and/or sponsor, more information is available in "
4381 "<xref linkend=\"newmaint\"/>."
4382 msgstr ""
4383
4384 #. type: Content of: <chapter><section><title>
4385 #: new-maintainer.dbk:90
4386 msgid "Registering as a Debian developer"
4387 msgstr ""
4388
4389 #. type: Content of: <chapter><section><para>
4390 #: new-maintainer.dbk:92
4391 msgid ""
4392 "Before you decide to register with &debian-formal;, you will need to read "
4393 "all the information available at the <ulink url=\"&url-newmaint;\">New "
4394 "Maintainer's Corner</ulink>.  It describes in detail the preparations you "
4395 "have to do before you can register to become a Debian developer.  For "
4396 "example, before you apply, you have to read the <ulink "
4397 "url=\"&url-social-contract;\">Debian Social Contract</ulink>.  Registering "
4398 "as a developer means that you agree with and pledge to uphold the Debian "
4399 "Social Contract; it is very important that maintainers are in accord with "
4400 "the essential ideas behind &debian-formal;.  Reading the <ulink "
4401 "url=\"&url-gnu-manifesto;\">GNU Manifesto</ulink> would also be a good idea."
4402 msgstr ""
4403
4404 #. type: Content of: <chapter><section><para>
4405 #: new-maintainer.dbk:106
4406 msgid ""
4407 "The process of registering as a developer is a process of verifying your "
4408 "identity and intentions, and checking your technical skills.  As the number "
4409 "of people working on &debian-formal; has grown to over "
4410 "&number-of-maintainers; and our systems are used in several very important "
4411 "places, we have to be careful about being compromised.  Therefore, we need "
4412 "to verify new maintainers before we can give them accounts on our servers "
4413 "and let them upload packages."
4414 msgstr ""
4415
4416 #. type: Content of: <chapter><section><para>
4417 #: new-maintainer.dbk:115
4418 msgid ""
4419 "Before you actually register you should have shown that you can do competent "
4420 "work and will be a good contributor.  You show this by submitting patches "
4421 "through the Bug Tracking System and having a package sponsored by an "
4422 "existing Debian Developer for a while.  Also, we expect that contributors "
4423 "are interested in the whole project and not just in maintaining their own "
4424 "packages.  If you can help other maintainers by providing further "
4425 "information on a bug or even a patch, then do so!"
4426 msgstr ""
4427
4428 #. type: Content of: <chapter><section><para>
4429 #: new-maintainer.dbk:124
4430 msgid ""
4431 "Registration requires that you are familiar with Debian's philosophy and "
4432 "technical documentation.  Furthermore, you need a GnuPG key which has been "
4433 "signed by an existing Debian maintainer.  If your GnuPG key is not signed "
4434 "yet, you should try to meet a Debian Developer in person to get your key "
4435 "signed.  There's a <ulink url=\"&url-gpg-coord;\">GnuPG Key Signing "
4436 "Coordination page</ulink> which should help you find a Debian Developer "
4437 "close to you.  (If there is no Debian Developer close to you, alternative "
4438 "ways to pass the ID check may be permitted as an absolute exception on a "
4439 "case-by-case-basis.  See the <ulink url=\"&url-newmaint-id;\">identification "
4440 "page</ulink> for more information.)"
4441 msgstr ""
4442
4443 #. type: Content of: <chapter><section><para>
4444 #: new-maintainer.dbk:137
4445 msgid ""
4446 "If you do not have an OpenPGP key yet, generate one.  Every developer needs "
4447 "an OpenPGP key in order to sign and verify package uploads.  You should read "
4448 "the manual for the software you are using, since it has much important "
4449 "information which is critical to its security.  Many more security failures "
4450 "are due to human error than to software failure or high-powered spy "
4451 "techniques.  See <xref linkend=\"key-maint\"/> for more information on "
4452 "maintaining your public key."
4453 msgstr ""
4454
4455 #. type: Content of: <chapter><section><para>
4456 #: new-maintainer.dbk:145
4457 msgid ""
4458 "Debian uses the <literal>GNU Privacy Guard</literal> (package <systemitem "
4459 "role=\"package\">gnupg</systemitem> version 1 or better) as its baseline "
4460 "standard.  You can use some other implementation of OpenPGP as well.  Note "
4461 "that OpenPGP is an open standard based on <ulink url=\"&url-rfc2440;\">RFC "
4462 "2440</ulink>."
4463 msgstr ""
4464
4465 #. type: Content of: <chapter><section><para><footnote><para>
4466 #: new-maintainer.dbk:155
4467 msgid ""
4468 "Version 4 keys are keys conforming to the OpenPGP standard as defined in RFC "
4469 "2440.  Version 4 is the key type that has always been created when using "
4470 "GnuPG.  PGP versions since 5.x also could create v4 keys, the other choice "
4471 "having been pgp 2.6.x compatible v3 keys (also called legacy RSA by PGP)."
4472 msgstr ""
4473
4474 #. type: Content of: <chapter><section><para><footnote><para>
4475 #: new-maintainer.dbk:159
4476 msgid ""
4477 "Version 4 (primary) keys can either use the RSA or the DSA algorithms, so "
4478 "this has nothing to do with GnuPG's question about which kind of key do you "
4479 "want: (1) DSA and Elgamal, (2)  DSA (sign only), (5) RSA (sign only).  If "
4480 "you don't have any special requirements just pick the default."
4481 msgstr ""
4482
4483 #. type: Content of: <chapter><section><para><footnote><para>
4484 #: new-maintainer.dbk:163
4485 msgid ""
4486 "The easiest way to tell whether an existing key is a v4 key or a v3 (or v2) "
4487 "key is to look at the fingerprint: Fingerprints of version 4 keys are the "
4488 "SHA-1 hash of some key material, so they are 40 hex digits, usually grouped "
4489 "in blocks of 4.  Fingerprints of older key format versions used MD5 and are "
4490 "generally shown in blocks of 2 hex digits.  For example if your fingerprint "
4491 "looks like "
4492 "<literal>5B00 C96D 5D54 AEE1 206B  AF84 DE7A AF6E 94C0 9C7F</literal> then "
4493 "it's a v4 key."
4494 msgstr ""
4495
4496 #. type: Content of: <chapter><section><para><footnote><para>
4497 #: new-maintainer.dbk:170
4498 msgid ""
4499 "Another possibility is to pipe the key into <command>pgpdump</command>, "
4500 "which will say something like Public Key Packet - Ver 4."
4501 msgstr ""
4502
4503 #. type: Content of: <chapter><section><para><footnote><para>
4504 #: new-maintainer.dbk:172
4505 msgid ""
4506 "Also note that your key must be self-signed (i.e.  it has to sign all its "
4507 "own user IDs; this prevents user ID tampering).  All modern OpenPGP software "
4508 "does that automatically, but if you have an older key you may have to "
4509 "manually add those signatures."
4510 msgstr ""
4511
4512 #. type: Content of: <chapter><section><para>
4513 #: new-maintainer.dbk:152
4514 msgid ""
4515 "You need a version 4 key for use in Debian Development. <ulink "
4516 "url=\"http://lists.debian.org/20090520092534.GG22906@earth.li\">Your key "
4517 "length must be greater than 1024 bits</ulink>; there is no reason to use a "
4518 "smaller key, and doing so would be much less secure.<placeholder "
4519 "type=\"footnote\" id=\"0\"/>"
4520 msgstr ""
4521
4522 #. type: Content of: <chapter><section><para>
4523 #: new-maintainer.dbk:178
4524 msgid ""
4525 "If your public key isn't on a public key server such as &pgp-keyserv;, "
4526 "please read the documentation available at <ulink "
4527 "url=\"&url-newmaint-id;\">NM Step 2: Identification</ulink>.  That document "
4528 "contains instructions on how to put your key on the public key servers.  The "
4529 "New Maintainer Group will put your public key on the servers if it isn't "
4530 "already there."
4531 msgstr ""
4532
4533 #. type: Content of: <chapter><section><para>
4534 #: new-maintainer.dbk:186
4535 msgid ""
4536 "Some countries restrict the use of cryptographic software by their "
4537 "citizens.  This need not impede one's activities as a Debian package "
4538 "maintainer however, as it may be perfectly legal to use cryptographic "
4539 "products for authentication, rather than encryption purposes.  If you live "
4540 "in a country where use of cryptography even for authentication is forbidden "
4541 "then please contact us so we can make special arrangements."
4542 msgstr ""
4543
4544 #. type: Content of: <chapter><section><para>
4545 #: new-maintainer.dbk:194
4546 msgid ""
4547 "To apply as a new maintainer, you need an existing Debian Developer to "
4548 "support your application (an <literal>advocate</literal>).  After you have "
4549 "contributed to Debian for a while, and you want to apply to become a "
4550 "registered developer, an existing developer with whom you have worked over "
4551 "the past months has to express their belief that you can contribute to "
4552 "Debian successfully."
4553 msgstr ""
4554
4555 #. type: Content of: <chapter><section><para>
4556 #: new-maintainer.dbk:201
4557 msgid ""
4558 "When you have found an advocate, have your GnuPG key signed and have already "
4559 "contributed to Debian for a while, you're ready to apply.  You can simply "
4560 "register on our <ulink url=\"&url-newmaint-apply;\">application "
4561 "page</ulink>.  After you have signed up, your advocate has to confirm your "
4562 "application.  When your advocate has completed this step you will be "
4563 "assigned an Application Manager who will go with you through the necessary "
4564 "steps of the New Maintainer process.  You can always check your status on "
4565 "the <ulink url=\"&url-newmaint-db;\">applications status board</ulink>."
4566 msgstr ""
4567
4568 #. type: Content of: <chapter><section><para>
4569 #: new-maintainer.dbk:211
4570 msgid ""
4571 "For more details, please consult <ulink url=\"&url-newmaint;\">New "
4572 "Maintainer's Corner</ulink> at the Debian web site.  Make sure that you are "
4573 "familiar with the necessary steps of the New Maintainer process before "
4574 "actually applying.  If you are well prepared, you can save a lot of time "
4575 "later on."
4576 msgstr ""
4577
4578 #. type: Content of: <chapter><title>
4579 #: pkgs.dbk:7
4580 msgid "Managing Packages"
4581 msgstr ""
4582
4583 #. type: Content of: <chapter><para>
4584 #: pkgs.dbk:9
4585 msgid ""
4586 "This chapter contains information related to creating, uploading, "
4587 "maintaining, and porting packages."
4588 msgstr ""
4589
4590 #. type: Content of: <chapter><section><title>
4591 #: pkgs.dbk:13
4592 msgid "New packages"
4593 msgstr ""
4594
4595 #. type: Content of: <chapter><section><para>
4596 #: pkgs.dbk:15
4597 msgid ""
4598 "If you want to create a new package for the Debian distribution, you should "
4599 "first check the <ulink url=\"&url-wnpp;\">Work-Needing and Prospective "
4600 "Packages (WNPP)</ulink> list.  Checking the WNPP list ensures that no one is "
4601 "already working on packaging that software, and that effort is not "
4602 "duplicated.  Read the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink> for "
4603 "more information."
4604 msgstr ""
4605
4606 #. type: Content of: <chapter><section><para>
4607 #: pkgs.dbk:23
4608 msgid ""
4609 "Assuming no one else is already working on your prospective package, you "
4610 "must then submit a bug report (<xref linkend=\"submit-bug\"/>) against the "
4611 "pseudo-package <systemitem role=\"package\">wnpp</systemitem> describing "
4612 "your plan to create a new package, including, but not limiting yourself to, "
4613 "a description of the package, the license of the prospective package, and "
4614 "the current URL where it can be downloaded from."
4615 msgstr ""
4616
4617 #. type: Content of: <chapter><section><para>
4618 #: pkgs.dbk:31
4619 msgid ""
4620 "You should set the subject of the bug to <literal>ITP: "
4621 "<replaceable>foo</replaceable> -- <replaceable>short "
4622 "description</replaceable></literal>, substituting the name of the new "
4623 "package for <replaceable>foo</replaceable>.  The severity of the bug report "
4624 "must be set to <literal>wishlist</literal>.  Please send a copy to "
4625 "&email-debian-devel; by using the X-Debbugs-CC header (don't use CC:, "
4626 "because that way the message's subject won't indicate the bug number). If "
4627 "you are packaging so many new packages (>10)  that notifying the mailing "
4628 "list in separate messages is too disruptive, send a summary after filing the "
4629 "bugs to the debian-devel list instead.  This will inform the other "
4630 "developers about upcoming packages and will allow a review of your "
4631 "description and package name."
4632 msgstr ""
4633
4634 #. type: Content of: <chapter><section><para>
4635 #: pkgs.dbk:45
4636 msgid ""
4637 "Please include a <literal>Closes: "
4638 "#<replaceable>nnnnn</replaceable></literal> entry in the changelog of the "
4639 "new package in order for the bug report to be automatically closed once the "
4640 "new package is installed in the archive (see <xref "
4641 "linkend=\"upload-bugfix\"/>)."
4642 msgstr ""
4643
4644 #. type: Content of: <chapter><section><para>
4645 #: pkgs.dbk:51
4646 msgid ""
4647 "If you think your package needs some explanations for the administrators of "
4648 "the NEW package queue, include them in your changelog, send to "
4649 "&email-ftpmaster; a reply to the email you receive as a maintainer after "
4650 "your upload, or reply to the rejection email in case you are already "
4651 "re-uploading."
4652 msgstr ""
4653
4654 #. type: Content of: <chapter><section><para>
4655 #: pkgs.dbk:57
4656 msgid ""
4657 "When closing security bugs include CVE numbers as well as the "
4658 "<literal>Closes: #<replaceable>nnnnn</replaceable></literal>.  This is "
4659 "useful for the security team to track vulnerabilities.  If an upload is made "
4660 "to fix the bug before the advisory ID is known, it is encouraged to modify "
4661 "the historical changelog entry with the next upload.  Even in this case, "
4662 "please include all available pointers to background information in the "
4663 "original changelog entry."
4664 msgstr ""
4665
4666 #. type: Content of: <chapter><section><para>
4667 #: pkgs.dbk:66
4668 msgid ""
4669 "There are a number of reasons why we ask maintainers to announce their "
4670 "intentions:"
4671 msgstr ""
4672
4673 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4674 #: pkgs.dbk:72
4675 msgid ""
4676 "It helps the (potentially new) maintainer to tap into the experience of "
4677 "people on the list, and lets them know if anyone else is working on it "
4678 "already."
4679 msgstr ""
4680
4681 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4682 #: pkgs.dbk:78
4683 msgid ""
4684 "It lets other people thinking about working on the package know that there "
4685 "already is a volunteer, so efforts may be shared."
4686 msgstr ""
4687
4688 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4689 #: pkgs.dbk:84
4690 msgid ""
4691 "It lets the rest of the maintainers know more about the package than the one "
4692 "line description and the usual changelog entry ``Initial release'' that gets "
4693 "posted to &email-debian-devel-changes;."
4694 msgstr ""
4695
4696 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4697 #: pkgs.dbk:91
4698 msgid ""
4699 "It is helpful to the people who live off <literal>unstable</literal> (and "
4700 "form our first line of testers).  We should encourage these people."
4701 msgstr ""
4702
4703 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4704 #: pkgs.dbk:97
4705 msgid ""
4706 "The announcements give maintainers and other interested parties a better "
4707 "feel of what is going on, and what is new, in the project."
4708 msgstr ""
4709
4710 #. type: Content of: <chapter><section><para>
4711 #: pkgs.dbk:103
4712 msgid ""
4713 "Please see <ulink url=\"http://&ftp-master-host;/REJECT-FAQ.html\"></ulink> "
4714 "for common rejection reasons for a new package."
4715 msgstr ""
4716
4717 #. type: Content of: <chapter><section><title>
4718 #: pkgs.dbk:109
4719 msgid "Recording changes in the package"
4720 msgstr ""
4721
4722 #. type: Content of: <chapter><section><para>
4723 #: pkgs.dbk:111
4724 msgid ""
4725 "Changes that you make to the package need to be recorded in the "
4726 "<filename>debian/changelog</filename>.  These changes should provide a "
4727 "concise description of what was changed, why (if it's in doubt), and note if "
4728 "any bugs were closed.  They also record when the package was completed.  "
4729 "This file will be installed in "
4730 "<filename>/usr/share/doc/<replaceable>package</replaceable>/changelog.Debian.gz</filename>, "
4731 "or "
4732 "<filename>/usr/share/doc/<replaceable>package</replaceable>/changelog.gz</filename> "
4733 "for native packages."
4734 msgstr ""
4735
4736 #. type: Content of: <chapter><section><para>
4737 #: pkgs.dbk:122
4738 msgid ""
4739 "The <filename>debian/changelog</filename> file conforms to a certain "
4740 "structure, with a number of different fields.  One field of note, the "
4741 "<literal>distribution</literal>, is described in <xref "
4742 "linkend=\"distribution\"/>.  More information about the structure of this "
4743 "file can be found in the Debian Policy section titled "
4744 "<filename>debian/changelog</filename>."
4745 msgstr ""
4746
4747 #. type: Content of: <chapter><section><para>
4748 #: pkgs.dbk:130
4749 msgid ""
4750 "Changelog entries can be used to automatically close Debian bugs when the "
4751 "package is installed into the archive.  See <xref "
4752 "linkend=\"upload-bugfix\"/>."
4753 msgstr ""
4754
4755 #. type: Content of: <chapter><section><para>
4756 #: pkgs.dbk:134
4757 msgid ""
4758 "It is conventional that the changelog entry of a package that contains a new "
4759 "upstream version of the software looks like this:"
4760 msgstr ""
4761
4762 #. type: Content of: <chapter><section><screen>
4763 #: pkgs.dbk:138
4764 #, no-wrap
4765 msgid "  * New upstream release.\n"
4766 msgstr ""
4767
4768 #. type: Content of: <chapter><section><para>
4769 #: pkgs.dbk:141
4770 msgid ""
4771 "There are tools to help you create entries and finalize the "
4772 "<filename>changelog</filename> for release — see <xref "
4773 "linkend=\"devscripts\"/> and <xref linkend=\"dpkg-dev-el\"/>."
4774 msgstr ""
4775
4776 #. type: Content of: <chapter><section><para>
4777 #: pkgs.dbk:146
4778 msgid "See also <xref linkend=\"bpp-debian-changelog\"/>."
4779 msgstr ""
4780
4781 #. type: Content of: <chapter><section><title>
4782 #: pkgs.dbk:151
4783 msgid "Testing the package"
4784 msgstr ""
4785
4786 #. type: Content of: <chapter><section><para>
4787 #: pkgs.dbk:153
4788 msgid ""
4789 "Before you upload your package, you should do basic testing on it.  At a "
4790 "minimum, you should try the following activities (you'll need to have an "
4791 "older version of the same Debian package around):"
4792 msgstr ""
4793
4794 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4795 #: pkgs.dbk:160
4796 msgid ""
4797 "Install the package and make sure the software works, or upgrade the package "
4798 "from an older version to your new version if a Debian package for it already "
4799 "exists."
4800 msgstr ""
4801
4802 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4803 #: pkgs.dbk:167
4804 msgid ""
4805 "Run <command>lintian</command> over the package.  You can run "
4806 "<command>lintian</command> as follows: <literal>lintian -v "
4807 "<replaceable>package-version</replaceable>.changes</literal>.  This will "
4808 "check the source package as well as the binary package.  If you don't "
4809 "understand the output that <command>lintian</command> generates, try adding "
4810 "the <literal>-i</literal> switch, which will cause "
4811 "<command>lintian</command> to output a very verbose description of the "
4812 "problem."
4813 msgstr ""
4814
4815 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4816 #: pkgs.dbk:176
4817 msgid ""
4818 "Normally, a package should <emphasis>not</emphasis> be uploaded if it causes "
4819 "<command>lintian</command> to emit errors (they will start with "
4820 "<literal>E</literal>)."
4821 msgstr ""
4822
4823 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4824 #: pkgs.dbk:180
4825 msgid ""
4826 "For more information on <command>lintian</command>, see <xref "
4827 "linkend=\"lintian\"/>."
4828 msgstr ""
4829
4830 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4831 #: pkgs.dbk:186
4832 msgid ""
4833 "Optionally run <command>debdiff</command> (see <xref linkend=\"debdiff\"/>) "
4834 "to analyze changes from an older version, if one exists."
4835 msgstr ""
4836
4837 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4838 #: pkgs.dbk:192
4839 msgid ""
4840 "Downgrade the package to the previous version (if one exists) — this tests "
4841 "the <filename>postrm</filename> and <filename>prerm</filename> scripts."
4842 msgstr ""
4843
4844 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4845 #: pkgs.dbk:198
4846 msgid "Remove the package, then reinstall it."
4847 msgstr ""
4848
4849 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4850 #: pkgs.dbk:203
4851 msgid ""
4852 "Copy the source package in a different directory and try unpacking it and "
4853 "rebuilding it.  This tests if the package relies on existing files outside "
4854 "of it, or if it relies on permissions being preserved on the files shipped "
4855 "inside the <filename>.diff.gz</filename> file."
4856 msgstr ""
4857
4858 #. type: Content of: <chapter><section><title>
4859 #: pkgs.dbk:213
4860 msgid "Layout of the source package"
4861 msgstr ""
4862
4863 #. type: Content of: <chapter><section><para>
4864 #: pkgs.dbk:215
4865 msgid "There are two types of Debian source packages:"
4866 msgstr ""
4867
4868 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4869 #: pkgs.dbk:220
4870 msgid ""
4871 "the so-called <literal>native</literal> packages, where there is no "
4872 "distinction between the original sources and the patches applied for Debian"
4873 msgstr ""
4874
4875 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
4876 #: pkgs.dbk:226
4877 msgid ""
4878 "the (more common) packages where there's an original source tarball file "
4879 "accompanied by another file that contains the changes made by Debian"
4880 msgstr ""
4881
4882 #. type: Content of: <chapter><section><para>
4883 #: pkgs.dbk:232
4884 msgid ""
4885 "For the native packages, the source package includes a Debian source control "
4886 "file (<filename>.dsc</filename>) and the source tarball "
4887 "(<filename>.tar.{gz,bz2,xz}</filename>). A source package of a non-native "
4888 "package includes a Debian source control file, the original source tarball "
4889 "(<filename>.orig.tar.{gz,bz2,xz}</filename>) and the Debian changes "
4890 "(<filename>.diff.gz</filename> for the source format “1.0” or "
4891 "<filename>.debian.tar.{gz,bz2,xz}</filename> for the source format “3.0 "
4892 "(quilt)”)."
4893 msgstr ""
4894
4895 #. type: Content of: <chapter><section><para>
4896 #: pkgs.dbk:241
4897 msgid ""
4898 "With source format “1.0”, whether a package is native or not was determined "
4899 "by <command>dpkg-source</command> at build time. Nowadays it is recommended "
4900 "to be explicit about the desired source format by putting either “3.0 "
4901 "(quilt)” or “3.0 (native)” in <filename>debian/source/format</filename>.  "
4902 "The rest of this section relates only to non-native packages."
4903 msgstr ""
4904
4905 #. type: Content of: <chapter><section><para>
4906 #: pkgs.dbk:248
4907 msgid ""
4908 "The first time a version is uploaded which corresponds to a particular "
4909 "upstream version, the original source tar file should be uploaded and "
4910 "included in the <filename>.changes</filename> file.  Subsequently, this very "
4911 "same tar file should be used to build the new diffs and "
4912 "<filename>.dsc</filename> files, and will not need to be re-uploaded."
4913 msgstr ""
4914
4915 #. type: Content of: <chapter><section><para>
4916 #: pkgs.dbk:255
4917 msgid ""
4918 "By default, <command>dpkg-genchanges</command> and "
4919 "<command>dpkg-buildpackage</command> will include the original source tar "
4920 "file if and only if the current changelog entry has a different upstream "
4921 "version from the preceding entry. This behavior may be modified by using "
4922 "<literal>-sa</literal> to always include it or <literal>-sd</literal> to "
4923 "always leave it out."
4924 msgstr ""
4925
4926 #. type: Content of: <chapter><section><para>
4927 #: pkgs.dbk:263
4928 msgid ""
4929 "If no original source is included in the upload, the original source "
4930 "tar-file used by <command>dpkg-source</command> when constructing the "
4931 "<filename>.dsc</filename> file and diff to be uploaded "
4932 "<emphasis>must</emphasis> be byte-for-byte identical with the one already in "
4933 "the archive."
4934 msgstr ""
4935
4936 #. type: Content of: <chapter><section><para>
4937 #: pkgs.dbk:270
4938 msgid ""
4939 "Please notice that, in non-native packages, permissions on files that are "
4940 "not present in the <filename>*.orig.tar.{gz,bz2,xz}</filename> will not be "
4941 "preserved, as diff does not store file permissions in the patch. However "
4942 "when using source format “3.0 (quilt)”, permissions of files inside the "
4943 "<filename>debian</filename> directory are preserved since they are stored in "
4944 "a tar archive."
4945 msgstr ""
4946
4947 #. type: Content of: <chapter><section><title>
4948 #: pkgs.dbk:279
4949 msgid "Picking a distribution"
4950 msgstr ""
4951
4952 #. type: Content of: <chapter><section><para>
4953 #: pkgs.dbk:281
4954 msgid ""
4955 "Each upload needs to specify which distribution the package is intended "
4956 "for.  The package build process extracts this information from the first "
4957 "line of the <filename>debian/changelog</filename> file and places it in the "
4958 "<literal>Distribution</literal> field of the <filename>.changes</filename> "
4959 "file."
4960 msgstr ""
4961
4962 #. type: Content of: <chapter><section><para>
4963 #: pkgs.dbk:287
4964 msgid ""
4965 "There are several possible values for this field: <literal>stable</literal>, "
4966 "<literal>unstable</literal>, <literal>testing-proposed-updates</literal> and "
4967 "<literal>experimental</literal>.  Normally, packages are uploaded into "
4968 "<literal>unstable</literal>."
4969 msgstr ""
4970
4971 #. type: Content of: <chapter><section><para>
4972 #: pkgs.dbk:293
4973 msgid ""
4974 "Actually, there are other possible distributions: "
4975 "<replaceable>codename</replaceable><literal>-security</literal>, but read "
4976 "<xref linkend=\"bug-security\"/> for more information on those."
4977 msgstr ""
4978
4979 #. type: Content of: <chapter><section><para>
4980 #: pkgs.dbk:298
4981 msgid ""
4982 "It is not possible to upload a package into several distributions at the "
4983 "same time."
4984 msgstr ""
4985
4986 #. type: Content of: <chapter><section><section><title>
4987 #: pkgs.dbk:302
4988 msgid ""
4989 "Special case: uploads to the <literal>stable</literal> and "
4990 "<literal>oldstable</literal> distributions"
4991 msgstr ""
4992
4993 #. type: Content of: <chapter><section><section><para>
4994 #: pkgs.dbk:305
4995 msgid ""
4996 "Uploading to <literal>stable</literal> means that the package will "
4997 "transferred to the <literal>proposed-updates-new</literal> queue for review "
4998 "by the stable release managers, and if approved will be installed in "
4999 "<filename>stable-proposed-updates</filename> directory of the Debian "
5000 "archive.  From there, it will be included in <literal>stable</literal> with "
5001 "the next point release."
5002 msgstr ""
5003
5004 #. type: Content of: <chapter><section><section><para>
5005 #: pkgs.dbk:313
5006 msgid ""
5007 "To ensure that your upload will be accepted, you should discuss the changes "
5008 "with the stable release team before you upload. For that, file a bug against "
5009 "the <systemitem role=\"package\">release.debian.org</systemitem> "
5010 "pseudo-package using <command>reportbug</command>, including the patch you "
5011 "want to apply to the package version currently in "
5012 "<literal>stable</literal>. Always be verbose and detailed in your changelog "
5013 "entries for uploads to the <literal>stable</literal> distribution."
5014 msgstr ""
5015
5016 #. type: Content of: <chapter><section><section><para>
5017 #: pkgs.dbk:322
5018 msgid ""
5019 "Extra care should be taken when uploading to <literal>stable</literal>.  "
5020 "Basically, a package should only be uploaded to <literal>stable</literal> if "
5021 "one of the following happens:"
5022 msgstr ""
5023
5024 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5025 #: pkgs.dbk:329
5026 msgid "a truly critical functionality problem"
5027 msgstr ""
5028
5029 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5030 #: pkgs.dbk:334
5031 msgid "the package becomes uninstallable"
5032 msgstr ""
5033
5034 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5035 #: pkgs.dbk:339
5036 msgid "a released architecture lacks the package"
5037 msgstr ""
5038
5039 #. type: Content of: <chapter><section><section><para>
5040 #: pkgs.dbk:344
5041 msgid ""
5042 "In the past, uploads to <literal>stable</literal> were used to address "
5043 "security problems as well.  However, this practice is deprecated, as uploads "
5044 "used for Debian security advisories are automatically copied to the "
5045 "appropriate <filename>proposed-updates</filename> archive when the advisory "
5046 "is released.  See <xref linkend=\"bug-security\"/> for detailed information "
5047 "on handling security problems. If the security teams deems the problem to be "
5048 "too benign to be fixed through a <literal>DSA</literal>, the stable release "
5049 "managers are usually willing to include your fix nonetheless in a regular "
5050 "upload to <literal>stable</literal>."
5051 msgstr ""
5052
5053 #. type: Content of: <chapter><section><section><para>
5054 #: pkgs.dbk:355
5055 msgid ""
5056 "Changing anything else in the package that isn't important is discouraged, "
5057 "because even trivial fixes can cause bugs later on."
5058 msgstr ""
5059
5060 #. type: Content of: <chapter><section><section><para>
5061 #: pkgs.dbk:359
5062 msgid ""
5063 "Packages uploaded to <literal>stable</literal> need to be compiled on "
5064 "systems running <literal>stable</literal>, so that their dependencies are "
5065 "limited to the libraries (and other packages) available in "
5066 "<literal>stable</literal>; for example, a package uploaded to "
5067 "<literal>stable</literal> that depends on a library package that only exists "
5068 "in <literal>unstable</literal> will be rejected.  Making changes to "
5069 "dependencies of other packages (by messing with <literal>Provides</literal> "
5070 "or <filename>shlibs</filename> files), possibly making those other packages "
5071 "uninstallable, is strongly discouraged."
5072 msgstr ""
5073
5074 #. type: Content of: <chapter><section><section><para>
5075 #: pkgs.dbk:369
5076 msgid ""
5077 "Uploads to the <literal>oldstable</literal> distributions are possible as "
5078 "long as it hasn't been archived. The same rules as for "
5079 "<literal>stable</literal> apply."
5080 msgstr ""
5081
5082 #. type: Content of: <chapter><section><section><title>
5083 #: pkgs.dbk:376
5084 msgid "Special case: uploads to <literal>testing/testing-proposed-updates</literal>"
5085 msgstr ""
5086
5087 #. type: Content of: <chapter><section><section><para>
5088 #: pkgs.dbk:378
5089 msgid ""
5090 "Please see the information in the <link linkend=\"t-p-u\">testing "
5091 "section</link> for details."
5092 msgstr ""
5093
5094 #. type: Content of: <chapter><section><title>
5095 #: pkgs.dbk:386
5096 msgid "Uploading a package"
5097 msgstr ""
5098
5099 #. type: Content of: <chapter><section><section><title>
5100 #: pkgs.dbk:388
5101 msgid "Uploading to <literal>ftp-master</literal>"
5102 msgstr ""
5103
5104 #. type: Content of: <chapter><section><section><para>
5105 #: pkgs.dbk:390
5106 msgid ""
5107 "To upload a package, you should upload the files (including the signed "
5108 "changes and dsc-file) with anonymous ftp to "
5109 "<literal>&ftp-upload-host;</literal> in the directory <ulink "
5110 "url=\"ftp://&ftp-upload-host;&upload-queue;\">&upload-queue;</ulink>.  To "
5111 "get the files processed there, they need to be signed with a key in the "
5112 "Debian Developers keyring or the Debian Maintainers keyring (see <ulink "
5113 "url=\"&url-wiki-dm;\"></ulink>)."
5114 msgstr ""
5115
5116 #. type: Content of: <chapter><section><section><para>
5117 #: pkgs.dbk:399
5118 msgid ""
5119 "Please note that you should transfer the changes file last.  Otherwise, your "
5120 "upload may be rejected because the archive maintenance software will parse "
5121 "the changes file and see that not all files have been uploaded."
5122 msgstr ""
5123
5124 #. type: Content of: <chapter><section><section><para>
5125 #: pkgs.dbk:404
5126 msgid ""
5127 "You may also find the Debian packages <link "
5128 "linkend=\"dupload\">dupload</link> or <link linkend=\"dput\">dput</link> "
5129 "useful when uploading packages.These handy programs help automate the "
5130 "process of uploading packages into Debian."
5131 msgstr ""
5132
5133 #. type: Content of: <chapter><section><section><para>
5134 #: pkgs.dbk:409
5135 msgid ""
5136 "For removing packages, please see <ulink "
5137 "url=\"ftp://&ftp-upload-host;&upload-queue;README\"/> and the Debian package "
5138 "<link linkend=\"dcut\">dcut</link>."
5139 msgstr ""
5140
5141 #. type: Content of: <chapter><section><section><title>
5142 #: pkgs.dbk:416
5143 msgid "Delayed uploads"
5144 msgstr ""
5145
5146 #. type: Content of: <chapter><section><section><para>
5147 #: pkgs.dbk:419
5148 msgid ""
5149 "It is sometimes useful to upload a package immediately, but to want this "
5150 "package to arrive in the archive only a few days later. For example, when "
5151 "preparing a <link linkend=\"nmu\">Non-Maintainer Upload</link>, you might "
5152 "want to give the maintainer a few days to react."
5153 msgstr ""
5154
5155 #. type: Content of: <chapter><section><section><para>
5156 #: pkgs.dbk:426
5157 msgid ""
5158 "An upload to the delayed directory keeps the package in <ulink "
5159 "url=\"http://ftp-master.debian.org/deferred.html\">the deferred uploads "
5160 "queue</ulink>.  When the specified waiting time is over, the package is "
5161 "moved into the regular incoming directory for processing.  This is done "
5162 "through automatic uploading to <literal>&ftp-upload-host;</literal> in "
5163 "upload-directory <literal>DELAYED/<replaceable>X</replaceable>-day</literal> "
5164 "(<replaceable>X</replaceable> between 0 and 15). 0-day is uploaded multiple "
5165 "times per day to <literal>&ftp-upload-host;</literal>."
5166 msgstr ""
5167
5168 #. type: Content of: <chapter><section><section><para>
5169 #: pkgs.dbk:437
5170 msgid ""
5171 "With dput, you can use the <literal>--delayed "
5172 "<replaceable>DELAY</replaceable></literal> parameter to put the package into "
5173 "one of the queues."
5174 msgstr ""
5175
5176 #. type: Content of: <chapter><section><section><title>
5177 #: pkgs.dbk:443
5178 msgid "Security uploads"
5179 msgstr ""
5180
5181 #. type: Content of: <chapter><section><section><para>
5182 #: pkgs.dbk:445
5183 msgid ""
5184 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
5185 "upload queue (on <literal>security-master.debian.org</literal>)  without "
5186 "prior authorization from the security team.  If the package does not exactly "
5187 "meet the team's requirements, it will cause many problems and delays in "
5188 "dealing with the unwanted upload.  For details, please see <xref "
5189 "linkend=\"bug-security\"/>."
5190 msgstr ""
5191
5192 #. type: Content of: <chapter><section><section><title>
5193 #: pkgs.dbk:455
5194 msgid "Other upload queues"
5195 msgstr ""
5196
5197 #. type: Content of: <chapter><section><section><para>
5198 #: pkgs.dbk:457
5199 msgid ""
5200 "There is an alternative upload queue in Europe at <ulink "
5201 "url=\"ftp://&ftp-eu-upload-host;&upload-queue;\"/>. It operates in the same "
5202 "way as <literal>&ftp-upload-host;</literal>, but should be faster for "
5203 "European developers."
5204 msgstr ""
5205
5206 #. type: Content of: <chapter><section><section><para>
5207 #: pkgs.dbk:463
5208 msgid ""
5209 "Packages can also be uploaded via ssh to "
5210 "<literal>&ssh-upload-host;</literal>; files should be put "
5211 "<literal>/srv/upload.debian.org/UploadQueue</literal>. This queue does not "
5212 "support <link linkend=\"delayed-incoming\">delayed uploads</link>."
5213 msgstr ""
5214
5215 #. type: Content of: <chapter><section><section><title>
5216 #: pkgs.dbk:471
5217 msgid "Notification that a new package has been installed"
5218 msgstr ""
5219
5220 #. type: Content of: <chapter><section><section><para>
5221 #: pkgs.dbk:473
5222 msgid ""
5223 "The Debian archive maintainers are responsible for handling package "
5224 "uploads.  For the most part, uploads are automatically handled on a daily "
5225 "basis by the archive maintenance tools, <command>dak "
5226 "process-upload</command>. Specifically, updates to existing packages to the "
5227 "<literal>unstable</literal> distribution are handled automatically. In other "
5228 "cases, notably new packages, placing the uploaded package into the "
5229 "distribution is handled manually. When uploads are handled manually, the "
5230 "change to the archive may take some time to occur. Please be patient."
5231 msgstr ""
5232
5233 #. type: Content of: <chapter><section><section><para>
5234 #: pkgs.dbk:483
5235 msgid ""
5236 "In any case, you will receive an email notification indicating that the "
5237 "package has been added to the archive, which also indicates which bugs will "
5238 "be closed by the upload.  Please examine this notification carefully, "
5239 "checking if any bugs you meant to close didn't get triggered."
5240 msgstr ""
5241
5242 #. type: Content of: <chapter><section><section><para>
5243 #: pkgs.dbk:489
5244 msgid ""
5245 "The installation notification also includes information on what section the "
5246 "package was inserted into.  If there is a disparity, you will receive a "
5247 "separate email notifying you of that.  Read on below."
5248 msgstr ""
5249
5250 #. type: Content of: <chapter><section><section><para>
5251 #: pkgs.dbk:494
5252 msgid ""
5253 "Note that if you upload via queues, the queue daemon software will also send "
5254 "you a notification by email."
5255 msgstr ""
5256
5257 #. type: Content of: <chapter><section><title>
5258 #: pkgs.dbk:502
5259 msgid "Specifying the package section, subsection and priority"
5260 msgstr ""
5261
5262 #. type: Content of: <chapter><section><para>
5263 #: pkgs.dbk:504
5264 msgid ""
5265 "The <filename>debian/control</filename> file's <literal>Section</literal> "
5266 "and <literal>Priority</literal> fields do not actually specify where the "
5267 "file will be placed in the archive, nor its priority.  In order to retain "
5268 "the overall integrity of the archive, it is the archive maintainers who have "
5269 "control over these fields.  The values in the "
5270 "<filename>debian/control</filename> file are actually just hints."
5271 msgstr ""
5272
5273 #. type: Content of: <chapter><section><para>
5274 #: pkgs.dbk:512
5275 msgid ""
5276 "The archive maintainers keep track of the canonical sections and priorities "
5277 "for packages in the <literal>override file</literal>.  If there is a "
5278 "disparity between the <literal>override file</literal> and the package's "
5279 "fields as indicated in <filename>debian/control</filename>, then you will "
5280 "receive an email noting the divergence when the package is installed into "
5281 "the archive.  You can either correct your "
5282 "<filename>debian/control</filename> file for your next upload, or else you "
5283 "may wish to make a change in the <literal>override file</literal>."
5284 msgstr ""
5285
5286 #. type: Content of: <chapter><section><para>
5287 #: pkgs.dbk:522
5288 msgid ""
5289 "To alter the actual section that a package is put in, you need to first make "
5290 "sure that the <filename>debian/control</filename> file in your package is "
5291 "accurate.  Next, submit a bug against <systemitem "
5292 "role=\"package\">ftp.debian.org</systemitem> requesting that the section or "
5293 "priority for your package be changed from the old section or priority to the "
5294 "new one. Use a Subject like <literal>override: PACKAGE1:section/priority, "
5295 "[...], PACKAGEX:section/priority</literal>, and include the justification "
5296 "for the change in the body of the bug report."
5297 msgstr ""
5298
5299 #. type: Content of: <chapter><section><para>
5300 #: pkgs.dbk:533
5301 msgid ""
5302 "For more information about <literal>override files</literal>, see "
5303 "<citerefentry> <refentrytitle>dpkg-scanpackages</refentrytitle> "
5304 "<manvolnum>1</manvolnum> </citerefentry> and <ulink "
5305 "url=\"&url-bts-devel;#maintincorrect\"></ulink>."
5306 msgstr ""
5307
5308 #. type: Content of: <chapter><section><para>
5309 #: pkgs.dbk:539
5310 msgid ""
5311 "Note that the <literal>Section</literal> field describes both the section as "
5312 "well as the subsection, which are described in <xref "
5313 "linkend=\"archive-sections\"/>.  If the section is main, it should be "
5314 "omitted.  The list of allowable subsections can be found in <ulink "
5315 "url=\"&url-debian-policy;ch-archive.html#s-subsections\"></ulink>."
5316 msgstr ""
5317
5318 #. type: Content of: <chapter><section><title>
5319 #: pkgs.dbk:548
5320 msgid "Handling bugs"
5321 msgstr ""
5322
5323 #. type: Content of: <chapter><section><para>
5324 #: pkgs.dbk:550
5325 msgid ""
5326 "Every developer has to be able to work with the Debian <ulink "
5327 "url=\"&url-bts;\">bug tracking system</ulink>.  This includes knowing how to "
5328 "file bug reports properly (see <xref linkend=\"submit-bug\"/>), how to "
5329 "update them and reorder them, and how to process and close them."
5330 msgstr ""
5331
5332 #. type: Content of: <chapter><section><para>
5333 #: pkgs.dbk:556
5334 msgid ""
5335 "The bug tracking system's features are described in the <ulink "
5336 "url=\"&url-bts-devel;\">BTS documentation for developers</ulink>.  This "
5337 "includes closing bugs, sending followup messages, assigning severities and "
5338 "tags, marking bugs as forwarded, and other issues."
5339 msgstr ""
5340
5341 #. type: Content of: <chapter><section><para>
5342 #: pkgs.dbk:562
5343 msgid ""
5344 "Operations such as reassigning bugs to other packages, merging separate bug "
5345 "reports about the same issue, or reopening bugs when they are prematurely "
5346 "closed, are handled using the so-called control mail server.  All of the "
5347 "commands available on this server are described in the <ulink "
5348 "url=\"&url-bts-control;\">BTS control server documentation</ulink>."
5349 msgstr ""
5350
5351 #. type: Content of: <chapter><section><section><title>
5352 #: pkgs.dbk:570
5353 msgid "Monitoring bugs"
5354 msgstr ""
5355
5356 #. type: Content of: <chapter><section><section><para>
5357 #: pkgs.dbk:572
5358 msgid ""
5359 "If you want to be a good maintainer, you should periodically check the "
5360 "<ulink url=\"&url-bts;\">Debian bug tracking system (BTS)</ulink> for your "
5361 "packages.  The BTS contains all the open bugs against your packages.  You "
5362 "can check them by browsing this page: "
5363 "<literal>http://&bugs-host;/<replaceable>yourlogin</replaceable>@debian.org</literal>."
5364 msgstr ""
5365
5366 #. type: Content of: <chapter><section><section><para>
5367 #: pkgs.dbk:579
5368 msgid ""
5369 "Maintainers interact with the BTS via email addresses at "
5370 "<literal>&bugs-host;</literal>.  Documentation on available commands can be "
5371 "found at <ulink url=\"&url-bts;\"></ulink>, or, if you have installed the "
5372 "<systemitem role=\"package\">doc-debian</systemitem> package, you can look "
5373 "at the local files &file-bts-docs;."
5374 msgstr ""
5375
5376 #. type: Content of: <chapter><section><section><para>
5377 #: pkgs.dbk:586
5378 msgid ""
5379 "Some find it useful to get periodic reports on open bugs.  You can add a "
5380 "cron job such as the following if you want to get a weekly email outlining "
5381 "all the open bugs against your packages:"
5382 msgstr ""
5383
5384 #. type: Content of: <chapter><section><section><screen>
5385 #: pkgs.dbk:591
5386 #, no-wrap
5387 msgid ""
5388 "# ask for weekly reports of bugs in my packages\n"
5389 "&cron-bug-report;\n"
5390 msgstr ""
5391
5392 #. type: Content of: <chapter><section><section><para>
5393 #: pkgs.dbk:595
5394 msgid ""
5395 "Replace <replaceable>address</replaceable> with your official Debian "
5396 "maintainer address."
5397 msgstr ""
5398
5399 #. type: Content of: <chapter><section><section><title>
5400 #: pkgs.dbk:601
5401 msgid "Responding to bugs"
5402 msgstr ""
5403
5404 #. type: Content of: <chapter><section><section><para>
5405 #: pkgs.dbk:603
5406 msgid ""
5407 "When responding to bugs, make sure that any discussion you have about bugs "
5408 "is sent both to the original submitter of the bug, and to the bug itself "
5409 "(e.g., <email><replaceable>123</replaceable>@&bugs-host;</email>).  If "
5410 "you're writing a new mail and you don't remember the submitter email "
5411 "address, you can use the "
5412 "<email><replaceable>123</replaceable>-submitter@&bugs-host;</email> email to "
5413 "contact the submitter <emphasis>and</emphasis> to record your mail within "
5414 "the bug log (that means you don't need to send a copy of the mail to "
5415 "<email><replaceable>123</replaceable>@&bugs-host;</email>)."
5416 msgstr ""
5417
5418 #. type: Content of: <chapter><section><section><para>
5419 #: pkgs.dbk:612
5420 msgid ""
5421 "If you get a bug which mentions FTBFS, this means Fails to build from "
5422 "source.  Porters frequently use this acronym."
5423 msgstr ""
5424
5425 #. type: Content of: <chapter><section><section><para>
5426 #: pkgs.dbk:616
5427 msgid ""
5428 "Once you've dealt with a bug report (e.g.  fixed it), mark it as "
5429 "<literal>done</literal> (close it) by sending an explanation message to "
5430 "<email><replaceable>123</replaceable>-done@&bugs-host;</email>.  If you're "
5431 "fixing a bug by changing and uploading the package, you can automate bug "
5432 "closing as described in <xref linkend=\"upload-bugfix\"/>."
5433 msgstr ""
5434
5435 #. type: Content of: <chapter><section><section><para>
5436 #: pkgs.dbk:623
5437 msgid ""
5438 "You should <emphasis>never</emphasis> close bugs via the bug server "
5439 "<literal>close</literal> command sent to &email-bts-control;.  If you do so, "
5440 "the original submitter will not receive any information about why the bug "
5441 "was closed."
5442 msgstr ""
5443
5444 #. type: Content of: <chapter><section><section><title>
5445 #: pkgs.dbk:631
5446 msgid "Bug housekeeping"
5447 msgstr ""
5448
5449 #. type: Content of: <chapter><section><section><para>
5450 #: pkgs.dbk:633
5451 msgid ""
5452 "As a package maintainer, you will often find bugs in other packages or have "
5453 "bugs reported against your packages which are actually bugs in other "
5454 "packages.  The bug tracking system's features are described in the <ulink "
5455 "url=\"&url-bts-devel;\">BTS documentation for Debian developers</ulink>.  "
5456 "Operations such as reassigning, merging, and tagging bug reports are "
5457 "described in the <ulink url=\"&url-bts-control;\">BTS control server "
5458 "documentation</ulink>.  This section contains some guidelines for managing "
5459 "your own bugs, based on the collective Debian developer experience."
5460 msgstr ""
5461
5462 #. type: Content of: <chapter><section><section><para>
5463 #: pkgs.dbk:644
5464 msgid ""
5465 "Filing bugs for problems that you find in other packages is one of the civic "
5466 "obligations of maintainership, see <xref linkend=\"submit-bug\"/> for "
5467 "details.  However, handling the bugs in your own packages is even more "
5468 "important."
5469 msgstr ""
5470
5471 #. type: Content of: <chapter><section><section><para>
5472 #: pkgs.dbk:649
5473 msgid "Here's a list of steps that you may follow to handle a bug report:"
5474 msgstr ""
5475
5476 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5477 #: pkgs.dbk:654
5478 msgid ""
5479 "Decide whether the report corresponds to a real bug or not.  Sometimes users "
5480 "are just calling a program in the wrong way because they haven't read the "
5481 "documentation.  If you diagnose this, just close the bug with enough "
5482 "information to let the user correct their problem (give pointers to the good "
5483 "documentation and so on).  If the same report comes up again and again you "
5484 "may ask yourself if the documentation is good enough or if the program "
5485 "shouldn't detect its misuse in order to give an informative error message.  "
5486 "This is an issue that may need to be brought up with the upstream author."
5487 msgstr ""
5488
5489 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5490 #: pkgs.dbk:664
5491 msgid ""
5492 "If the bug submitter disagrees with your decision to close the bug, they may "
5493 "reopen it until you find an agreement on how to handle it.  If you don't "
5494 "find any, you may want to tag the bug <literal>wontfix</literal> to let "
5495 "people know that the bug exists but that it won't be corrected.  If this "
5496 "situation is unacceptable, you (or the submitter) may want to require a "
5497 "decision of the technical committee by reassigning the bug to <systemitem "
5498 "role=\"package\">tech-ctte</systemitem> (you may use the clone command of "
5499 "the BTS if you wish to keep it reported against your package).  Before doing "
5500 "so, please read the <ulink url=\"&url-tech-ctte;\">recommended "
5501 "procedure</ulink>."
5502 msgstr ""
5503
5504 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5505 #: pkgs.dbk:678
5506 msgid ""
5507 "If the bug is real but it's caused by another package, just reassign the bug "
5508 "to the right package.  If you don't know which package it should be "
5509 "reassigned to, you should ask for help on <link "
5510 "linkend=\"irc-channels\">IRC</link> or on &email-debian-devel;.  Please "
5511 "inform the maintainer(s) of the package you reassign the bug to, for example "
5512 "by Cc:ing the message that does the reassign to "
5513 "<email><replaceable>packagename</replaceable>@packages.debian.org</email> "
5514 "and explaining your reasons in that mail. Please note that a simple "
5515 "reassignment is <emphasis>not</emphasis> e-mailed to the maintainers of the "
5516 "package being reassigned to, so they won't know about it until they look at "
5517 "a bug overview for their packages."
5518 msgstr ""
5519
5520 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5521 #: pkgs.dbk:690
5522 msgid ""
5523 "If the bug affects the operation of your package, please consider cloning "
5524 "the bug and reassigning the clone to the package that really causes the "
5525 "behavior. Otherwise, the bug will not be shown in your package's bug list, "
5526 "possibly causing users to report the same bug over and over again. You "
5527 "should block \"your\" bug with the reassigned, cloned bug to document the "
5528 "relationship."
5529 msgstr ""
5530
5531 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5532 #: pkgs.dbk:700
5533 msgid ""
5534 "Sometimes you also have to adjust the severity of the bug so that it matches "
5535 "our definition of the severity.  That's because people tend to inflate the "
5536 "severity of bugs to make sure their bugs are fixed quickly.  Some bugs may "
5537 "even be dropped to wishlist severity when the requested change is just "
5538 "cosmetic."
5539 msgstr ""
5540
5541 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5542 #: pkgs.dbk:708
5543 msgid ""
5544 "If the bug is real but the same problem has already been reported by someone "
5545 "else, then the two relevant bug reports should be merged into one using the "
5546 "merge command of the BTS.  In this way, when the bug is fixed, all of the "
5547 "submitters will be informed of this.  (Note, however, that emails sent to "
5548 "one bug report's submitter won't automatically be sent to the other report's "
5549 "submitter.) For more details on the technicalities of the merge command and "
5550 "its relative, the unmerge command, see the BTS control server documentation."
5551 msgstr ""
5552
5553 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5554 #: pkgs.dbk:719
5555 msgid ""
5556 "The bug submitter may have forgotten to provide some information, in which "
5557 "case you have to ask them for the required information.  You may use the "
5558 "<literal>moreinfo</literal> tag to mark the bug as such.  Moreover if you "
5559 "can't reproduce the bug, you tag it <literal>unreproducible</literal>.  "
5560 "Anyone who can reproduce the bug is then invited to provide more information "
5561 "on how to reproduce it.  After a few months, if this information has not "
5562 "been sent by someone, the bug may be closed."
5563 msgstr ""
5564
5565 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5566 #: pkgs.dbk:730
5567 msgid ""
5568 "If the bug is related to the packaging, you just fix it.  If you are not "
5569 "able to fix it yourself, then tag the bug as <literal>help</literal>.  You "
5570 "can also ask for help on &email-debian-devel; or &email-debian-qa;.  If it's "
5571 "an upstream problem, you have to forward it to the upstream author.  "
5572 "Forwarding a bug is not enough, you have to check at each release if the bug "
5573 "has been fixed or not.  If it has, you just close it, otherwise you have to "
5574 "remind the author about it.  If you have the required skills you can prepare "
5575 "a patch that fixes the bug and send it to the author at the same time.  Make "
5576 "sure to send the patch to the BTS and to tag the bug as "
5577 "<literal>patch</literal>."
5578 msgstr ""
5579
5580 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5581 #: pkgs.dbk:744
5582 msgid ""
5583 "If you have fixed a bug in your local copy, or if a fix has been committed "
5584 "to the VCS repository, you may tag the bug as <literal>pending</literal> to "
5585 "let people know that the bug is corrected and that it will be closed with "
5586 "the next upload (add the <literal>closes:</literal> in the "
5587 "<filename>changelog</filename>).  This is particularly useful if you are "
5588 "several developers working on the same package."
5589 msgstr ""
5590
5591 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
5592 #: pkgs.dbk:754
5593 msgid ""
5594 "Once a corrected package is available in the archive, the bug should be "
5595 "closed indicating the version in which it was fixed. This can be done "
5596 "automatically, read <xref linkend=\"upload-bugfix\"/>."
5597 msgstr ""
5598
5599 #. type: Content of: <chapter><section><section><title>
5600 #: pkgs.dbk:763
5601 msgid "When bugs are closed by new uploads"
5602 msgstr ""
5603
5604 #. type: Content of: <chapter><section><section><para>
5605 #: pkgs.dbk:765
5606 msgid ""
5607 "As bugs and problems are fixed in your packages, it is your responsibility "
5608 "as the package maintainer to close these bugs.  However, you should not "
5609 "close a bug until the package which fixes the bug has been accepted into the "
5610 "Debian archive.  Therefore, once you get notification that your updated "
5611 "package has been installed into the archive, you can and should close the "
5612 "bug in the BTS.  Also, the bug should be closed with the correct version."
5613 msgstr ""
5614
5615 #. type: Content of: <chapter><section><section><para>
5616 #: pkgs.dbk:773
5617 msgid ""
5618 "However, it's possible to avoid having to manually close bugs after the "
5619 "upload — just list the fixed bugs in your "
5620 "<filename>debian/changelog</filename> file, following a certain syntax, and "
5621 "the archive maintenance software will close the bugs for you.  For example:"
5622 msgstr ""
5623
5624 #. type: Content of: <chapter><section><section><screen>
5625 #: pkgs.dbk:779
5626 #, no-wrap
5627 msgid ""
5628 "acme-cannon (3.1415) unstable; urgency=low\n"
5629 "\n"
5630 "  * Frobbed with options (closes: Bug#98339)\n"
5631 "  * Added safety to prevent operator dismemberment, closes: bug#98765,\n"
5632 "    bug#98713, #98714.\n"
5633 "  * Added man page. Closes: #98725.\n"
5634 msgstr ""
5635
5636 #. type: Content of: <chapter><section><section><para>
5637 #: pkgs.dbk:787
5638 msgid ""
5639 "Technically speaking, the following Perl regular expression describes how "
5640 "bug closing changelogs are identified:"
5641 msgstr ""
5642
5643 #. type: Content of: <chapter><section><section><screen>
5644 #: pkgs.dbk:791
5645 #, no-wrap
5646 msgid "  /closes:\\s*(?:bug)?\\#\\s*\\d+(?:,\\s*(?:bug)?\\#\\s*\\d+)*/ig\n"
5647 msgstr ""
5648
5649 #. type: Content of: <chapter><section><section><para>
5650 #: pkgs.dbk:794
5651 msgid ""
5652 "We prefer the <literal>closes: #<replaceable>XXX</replaceable></literal> "
5653 "syntax, as it is the most concise entry and the easiest to integrate with "
5654 "the text of the <filename>changelog</filename>.  Unless specified different "
5655 "by the <literal>-v</literal>-switch to <command>dpkg-buildpackage</command>, "
5656 "only the bugs closed in the most recent changelog entry are closed "
5657 "(basically, exactly the bugs mentioned in the changelog-part in the "
5658 "<filename>.changes</filename> file are closed)."
5659 msgstr ""
5660
5661 #. type: Content of: <chapter><section><section><para>
5662 #: pkgs.dbk:803
5663 msgid ""
5664 "Historically, uploads identified as <link linkend=\"nmu\">non-maintainer "
5665 "upload (NMU)</link> were tagged <literal>fixed</literal> instead of being "
5666 "closed, but that practice was ceased with the advent of version-tracking.  "
5667 "The same applied to the tag <literal>fixed-in-experimental</literal>."
5668 msgstr ""
5669
5670 #. type: Content of: <chapter><section><section><para>
5671 #: pkgs.dbk:809
5672 msgid ""
5673 "If you happen to mistype a bug number or forget a bug in the changelog "
5674 "entries, don't hesitate to undo any damage the error caused.  To reopen "
5675 "wrongly closed bugs, send a <literal>reopen "
5676 "<replaceable>XXX</replaceable></literal> command to the bug tracking "
5677 "system's control address, &email-bts-control;.  To close any remaining bugs "
5678 "that were fixed by your upload, email the <filename>.changes</filename> file "
5679 "to <email><replaceable>XXX</replaceable>-done@&bugs-host;</email>, where "
5680 "<replaceable>XXX</replaceable> is the bug number, and put Version: "
5681 "<replaceable>YYY</replaceable> and an empty line as the first two lines of "
5682 "the body of the email, where <replaceable>YYY</replaceable> is the first "
5683 "version where the bug has been fixed."
5684 msgstr ""
5685
5686 #. type: Content of: <chapter><section><section><para>
5687 #: pkgs.dbk:821
5688 msgid ""
5689 "Bear in mind that it is not obligatory to close bugs using the changelog as "
5690 "described above.  If you simply want to close bugs that don't have anything "
5691 "to do with an upload you made, do it by emailing an explanation to "
5692 "<email><replaceable>XXX</replaceable>-done@&bugs-host;</email>.  Do "
5693 "<emphasis role=\"strong\">not</emphasis> close bugs in the changelog entry "
5694 "of a version if the changes in that version of the package don't have any "
5695 "bearing on the bug."
5696 msgstr ""
5697
5698 #. type: Content of: <chapter><section><section><para>
5699 #: pkgs.dbk:829
5700 msgid ""
5701 "For general information on how to write your changelog entries, see <xref "
5702 "linkend=\"bpp-debian-changelog\"/>."
5703 msgstr ""
5704
5705 #. type: Content of: <chapter><section><section><title>
5706 #: pkgs.dbk:835
5707 msgid "Handling security-related bugs"
5708 msgstr ""
5709
5710 #. type: Content of: <chapter><section><section><para>
5711 #: pkgs.dbk:837
5712 msgid ""
5713 "Due to their sensitive nature, security-related bugs must be handled "
5714 "carefully.  The Debian Security Team exists to coordinate this activity, "
5715 "keeping track of outstanding security problems, helping maintainers with "
5716 "security problems or fixing them themselves, sending security advisories, "
5717 "and maintaining <literal>security.debian.org</literal>."
5718 msgstr ""
5719
5720 #. type: Content of: <chapter><section><section><para>
5721 #: pkgs.dbk:844
5722 msgid ""
5723 "When you become aware of a security-related bug in a Debian package, whether "
5724 "or not you are the maintainer, collect pertinent information about the "
5725 "problem, and promptly contact the security team, preferably by filing a "
5726 "ticket in their Request Tracker.  See <ulink "
5727 "url=\"http://wiki.debian.org/rt.debian.org#Security_Team\"></ulink>.  "
5728 "Alternatively you may email &email-security-team;.  <emphasis "
5729 "role=\"strong\">DO NOT UPLOAD</emphasis> any packages for "
5730 "<literal>stable</literal> without contacting the team.  Useful information "
5731 "includes, for example:"
5732 msgstr ""
5733
5734 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5735 #: pkgs.dbk:857
5736 msgid "Whether or not the bug is already public."
5737 msgstr ""
5738
5739 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5740 #: pkgs.dbk:862
5741 msgid ""
5742 "Which versions of the package are known to be affected by the bug.  Check "
5743 "each version that is present in a supported Debian release, as well as "
5744 "<literal>testing</literal> and <literal>unstable</literal>."
5745 msgstr ""
5746
5747 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5748 #: pkgs.dbk:869
5749 msgid "The nature of the fix, if any is available (patches are especially helpful)"
5750 msgstr ""
5751
5752 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5753 #: pkgs.dbk:874
5754 msgid ""
5755 "Any fixed packages that you have prepared yourself (send only the "
5756 "<filename>.diff.gz</filename> and <filename>.dsc</filename> files and read "
5757 "<xref linkend=\"bug-security-building\"/> first)"
5758 msgstr ""
5759
5760 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5761 #: pkgs.dbk:881
5762 msgid ""
5763 "Any assistance you can provide to help with testing (exploits, regression "
5764 "testing, etc.)"
5765 msgstr ""
5766
5767 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
5768 #: pkgs.dbk:887
5769 msgid ""
5770 "Any information needed for the advisory (see <xref "
5771 "linkend=\"bug-security-advisories\"/>)"
5772 msgstr ""
5773
5774 #. type: Content of: <chapter><section><section><para>
5775 #: pkgs.dbk:892
5776 msgid ""
5777 "As the maintainer of the package, you have the responsibility to maintain "
5778 "it, even in the stable release. You are in the best position to evaluate "
5779 "patches and test updated packages, so please see the sections below on how "
5780 "to prepare packages for the Security Team to handle."
5781 msgstr ""
5782
5783 #. type: Content of: <chapter><section><section><section><title>
5784 #: pkgs.dbk:898
5785 msgid "The Security Tracker"
5786 msgstr ""
5787
5788 #. type: Content of: <chapter><section><section><section><para>
5789 #: pkgs.dbk:900
5790 msgid ""
5791 "The security team maintains a central database, the <ulink "
5792 "url=\"http://security-tracker.debian.org/\">Debian Security "
5793 "Tracker</ulink>.  This contains all public information that is known about "
5794 "security issues: which packages and versions are affected or fixed, and thus "
5795 "whether stable, testing and/or unstable are vulnerable. Information that is "
5796 "still confidential is not added to the tracker."
5797 msgstr ""
5798
5799 #. type: Content of: <chapter><section><section><section><para>
5800 #: pkgs.dbk:908
5801 msgid ""
5802 "You can search it for a specific issue, but also on package name. Look for "
5803 "your package to see which issues are still open. If you can, please provide "
5804 "more information about those issues, or help to address them in your "
5805 "package.  Instructions are on the tracker web pages."
5806 msgstr ""
5807
5808 #. type: Content of: <chapter><section><section><section><title>
5809 #: pkgs.dbk:916
5810 msgid "Confidentiality"
5811 msgstr ""
5812
5813 #. type: Content of: <chapter><section><section><section><para>
5814 #: pkgs.dbk:918
5815 msgid ""
5816 "Unlike most other activities within Debian, information about security "
5817 "issues must sometimes be kept private for a time.  This allows software "
5818 "distributors to coordinate their disclosure in order to minimize their "
5819 "users' exposure.  Whether this is the case depends on the nature of the "
5820 "problem and corresponding fix, and whether it is already a matter of public "
5821 "knowledge."
5822 msgstr ""
5823
5824 #. type: Content of: <chapter><section><section><section><para>
5825 #: pkgs.dbk:925
5826 msgid "There are several ways developers can learn of a security problem:"
5827 msgstr ""
5828
5829 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5830 #: pkgs.dbk:930
5831 msgid "they notice it on a public forum (mailing list, web site, etc.)"
5832 msgstr ""
5833
5834 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5835 #: pkgs.dbk:935
5836 msgid "someone files a bug report"
5837 msgstr ""
5838
5839 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5840 #: pkgs.dbk:940
5841 msgid "someone informs them via private email"
5842 msgstr ""
5843
5844 #. type: Content of: <chapter><section><section><section><para>
5845 #: pkgs.dbk:945
5846 msgid ""
5847 "In the first two cases, the information is public and it is important to "
5848 "have a fix as soon as possible.  In the last case, however, it might not be "
5849 "public information.  In that case there are a few possible options for "
5850 "dealing with the problem:"
5851 msgstr ""
5852
5853 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5854 #: pkgs.dbk:953
5855 msgid ""
5856 "If the security exposure is minor, there is sometimes no need to keep the "
5857 "problem a secret and a fix should be made and released."
5858 msgstr ""
5859
5860 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5861 #: pkgs.dbk:959
5862 msgid ""
5863 "If the problem is severe, it is preferable to share the information with "
5864 "other vendors and coordinate a release.  The security team keeps in contact "
5865 "with the various organizations and individuals and can take care of that."
5866 msgstr ""
5867
5868 #. type: Content of: <chapter><section><section><section><para>
5869 #: pkgs.dbk:966
5870 msgid ""
5871 "In all cases if the person who reports the problem asks that it not be "
5872 "disclosed, such requests should be honored, with the obvious exception of "
5873 "informing the security team in order that a fix may be produced for a stable "
5874 "release of Debian.  When sending confidential information to the security "
5875 "team, be sure to mention this fact."
5876 msgstr ""
5877
5878 #. type: Content of: <chapter><section><section><section><para>
5879 #: pkgs.dbk:973
5880 msgid ""
5881 "Please note that if secrecy is needed you may not upload a fix to "
5882 "<literal>unstable</literal> (or anywhere else, such as a public VCS "
5883 "repository).  It is not sufficient to obfuscate the details of the change, "
5884 "as the code itself is public, and can (and will) be examined by the general "
5885 "public."
5886 msgstr ""
5887
5888 #. type: Content of: <chapter><section><section><section><para>
5889 #: pkgs.dbk:980
5890 msgid ""
5891 "There are two reasons for releasing information even though secrecy is "
5892 "requested: the problem has been known for a while, or the problem or exploit "
5893 "has become public."
5894 msgstr ""
5895
5896 #. type: Content of: <chapter><section><section><section><para>
5897 #: pkgs.dbk:985
5898 msgid ""
5899 "The Security Team has a PGP-key to enable encrypted communication about "
5900 "sensitive issues. See the <ulink "
5901 "url=\"http://www.debian.org/security/faq#contact\">Security Team FAQ</ulink> "
5902 "for details."
5903 msgstr ""
5904
5905 #. type: Content of: <chapter><section><section><section><title>
5906 #: pkgs.dbk:991
5907 msgid "Security Advisories"
5908 msgstr ""
5909
5910 #. type: Content of: <chapter><section><section><section><para>
5911 #: pkgs.dbk:993
5912 msgid ""
5913 "Security advisories are only issued for the current, released stable "
5914 "distribution, and <emphasis>not</emphasis> for <literal>testing</literal> or "
5915 "<literal>unstable</literal>.  When released, advisories are sent to the "
5916 "&email-debian-security-announce; mailing list and posted on <ulink "
5917 "url=\"&url-debian-security-advisories;\">the security web page</ulink>.  "
5918 "Security advisories are written and posted by the security team.  However "
5919 "they certainly do not mind if a maintainer can supply some of the "
5920 "information for them, or write part of the text.  Information that should be "
5921 "in an advisory includes:"
5922 msgstr ""
5923
5924 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5925 #: pkgs.dbk:1006
5926 msgid "A description of the problem and its scope, including:"
5927 msgstr ""
5928
5929 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5930 #: pkgs.dbk:1011
5931 msgid "The type of problem (privilege escalation, denial of service, etc.)"
5932 msgstr ""
5933
5934 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5935 #: pkgs.dbk:1016
5936 msgid "What privileges may be gained, and by whom (if any)"
5937 msgstr ""
5938
5939 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5940 #: pkgs.dbk:1021
5941 msgid "How it can be exploited"
5942 msgstr ""
5943
5944 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5945 #: pkgs.dbk:1026
5946 msgid "Whether it is remotely or locally exploitable"
5947 msgstr ""
5948
5949 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
5950 #: pkgs.dbk:1031
5951 msgid "How the problem was fixed"
5952 msgstr ""
5953
5954 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5955 #: pkgs.dbk:1036
5956 msgid "This information allows users to assess the threat to their systems."
5957 msgstr ""
5958
5959 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5960 #: pkgs.dbk:1041
5961 msgid "Version numbers of affected packages"
5962 msgstr ""
5963
5964 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5965 #: pkgs.dbk:1046
5966 msgid "Version numbers of fixed packages"
5967 msgstr ""
5968
5969 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5970 #: pkgs.dbk:1051
5971 msgid ""
5972 "Information on where to obtain the updated packages (usually from the Debian "
5973 "security archive)"
5974 msgstr ""
5975
5976 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
5977 #: pkgs.dbk:1057
5978 msgid ""
5979 "References to upstream advisories, <ulink "
5980 "url=\"http://cve.mitre.org\">CVE</ulink> identifiers, and any other "
5981 "information useful in cross-referencing the vulnerability"
5982 msgstr ""
5983
5984 #. type: Content of: <chapter><section><section><section><title>
5985 #: pkgs.dbk:1066
5986 msgid "Preparing packages to address security issues"
5987 msgstr ""
5988
5989 #. type: Content of: <chapter><section><section><section><para>
5990 #: pkgs.dbk:1068
5991 msgid ""
5992 "One way that you can assist the security team in their duties is to provide "
5993 "them with fixed packages suitable for a security advisory for the stable "
5994 "Debian release."
5995 msgstr ""
5996
5997 #. type: Content of: <chapter><section><section><section><para>
5998 #: pkgs.dbk:1073
5999 msgid ""
6000 "When an update is made to the stable release, care must be taken to avoid "
6001 "changing system behavior or introducing new bugs.  In order to do this, make "
6002 "as few changes as possible to fix the bug.  Users and administrators rely on "
6003 "the exact behavior of a release once it is made, so any change that is made "
6004 "might break someone's system.  This is especially true of libraries: make "
6005 "sure you never change the API or ABI, no matter how small the change."
6006 msgstr ""
6007
6008 #. type: Content of: <chapter><section><section><section><para>
6009 #: pkgs.dbk:1081
6010 msgid ""
6011 "This means that moving to a new upstream version is not a good solution.  "
6012 "Instead, the relevant changes should be back-ported to the version present "
6013 "in the current stable Debian release.  Generally, upstream maintainers are "
6014 "willing to help if needed.  If not, the Debian security team may be able to "
6015 "help."
6016 msgstr ""
6017
6018 #. type: Content of: <chapter><section><section><section><para>
6019 #: pkgs.dbk:1087
6020 msgid ""
6021 "In some cases, it is not possible to back-port a security fix, for example "
6022 "when large amounts of source code need to be modified or rewritten.  If this "
6023 "happens, it may be necessary to move to a new upstream version.  However, "
6024 "this is only done in extreme situations, and you must always coordinate that "
6025 "with the security team beforehand."
6026 msgstr ""
6027
6028 #. type: Content of: <chapter><section><section><section><para>
6029 #: pkgs.dbk:1094
6030 msgid ""
6031 "Related to this is another important guideline: always test your changes.  "
6032 "If you have an exploit available, try it and see if it indeed succeeds on "
6033 "the unpatched package and fails on the fixed package.  Test other, normal "
6034 "actions as well, as sometimes a security fix can break seemingly unrelated "
6035 "features in subtle ways."
6036 msgstr ""
6037
6038 #. type: Content of: <chapter><section><section><section><para>
6039 #: pkgs.dbk:1101
6040 msgid ""
6041 "Do <emphasis role=\"strong\">NOT</emphasis> include any changes in your "
6042 "package which are not directly related to fixing the vulnerability.  These "
6043 "will only need to be reverted, and this wastes time.  If there are other "
6044 "bugs in your package that you would like to fix, make an upload to "
6045 "proposed-updates in the usual way, after the security advisory is issued.  "
6046 "The security update mechanism is not a means for introducing changes to your "
6047 "package which would otherwise be rejected from the stable release, so please "
6048 "do not attempt to do this."
6049 msgstr ""
6050
6051 #. type: Content of: <chapter><section><section><section><para>
6052 #: pkgs.dbk:1111
6053 msgid ""
6054 "Review and test your changes as much as possible.  Check the differences "
6055 "from the previous version repeatedly (<command>interdiff</command> from the "
6056 "<systemitem role=\"package\">patchutils</systemitem> package and "
6057 "<command>debdiff</command> from <systemitem "
6058 "role=\"package\">devscripts</systemitem> are useful tools for this, see "
6059 "<xref linkend=\"debdiff\"/>)."
6060 msgstr ""
6061
6062 #. type: Content of: <chapter><section><section><section><para>
6063 #: pkgs.dbk:1119
6064 msgid "Be sure to verify the following items:"
6065 msgstr ""
6066
6067 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6068 #: pkgs.dbk:1124
6069 msgid ""
6070 "<emphasis role=\"strong\">Target the right distribution</emphasis> in your "
6071 "<filename>debian/changelog</filename>: "
6072 "<replaceable>codename</replaceable><literal>-security</literal> "
6073 "(e.g. <literal>wheezy-security</literal>).  Do not target "
6074 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
6075 "or <literal>stable</literal>!"
6076 msgstr ""
6077
6078 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6079 #: pkgs.dbk:1134
6080 msgid "The upload should have <emphasis role=\"strong\">urgency=high</emphasis>."
6081 msgstr ""
6082
6083 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6084 #: pkgs.dbk:1139
6085 msgid ""
6086 "Make descriptive, meaningful changelog entries.  Others will rely on them to "
6087 "determine whether a particular bug was fixed.  Add "
6088 "<literal>closes:</literal> statements for any <emphasis "
6089 "role=\"strong\">Debian bugs</emphasis> filed.  Always include an external "
6090 "reference, preferably a <emphasis role=\"strong\">CVE identifier</emphasis>, "
6091 "so that it can be cross-referenced. However, if a CVE identifier has not yet "
6092 "been assigned, do not wait for it but continue the process. The identifier "
6093 "can be cross-referenced later."
6094 msgstr ""
6095
6096 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6097 #: pkgs.dbk:1150
6098 msgid ""
6099 "Make sure the <emphasis role=\"strong\">version number</emphasis> is "
6100 "proper.  It must be greater than the current package, but less than package "
6101 "versions in later distributions.  If in doubt, test it with <literal>dpkg "
6102 "--compare-versions</literal>.  Be careful not to re-use a version number "
6103 "that you have already used for a previous upload, or one that conflicts with "
6104 "a binNMU. The convention is to append "
6105 "<literal>+</literal><replaceable>codename</replaceable><literal>1</literal>, "
6106 "e.g.  <literal>1:2.4.3-4+lenny1</literal>, of course increasing 1 for any "
6107 "subsequent uploads."
6108 msgstr ""
6109
6110 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6111 #: pkgs.dbk:1163
6112 msgid ""
6113 "Unless the upstream source has been uploaded to "
6114 "<literal>security.debian.org</literal> before (by a previous security "
6115 "update), build the upload <emphasis role=\"strong\">with full upstream "
6116 "source</emphasis> (<literal>dpkg-buildpackage -sa</literal>).  If there has "
6117 "been a previous upload to <literal>security.debian.org</literal> with the "
6118 "same upstream version, you may upload without upstream source "
6119 "(<literal>dpkg-buildpackage -sd</literal>)."
6120 msgstr ""
6121
6122 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6123 #: pkgs.dbk:1174
6124 msgid ""
6125 "Be sure to use the <emphasis role=\"strong\">exact same "
6126 "<filename>*.orig.tar.{gz,bz2,xz}</filename></emphasis> as used in the normal "
6127 "archive, otherwise it is not possible to move the security fix into the main "
6128 "archives later."
6129 msgstr ""
6130
6131 #. type: Content of: <chapter><section><section><section><itemizedlist><listitem><para>
6132 #: pkgs.dbk:1182
6133 msgid ""
6134 "Build the package on a <emphasis role=\"strong\">clean system</emphasis> "
6135 "which only has packages installed from the distribution you are building "
6136 "for. If you do not have such a system yourself, you can use a debian.org "
6137 "machine (see <xref linkend=\"server-machines\"/>) or setup a chroot (see "
6138 "<xref linkend=\"pbuilder\"/> and <xref linkend=\"debootstrap\"/>)."
6139 msgstr ""
6140
6141 #. type: Content of: <chapter><section><section><section><title>
6142 #: pkgs.dbk:1193
6143 msgid "Uploading the fixed package"
6144 msgstr ""
6145
6146 #. type: Content of: <chapter><section><section><section><para>
6147 #: pkgs.dbk:1195
6148 msgid ""
6149 "Do <emphasis role=\"strong\">NOT</emphasis> upload a package to the security "
6150 "upload queue (on <literal>security-master.debian.org</literal>)  without "
6151 "prior authorization from the security team.  If the package does not exactly "
6152 "meet the team's requirements, it will cause many problems and delays in "
6153 "dealing with the unwanted upload."
6154 msgstr ""
6155
6156 #. type: Content of: <chapter><section><section><section><para>
6157 #: pkgs.dbk:1202
6158 msgid ""
6159 "Do <emphasis role=\"strong\">NOT</emphasis> upload your fix to "
6160 "<literal>proposed-updates</literal> without coordinating with the security "
6161 "team.  Packages from <literal>security.debian.org</literal> will be copied "
6162 "into the <literal>proposed-updates</literal> directory automatically.  If a "
6163 "package with the same or a higher version number is already installed into "
6164 "the archive, the security update will be rejected by the archive system.  "
6165 "That way, the stable distribution will end up without a security update for "
6166 "this package instead."
6167 msgstr ""
6168
6169 #. type: Content of: <chapter><section><section><section><para>
6170 #: pkgs.dbk:1212
6171 msgid ""
6172 "Once you have created and tested the new package and it has been approved by "
6173 "the security team, it needs to be uploaded so that it can be installed in "
6174 "the archives.  For security uploads, the place to upload to is "
6175 "<literal>ftp://security-master.debian.org/pub/SecurityUploadQueue/</literal>."
6176 msgstr ""
6177
6178 #. type: Content of: <chapter><section><section><section><para>
6179 #: pkgs.dbk:1218
6180 msgid ""
6181 "Once an upload to the security queue has been accepted, the package will "
6182 "automatically be built for all architectures and stored for verification by "
6183 "the security team."
6184 msgstr ""
6185
6186 #. type: Content of: <chapter><section><section><section><para>
6187 #: pkgs.dbk:1223
6188 msgid ""
6189 "Uploads which are waiting for acceptance or verification are only accessible "
6190 "by the security team.  This is necessary since there might be fixes for "
6191 "security problems that cannot be disclosed yet."
6192 msgstr ""
6193
6194 #. type: Content of: <chapter><section><section><section><para>
6195 #: pkgs.dbk:1228
6196 msgid ""
6197 "If a member of the security team accepts a package, it will be installed on "
6198 "<literal>security.debian.org</literal> as well as proposed for the proper "
6199 "<replaceable>distribution</replaceable><literal>-proposed-updates</literal> "
6200 "on <literal>&ftp-master-host;</literal>."
6201 msgstr ""
6202
6203 #. type: Content of: <chapter><section><title>
6204 #: pkgs.dbk:1240
6205 msgid "Moving, removing, renaming, orphaning, adopting, and reintroducing packages"
6206 msgstr ""
6207
6208 #. type: Content of: <chapter><section><para>
6209 #: pkgs.dbk:1242
6210 msgid ""
6211 "Some archive manipulation operations are not automated in the Debian upload "
6212 "process.  These procedures should be manually followed by maintainers.  This "
6213 "chapter gives guidelines on what to do in these cases."
6214 msgstr ""
6215
6216 #. type: Content of: <chapter><section><section><title>
6217 #: pkgs.dbk:1247
6218 msgid "Moving packages"
6219 msgstr ""
6220
6221 #. type: Content of: <chapter><section><section><para><footnote><para>
6222 #: pkgs.dbk:1251
6223 msgid ""
6224 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
6225 "guidelines on what section a package belongs in."
6226 msgstr ""
6227
6228 #. type: Content of: <chapter><section><section><para>
6229 #: pkgs.dbk:1249
6230 msgid ""
6231 "Sometimes a package will change its section.  For instance, a package from "
6232 "the <literal>non-free</literal> section might be GPL'd in a later version, "
6233 "in which case the package should be moved to `main' or "
6234 "`contrib'.<placeholder type=\"footnote\" id=\"0\"/>"
6235 msgstr ""
6236
6237 #. type: Content of: <chapter><section><section><para>
6238 #: pkgs.dbk:1256
6239 msgid ""
6240 "If you need to change the section for one of your packages, change the "
6241 "package control information to place the package in the desired section, and "
6242 "re-upload the package (see the <ulink url=\"&url-debian-policy;\">Debian "
6243 "Policy Manual</ulink> for details).  You must ensure that you include the "
6244 "<filename>.orig.tar.{gz,bz2,xz}</filename> in your upload (even if you are "
6245 "not uploading a new upstream version), or it will not appear in the new "
6246 "section together with the rest of the package.  If your new section is "
6247 "valid, it will be moved automatically.  If it does not, then contact the "
6248 "ftpmasters in order to understand what happened."
6249 msgstr ""
6250
6251 #. type: Content of: <chapter><section><section><para>
6252 #: pkgs.dbk:1268
6253 msgid ""
6254 "If, on the other hand, you need to change the <literal>subsection</literal> "
6255 "of one of your packages (e.g., ``devel'', ``admin''), the procedure is "
6256 "slightly different.  Correct the subsection as found in the control file of "
6257 "the package, and re-upload that.  Also, you'll need to get the override file "
6258 "updated, as described in <xref linkend=\"override-file\"/>."
6259 msgstr ""
6260
6261 #. type: Content of: <chapter><section><section><title>
6262 #: pkgs.dbk:1277
6263 msgid "Removing packages"
6264 msgstr ""
6265
6266 #. type: Content of: <chapter><section><section><para>
6267 #: pkgs.dbk:1279
6268 msgid ""
6269 "If for some reason you want to completely remove a package (say, if it is an "
6270 "old compatibility library which is no longer required), you need to file a "
6271 "bug against <systemitem role=\"package\">&ftp-debian-org;</systemitem> "
6272 "asking that the package be removed; as all bugs, this bug should normally "
6273 "have normal severity.  The bug title should be in the form <literal>RM: "
6274 "<replaceable>package</replaceable> <replaceable>[architecture "
6275 "list]</replaceable> -- <replaceable>reason</replaceable></literal>, where "
6276 "<replaceable>package</replaceable> is the package to be removed and "
6277 "<replaceable>reason</replaceable> is a short summary of the reason for the "
6278 "removal request.  <replaceable>[architecture list]</replaceable> is optional "
6279 "and only needed if the removal request only applies to some architectures, "
6280 "not all. Note that the <command>reportbug</command> will create a title "
6281 "conforming to these rules when you use it to report a bug against the "
6282 "<systemitem role=\"package\">&ftp-debian-org;</systemitem> pseudo-package."
6283 msgstr ""
6284
6285 #. type: Content of: <chapter><section><section><para>
6286 #: pkgs.dbk:1296
6287 msgid ""
6288 "If you want to remove a package you maintain, you should note this in the "
6289 "bug title by prepending <literal>ROM</literal> (Request Of Maintainer).  "
6290 "There are several other standard acronyms used in the reasoning for a "
6291 "package removal, see <ulink "
6292 "url=\"http://&ftp-master-host;/removals.html\"></ulink> for a complete "
6293 "list. That page also provides a convenient overview of pending removal "
6294 "requests."
6295 msgstr ""
6296
6297 #. type: Content of: <chapter><section><section><para>
6298 #: pkgs.dbk:1305
6299 msgid ""
6300 "Note that removals can only be done for the <literal>unstable</literal>, "
6301 "<literal>experimental</literal> and <literal>stable</literal> distribution.  "
6302 "Packages are not removed from <literal>testing</literal> directly.  Rather, "
6303 "they will be removed automatically after the package has been removed from "
6304 "<literal>unstable</literal> and no package in <literal>testing</literal> "
6305 "depends on it. (Removals from <literal>testing</literal> are possible though "
6306 "by filing a removal bug report against the <systemitem "
6307 "role=\"package\">&release-debian-org;</systemitem> pseudo-package. See the "
6308 "section <xref linkend=\"removals\"/>.)"
6309 msgstr ""
6310
6311 #. type: Content of: <chapter><section><section><para>
6312 #: pkgs.dbk:1317
6313 msgid ""
6314 "There is one exception when an explicit removal request is not necessary: If "
6315 "a (source or binary) package is no longer built from source, it will be "
6316 "removed semi-automatically. For a binary-package, this means if there is no "
6317 "longer any source package producing this binary package; if the binary "
6318 "package is just no longer produced on some architectures, a removal request "
6319 "is still necessary. For a source-package, this means that all binary "
6320 "packages it refers to have been taken over by another source package."
6321 msgstr ""
6322
6323 #. type: Content of: <chapter><section><section><para>
6324 #: pkgs.dbk:1326
6325 msgid ""
6326 "In your removal request, you have to detail the reasons justifying the "
6327 "request.  This is to avoid unwanted removals and to keep a trace of why a "
6328 "package has been removed.  For example, you can provide the name of the "
6329 "package that supersedes the one to be removed."
6330 msgstr ""
6331
6332 #. type: Content of: <chapter><section><section><para>
6333 #: pkgs.dbk:1332
6334 msgid ""
6335 "Usually you only ask for the removal of a package maintained by yourself.  "
6336 "If you want to remove another package, you have to get the approval of its "
6337 "maintainer. Should the package be orphaned and thus have no maintainer, you "
6338 "should first discuss the removal request on &email-debian-qa;. If there is a "
6339 "consensus that the package should be removed, you should reassign and "
6340 "retitle the <literal>O:</literal> bug filed against the "
6341 "<literal>wnpp</literal> package instead of filing a new bug as removal "
6342 "request."
6343 msgstr ""
6344
6345 #. type: Content of: <chapter><section><section><para>
6346 #: pkgs.dbk:1342
6347 msgid ""
6348 "Further information relating to these and other package removal related "
6349 "topics may be found at <ulink "
6350 "url=\"http://wiki.debian.org/ftpmaster_Removals\"></ulink> and <ulink "
6351 "url=\"&url-debian-qa;howto-remove.html\"></ulink>."
6352 msgstr ""
6353
6354 #. type: Content of: <chapter><section><section><para>
6355 #: pkgs.dbk:1347
6356 msgid ""
6357 "If in doubt concerning whether a package is disposable, email "
6358 "&email-debian-devel; asking for opinions.  Also of interest is the "
6359 "<command>apt-cache</command> program from the <systemitem "
6360 "role=\"package\">apt</systemitem> package.  When invoked as "
6361 "<literal>apt-cache showpkg <replaceable>package</replaceable></literal>, the "
6362 "program will show details for <replaceable>package</replaceable>, including "
6363 "reverse depends.  Other useful programs include <command>apt-cache "
6364 "rdepends</command>, <command>apt-rdepends</command>, "
6365 "<command>build-rdeps</command> (in the <systemitem "
6366 "role=\"package\">devscripts</systemitem> package) and "
6367 "<command>grep-dctrl</command>.  Removal of orphaned packages is discussed on "
6368 "&email-debian-qa;."
6369 msgstr ""
6370
6371 #. type: Content of: <chapter><section><section><para>
6372 #: pkgs.dbk:1360
6373 msgid ""
6374 "Once the package has been removed, the package's bugs should be handled.  "
6375 "They should either be reassigned to another package in the case where the "
6376 "actual code has evolved into another package (e.g.  "
6377 "<literal>libfoo12</literal> was removed because <literal>libfoo13</literal> "
6378 "supersedes it) or closed if the software is simply no longer part of "
6379 "Debian.  When closing the bugs, to avoid marking the bugs as fixed in "
6380 "versions of the packages in previous Debian releases, they should be marked "
6381 "as fixed in the version "
6382 "<literal>&lt;most-recent-version-ever-in-Debian&gt;+rm</literal>."
6383 msgstr ""
6384
6385 #. type: Content of: <chapter><section><section><section><title>
6386 #: pkgs.dbk:1371
6387 msgid "Removing packages from <filename>Incoming</filename>"
6388 msgstr ""
6389
6390 #. type: Content of: <chapter><section><section><section><para>
6391 #: pkgs.dbk:1373
6392 msgid ""
6393 "In the past, it was possible to remove packages from "
6394 "<filename>incoming</filename>.  However, with the introduction of the new "
6395 "incoming system, this is no longer possible.  Instead, you have to upload a "
6396 "new revision of your package with a higher version than the package you want "
6397 "to replace.  Both versions will be installed in the archive but only the "
6398 "higher version will actually be available in <literal>unstable</literal> "
6399 "since the previous version will immediately be replaced by the higher.  "
6400 "However, if you do proper testing of your packages, the need to replace a "
6401 "package should not occur too often anyway."
6402 msgstr ""
6403
6404 #. type: Content of: <chapter><section><section><title>
6405 #: pkgs.dbk:1388
6406 msgid "Replacing or renaming packages"
6407 msgstr ""
6408
6409 #. type: Content of: <chapter><section><section><para>
6410 #: pkgs.dbk:1390
6411 msgid ""
6412 "When the upstream maintainers for one of your packages chose to rename their "
6413 "software (or you made a mistake naming your package), you should follow a "
6414 "two-step process to rename it. In the first step, change the "
6415 "<filename>debian/control</filename> file to reflect the new name and to "
6416 "replace, provide and conflict with the obsolete package name (see the <ulink "
6417 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for details).  "
6418 "Please note that you should only add a <literal>Provides</literal> relation "
6419 "if all packages depending on the obsolete package name continue to work "
6420 "after the renaming. Once you've uploaded the package and the package has "
6421 "moved into the archive, file a bug against <systemitem "
6422 "role=\"package\">&ftp-debian-org;</systemitem> asking to remove the package "
6423 "with the obsolete name (see <xref linkend=\"removing-pkgs\"/>).  Do not "
6424 "forget to properly reassign the package's bugs at the same time."
6425 msgstr ""
6426
6427 #. type: Content of: <chapter><section><section><para>
6428 #: pkgs.dbk:1406
6429 msgid ""
6430 "At other times, you may make a mistake in constructing your package and wish "
6431 "to replace it.  The only way to do this is to increase the version number "
6432 "and upload a new version.  The old version will be expired in the usual "
6433 "manner.  Note that this applies to each part of your package, including the "
6434 "sources: if you wish to replace the upstream source tarball of your package, "
6435 "you will need to upload it with a different version.  An easy possibility is "
6436 "to replace <filename>foo_1.00.orig.tar.gz</filename> with "
6437 "<filename>foo_1.00+0.orig.tar.gz</filename> or "
6438 "<filename>foo_1.00.orig.tar.bz2</filename>.  This restriction gives each "
6439 "file on the ftp site a unique name, which helps to ensure consistency across "
6440 "the mirror network."
6441 msgstr ""
6442
6443 #. type: Content of: <chapter><section><section><title>
6444 #: pkgs.dbk:1421
6445 msgid "Orphaning a package"
6446 msgstr ""
6447
6448 #. type: Content of: <chapter><section><section><para>
6449 #: pkgs.dbk:1423
6450 msgid ""
6451 "If you can no longer maintain a package, you need to inform others, and see "
6452 "that the package is marked as orphaned.  You should set the package "
6453 "maintainer to <literal>Debian QA Group &orphan-address;</literal> and submit "
6454 "a bug report against the pseudo package <systemitem "
6455 "role=\"package\">wnpp</systemitem>.  The bug report should be titled "
6456 "<literal>O: <replaceable>package</replaceable> -- <replaceable>short "
6457 "description</replaceable></literal> indicating that the package is now "
6458 "orphaned.  The severity of the bug should be set to "
6459 "<literal>normal</literal>; if the package has a priority of standard or "
6460 "higher, it should be set to important.  If you feel it's necessary, send a "
6461 "copy to &email-debian-devel; by putting the address in the X-Debbugs-CC: "
6462 "header of the message (no, don't use CC:, because that way the message's "
6463 "subject won't indicate the bug number)."
6464 msgstr ""
6465
6466 #. type: Content of: <chapter><section><section><para>
6467 #: pkgs.dbk:1438
6468 msgid ""
6469 "If you just intend to give the package away, but you can keep maintainership "
6470 "for the moment, then you should instead submit a bug against <systemitem "
6471 "role=\"package\">wnpp</systemitem> and title it <literal>RFA: "
6472 "<replaceable>package</replaceable> -- <replaceable>short "
6473 "description</replaceable></literal>.  <literal>RFA</literal> stands for "
6474 "<literal>Request For Adoption</literal>."
6475 msgstr ""
6476
6477 #. type: Content of: <chapter><section><section><para>
6478 #: pkgs.dbk:1446
6479 msgid "More information is on the <ulink url=\"&url-wnpp;\">WNPP web pages</ulink>."
6480 msgstr ""
6481
6482 #. type: Content of: <chapter><section><section><title>
6483 #: pkgs.dbk:1452
6484 msgid "Adopting a package"
6485 msgstr ""
6486
6487 #. type: Content of: <chapter><section><section><para>
6488 #: pkgs.dbk:1454
6489 msgid ""
6490 "A list of packages in need of a new maintainer is available in the <ulink "
6491 "url=\"&url-wnpp;\">Work-Needing and Prospective Packages list "
6492 "(WNPP)</ulink>.  If you wish to take over maintenance of any of the packages "
6493 "listed in the WNPP, please take a look at the aforementioned page for "
6494 "information and procedures."
6495 msgstr ""
6496
6497 #. type: Content of: <chapter><section><section><para>
6498 #: pkgs.dbk:1461
6499 msgid ""
6500 "It is not OK to simply take over a package that you feel is neglected — that "
6501 "would be package hijacking.  You can, of course, contact the current "
6502 "maintainer and ask them if you may take over the package.  If you have "
6503 "reason to believe a maintainer has gone AWOL (absent without leave), see "
6504 "<xref linkend=\"mia-qa\"/>."
6505 msgstr ""
6506
6507 #. type: Content of: <chapter><section><section><para>
6508 #: pkgs.dbk:1467
6509 msgid ""
6510 "Generally, you may not take over the package without the assent of the "
6511 "current maintainer.  Even if they ignore you, that is still not grounds to "
6512 "take over a package.  Complaints about maintainers should be brought up on "
6513 "the developers' mailing list.  If the discussion doesn't end with a positive "
6514 "conclusion, and the issue is of a technical nature, consider bringing it to "
6515 "the attention of the technical committee (see the <ulink "
6516 "url=\"&url-tech-ctte;\">technical committee web page</ulink> for more "
6517 "information)."
6518 msgstr ""
6519
6520 #. type: Content of: <chapter><section><section><para>
6521 #: pkgs.dbk:1477
6522 msgid ""
6523 "If you take over an old package, you probably want to be listed as the "
6524 "package's official maintainer in the bug system.  This will happen "
6525 "automatically once you upload a new version with an updated "
6526 "<literal>Maintainer</literal> field, although it can take a few hours after "
6527 "the upload is done.  If you do not expect to upload a new version for a "
6528 "while, you can use <xref linkend=\"pkg-tracking-system\"/> to get the bug "
6529 "reports.  However, make sure that the old maintainer has no problem with the "
6530 "fact that they will continue to receive the bugs during that time."
6531 msgstr ""
6532
6533 #. type: Content of: <chapter><section><section><title>
6534 #: pkgs.dbk:1489
6535 msgid "Reintroducing packages"
6536 msgstr ""
6537
6538 #. type: Content of: <chapter><section><section><para>
6539 #: pkgs.dbk:1491
6540 msgid ""
6541 "Packages are often removed due to release-critical bugs, absent maintainers, "
6542 "too few users or poor quality in general. While the process of "
6543 "reintroduction is similar to the initial packaging process, you can avoid "
6544 "some pitfalls by doing some historical research first."
6545 msgstr ""
6546
6547 #. type: Content of: <chapter><section><section><para>
6548 #: pkgs.dbk:1497
6549 msgid ""
6550 "You should check why the package was removed in the first place. This "
6551 "information can be found in the removal item in the news section of the PTS "
6552 "page for the package or by browsing the log of <ulink "
6553 "url=\"http://&ftp-master-host;/#removed\">removals</ulink>.  The removal bug "
6554 "will tell you why the package was removed and will give some indication of "
6555 "what you will need to work on in order to reintroduce the package.  It may "
6556 "indicate that the best way forward is to switch to some other piece of "
6557 "software instead of reintroducing the package."
6558 msgstr ""
6559
6560 #. type: Content of: <chapter><section><section><para>
6561 #: pkgs.dbk:1507
6562 msgid ""
6563 "It may be appropriate to contact the former maintainers to find out if they "
6564 "are working on reintroducing the package, interested in co-maintaining the "
6565 "package or interested in sponsoring the package if needed."
6566 msgstr ""
6567
6568 #. type: Content of: <chapter><section><section><para>
6569 #: pkgs.dbk:1512
6570 msgid ""
6571 "You should do all the things required before introducing new packages (<xref "
6572 "linkend=\"newpackage\"/>)."
6573 msgstr ""
6574
6575 #. type: Content of: <chapter><section><section><para>
6576 #: pkgs.dbk:1516
6577 msgid ""
6578 "You should base your work on the latest packaging available that is "
6579 "suitable.  That might be the latest version from "
6580 "<literal>unstable</literal>, which will still be present in the <ulink "
6581 "url=\"&snap-debian-org;\">snapshot archive</ulink>."
6582 msgstr ""
6583
6584 #. type: Content of: <chapter><section><section><para>
6585 #: pkgs.dbk:1521
6586 msgid ""
6587 "The version control system used by the previous maintainer might contain "
6588 "useful changes, so it might be a good idea to have a look there.  Check if "
6589 "the <filename>control</filename> file of the previous package contained any "
6590 "headers linking to the version control system for the package and if it "
6591 "still exists."
6592 msgstr ""
6593
6594 #. type: Content of: <chapter><section><section><para>
6595 #: pkgs.dbk:1527
6596 msgid ""
6597 "Package removals from <literal>unstable</literal> (not "
6598 "<literal>testing</literal>, <literal>stable</literal> or "
6599 "<literal>oldstable</literal>) trigger the closing of all bugs related to the "
6600 "package. You should look through all the closed bugs (including archived "
6601 "bugs) and unarchive and reopen any that were closed in a version ending in "
6602 "<literal>+rm</literal> and still apply. Any that no longer apply should be "
6603 "marked as fixed in the correct version if that is known."
6604 msgstr ""
6605
6606 #. type: Content of: <chapter><section><title>
6607 #: pkgs.dbk:1540
6608 msgid "Porting and being ported"
6609 msgstr ""
6610
6611 #. type: Content of: <chapter><section><para>
6612 #: pkgs.dbk:1542
6613 msgid ""
6614 "Debian supports an ever-increasing number of architectures.  Even if you are "
6615 "not a porter, and you don't use any architecture but one, it is part of your "
6616 "duty as a maintainer to be aware of issues of portability.  Therefore, even "
6617 "if you are not a porter, you should read most of this chapter."
6618 msgstr ""
6619
6620 #. type: Content of: <chapter><section><para>
6621 #: pkgs.dbk:1548
6622 msgid ""
6623 "Porting is the act of building Debian packages for architectures that are "
6624 "different from the original architecture of the package maintainer's binary "
6625 "package.  It is a unique and essential activity.  In fact, porters do most "
6626 "of the actual compiling of Debian packages.  For instance, when a maintainer "
6627 "uploads a (portable) source packages with binaries for the "
6628 "<literal>i386</literal> architecture, it will be built for each of the other "
6629 "architectures, amounting to &number-of-arches; more builds."
6630 msgstr ""
6631
6632 #. type: Content of: <chapter><section><section><title>
6633 #: pkgs.dbk:1557
6634 msgid "Being kind to porters"
6635 msgstr ""
6636
6637 #. type: Content of: <chapter><section><section><para>
6638 #: pkgs.dbk:1559
6639 msgid ""
6640 "Porters have a difficult and unique task, since they are required to deal "
6641 "with a large volume of packages.  Ideally, every source package should build "
6642 "right out of the box.  Unfortunately, this is often not the case.  This "
6643 "section contains a checklist of ``gotchas'' often committed by Debian "
6644 "maintainers — common problems which often stymie porters, and make their "
6645 "jobs unnecessarily difficult."
6646 msgstr ""
6647
6648 #. type: Content of: <chapter><section><section><para>
6649 #: pkgs.dbk:1567
6650 msgid ""
6651 "The first and most important thing is to respond quickly to bug or issues "
6652 "raised by porters.  Please treat porters with courtesy, as if they were in "
6653 "fact co-maintainers of your package (which, in a way, they are).  Please be "
6654 "tolerant of succinct or even unclear bug reports; do your best to hunt down "
6655 "whatever the problem is."
6656 msgstr ""
6657
6658 #. type: Content of: <chapter><section><section><para>
6659 #: pkgs.dbk:1574
6660 msgid ""
6661 "By far, most of the problems encountered by porters are caused by "
6662 "<emphasis>packaging bugs</emphasis> in the source packages.  Here is a "
6663 "checklist of things you should check or be aware of."
6664 msgstr ""
6665
6666 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6667 #: pkgs.dbk:1581
6668 msgid ""
6669 "Make sure that your <literal>Build-Depends</literal> and "
6670 "<literal>Build-Depends-Indep</literal> settings in "
6671 "<filename>debian/control</filename> are set properly.  The best way to "
6672 "validate this is to use the <systemitem "
6673 "role=\"package\">debootstrap</systemitem> package to create an "
6674 "<literal>unstable</literal> chroot environment (see <xref "
6675 "linkend=\"debootstrap\"/>).  Within that chrooted environment, install the "
6676 "<systemitem role=\"package\">build-essential</systemitem> package and any "
6677 "package dependencies mentioned in <literal>Build-Depends</literal> and/or "
6678 "<literal>Build-Depends-Indep</literal>.  Finally, try building your package "
6679 "within that chrooted environment.  These steps can be automated by the use "
6680 "of the <command>pbuilder</command> program which is provided by the package "
6681 "of the same name (see <xref linkend=\"pbuilder\"/>)."
6682 msgstr ""
6683
6684 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6685 #: pkgs.dbk:1596
6686 msgid ""
6687 "If you can't set up a proper chroot, <command>dpkg-depcheck</command> may be "
6688 "of assistance (see <xref linkend=\"dpkg-depcheck\"/>)."
6689 msgstr ""
6690
6691 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6692 #: pkgs.dbk:1600
6693 msgid ""
6694 "See the <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> for "
6695 "instructions on setting build dependencies."
6696 msgstr ""
6697
6698 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6699 #: pkgs.dbk:1606
6700 msgid ""
6701 "Don't set architecture to a value other than <literal>all</literal> or "
6702 "<literal>any</literal> unless you really mean it.  In too many cases, "
6703 "maintainers don't follow the instructions in the <ulink "
6704 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>.  Setting your "
6705 "architecture to only one architecture (such as <literal>i386</literal> or "
6706 "<literal>amd64</literal>) is usually incorrect."
6707 msgstr ""
6708
6709 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6710 #: pkgs.dbk:1616
6711 msgid ""
6712 "Make sure your source package is correct.  Do <literal>dpkg-source -x "
6713 "<replaceable>package</replaceable>.dsc</literal> to make sure your source "
6714 "package unpacks properly.  Then, in there, try building your package from "
6715 "scratch with <command>dpkg-buildpackage</command>."
6716 msgstr ""
6717
6718 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6719 #: pkgs.dbk:1624
6720 msgid ""
6721 "Make sure you don't ship your source package with the "
6722 "<filename>debian/files</filename> or <filename>debian/substvars</filename> "
6723 "files.  They should be removed by the <literal>clean</literal> target of "
6724 "<filename>debian/rules</filename>."
6725 msgstr ""
6726
6727 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6728 #: pkgs.dbk:1632
6729 msgid ""
6730 "Make sure you don't rely on locally installed or hacked configurations or "
6731 "programs.  For instance, you should never be calling programs in "
6732 "<filename>/usr/local/bin</filename> or the like.  Try not to rely on "
6733 "programs being setup in a special way.  Try building your package on another "
6734 "machine, even if it's the same architecture."
6735 msgstr ""
6736
6737 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6738 #: pkgs.dbk:1641
6739 msgid ""
6740 "Don't depend on the package you're building being installed already (a "
6741 "sub-case of the above issue). There are, of course, exceptions to this rule, "
6742 "but be aware that any case like this needs manual bootstrapping and cannot "
6743 "be done by automated package builders."
6744 msgstr ""
6745
6746 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6747 #: pkgs.dbk:1649
6748 msgid ""
6749 "Don't rely on the compiler being a certain version, if possible.  If not, "
6750 "then make sure your build dependencies reflect the restrictions, although "
6751 "you are probably asking for trouble, since different architectures sometimes "
6752 "standardize on different compilers."
6753 msgstr ""
6754
6755 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
6756 #: pkgs.dbk:1657
6757 msgid ""
6758 "Make sure your <filename>debian/rules</filename> contains separate "
6759 "<literal>binary-arch</literal> and <literal>binary-indep</literal> targets, "
6760 "as the Debian Policy Manual requires.  Make sure that both targets work "
6761 "independently, that is, that you can call the target without having called "
6762 "the other before.  To test this, try to run <command>dpkg-buildpackage "
6763 "-B</command>."
6764 msgstr ""
6765
6766 #. type: Content of: <chapter><section><section><title>
6767 #: pkgs.dbk:1668
6768 msgid "Guidelines for porter uploads"
6769 msgstr ""
6770
6771 #. type: Content of: <chapter><section><section><para>
6772 #: pkgs.dbk:1670
6773 msgid ""
6774 "If the package builds out of the box for the architecture to be ported to, "
6775 "you are in luck and your job is easy.  This section applies to that case; it "
6776 "describes how to build and upload your binary package so that it is properly "
6777 "installed into the archive.  If you do have to patch the package in order to "
6778 "get it to compile for the other architecture, you are actually doing a "
6779 "source NMU, so consult <xref linkend=\"nmu-guidelines\"/> instead."
6780 msgstr ""
6781
6782 #. type: Content of: <chapter><section><section><para>
6783 #: pkgs.dbk:1678
6784 msgid ""
6785 "For a porter upload, no changes are being made to the source.  You do not "
6786 "need to touch any of the files in the source package.  This includes "
6787 "<filename>debian/changelog</filename>."
6788 msgstr ""
6789
6790 #. type: Content of: <chapter><section><section><para>
6791 #: pkgs.dbk:1683
6792 msgid ""
6793 "The way to invoke <command>dpkg-buildpackage</command> is as "
6794 "<literal>dpkg-buildpackage -B "
6795 "-m<replaceable>porter-email</replaceable></literal>.  Of course, set "
6796 "<replaceable>porter-email</replaceable> to your email address.  This will do "
6797 "a binary-only build of only the architecture-dependent portions of the "
6798 "package, using the <literal>binary-arch</literal> target in "
6799 "<filename>debian/rules</filename>."
6800 msgstr ""
6801
6802 #. type: Content of: <chapter><section><section><para>
6803 #: pkgs.dbk:1692
6804 msgid ""
6805 "If you are working on a Debian machine for your porting efforts and you need "
6806 "to sign your upload locally for its acceptance in the archive, you can run "
6807 "<command>debsign</command> on your <filename>.changes</filename> file to "
6808 "have it signed conveniently, or use the remote signing mode of "
6809 "<command>dpkg-sig</command>."
6810 msgstr ""
6811
6812 #. type: Content of: <chapter><section><section><section><title>
6813 #: pkgs.dbk:1699
6814 msgid "Recompilation or binary-only NMU"
6815 msgstr ""
6816
6817 #. type: Content of: <chapter><section><section><section><para>
6818 #: pkgs.dbk:1701
6819 msgid ""
6820 "Sometimes the initial porter upload is problematic because the environment "
6821 "in which the package was built was not good enough (outdated or obsolete "
6822 "library, bad compiler, etc.).  Then you may just need to recompile it in an "
6823 "updated environment.  However, you have to bump the version number in this "
6824 "case, so that the old bad package can be replaced in the Debian archive "
6825 "(<command>dak</command> refuses to install new packages if they don't have a "
6826 "version number greater than the currently available one)."
6827 msgstr ""
6828
6829 #. type: Content of: <chapter><section><section><section><para>
6830 #: pkgs.dbk:1710
6831 msgid ""
6832 "You have to make sure that your binary-only NMU doesn't render the package "
6833 "uninstallable.  This could happen when a source package generates "
6834 "arch-dependent and arch-independent packages that have inter-dependencies "
6835 "generated using dpkg's substitution variable "
6836 "<literal>$(Source-Version)</literal>."
6837 msgstr ""
6838
6839 #. type: Content of: <chapter><section><section><section><para>
6840 #: pkgs.dbk:1716
6841 msgid ""
6842 "Despite the required modification of the changelog, these are called "
6843 "binary-only NMUs — there is no need in this case to trigger all other "
6844 "architectures to consider themselves out of date or requiring recompilation."
6845 msgstr ""
6846
6847 #. type: Content of: <chapter><section><section><section><para>
6848 #: pkgs.dbk:1721
6849 msgid ""
6850 "Such recompilations require special ``magic'' version numbering, so that the "
6851 "archive maintenance tools recognize that, even though there is a new Debian "
6852 "version, there is no corresponding source update.  If you get this wrong, "
6853 "the archive maintainers will reject your upload (due to lack of "
6854 "corresponding source code)."
6855 msgstr ""
6856
6857 #. type: Content of: <chapter><section><section><section><para><footnote><para>
6858 #: pkgs.dbk:1736
6859 msgid ""
6860 "In the past, such NMUs used the third-level number on the Debian part of the "
6861 "revision to denote their recompilation-only status; however, this syntax was "
6862 "ambiguous with native packages and did not allow proper ordering of "
6863 "recompile-only NMUs, source NMUs, and security NMUs on the same package, and "
6864 "has therefore been abandoned in favor of this new syntax."
6865 msgstr ""
6866
6867 #. type: Content of: <chapter><section><section><section><para>
6868 #: pkgs.dbk:1728
6869 msgid ""
6870 "The ``magic'' for a recompilation-only NMU is triggered by using a suffix "
6871 "appended to the package version number, following the form "
6872 "<literal>b<replaceable>number</replaceable></literal>.  For instance, if the "
6873 "latest version you are recompiling against was version "
6874 "<literal>2.9-3</literal>, your binary-only NMU should carry a version of "
6875 "<literal>2.9-3+b1</literal>.  If the latest version was "
6876 "<literal>3.4+b1</literal> (i.e, a native package with a previous "
6877 "recompilation NMU), your binary-only NMU should have a version number of "
6878 "<literal>3.4+b2</literal>.<placeholder type=\"footnote\" id=\"0\"/>"
6879 msgstr ""
6880
6881 #. type: Content of: <chapter><section><section><section><para>
6882 #: pkgs.dbk:1744
6883 msgid ""
6884 "Similar to initial porter uploads, the correct way of invoking "
6885 "<command>dpkg-buildpackage</command> is <literal>dpkg-buildpackage "
6886 "-B</literal> to only build the architecture-dependent parts of the package."
6887 msgstr ""
6888
6889 #. type: Content of: <chapter><section><section><section><title>
6890 #: pkgs.dbk:1751
6891 msgid "When to do a source NMU if you are a porter"
6892 msgstr ""
6893
6894 #. type: Content of: <chapter><section><section><section><para>
6895 #: pkgs.dbk:1753
6896 msgid ""
6897 "Porters doing a source NMU generally follow the guidelines found in <xref "
6898 "linkend=\"nmu\"/>, just like non-porters.  However, it is expected that the "
6899 "wait cycle for a porter's source NMU is smaller than for a non-porter, since "
6900 "porters have to cope with a large quantity of packages.  Again, the "
6901 "situation varies depending on the distribution they are uploading to.  It "
6902 "also varies whether the architecture is a candidate for inclusion into the "
6903 "next stable release; the release managers decide and announce which "
6904 "architectures are candidates."
6905 msgstr ""
6906
6907 #. type: Content of: <chapter><section><section><section><para>
6908 #: pkgs.dbk:1762
6909 msgid ""
6910 "If you are a porter doing an NMU for <literal>unstable</literal>, the above "
6911 "guidelines for porting should be followed, with two variations.  Firstly, "
6912 "the acceptable waiting period — the time between when the bug is submitted "
6913 "to the BTS and when it is OK to do an NMU — is seven days for porters "
6914 "working on the <literal>unstable</literal> distribution.  This period can be "
6915 "shortened if the problem is critical and imposes hardship on the porting "
6916 "effort, at the discretion of the porter group.  (Remember, none of this is "
6917 "Policy, just mutually agreed upon guidelines.) For uploads to "
6918 "<literal>stable</literal> or <literal>testing</literal>, please coordinate "
6919 "with the appropriate release team first."
6920 msgstr ""
6921
6922 #. type: Content of: <chapter><section><section><section><para>
6923 #: pkgs.dbk:1774
6924 msgid ""
6925 "Secondly, porters doing source NMUs should make sure that the bug they "
6926 "submit to the BTS should be of severity <literal>serious</literal> or "
6927 "greater.  This ensures that a single source package can be used to compile "
6928 "every supported Debian architecture by release time.  It is very important "
6929 "that we have one version of the binary and source package for all "
6930 "architectures in order to comply with many licenses."
6931 msgstr ""
6932
6933 #. type: Content of: <chapter><section><section><section><para>
6934 #: pkgs.dbk:1782
6935 msgid ""
6936 "Porters should try to avoid patches which simply kludge around bugs in the "
6937 "current version of the compile environment, kernel, or libc.  Sometimes such "
6938 "kludges can't be helped.  If you have to kludge around compiler bugs and the "
6939 "like, make sure you <literal>#ifdef</literal> your work properly; also, "
6940 "document your kludge so that people know to remove it once the external "
6941 "problems have been fixed."
6942 msgstr ""
6943
6944 #. type: Content of: <chapter><section><section><section><para>
6945 #: pkgs.dbk:1790
6946 msgid ""
6947 "Porters may also have an unofficial location where they can put the results "
6948 "of their work during the waiting period.  This helps others running the port "
6949 "have the benefit of the porter's work, even during the waiting period.  Of "
6950 "course, such locations have no official blessing or status, so buyer beware."
6951 msgstr ""
6952
6953 #. type: Content of: <chapter><section><section><title>
6954 #: pkgs.dbk:1800
6955 msgid "Porting infrastructure and automation"
6956 msgstr ""
6957
6958 #. type: Content of: <chapter><section><section><para>
6959 #: pkgs.dbk:1802
6960 msgid ""
6961 "There is infrastructure and several tools to help automate package porting.  "
6962 "This section contains a brief overview of this automation and porting to "
6963 "these tools; see the package documentation or references for full "
6964 "information."
6965 msgstr ""
6966
6967 #. type: Content of: <chapter><section><section><section><title>
6968 #: pkgs.dbk:1807
6969 msgid "Mailing lists and web pages"
6970 msgstr ""
6971
6972 #. type: Content of: <chapter><section><section><section><para>
6973 #: pkgs.dbk:1809
6974 msgid ""
6975 "Web pages containing the status of each port can be found at <ulink "
6976 "url=\"&url-debian-ports;\"></ulink>."
6977 msgstr ""
6978
6979 #. type: Content of: <chapter><section><section><section><para>
6980 #: pkgs.dbk:1813
6981 msgid ""
6982 "Each port of Debian has a mailing list.  The list of porting mailing lists "
6983 "can be found at <ulink url=\"&url-debian-port-lists;\"></ulink>.  These "
6984 "lists are used to coordinate porters, and to connect the users of a given "
6985 "port with the porters."
6986 msgstr ""
6987
6988 #. type: Content of: <chapter><section><section><section><title>
6989 #: pkgs.dbk:1821
6990 msgid "Porter tools"
6991 msgstr ""
6992
6993 #. type: Content of: <chapter><section><section><section><para>
6994 #: pkgs.dbk:1823
6995 msgid ""
6996 "Descriptions of several porting tools can be found in <xref "
6997 "linkend=\"tools-porting\"/>."
6998 msgstr ""
6999
7000 #. type: Content of: <chapter><section><section><section><title>
7001 #: pkgs.dbk:1829
7002 msgid "<systemitem role=\"package\">wanna-build</systemitem>"
7003 msgstr ""
7004
7005 #. type: Content of: <chapter><section><section><section><para>
7006 #: pkgs.dbk:1831
7007 msgid ""
7008 "The <systemitem role=\"package\">wanna-build</systemitem> system is used as "
7009 "a distributed, client-server build distribution system.  It is usually used "
7010 "in conjunction with build daemons running the <systemitem "
7011 "role=\"package\">buildd</systemitem> program. <literal>Build "
7012 "daemons</literal> are ``slave'' hosts which contact the central <systemitem "
7013 "role=\"package\">wanna-build</systemitem> system to receive a list of "
7014 "packages that need to be built."
7015 msgstr ""
7016
7017 #. type: Content of: <chapter><section><section><section><para>
7018 #: pkgs.dbk:1839
7019 msgid ""
7020 "<systemitem role=\"package\">wanna-build</systemitem> is not yet available "
7021 "as a package; however, all Debian porting efforts are using it for automated "
7022 "package building.  The tool used to do the actual package builds, "
7023 "<systemitem role=\"package\">sbuild</systemitem> is available as a package, "
7024 "see its description in <xref linkend=\"sbuild\"/>.  Please note that the "
7025 "packaged version is not the same as the one used on build daemons, but it is "
7026 "close enough to reproduce problems."
7027 msgstr ""
7028
7029 #. type: Content of: <chapter><section><section><section><para>
7030 #: pkgs.dbk:1848
7031 msgid ""
7032 "Most of the data produced by <systemitem "
7033 "role=\"package\">wanna-build</systemitem> which is generally useful to "
7034 "porters is available on the web at <ulink url=\"&url-buildd;\"></ulink>.  "
7035 "This data includes nightly updated statistics, queueing information and logs "
7036 "for build attempts."
7037 msgstr ""
7038
7039 #. type: Content of: <chapter><section><section><section><para>
7040 #: pkgs.dbk:1854
7041 msgid ""
7042 "We are quite proud of this system, since it has so many possible uses.  "
7043 "Independent development groups can use the system for different sub-flavors "
7044 "of Debian, which may or may not really be of general interest (for instance, "
7045 "a flavor of Debian built with <command>gcc</command> bounds checking).  It "
7046 "will also enable Debian to recompile entire distributions quickly."
7047 msgstr ""
7048
7049 #. type: Content of: <chapter><section><section><section><para>
7050 #: pkgs.dbk:1861
7051 msgid ""
7052 "The wanna-build team, in charge of the buildds, can be reached at "
7053 "<literal>debian-wb-team@lists.debian.org</literal>.  To determine who "
7054 "(wanna-build team, release team) and how (mail, BTS)  to contact, refer to "
7055 "<ulink url=\"&url-wb-team;\"></ulink>."
7056 msgstr ""
7057
7058 #. type: Content of: <chapter><section><section><section><para>
7059 #: pkgs.dbk:1868
7060 msgid ""
7061 "When requesting binNMUs or give-backs (retries after a failed build), please "
7062 "use the format described at <ulink url=\"&url-release-wb;\"/>."
7063 msgstr ""
7064
7065 #. type: Content of: <chapter><section><section><title>
7066 #: pkgs.dbk:1877
7067 msgid "When your package is <emphasis>not</emphasis> portable"
7068 msgstr ""
7069
7070 #. type: Content of: <chapter><section><section><para>
7071 #: pkgs.dbk:1879
7072 msgid ""
7073 "Some packages still have issues with building and/or working on some of the "
7074 "architectures supported by Debian, and cannot be ported at all, or not "
7075 "within a reasonable amount of time.  An example is a package that is "
7076 "SVGA-specific (only available for <literal>i386</literal> and "
7077 "<literal>amd64</literal>), or uses other hardware-specific features not "
7078 "supported on all architectures."
7079 msgstr ""
7080
7081 #. type: Content of: <chapter><section><section><para>
7082 #: pkgs.dbk:1886
7083 msgid ""
7084 "In order to prevent broken packages from being uploaded to the archive, and "
7085 "wasting buildd time, you need to do a few things:"
7086 msgstr ""
7087
7088 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7089 #: pkgs.dbk:1892
7090 msgid ""
7091 "First, make sure your package <emphasis>does</emphasis> fail to build on "
7092 "architectures that it cannot support.  There are a few ways to achieve "
7093 "this.  The preferred way is to have a small testsuite during build time that "
7094 "will test the functionality, and fail if it doesn't work.  This is a good "
7095 "idea anyway, as this will prevent (some) broken uploads on all "
7096 "architectures, and also will allow the package to build as soon as the "
7097 "required functionality is available."
7098 msgstr ""
7099
7100 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7101 #: pkgs.dbk:1900
7102 msgid ""
7103 "Additionally, if you believe the list of supported architectures is pretty "
7104 "constant, you should change <literal>any</literal> to a list of supported "
7105 "architectures in <filename>debian/control</filename>.  This way, the build "
7106 "will fail also, and indicate this to a human reader without actually trying."
7107 msgstr ""
7108
7109 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7110 #: pkgs.dbk:1908
7111 msgid ""
7112 "In order to prevent autobuilders from needlessly trying to build your "
7113 "package, it must be included in <filename>Packages-arch-specific</filename>, "
7114 "a list used by the <command>wanna-build</command> script.  The current "
7115 "version is available as <ulink url=\"&url-buildd-p-a-s;\"/>; please see the "
7116 "top of the file for whom to contact for changes."
7117 msgstr ""
7118
7119 #. type: Content of: <chapter><section><section><para>
7120 #: pkgs.dbk:1917
7121 msgid ""
7122 "Please note that it is insufficient to only add your package to "
7123 "<filename>Packages-arch-specific</filename> without making it fail to build "
7124 "on unsupported architectures: A porter or any other person trying to build "
7125 "your package might accidently upload it without noticing it doesn't work.  "
7126 "If in the past some binary packages were uploaded on unsupported "
7127 "architectures, request their removal by filing a bug against <systemitem "
7128 "role=\"package\">ftp.debian.org</systemitem>."
7129 msgstr ""
7130
7131 #. type: Content of: <chapter><section><section><title>
7132 #: pkgs.dbk:1928
7133 msgid "Marking non-free packages as auto-buildable"
7134 msgstr ""
7135
7136 #. type: Content of: <chapter><section><section><para>
7137 #: pkgs.dbk:1930
7138 msgid ""
7139 "By default packages from the <literal>non-free</literal> section are not "
7140 "built by the autobuilder network (mostly because the license of the packages "
7141 "could disapprove).  To enable a package to be build you need to perform the "
7142 "following steps:"
7143 msgstr ""
7144
7145 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7146 #: pkgs.dbk:1938
7147 msgid ""
7148 "Check whether it is legally allowed and technically possible to auto-build "
7149 "the package;"
7150 msgstr ""
7151
7152 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7153 #: pkgs.dbk:1944
7154 msgid ""
7155 "Add <literal>XS-Autobuild: yes</literal> into the header part of "
7156 "<filename>debian/control</filename>;"
7157 msgstr ""
7158
7159 #. type: Content of: <chapter><section><section><orderedlist><listitem><para>
7160 #: pkgs.dbk:1950
7161 msgid ""
7162 "Send an email to &email-nonfree-release; and explain why the package can "
7163 "legitimately and technically be auto-built."
7164 msgstr ""
7165
7166 #. type: Content of: <chapter><section><title>
7167 #: pkgs.dbk:1959
7168 msgid "Non-Maintainer Uploads (NMUs)"
7169 msgstr ""
7170
7171 #. type: Content of: <chapter><section><para>
7172 #: pkgs.dbk:1961
7173 msgid ""
7174 "Every package has one or more maintainers. Normally, these are the people "
7175 "who work on and upload new versions of the package. In some situations, it "
7176 "is useful that other developers can upload a new version as well, for "
7177 "example if they want to fix a bug in a package they don't maintain, when the "
7178 "maintainer needs help to respond to issues.  Such uploads are called "
7179 "<emphasis>Non-Maintainer Uploads (NMU)</emphasis>."
7180 msgstr ""
7181
7182 #. type: Content of: <chapter><section><section><title>
7183 #: pkgs.dbk:1970
7184 msgid "When and how to do an NMU"
7185 msgstr ""
7186
7187 #. type: Content of: <chapter><section><section><para>
7188 #: pkgs.dbk:1973
7189 msgid "Before doing an NMU, consider the following questions:"
7190 msgstr ""
7191
7192 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7193 #: pkgs.dbk:1978
7194 msgid ""
7195 "Does your NMU really fix bugs? Fixing cosmetic issues or changing the "
7196 "packaging style in NMUs is discouraged."
7197 msgstr ""
7198
7199 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7200 #: pkgs.dbk:1984
7201 msgid ""
7202 "Did you give enough time to the maintainer? When was the bug reported to the "
7203 "BTS? Being busy for a week or two isn't unusual.  Is the bug so severe that "
7204 "it needs to be fixed right now, or can it wait a few more days?"
7205 msgstr ""
7206
7207 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7208 #: pkgs.dbk:1991
7209 msgid ""
7210 "How confident are you about your changes? Please remember the Hippocratic "
7211 "Oath: \"Above all, do no harm.\" It is better to leave a package with an "
7212 "open grave bug than applying a non-functional patch, or one that hides the "
7213 "bug instead of resolving it. If you are not 100% sure of what you did, it "
7214 "might be a good idea to seek advice from others. Remember that if you break "
7215 "something in your NMU, many people will be very unhappy about it."
7216 msgstr ""
7217
7218 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7219 #: pkgs.dbk:2001
7220 msgid ""
7221 "Have you clearly expressed your intention to NMU, at least in the BTS? It is "
7222 "also a good idea to try to contact the maintainer by other means (private "
7223 "email, IRC)."
7224 msgstr ""
7225
7226 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7227 #: pkgs.dbk:2008
7228 msgid ""
7229 "If the maintainer is usually active and responsive, have you tried to "
7230 "contact them? In general it should be considered preferable that maintainers "
7231 "take care of an issue themselves and that they are given the chance to "
7232 "review and correct your patch, because they can be expected to be more aware "
7233 "of potential issues which an NMUer might miss. It is often a better use of "
7234 "everyone's time if the maintainer is given an opportunity to upload a fix on "
7235 "their own."
7236 msgstr ""
7237
7238 #. type: Content of: <chapter><section><section><para>
7239 #: pkgs.dbk:2018
7240 msgid ""
7241 "When doing an NMU, you must first make sure that your intention to NMU is "
7242 "clear.  Then, you must send a patch with the differences between the current "
7243 "package and your proposed NMU to the BTS. The <command>nmudiff</command> "
7244 "script in the <systemitem role=\"package\">devscripts</systemitem> package "
7245 "might be helpful."
7246 msgstr ""
7247
7248 #. type: Content of: <chapter><section><section><para>
7249 #: pkgs.dbk:2025
7250 msgid ""
7251 "While preparing the patch, you should better be aware of any "
7252 "package-specific practices that the maintainer might be using. Taking them "
7253 "into account reduces the burden of integrating your changes into the normal "
7254 "package workflow and thus increases the chances that integration will "
7255 "happen. A good place where to look for for possible package-specific "
7256 "practices is <ulink "
7257 "url=\"&url-debian-policy;ch-source.html#s-readmesource\"><filename>debian/README.source</filename></ulink>."
7258 msgstr ""
7259
7260 #. type: Content of: <chapter><section><section><para>
7261 #: pkgs.dbk:2033
7262 msgid ""
7263 "Unless you have an excellent reason not to do so, you must then give some "
7264 "time to the maintainer to react (for example, by uploading to the "
7265 "<literal>DELAYED</literal> queue).  Here are some recommended values to use "
7266 "for delays:"
7267 msgstr ""
7268
7269 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7270 #: pkgs.dbk:2040
7271 msgid ""
7272 "Upload fixing only release-critical bugs older than 7 days, with no "
7273 "maintainer activity on the bug for 7 days and no indication that a fix is in "
7274 "progress: 0 days"
7275 msgstr ""
7276
7277 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7278 #: pkgs.dbk:2045
7279 msgid "Upload fixing only release-critical bugs older than 7 days: 2 days"
7280 msgstr ""
7281
7282 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7283 #: pkgs.dbk:2050
7284 msgid "Upload fixing only release-critical and important bugs: 5 days"
7285 msgstr ""
7286
7287 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7288 #: pkgs.dbk:2055
7289 msgid "Other NMUs: 10 days"
7290 msgstr ""
7291
7292 #. type: Content of: <chapter><section><section><para>
7293 #: pkgs.dbk:2061
7294 msgid ""
7295 "Those delays are only examples. In some cases, such as uploads fixing "
7296 "security issues, or fixes for trivial bugs that blocking a transition, it is "
7297 "desirable that the fixed package reaches <literal>unstable</literal> sooner."
7298 msgstr ""
7299
7300 #. type: Content of: <chapter><section><section><para>
7301 #: pkgs.dbk:2067
7302 msgid ""
7303 "Sometimes, release managers decide to allow NMUs with shorter delays for a "
7304 "subset of bugs (e.g release-critical bugs older than 7 days). Also, some "
7305 "maintainers list themselves in the <ulink "
7306 "url=\"&url-low-threshold-nmu;\">Low Threshold NMU list</ulink>, and accept "
7307 "that NMUs are uploaded without delay. But even in those cases, it's still a "
7308 "good idea to give the maintainer a few days to react before you upload, "
7309 "especially if the patch wasn't available in the BTS before, or if you know "
7310 "that the maintainer is generally active."
7311 msgstr ""
7312
7313 #. type: Content of: <chapter><section><section><para>
7314 #: pkgs.dbk:2077
7315 msgid ""
7316 "After you upload an NMU, you are responsible for the possible problems that "
7317 "you might have introduced. You must keep an eye on the package (subscribing "
7318 "to the package on the PTS is a good way to achieve this)."
7319 msgstr ""
7320
7321 #. type: Content of: <chapter><section><section><para>
7322 #: pkgs.dbk:2083
7323 msgid ""
7324 "This is not a license to perform NMUs thoughtlessly.  If you NMU when it is "
7325 "clear that the maintainers are active and would have acknowledged a patch in "
7326 "a timely manner, or if you ignore the recommendations of this document, your "
7327 "upload might be a cause of conflict with the maintainer.  You should always "
7328 "be prepared to defend the wisdom of any NMU you perform on its own merits."
7329 msgstr ""
7330
7331 #. type: Content of: <chapter><section><section><title>
7332 #: pkgs.dbk:2093
7333 msgid "NMUs and <filename>debian/changelog</filename>"
7334 msgstr ""
7335
7336 #. type: Content of: <chapter><section><section><para>
7337 #: pkgs.dbk:2095
7338 msgid ""
7339 "Just like any other (source) upload, NMUs must add an entry to "
7340 "<filename>debian/changelog</filename>, telling what has changed with this "
7341 "upload.  The first line of this entry must explicitely mention that this "
7342 "upload is an NMU, e.g.:"
7343 msgstr ""
7344
7345 #. type: Content of: <chapter><section><section><screen>
7346 #: pkgs.dbk:2100
7347 #, no-wrap
7348 msgid "  * Non-maintainer upload.\n"
7349 msgstr ""
7350
7351 #. type: Content of: <chapter><section><section><para>
7352 #: pkgs.dbk:2104
7353 msgid "The way to version NMUs differs for native and non-native packages."
7354 msgstr ""
7355
7356 #. type: Content of: <chapter><section><section><para>
7357 #: pkgs.dbk:2107
7358 msgid ""
7359 "If the package is a native package (without a Debian revision in the version "
7360 "number), the version must be the version of the last maintainer upload, plus "
7361 "<literal>+nmu<replaceable>X</replaceable></literal>, where "
7362 "<replaceable>X</replaceable> is a counter starting at <literal>1</literal>.  "
7363 "If the last upload was also an NMU, the counter should be increased.  For "
7364 "example, if the current version is <literal>1.5</literal>, then an NMU would "
7365 "get version <literal>1.5+nmu1</literal>."
7366 msgstr ""
7367
7368 #. type: Content of: <chapter><section><section><para>
7369 #: pkgs.dbk:2117
7370 msgid ""
7371 "If the package is not a native package, you should add a minor version "
7372 "number to the Debian revision part of the version number (the portion after "
7373 "the last hyphen). This extra number must start at <literal>1</literal>.  For "
7374 "example, if the current version is <literal>1.5-2</literal>, then an NMU "
7375 "would get version <literal>1.5-2.1</literal>. If a new upstream version is "
7376 "packaged in the NMU, the Debian revision is set to <literal>0</literal>, for "
7377 "example <literal>1.6-0.1</literal>."
7378 msgstr ""
7379
7380 #. type: Content of: <chapter><section><section><para>
7381 #: pkgs.dbk:2126
7382 msgid ""
7383 "In both cases, if the last upload was also an NMU, the counter should be "
7384 "increased. For example, if the current version is "
7385 "<literal>1.5+nmu3</literal> (a native package which has already been NMUed), "
7386 "the NMU would get version <literal>1.5+nmu4</literal>."
7387 msgstr ""
7388
7389 #. type: Content of: <chapter><section><section><para>
7390 #: pkgs.dbk:2132
7391 msgid ""
7392 "A special versioning scheme is needed to avoid disrupting the maintainer's "
7393 "work, since using an integer for the Debian revision will potentially "
7394 "conflict with a maintainer upload already in preparation at the time of an "
7395 "NMU, or even one sitting in the ftp NEW queue.  It also has the benefit of "
7396 "making it visually clear that a package in the archive was not made by the "
7397 "official maintainer."
7398 msgstr ""
7399
7400 #. type: Content of: <chapter><section><section><para>
7401 #: pkgs.dbk:2141
7402 msgid ""
7403 "If you upload a package to testing or stable, you sometimes need to \"fork\" "
7404 "the version number tree. This is the case for security uploads, for "
7405 "example.  For this, a version of the form "
7406 "<literal>+deb<replaceable>X</replaceable>u<replaceable>Y</replaceable></literal> "
7407 "should be used, where <replaceable>X</replaceable> is the major release "
7408 "number, and <replaceable>Y</replaceable> is a counter starting at "
7409 "<literal>1</literal>.  For example, while Wheezy (Debian 7.0) is stable, a "
7410 "security NMU to stable for a package at version <literal>1.5-3</literal> "
7411 "would have version <literal>1.5-3+deb7u1</literal>, whereas a security NMU "
7412 "to Jessie would get version <literal>1.5-3+deb8u1</literal>."
7413 msgstr ""
7414
7415 #. type: Content of: <chapter><section><section><title>
7416 #: pkgs.dbk:2155
7417 msgid "Using the <literal>DELAYED/</literal> queue"
7418 msgstr ""
7419
7420 #. type: Content of: <chapter><section><section><para>
7421 #: pkgs.dbk:2158
7422 msgid ""
7423 "Having to wait for a response after you request permission to NMU is "
7424 "inefficient, because it costs the NMUer a context switch to come back to the "
7425 "issue.  The <literal>DELAYED</literal> queue (see <xref "
7426 "linkend=\"delayed-incoming\"/>)  allows the developer doing the NMU to "
7427 "perform all the necessary tasks at the same time. For instance, instead of "
7428 "telling the maintainer that you will upload the updated package in 7 days, "
7429 "you should upload the package to <literal>DELAYED/7</literal> and tell the "
7430 "maintainer that they have 7 days to react.  During this time, the maintainer "
7431 "can ask you to delay the upload some more, or cancel your upload."
7432 msgstr ""
7433
7434 #. type: Content of: <chapter><section><section><para>
7435 #: pkgs.dbk:2172
7436 msgid ""
7437 "The <literal>DELAYED</literal> queue should not be used to put additional "
7438 "pressure on the maintainer. In particular, it's important that you are "
7439 "available to cancel or delay the upload before the delay expires since the "
7440 "maintainer cannot cancel the upload themselves."
7441 msgstr ""
7442
7443 #. type: Content of: <chapter><section><section><para>
7444 #: pkgs.dbk:2179
7445 msgid ""
7446 "If you make an NMU to <literal>DELAYED</literal> and the maintainer updates "
7447 "the package before the delay expires, your upload will be rejected because a "
7448 "newer version is already available in the archive.  Ideally, the maintainer "
7449 "will take care to include your proposed changes (or at least a solution for "
7450 "the problems they address) in that upload."
7451 msgstr ""
7452
7453 #. type: Content of: <chapter><section><section><title>
7454 #: pkgs.dbk:2189
7455 msgid "NMUs from the maintainer's point of view"
7456 msgstr ""
7457
7458 #. type: Content of: <chapter><section><section><para>
7459 #: pkgs.dbk:2192
7460 msgid ""
7461 "When someone NMUs your package, this means they want to help you to keep it "
7462 "in good shape.  This gives users fixed packages faster.  You can consider "
7463 "asking the NMUer to become a co-maintainer of the package.  Receiving an NMU "
7464 "on a package is not a bad thing; it just means that the package is "
7465 "interesting enough for other people to work on it."
7466 msgstr ""
7467
7468 #. type: Content of: <chapter><section><section><para>
7469 #: pkgs.dbk:2201
7470 msgid ""
7471 "To acknowledge an NMU, include its changes and changelog entry in your next "
7472 "maintainer upload.  If you do not acknowledge the NMU by including the NMU "
7473 "changelog entry in your changelog, the bugs will remain closed in the BTS "
7474 "but will be listed as affecting your maintainer version of the package."
7475 msgstr ""
7476
7477 #. type: Content of: <chapter><section><section><title>
7478 #: pkgs.dbk:2210
7479 msgid "Source NMUs vs Binary-only NMUs (binNMUs)"
7480 msgstr ""
7481
7482 #. type: Content of: <chapter><section><section><para>
7483 #: pkgs.dbk:2213
7484 msgid ""
7485 "The full name of an NMU is <emphasis>source NMU</emphasis>.  There is also "
7486 "another type, namely the <emphasis>binary-only NMU</emphasis>, or "
7487 "<emphasis>binNMU</emphasis>.  A binNMU is also a package upload by someone "
7488 "other than the package's maintainer.  However, it is a binary-only upload."
7489 msgstr ""
7490
7491 #. type: Content of: <chapter><section><section><para>
7492 #: pkgs.dbk:2220
7493 msgid ""
7494 "When a library (or other dependency) is updated, the packages using it may "
7495 "need to be rebuilt.  Since no changes to the source are needed, the same "
7496 "source package is used."
7497 msgstr ""
7498
7499 #. type: Content of: <chapter><section><section><para>
7500 #: pkgs.dbk:2226
7501 msgid ""
7502 "BinNMUs are usually triggered on the buildds by wanna-build.  An entry is "
7503 "added to <filename>debian/changelog</filename>, explaining why the upload "
7504 "was needed and increasing the version number as described in <xref "
7505 "linkend=\"binary-only-nmu\"/>.  This entry should not be included in the "
7506 "next upload."
7507 msgstr ""
7508
7509 #. type: Content of: <chapter><section><section><para>
7510 #: pkgs.dbk:2234
7511 msgid ""
7512 "Buildds upload packages for their architecture to the archive as binary-only "
7513 "uploads.  Strictly speaking, these are binNMUs.  However, they are not "
7514 "normally called NMU, and they don't add an entry to "
7515 "<filename>debian/changelog</filename>."
7516 msgstr ""
7517
7518 #. type: Content of: <chapter><section><section><title>
7519 #: pkgs.dbk:2242
7520 msgid "NMUs vs QA uploads"
7521 msgstr ""
7522
7523 #. type: Content of: <chapter><section><section><para>
7524 #: pkgs.dbk:2245
7525 msgid ""
7526 "NMUs are uploads of packages by somebody else than their assigned "
7527 "maintainer.  There is another type of upload where the uploaded package is "
7528 "not yours: QA uploads. QA uploads are uploads of orphaned packages."
7529 msgstr ""
7530
7531 #. type: Content of: <chapter><section><section><para>
7532 #: pkgs.dbk:2252
7533 msgid ""
7534 "QA uploads are very much like normal maintainer uploads: they may fix "
7535 "anything, even minor issues; the version numbering is normal, and there is "
7536 "no need to use a delayed upload.  The difference is that you are not listed "
7537 "as the <literal>Maintainer</literal> or <literal>Uploader</literal> for the "
7538 "package.  Also, the changelog entry of a QA upload has a special first line:"
7539 msgstr ""
7540
7541 #. type: Content of: <chapter><section><section><screen>
7542 #: pkgs.dbk:2260
7543 #, no-wrap
7544 msgid " * QA upload.\n"
7545 msgstr ""
7546
7547 #. type: Content of: <chapter><section><section><para>
7548 #: pkgs.dbk:2264
7549 msgid ""
7550 "If you want to do an NMU, and it seems that the maintainer is not active, it "
7551 "is wise to check if the package is orphaned (this information is displayed "
7552 "on the package's Package Tracking System page).  When doing the first QA "
7553 "upload to an orphaned package, the maintainer should be set to "
7554 "<literal>Debian QA Group &lt;packages@qa.debian.org&gt;</literal>.  Orphaned "
7555 "packages which did not yet have a QA upload still have their old maintainer "
7556 "set.  There is a list of them at <ulink url=\"&url-orphaned-not-qa;\"/>."
7557 msgstr ""
7558
7559 #. type: Content of: <chapter><section><section><para>
7560 #: pkgs.dbk:2275
7561 msgid ""
7562 "Instead of doing a QA upload, you can also consider adopting the package by "
7563 "making yourself the maintainer.  You don't need permission from anybody to "
7564 "adopt an orphaned package, you can just set yourself as maintainer and "
7565 "upload the new version (see <xref linkend=\"adopting\"/>)."
7566 msgstr ""
7567
7568 #. type: Content of: <chapter><section><section><title>
7569 #: pkgs.dbk:2284
7570 msgid "NMUs vs team uploads"
7571 msgstr ""
7572
7573 #. type: Content of: <chapter><section><section><para>
7574 #: pkgs.dbk:2287
7575 msgid ""
7576 "Sometimes you are fixing and/or updating a package because you are member of "
7577 "a packaging team (which uses a mailing list as <literal>Maintainer</literal> "
7578 "or <literal>Uploader</literal>, see <xref linkend=\"collaborative-maint\"/>) "
7579 "but you don't want to add yourself to <literal>Uploaders</literal> because "
7580 "you do not plan to contribute regularly to this specific package. If it "
7581 "conforms with your team's policy, you can perform a normal upload without "
7582 "being listed directly as <literal>Maintainer</literal> or "
7583 "<literal>Uploader</literal>. In that case, you should start your changelog "
7584 "entry with the following line:"
7585 msgstr ""
7586
7587 #. type: Content of: <chapter><section><section><screen>
7588 #: pkgs.dbk:2297
7589 #, no-wrap
7590 msgid " * Team upload.\n"
7591 msgstr ""
7592
7593 #. type: Content of: <chapter><section><title>
7594 #: pkgs.dbk:2305
7595 msgid "Collaborative maintenance"
7596 msgstr ""
7597
7598 #. type: Content of: <chapter><section><para>
7599 #: pkgs.dbk:2307
7600 msgid ""
7601 "Collaborative maintenance is a term describing the sharing of Debian package "
7602 "maintenance duties by several people.  This collaboration is almost always a "
7603 "good idea, since it generally results in higher quality and faster bug fix "
7604 "turnaround times.  It is strongly recommended that packages with a priority "
7605 "of <literal>standard</literal> or which are part of the base set have "
7606 "co-maintainers."
7607 msgstr ""
7608
7609 #. type: Content of: <chapter><section><para>
7610 #: pkgs.dbk:2315
7611 msgid ""
7612 "Generally there is a primary maintainer and one or more co-maintainers.  The "
7613 "primary maintainer is the person whose name is listed in the "
7614 "<literal>Maintainer</literal> field of the "
7615 "<filename>debian/control</filename> file.  Co-maintainers are all the other "
7616 "maintainers, usually listed in the <literal>Uploaders</literal> field of the "
7617 "<filename>debian/control</filename> file."
7618 msgstr ""
7619
7620 #. type: Content of: <chapter><section><para>
7621 #: pkgs.dbk:2323
7622 msgid ""
7623 "In its most basic form, the process of adding a new co-maintainer is quite "
7624 "easy:"
7625 msgstr ""
7626
7627 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7628 #: pkgs.dbk:2329
7629 msgid ""
7630 "Setup the co-maintainer with access to the sources you build the package "
7631 "from.  Generally this implies you are using a network-capable version "
7632 "control system, such as <literal>CVS</literal> or "
7633 "<literal>Subversion</literal>.  Alioth (see <xref linkend=\"alioth\"/>) "
7634 "provides such tools, amongst others."
7635 msgstr ""
7636
7637 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7638 #: pkgs.dbk:2337
7639 msgid ""
7640 "Add the co-maintainer's correct maintainer name and address to the "
7641 "<literal>Uploaders</literal> field in the first paragraph of the "
7642 "<filename>debian/control</filename> file."
7643 msgstr ""
7644
7645 #. type: Content of: <chapter><section><itemizedlist><listitem><screen>
7646 #: pkgs.dbk:2342
7647 #, no-wrap
7648 msgid ""
7649 "Uploaders: John Buzz &lt;jbuzz@debian.org&gt;, Adam Rex "
7650 "&lt;arex@debian.org&gt;\n"
7651 msgstr ""
7652
7653 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
7654 #: pkgs.dbk:2347
7655 msgid ""
7656 "Using the PTS (<xref linkend=\"pkg-tracking-system\"/>), the co-maintainers "
7657 "should subscribe themselves to the appropriate source package."
7658 msgstr ""
7659
7660 #. type: Content of: <chapter><section><para>
7661 #: pkgs.dbk:2353
7662 msgid ""
7663 "Another form of collaborative maintenance is team maintenance, which is "
7664 "recommended if you maintain several packages with the same group of "
7665 "developers.  In that case, the <literal>Maintainer</literal> and "
7666 "<literal>Uploaders</literal> field of each package must be managed with "
7667 "care.  It is recommended to choose between one of the two following schemes:"
7668 msgstr ""
7669
7670 #. type: Content of: <chapter><section><orderedlist><listitem><para>
7671 #: pkgs.dbk:2362
7672 msgid ""
7673 "Put the team member mainly responsible for the package in the "
7674 "<literal>Maintainer</literal> field.  In the <literal>Uploaders</literal>, "
7675 "put the mailing list address, and the team members who care for the package."
7676 msgstr ""
7677
7678 #. type: Content of: <chapter><section><orderedlist><listitem><para>
7679 #: pkgs.dbk:2369
7680 msgid ""
7681 "Put the mailing list address in the <literal>Maintainer</literal> field.  In "
7682 "the <literal>Uploaders</literal> field, put the team members who care for "
7683 "the package.  In this case, you must make sure the mailing list accept bug "
7684 "reports without any human interaction (like moderation for non-subscribers)."
7685 msgstr ""
7686
7687 #. type: Content of: <chapter><section><para>
7688 #: pkgs.dbk:2378
7689 msgid ""
7690 "In any case, it is a bad idea to automatically put all team members in the "
7691 "<literal>Uploaders</literal> field. It clutters the Developer's Package "
7692 "Overview listing (see <xref linkend=\"ddpo\"/>) with packages one doesn't "
7693 "really care for, and creates a false sense of good maintenance. For the same "
7694 "reason, team members do not need to add themselves to the "
7695 "<literal>Uploaders</literal> field just because they are uploading the "
7696 "package once, they can do a “Team upload” (see <xref "
7697 "linkend=\"nmu-team-upload\"/>). Conversely, it is a bad idea to keep a "
7698 "package with only the mailing list address as a "
7699 "<literal>Maintainer</literal> and no <literal>Uploaders</literal>."
7700 msgstr ""
7701
7702 #. type: Content of: <chapter><section><title>
7703 #: pkgs.dbk:2391
7704 msgid "The testing distribution"
7705 msgstr ""
7706
7707 #. type: Content of: <chapter><section><section><title>
7708 #: pkgs.dbk:2393
7709 msgid "Basics"
7710 msgstr ""
7711
7712 #. type: Content of: <chapter><section><section><para>
7713 #: pkgs.dbk:2395
7714 msgid ""
7715 "Packages are usually installed into the <literal>testing</literal> "
7716 "distribution after they have undergone some degree of "
7717 "<literal>testing</literal> in <literal>unstable</literal>."
7718 msgstr ""
7719
7720 #. type: Content of: <chapter><section><section><para>
7721 #: pkgs.dbk:2400
7722 msgid ""
7723 "They must be in sync on all architectures and mustn't have dependencies that "
7724 "make them uninstallable; they also have to have generally no known "
7725 "release-critical bugs at the time they're installed into "
7726 "<literal>testing</literal>.  This way, <literal>testing</literal> should "
7727 "always be close to being a release candidate.  Please see below for details."
7728 msgstr ""
7729
7730 #. type: Content of: <chapter><section><section><title>
7731 #: pkgs.dbk:2409
7732 msgid "Updates from unstable"
7733 msgstr ""
7734
7735 #. type: Content of: <chapter><section><section><para>
7736 #: pkgs.dbk:2411
7737 msgid ""
7738 "The scripts that update the <literal>testing</literal> distribution are run "
7739 "twice each day, right after the installation of the updated packages; these "
7740 "scripts are called <literal>britney</literal>.  They generate the "
7741 "<filename>Packages</filename> files for the <literal>testing</literal> "
7742 "distribution, but they do so in an intelligent manner; they try to avoid any "
7743 "inconsistency and to use only non-buggy packages."
7744 msgstr ""
7745
7746 #. type: Content of: <chapter><section><section><para>
7747 #: pkgs.dbk:2419
7748 msgid ""
7749 "The inclusion of a package from <literal>unstable</literal> is conditional "
7750 "on the following:"
7751 msgstr ""
7752
7753 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7754 #: pkgs.dbk:2425
7755 msgid ""
7756 "The package must have been available in <literal>unstable</literal> for 2, 5 "
7757 "or 10 days, depending on the urgency (high, medium or low).  Please note "
7758 "that the urgency is sticky, meaning that the highest urgency uploaded since "
7759 "the previous <literal>testing</literal> transition is taken into account;"
7760 msgstr ""
7761
7762 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7763 #: pkgs.dbk:2433
7764 msgid ""
7765 "It must not have new release-critical bugs (RC bugs affecting the version "
7766 "available in <literal>unstable</literal>, but not affecting the version in "
7767 "<literal>testing</literal>);"
7768 msgstr ""
7769
7770 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7771 #: pkgs.dbk:2440
7772 msgid ""
7773 "It must be available on all architectures on which it has previously been "
7774 "built in <literal>unstable</literal>. <link linkend=\"dak-ls\">dak ls</link> "
7775 "may be of interest to check that information;"
7776 msgstr ""
7777
7778 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7779 #: pkgs.dbk:2447
7780 msgid ""
7781 "It must not break any dependency of a package which is already available in "
7782 "<literal>testing</literal>;"
7783 msgstr ""
7784
7785 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7786 #: pkgs.dbk:2453
7787 msgid ""
7788 "The packages on which it depends must either be available in "
7789 "<literal>testing</literal> or they must be accepted into "
7790 "<literal>testing</literal> at the same time (and they will be if they "
7791 "fulfill all the necessary criteria);"
7792 msgstr ""
7793
7794 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
7795 #: pkgs.dbk:2461
7796 msgid ""
7797 "The phase of the project.  I.e. automatic transitions are turned off during "
7798 "the <emphasis>freeze</emphasis> of the <literal>testing</literal> "
7799 "distribution."
7800 msgstr ""
7801
7802 #. type: Content of: <chapter><section><section><para>
7803 #: pkgs.dbk:2467
7804 msgid ""
7805 "To find out whether a package is progressing into <literal>testing</literal> "
7806 "or not, see the <literal>testing</literal> script output on the <ulink "
7807 "url=\"&url-testing-maint;\">web page of the testing distribution</ulink>, or "
7808 "use the program <command>grep-excuses</command> which is in the <systemitem "
7809 "role=\"package\">devscripts</systemitem> package.  This utility can easily "
7810 "be used in a <citerefentry> <refentrytitle>crontab</refentrytitle> "
7811 "<manvolnum>5</manvolnum> </citerefentry> to keep yourself informed of the "
7812 "progression of your packages into <literal>testing</literal>."
7813 msgstr ""
7814
7815 #. type: Content of: <chapter><section><section><para>
7816 #: pkgs.dbk:2478
7817 msgid ""
7818 "The <filename>update_excuses</filename> file does not always give the "
7819 "precise reason why the package is refused; you may have to find it on your "
7820 "own by looking for what would break with the inclusion of the package.  The "
7821 "<ulink url=\"&url-testing-maint;\">testing web page</ulink> gives some more "
7822 "information about the usual problems which may be causing such troubles."
7823 msgstr ""
7824
7825 #. type: Content of: <chapter><section><section><para>
7826 #: pkgs.dbk:2485
7827 msgid ""
7828 "Sometimes, some packages never enter <literal>testing</literal> because the "
7829 "set of interrelationship is too complicated and cannot be sorted out by the "
7830 "scripts.  See below for details."
7831 msgstr ""
7832
7833 #. type: Content of: <chapter><section><section><para>
7834 #: pkgs.dbk:2490
7835 msgid ""
7836 "Some further dependency analysis is shown on <ulink "
7837 "url=\"http://release.debian.org/migration/\"></ulink> — but be warned, this "
7838 "page also shows build dependencies which are not considered by britney."
7839 msgstr ""
7840
7841 #. type: Content of: <chapter><section><section><section><title>
7842 #: pkgs.dbk:2495
7843 msgid "Out-of-date"
7844 msgstr ""
7845
7846 #.  FIXME: better rename this file than document rampant professionalism? 
7847 #. type: Content of: <chapter><section><section><section><para>
7848 #: pkgs.dbk:2498
7849 msgid ""
7850 "For the <literal>testing</literal> migration script, outdated means: There "
7851 "are different versions in <literal>unstable</literal> for the release "
7852 "architectures (except for the architectures in fuckedarches; fuckedarches is "
7853 "a list of architectures that don't keep up (in "
7854 "<filename>update_out.py</filename>), but currently, it's empty).  outdated "
7855 "has nothing whatsoever to do with the architectures this package has in "
7856 "<literal>testing</literal>."
7857 msgstr ""
7858
7859 #. type: Content of: <chapter><section><section><section><para>
7860 #: pkgs.dbk:2506
7861 msgid "Consider this example:"
7862 msgstr ""
7863
7864 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7865 #: pkgs.dbk:2513 pkgs.dbk:2546
7866 msgid "alpha"
7867 msgstr ""
7868
7869 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7870 #: pkgs.dbk:2514 pkgs.dbk:2547
7871 msgid "arm"
7872 msgstr ""
7873
7874 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7875 #: pkgs.dbk:2519 pkgs.dbk:2553 pkgs.dbk:2615
7876 msgid "testing"
7877 msgstr ""
7878
7879 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7880 #: pkgs.dbk:2520 pkgs.dbk:2525 pkgs.dbk:2554 pkgs.dbk:2555 pkgs.dbk:2562
7881 msgid "1"
7882 msgstr ""
7883
7884 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7885 #: pkgs.dbk:2521 pkgs.dbk:2556 pkgs.dbk:2561
7886 msgid "-"
7887 msgstr ""
7888
7889 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7890 #: pkgs.dbk:2524 pkgs.dbk:2559 pkgs.dbk:2616
7891 msgid "unstable"
7892 msgstr ""
7893
7894 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7895 #: pkgs.dbk:2526 pkgs.dbk:2560
7896 msgid "2"
7897 msgstr ""
7898
7899 #. type: Content of: <chapter><section><section><section><para>
7900 #: pkgs.dbk:2532
7901 msgid ""
7902 "The package is out of date on <literal>alpha</literal> in "
7903 "<literal>unstable</literal>, and will not go to "
7904 "<literal>testing</literal>. Removing the package would not help at all, the "
7905 "package is still out of date on <literal>alpha</literal>, and will not "
7906 "propagate to <literal>testing</literal>."
7907 msgstr ""
7908
7909 #. type: Content of: <chapter><section><section><section><para>
7910 #: pkgs.dbk:2538
7911 msgid ""
7912 "However, if ftp-master removes a package in <literal>unstable</literal> "
7913 "(here on <literal>arm</literal>):"
7914 msgstr ""
7915
7916 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><thead><row><entry>
7917 #: pkgs.dbk:2548
7918 msgid "hurd-i386"
7919 msgstr ""
7920
7921 #. type: Content of: <chapter><section><section><section><para>
7922 #: pkgs.dbk:2568
7923 msgid ""
7924 "In this case, the package is up to date on all release architectures in "
7925 "<literal>unstable</literal> (and the extra <literal>hurd-i386</literal> "
7926 "doesn't matter, as it's not a release architecture)."
7927 msgstr ""
7928
7929 #. type: Content of: <chapter><section><section><section><para>
7930 #: pkgs.dbk:2573
7931 msgid ""
7932 "Sometimes, the question is raised if it is possible to allow packages in "
7933 "that are not yet built on all architectures: No.  Just plainly no.  (Except "
7934 "if you maintain glibc or so.)"
7935 msgstr ""
7936
7937 #. type: Content of: <chapter><section><section><section><title>
7938 #: pkgs.dbk:2580
7939 msgid "Removals from testing"
7940 msgstr ""
7941
7942 #. type: Content of: <chapter><section><section><section><para>
7943 #: pkgs.dbk:2582
7944 msgid ""
7945 "Sometimes, a package is removed to allow another package in: This happens "
7946 "only to allow <emphasis>another</emphasis> package to go in if it's ready in "
7947 "every other sense.  Suppose e.g.  that <literal>a</literal> cannot be "
7948 "installed with the new version of <literal>b</literal>; then "
7949 "<literal>a</literal> may be removed to allow <literal>b</literal> in."
7950 msgstr ""
7951
7952 #. type: Content of: <chapter><section><section><section><para>
7953 #: pkgs.dbk:2589
7954 msgid ""
7955 "Of course, there is another reason to remove a package from "
7956 "<literal>testing</literal>: It's just too buggy (and having a single RC-bug "
7957 "is enough to be in this state)."
7958 msgstr ""
7959
7960 #. type: Content of: <chapter><section><section><section><para>
7961 #: pkgs.dbk:2594
7962 msgid ""
7963 "Furthermore, if a package has been removed from <literal>unstable</literal>, "
7964 "and no package in <literal>testing</literal> depends on it any more, then it "
7965 "will automatically be removed."
7966 msgstr ""
7967
7968 #. type: Content of: <chapter><section><section><section><title>
7969 #: pkgs.dbk:2601
7970 msgid "Circular dependencies"
7971 msgstr ""
7972
7973 #. type: Content of: <chapter><section><section><section><para>
7974 #: pkgs.dbk:2603
7975 msgid ""
7976 "A situation which is not handled very well by britney is if package "
7977 "<literal>a</literal> depends on the new version of package "
7978 "<literal>b</literal>, and vice versa."
7979 msgstr ""
7980
7981 #. type: Content of: <chapter><section><section><section><para>
7982 #: pkgs.dbk:2608
7983 msgid "An example of this is:"
7984 msgstr ""
7985
7986 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7987 #: pkgs.dbk:2621
7988 msgid "a"
7989 msgstr ""
7990
7991 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7992 #: pkgs.dbk:2622
7993 msgid "1; depends: b=1"
7994 msgstr ""
7995
7996 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
7997 #: pkgs.dbk:2623
7998 msgid "2; depends: b=2"
7999 msgstr ""
8000
8001 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
8002 #: pkgs.dbk:2626
8003 msgid "b"
8004 msgstr ""
8005
8006 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
8007 #: pkgs.dbk:2627
8008 msgid "1; depends: a=1"
8009 msgstr ""
8010
8011 #. type: Content of: <chapter><section><section><section><informaltable><tgroup><tbody><row><entry>
8012 #: pkgs.dbk:2628
8013 msgid "2; depends: a=2"
8014 msgstr ""
8015
8016 #. type: Content of: <chapter><section><section><section><para>
8017 #: pkgs.dbk:2634
8018 msgid ""
8019 "Neither package <literal>a</literal> nor package <literal>b</literal> is "
8020 "considered for update."
8021 msgstr ""
8022
8023 #. type: Content of: <chapter><section><section><section><para>
8024 #: pkgs.dbk:2638
8025 msgid ""
8026 "Currently, this requires some manual hinting from the release team.  Please "
8027 "contact them by sending mail to &email-debian-release; if this happens to "
8028 "one of your packages."
8029 msgstr ""
8030
8031 #. type: Content of: <chapter><section><section><section><title>
8032 #: pkgs.dbk:2645
8033 msgid "Influence of package in testing"
8034 msgstr ""
8035
8036 #. type: Content of: <chapter><section><section><section><para>
8037 #: pkgs.dbk:2647
8038 msgid ""
8039 "Generally, there is nothing that the status of a package in "
8040 "<literal>testing</literal> means for transition of the next version from "
8041 "<literal>unstable</literal> to <literal>testing</literal>, with two "
8042 "exceptions: If the RC-bugginess of the package goes down, it may go in even "
8043 "if it is still RC-buggy.  The second exception is if the version of the "
8044 "package in <literal>testing</literal> is out of sync on the different "
8045 "arches: Then any arch might just upgrade to the version of the source "
8046 "package; however, this can happen only if the package was previously forced "
8047 "through, the arch is in fuckedarches, or there was no binary package of that "
8048 "arch present in <literal>unstable</literal> at all during the "
8049 "<literal>testing</literal> migration."
8050 msgstr ""
8051
8052 #. type: Content of: <chapter><section><section><section><para>
8053 #: pkgs.dbk:2659
8054 msgid ""
8055 "In summary this means: The only influence that a package being in "
8056 "<literal>testing</literal> has on a new version of the same package is that "
8057 "the new version might go in easier."
8058 msgstr ""
8059
8060 #. type: Content of: <chapter><section><section><section><title>
8061 #: pkgs.dbk:2666
8062 msgid "Details"
8063 msgstr ""
8064
8065 #. type: Content of: <chapter><section><section><section><para>
8066 #: pkgs.dbk:2668
8067 msgid "If you are interested in details, this is how britney works:"
8068 msgstr ""
8069
8070 #. type: Content of: <chapter><section><section><section><para>
8071 #: pkgs.dbk:2671
8072 msgid ""
8073 "The packages are looked at to determine whether they are valid candidates.  "
8074 "This gives the update excuses.  The most common reasons why a package is not "
8075 "considered are too young, RC-bugginess, and out of date on some arches.  For "
8076 "this part of britney, the release managers have hammers of various sizes, "
8077 "called hints (see below), to force britney to consider a package."
8078 msgstr ""
8079
8080 #. type: Content of: <chapter><section><section><section><para>
8081 #: pkgs.dbk:2678
8082 msgid ""
8083 "Now, the more complex part happens: Britney tries to update "
8084 "<literal>testing</literal> with the valid candidates. For that, britney "
8085 "tries to add each valid candidate to the testing distribution. If the number "
8086 "of uninstallable packages in <literal>testing</literal> doesn't increase, "
8087 "the package is accepted. From that point on, the accepted package is "
8088 "considered to be part of <literal>testing</literal>, such that all "
8089 "subsequent installability tests include this package.  Hints from the "
8090 "release team are processed before or after this main run, depending on the "
8091 "exact type."
8092 msgstr ""
8093
8094 #. type: Content of: <chapter><section><section><section><para>
8095 #: pkgs.dbk:2688
8096 msgid ""
8097 "If you want to see more details, you can look it up on <ulink "
8098 "url=\"http://&ftp-master-host;/testing/update_output/\"></ulink>."
8099 msgstr ""
8100
8101 #. type: Content of: <chapter><section><section><section><para>
8102 #: pkgs.dbk:2692
8103 msgid ""
8104 "The hints are available via <ulink "
8105 "url=\"http://&ftp-master-host;/testing/hints/\"></ulink>, where you can find "
8106 "the <ulink "
8107 "url=\"http://&ftp-master-host;/testing/hints/README\">description</ulink> as "
8108 "well.  With the hints, the Debian Release team can block or unblock "
8109 "packages, ease or force packages into <literal>testing</literal>, remove "
8110 "packages from <literal>testing</literal>, approve uploads to <link "
8111 "linkend=\"t-p-u\">testing-proposed-updates</link> or override the urgency."
8112 msgstr ""
8113
8114 #. type: Content of: <chapter><section><section><title>
8115 #: pkgs.dbk:2706
8116 msgid "Direct updates to testing"
8117 msgstr ""
8118
8119 #. type: Content of: <chapter><section><section><para>
8120 #: pkgs.dbk:2708
8121 msgid ""
8122 "The <literal>testing</literal> distribution is fed with packages from "
8123 "<literal>unstable</literal> according to the rules explained above.  "
8124 "However, in some cases, it is necessary to upload packages built only for "
8125 "<literal>testing</literal>.  For that, you may want to upload to "
8126 "<literal>testing-proposed-updates</literal>."
8127 msgstr ""
8128
8129 #. type: Content of: <chapter><section><section><para>
8130 #: pkgs.dbk:2715
8131 msgid ""
8132 "Keep in mind that packages uploaded there are not automatically processed, "
8133 "they have to go through the hands of the release manager.  So you'd better "
8134 "have a good reason to upload there.  In order to know what a good reason is "
8135 "in the release managers' eyes, you should read the instructions that they "
8136 "regularly give on &email-debian-devel-announce;."
8137 msgstr ""
8138
8139 #. type: Content of: <chapter><section><section><para>
8140 #: pkgs.dbk:2722
8141 msgid ""
8142 "You should not upload to <literal>testing-proposed-updates</literal> when "
8143 "you can update your packages through <literal>unstable</literal>.  If you "
8144 "can't (for example because you have a newer development version in "
8145 "<literal>unstable</literal>), you may use this facility, but it is "
8146 "recommended that you ask for authorization from the release manager first.  "
8147 "Even if a package is frozen, updates through <literal>unstable</literal> are "
8148 "possible, if the upload via <literal>unstable</literal> does not pull in any "
8149 "new dependencies."
8150 msgstr ""
8151
8152 #. type: Content of: <chapter><section><section><para>
8153 #: pkgs.dbk:2731
8154 msgid ""
8155 "Version numbers are usually selected by adding the codename of the "
8156 "<literal>testing</literal> distribution and a running number, like "
8157 "<literal>1.2squeeze1</literal> for the first upload through "
8158 "<literal>testing-proposed-updates</literal> of package version "
8159 "<literal>1.2</literal>."
8160 msgstr ""
8161
8162 #. type: Content of: <chapter><section><section><para>
8163 #: pkgs.dbk:2738
8164 msgid "Please make sure you didn't miss any of these items in your upload:"
8165 msgstr ""
8166
8167 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8168 #: pkgs.dbk:2743
8169 msgid ""
8170 "Make sure that your package really needs to go through "
8171 "<literal>testing-proposed-updates</literal>, and can't go through "
8172 "<literal>unstable</literal>;"
8173 msgstr ""
8174
8175 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8176 #: pkgs.dbk:2750
8177 msgid "Make sure that you included only the minimal amount of changes;"
8178 msgstr ""
8179
8180 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8181 #: pkgs.dbk:2755
8182 msgid "Make sure that you included an appropriate explanation in the changelog;"
8183 msgstr ""
8184
8185 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8186 #: pkgs.dbk:2760
8187 msgid ""
8188 "Make sure that you've written <literal>testing</literal> or "
8189 "<literal>testing-proposed-updates</literal> into your target distribution;"
8190 msgstr ""
8191
8192 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8193 #: pkgs.dbk:2766
8194 msgid ""
8195 "Make sure that you've built and tested your package in "
8196 "<literal>testing</literal>, not in <literal>unstable</literal>;"
8197 msgstr ""
8198
8199 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8200 #: pkgs.dbk:2772
8201 msgid ""
8202 "Make sure that your version number is higher than the version in "
8203 "<literal>testing</literal> and <literal>testing-proposed-updates</literal>, "
8204 "and lower than in <literal>unstable</literal>;"
8205 msgstr ""
8206
8207 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8208 #: pkgs.dbk:2779
8209 msgid ""
8210 "After uploading and successful build on all platforms, contact the release "
8211 "team at &email-debian-release; and ask them to approve your upload."
8212 msgstr ""
8213
8214 #. type: Content of: <chapter><section><section><title>
8215 #: pkgs.dbk:2787
8216 msgid "Frequently asked questions"
8217 msgstr ""
8218
8219 #. type: Content of: <chapter><section><section><section><title>
8220 #: pkgs.dbk:2789
8221 msgid "What are release-critical bugs, and how do they get counted?"
8222 msgstr ""
8223
8224 #. type: Content of: <chapter><section><section><section><para>
8225 #: pkgs.dbk:2791
8226 msgid ""
8227 "All bugs of some higher severities are by default considered "
8228 "release-critical; currently, these are <literal>critical</literal>, "
8229 "<literal>grave</literal> and <literal>serious</literal> bugs."
8230 msgstr ""
8231
8232 #. type: Content of: <chapter><section><section><section><para>
8233 #: pkgs.dbk:2796
8234 msgid ""
8235 "Such bugs are presumed to have an impact on the chances that the package "
8236 "will be released with the <literal>stable</literal> release of Debian: in "
8237 "general, if a package has open release-critical bugs filed on it, it won't "
8238 "get into <literal>testing</literal>, and consequently won't be released in "
8239 "<literal>stable</literal>."
8240 msgstr ""
8241
8242 #. type: Content of: <chapter><section><section><section><para>
8243 #: pkgs.dbk:2803
8244 msgid ""
8245 "The <literal>unstable</literal> bug count are all release-critical bugs "
8246 "which are marked to apply to "
8247 "<replaceable>package</replaceable>/<replaceable>version</replaceable> "
8248 "combinations that are available in unstable for a release architecture. The "
8249 "<literal>testing</literal> bug count is defined analogously."
8250 msgstr ""
8251
8252 #. type: Content of: <chapter><section><section><section><title>
8253 #: pkgs.dbk:2811
8254 msgid ""
8255 "How could installing a package into <literal>testing</literal> possibly "
8256 "break other packages?"
8257 msgstr ""
8258
8259 #. type: Content of: <chapter><section><section><section><para>
8260 #: pkgs.dbk:2814
8261 msgid ""
8262 "The structure of the distribution archives is such that they can only "
8263 "contain one version of a package; a package is defined by its name.  So when "
8264 "the source package <literal>acmefoo</literal> is installed into "
8265 "<literal>testing</literal>, along with its binary packages "
8266 "<literal>acme-foo-bin</literal>, <literal>acme-bar-bin</literal>, "
8267 "<literal>libacme-foo1</literal> and <literal>libacme-foo-dev</literal>, the "
8268 "old version is removed."
8269 msgstr ""
8270
8271 #. type: Content of: <chapter><section><section><section><para>
8272 #: pkgs.dbk:2822
8273 msgid ""
8274 "However, the old version may have provided a binary package with an old "
8275 "soname of a library, such as <literal>libacme-foo0</literal>.  Removing the "
8276 "old <literal>acmefoo</literal> will remove <literal>libacme-foo0</literal>, "
8277 "which will break any packages which depend on it."
8278 msgstr ""
8279
8280 #. type: Content of: <chapter><section><section><section><para>
8281 #: pkgs.dbk:2828
8282 msgid ""
8283 "Evidently, this mainly affects packages which provide changing sets of "
8284 "binary packages in different versions (in turn, mainly libraries).  However, "
8285 "it will also affect packages upon which versioned dependencies have been "
8286 "declared of the ==, &lt;=, or &lt;&lt; varieties."
8287 msgstr ""
8288
8289 #. type: Content of: <chapter><section><section><section><para>
8290 #: pkgs.dbk:2834
8291 msgid ""
8292 "When the set of binary packages provided by a source package change in this "
8293 "way, all the packages that depended on the old binaries will have to be "
8294 "updated to depend on the new binaries instead.  Because installing such a "
8295 "source package into <literal>testing</literal> breaks all the packages that "
8296 "depended on it in <literal>testing</literal>, some care has to be taken now: "
8297 "all the depending packages must be updated and ready to be installed "
8298 "themselves so that they won't be broken, and, once everything is ready, "
8299 "manual intervention by the release manager or an assistant is normally "
8300 "required."
8301 msgstr ""
8302
8303 #. type: Content of: <chapter><section><section><section><para>
8304 #: pkgs.dbk:2845
8305 msgid ""
8306 "If you are having problems with complicated groups of packages like this, "
8307 "contact &email-debian-devel; or &email-debian-release; for help."
8308 msgstr ""
8309
8310 #. type: Content of: <chapter><title>
8311 #: resources.dbk:7
8312 msgid "Resources for Debian Developers"
8313 msgstr ""
8314
8315 #. type: Content of: <chapter><para>
8316 #: resources.dbk:9
8317 msgid ""
8318 "In this chapter you will find a very brief road map of the Debian mailing "
8319 "lists, the Debian machines which may be available to you as a developer, and "
8320 "all the other resources that are available to help you in your maintainer "
8321 "work."
8322 msgstr ""
8323
8324 #. type: Content of: <chapter><section><title>
8325 #: resources.dbk:14
8326 msgid "Mailing lists"
8327 msgstr ""
8328
8329 #. type: Content of: <chapter><section><para>
8330 #: resources.dbk:16
8331 msgid ""
8332 "Much of the conversation between Debian developers (and users) is managed "
8333 "through a wide array of mailing lists we host at <literal><ulink "
8334 "url=\"http://&lists-host;/\">&lists-host;</ulink></literal>.  To find out "
8335 "more on how to subscribe or unsubscribe, how to post and how not to post, "
8336 "where to find old posts and how to search them, how to contact the list "
8337 "maintainers and see various other information about the mailing lists, "
8338 "please read <ulink url=\"&url-debian-lists;\"></ulink>.  This section will "
8339 "only cover aspects of mailing lists that are of particular interest to "
8340 "developers."
8341 msgstr ""
8342
8343 #. type: Content of: <chapter><section><section><title>
8344 #: resources.dbk:27
8345 msgid "Basic rules for use"
8346 msgstr ""
8347
8348 #. type: Content of: <chapter><section><section><para>
8349 #: resources.dbk:29
8350 msgid ""
8351 "When replying to messages on the mailing list, please do not send a carbon "
8352 "copy (<literal>CC</literal>) to the original poster unless they explicitly "
8353 "request to be copied.  Anyone who posts to a mailing list should read it to "
8354 "see the responses."
8355 msgstr ""
8356
8357 #. type: Content of: <chapter><section><section><para>
8358 #: resources.dbk:35
8359 msgid ""
8360 "Cross-posting (sending the same message to multiple lists) is discouraged.  "
8361 "As ever on the net, please trim down the quoting of articles you're replying "
8362 "to.  In general, please adhere to the usual conventions for posting "
8363 "messages."
8364 msgstr ""
8365
8366 #. type: Content of: <chapter><section><section><para>
8367 #: resources.dbk:40
8368 msgid ""
8369 "Please read the <ulink url=\"&url-debian-lists;#codeofconduct\">code of "
8370 "conduct</ulink> for more information. The <ulink url=\"&url-dcg;\">Debian "
8371 "Community Guidelines</ulink> are also worth reading."
8372 msgstr ""
8373
8374 #. type: Content of: <chapter><section><section><title>
8375 #: resources.dbk:48
8376 msgid "Core development mailing lists"
8377 msgstr ""
8378
8379 #. type: Content of: <chapter><section><section><para>
8380 #: resources.dbk:50
8381 msgid "The core Debian mailing lists that developers should use are:"
8382 msgstr ""
8383
8384 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8385 #: resources.dbk:55
8386 msgid ""
8387 "&email-debian-devel-announce;, used to announce important things to "
8388 "developers.  All developers are expected to be subscribed to this list."
8389 msgstr ""
8390
8391 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8392 #: resources.dbk:62
8393 msgid ""
8394 "&email-debian-devel;, used to discuss various development related technical "
8395 "issues."
8396 msgstr ""
8397
8398 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8399 #: resources.dbk:68
8400 msgid "&email-debian-policy;, where the Debian Policy is discussed and voted on."
8401 msgstr ""
8402
8403 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
8404 #: resources.dbk:74
8405 msgid ""
8406 "&email-debian-project;, used to discuss various non-technical issues related "
8407 "to the project."
8408 msgstr ""
8409
8410 #. type: Content of: <chapter><section><section><para>
8411 #: resources.dbk:80
8412 msgid ""
8413 "There are other mailing lists available for a variety of special topics; see "
8414 "<ulink url=\"http://&lists-host;/\"></ulink> for a list."
8415 msgstr ""
8416
8417 #. type: Content of: <chapter><section><section><title>
8418 #: resources.dbk:86
8419 msgid "Special lists"
8420 msgstr ""
8421
8422 #. type: Content of: <chapter><section><section><para>
8423 #: resources.dbk:88
8424 msgid ""
8425 "&email-debian-private; is a special mailing list for private discussions "
8426 "amongst Debian developers.  It is meant to be used for posts which for "
8427 "whatever reason should not be published publicly.  As such, it is a low "
8428 "volume list, and users are urged not to use &email-debian-private; unless it "
8429 "is really necessary.  Moreover, do <emphasis>not</emphasis> forward email "
8430 "from that list to anyone.  Archives of this list are not available on the "
8431 "web for obvious reasons, but you can see them using your shell account on "
8432 "<literal>&master-host;</literal> and looking in the "
8433 "<filename>&file-debian-private-archive;</filename> directory."
8434 msgstr ""
8435
8436 #. type: Content of: <chapter><section><section><para>
8437 #: resources.dbk:100
8438 msgid ""
8439 "&email-debian-email; is a special mailing list used as a grab-bag for Debian "
8440 "related correspondence such as contacting upstream authors about licenses, "
8441 "bugs, etc.  or discussing the project with others where it might be useful "
8442 "to have the discussion archived somewhere."
8443 msgstr ""
8444
8445 #. type: Content of: <chapter><section><section><title>
8446 #: resources.dbk:108
8447 msgid "Requesting new development-related lists"
8448 msgstr ""
8449
8450 #. type: Content of: <chapter><section><section><para>
8451 #: resources.dbk:110
8452 msgid ""
8453 "Before requesting a mailing list that relates to the development of a "
8454 "package (or a small group of related packages), please consider if using an "
8455 "alias (via a .forward-aliasname file on master.debian.org, which translates "
8456 "into a reasonably nice <replaceable>you-aliasname@debian.org</replaceable> "
8457 "address) or a self-managed mailing list on <link "
8458 "linkend=\"alioth\">Alioth</link> is more appropriate."
8459 msgstr ""
8460
8461 #. type: Content of: <chapter><section><section><para>
8462 #: resources.dbk:118
8463 msgid ""
8464 "If you decide that a regular mailing list on &lists-host; is really what you "
8465 "want, go ahead and fill in a request, following <ulink "
8466 "url=\"&url-debian-lists-new;\">the HOWTO</ulink>."
8467 msgstr ""
8468
8469 #. type: Content of: <chapter><section><title>
8470 #: resources.dbk:127
8471 msgid "IRC channels"
8472 msgstr ""
8473
8474 #. type: Content of: <chapter><section><para>
8475 #: resources.dbk:129
8476 msgid ""
8477 "Several IRC channels are dedicated to Debian's development.  They are mainly "
8478 "hosted on the <ulink url=\"&url-oftc;\">Open and free technology community "
8479 "(OFTC)</ulink> network.  The <literal>irc.debian.org</literal> DNS entry is "
8480 "an alias to <literal>irc.oftc.net</literal>."
8481 msgstr ""
8482
8483 #. type: Content of: <chapter><section><para>
8484 #: resources.dbk:135
8485 msgid ""
8486 "The main channel for Debian in general is <literal>#debian</literal>.  This "
8487 "is a large, general-purpose channel where users can find recent news in the "
8488 "topic and served by bots.  <literal>#debian</literal> is for English "
8489 "speakers; there are also <literal>#debian.de</literal>, "
8490 "<literal>#debian-fr</literal>, <literal>#debian-br</literal> and other "
8491 "similarly named channels for speakers of other languages."
8492 msgstr ""
8493
8494 #. type: Content of: <chapter><section><para>
8495 #: resources.dbk:143
8496 msgid ""
8497 "The main channel for Debian development is "
8498 "<literal>#debian-devel</literal>.  It is a very active channel; it will "
8499 "typically have a minimum of 150 people at any time of day.  It's a channel "
8500 "for people who work on Debian, it's not a support channel (there's "
8501 "<literal>#debian</literal> for that).  It is however open to anyone who "
8502 "wants to lurk (and learn).  Its topic is commonly full of interesting "
8503 "information for developers."
8504 msgstr ""
8505
8506 #. type: Content of: <chapter><section><para>
8507 #: resources.dbk:152
8508 msgid ""
8509 "Since <literal>#debian-devel</literal> is an open channel, you should not "
8510 "speak there of issues that are discussed in &email-debian-private;.  There's "
8511 "another channel for this purpose, it's called "
8512 "<literal>#debian-private</literal> and it's protected by a key.  This key is "
8513 "available at "
8514 "<filename>master.debian.org:&file-debian-private-key;</filename>."
8515 msgstr ""
8516
8517 #. type: Content of: <chapter><section><para>
8518 #: resources.dbk:160
8519 msgid ""
8520 "There are other additional channels dedicated to specific subjects.  "
8521 "<literal>#debian-bugs</literal> is used for coordinating bug squashing "
8522 "parties.  <literal>#debian-boot</literal> is used to coordinate the work on "
8523 "the debian-installer.  <literal>#debian-doc</literal> is occasionally used "
8524 "to talk about documentation, like the document you are reading.  Other "
8525 "channels are dedicated to an architecture or a set of packages: "
8526 "<literal>#debian-kde</literal>, <literal>#debian-dpkg</literal>, "
8527 "<literal>#debian-jr</literal>, <literal>#debian-edu</literal>, "
8528 "<literal>#debian-oo</literal> (OpenOffice.org package)..."
8529 msgstr ""
8530
8531 #. type: Content of: <chapter><section><para>
8532 #: resources.dbk:171
8533 msgid ""
8534 "Some non-English developers' channels exist as well, for example "
8535 "<literal>#debian-devel-fr</literal> for French speaking people interested in "
8536 "Debian's development."
8537 msgstr ""
8538
8539 #. type: Content of: <chapter><section><para>
8540 #: resources.dbk:176
8541 msgid ""
8542 "Channels dedicated to Debian also exist on other IRC networks, notably on "
8543 "the <ulink url=\"&url-openprojects;\">freenode</ulink> IRC network, which "
8544 "was pointed at by the <literal>irc.debian.org</literal> alias until 4th June "
8545 "2006."
8546 msgstr ""
8547
8548 #. type: Content of: <chapter><section><para>
8549 #: resources.dbk:182
8550 msgid ""
8551 "To get a cloak on freenode, you send Jörg Jaspert &lt;joerg@debian.org&gt; a "
8552 "signed mail where you tell what your nick is.  Put cloak somewhere in the "
8553 "Subject: header.  The nick should be registered: <ulink "
8554 "url=\"http://freenode.net/faq.shtml#nicksetup\">Nick Setup Page</ulink>.  "
8555 "The mail needs to be signed by a key in the Debian keyring.  Please see "
8556 "<ulink url=\"http://freenode.net/faq.shtml#projectcloak\">Freenode "
8557 "documentation</ulink> for more information about cloaks."
8558 msgstr ""
8559
8560 #. type: Content of: <chapter><section><para>
8561 #: resources.dbk:195
8562 msgid ""
8563 "This document contains a lot of information which is useful to Debian "
8564 "developers, but it cannot contain everything.  Most of the other interesting "
8565 "documents are linked from <ulink url=\"&url-devel-docs;\">The Developers' "
8566 "Corner</ulink>.  Take the time to browse all the links, you will learn many "
8567 "more things."
8568 msgstr ""
8569
8570 #. type: Content of: <chapter><section><title>
8571 #: resources.dbk:204
8572 msgid "Debian machines"
8573 msgstr ""
8574
8575 #. type: Content of: <chapter><section><para>
8576 #: resources.dbk:206
8577 msgid ""
8578 "Debian has several computers working as servers, most of which serve "
8579 "critical functions in the Debian project.  Most of the machines are used for "
8580 "porting activities, and they all have a permanent connection to the "
8581 "Internet."
8582 msgstr ""
8583
8584 #. type: Content of: <chapter><section><para>
8585 #: resources.dbk:211
8586 msgid ""
8587 "Some of the machines are available for individual developers to use, as long "
8588 "as the developers follow the rules set forth in the <ulink "
8589 "url=\"&url-dmup;\">Debian Machine Usage Policies</ulink>."
8590 msgstr ""
8591
8592 #. type: Content of: <chapter><section><para>
8593 #: resources.dbk:216
8594 msgid ""
8595 "Generally speaking, you can use these machines for Debian-related purposes "
8596 "as you see fit.  Please be kind to system administrators, and do not use up "
8597 "tons and tons of disk space, network bandwidth, or CPU without first getting "
8598 "the approval of the system administrators.  Usually these machines are run "
8599 "by volunteers."
8600 msgstr ""
8601
8602 #. type: Content of: <chapter><section><para>
8603 #: resources.dbk:223
8604 msgid ""
8605 "Please take care to protect your Debian passwords and SSH keys installed on "
8606 "Debian machines.  Avoid login or upload methods which send passwords over "
8607 "the Internet in the clear, such as Telnet, FTP, POP etc."
8608 msgstr ""
8609
8610 #. type: Content of: <chapter><section><para>
8611 #: resources.dbk:228
8612 msgid ""
8613 "Please do not put any material that doesn't relate to Debian on the Debian "
8614 "servers, unless you have prior permission."
8615 msgstr ""
8616
8617 #. type: Content of: <chapter><section><para>
8618 #: resources.dbk:232
8619 msgid ""
8620 "The current list of Debian machines is available at <ulink "
8621 "url=\"&url-devel-machines;\"></ulink>.  That web page contains machine "
8622 "names, contact information, information about who can log in, SSH keys etc."
8623 msgstr ""
8624
8625 #. type: Content of: <chapter><section><para>
8626 #: resources.dbk:238
8627 msgid ""
8628 "If you have a problem with the operation of a Debian server, and you think "
8629 "that the system operators need to be notified of this problem, you can check "
8630 "the list of open issues in the DSA queue of our request tracker at <ulink "
8631 "url=\"&url-rt;\" /> (you can login with user \"debian\", its password is "
8632 "available at "
8633 "<filename>master.debian.org:&file-debian-rt-password;</filename>).  To "
8634 "report a new problem, simply send a mail to &email-rt-dsa; and make sure to "
8635 "put the string \"Debian RT\" somewhere in the subject."
8636 msgstr ""
8637
8638 #. type: Content of: <chapter><section><para>
8639 #: resources.dbk:247
8640 msgid ""
8641 "If you have a problem with a certain service, not related to the system "
8642 "administration (such as packages to be removed from the archive, suggestions "
8643 "for the web site, etc.), generally you'll report a bug against a "
8644 "``pseudo-package''.  See <xref linkend=\"submit-bug\"/> for information on "
8645 "how to submit bugs."
8646 msgstr ""
8647
8648 #. type: Content of: <chapter><section><para>
8649 #: resources.dbk:254
8650 msgid ""
8651 "Some of the core servers are restricted, but the information from there is "
8652 "mirrored to another server."
8653 msgstr ""
8654
8655 #. type: Content of: <chapter><section><section><title>
8656 #: resources.dbk:258
8657 msgid "The bugs server"
8658 msgstr ""
8659
8660 #. type: Content of: <chapter><section><section><para>
8661 #: resources.dbk:260
8662 msgid ""
8663 "<literal>&bugs-host;</literal> is the canonical location for the Bug "
8664 "Tracking System (BTS)."
8665 msgstr ""
8666
8667 #. type: Content of: <chapter><section><section><para>
8668 #: resources.dbk:264
8669 msgid ""
8670 "If you plan on doing some statistical analysis or processing of Debian bugs, "
8671 "this would be the place to do it.  Please describe your plans on "
8672 "&email-debian-devel; before implementing anything, however, to reduce "
8673 "unnecessary duplication of effort or wasted processing time."
8674 msgstr ""
8675
8676 #. type: Content of: <chapter><section><section><title>
8677 #: resources.dbk:272
8678 msgid "The ftp-master server"
8679 msgstr ""
8680
8681 #. type: Content of: <chapter><section><section><para>
8682 #: resources.dbk:274
8683 msgid ""
8684 "The <literal>&ftp-master-host;</literal> server holds the canonical copy of "
8685 "the Debian archive.  Generally, package uploaded to &ftp-upload-host; end up "
8686 "on this server, see <xref linkend=\"upload\"/>."
8687 msgstr ""
8688
8689 #. type: Content of: <chapter><section><section><para>
8690 #: resources.dbk:279
8691 msgid ""
8692 "It is restricted; a mirror is available on "
8693 "<literal>&ftp-master-mirror;</literal>."
8694 msgstr ""
8695
8696 #. type: Content of: <chapter><section><section><para>
8697 #: resources.dbk:282
8698 msgid ""
8699 "Problems with the Debian FTP archive generally need to be reported as bugs "
8700 "against the <systemitem role=\"package\">&ftp-debian-org;</systemitem> "
8701 "pseudo-package or an email to &email-ftpmaster;, but also see the procedures "
8702 "in <xref linkend=\"archive-manip\"/>."
8703 msgstr ""
8704
8705 #. type: Content of: <chapter><section><section><title>
8706 #: resources.dbk:290
8707 msgid "The www-master server"
8708 msgstr ""
8709
8710 #. type: Content of: <chapter><section><section><para>
8711 #: resources.dbk:292
8712 msgid ""
8713 "The main web server is <literal>www-master.debian.org</literal>.  It holds "
8714 "the official web pages, the face of Debian for most newbies."
8715 msgstr ""
8716
8717 #. type: Content of: <chapter><section><section><para>
8718 #: resources.dbk:296
8719 msgid ""
8720 "If you find a problem with the Debian web server, you should generally "
8721 "submit a bug against the pseudo-package, <systemitem "
8722 "role=\"package\">www.debian.org</systemitem>.  Remember to check whether or "
8723 "not someone else has already reported the problem to the <ulink "
8724 "url=\"http://&bugs-host;/&www-debian-org;\">Bug Tracking System</ulink>."
8725 msgstr ""
8726
8727 #. type: Content of: <chapter><section><section><title>
8728 #: resources.dbk:305
8729 msgid "The people web server"
8730 msgstr ""
8731
8732 #. type: Content of: <chapter><section><section><para>
8733 #: resources.dbk:307
8734 msgid ""
8735 "<literal>people.debian.org</literal> is the server used for developers' own "
8736 "web pages about anything related to Debian."
8737 msgstr ""
8738
8739 #. type: Content of: <chapter><section><section><para>
8740 #: resources.dbk:311
8741 msgid ""
8742 "If you have some Debian-specific information which you want to serve on the "
8743 "web, you can do this by putting material in the "
8744 "<filename>public_html</filename> directory under your home directory on "
8745 "<literal>people.debian.org</literal>.  This will be accessible at the URL "
8746 "<literal>http://people.debian.org/~<replaceable>your-user-id</replaceable>/</literal>."
8747 msgstr ""
8748
8749 #. type: Content of: <chapter><section><section><para>
8750 #: resources.dbk:318
8751 msgid ""
8752 "You should only use this particular location because it will be backed up, "
8753 "whereas on other hosts it won't."
8754 msgstr ""
8755
8756 #. type: Content of: <chapter><section><section><para>
8757 #: resources.dbk:322
8758 msgid ""
8759 "Usually the only reason to use a different host is when you need to publish "
8760 "materials subject to the U.S.  export restrictions, in which case you can "
8761 "use one of the other servers located outside the United States."
8762 msgstr ""
8763
8764 #. type: Content of: <chapter><section><section><para>
8765 #: resources.dbk:327
8766 msgid "Send mail to &email-debian-devel; if you have any questions."
8767 msgstr ""
8768
8769 #. type: Content of: <chapter><section><section><title>
8770 #: resources.dbk:332
8771 msgid "The VCS servers"
8772 msgstr ""
8773
8774 #. type: Content of: <chapter><section><section><para>
8775 #: resources.dbk:334
8776 msgid ""
8777 "If you need to use a Version Control System for any of your Debian work, you "
8778 "can use one of the existing repositories hosted on Alioth or you can request "
8779 "a new project and ask for the VCS repository of your choice.  Alioth "
8780 "supports CVS (cvs.alioth.debian.org/cvs.debian.org), Subversion "
8781 "(svn.debian.org), Arch (tla/baz, both on arch.debian.org), Bazaar "
8782 "(bzr.debian.org), Darcs (darcs.debian.org), Mercurial (hg.debian.org) and "
8783 "Git (git.debian.org).  Checkout <ulink url=\"&url-alioth-pkg;\" /> if you "
8784 "plan to maintain packages in a VCS repository. See <xref "
8785 "linkend=\"alioth\"/> for information on the services provided by Alioth."
8786 msgstr ""
8787
8788 #. type: Content of: <chapter><section><section><title>
8789 #: resources.dbk:347
8790 msgid "chroots to different distributions"
8791 msgstr ""
8792
8793 #. type: Content of: <chapter><section><section><para>
8794 #: resources.dbk:349
8795 msgid ""
8796 "On some machines, there are chroots to different distributions available.  "
8797 "You can use them like this:"
8798 msgstr ""
8799
8800 #. type: Content of: <chapter><section><section><screen>
8801 #: resources.dbk:353
8802 #, no-wrap
8803 msgid ""
8804 "vore$ dchroot unstable\n"
8805 "Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable\n"
8806 msgstr ""
8807
8808 #. type: Content of: <chapter><section><section><para>
8809 #: resources.dbk:357
8810 msgid ""
8811 "In all chroots, the normal user home directories are available.  You can "
8812 "find out which chroots are available via <ulink "
8813 "url=\"&url-devel-machines;\"></ulink>."
8814 msgstr ""
8815
8816 #. type: Content of: <chapter><section><title>
8817 #: resources.dbk:366
8818 msgid "The Developers Database"
8819 msgstr ""
8820
8821 #. type: Content of: <chapter><section><para>
8822 #: resources.dbk:368
8823 msgid ""
8824 "The Developers Database, at <ulink url=\"&url-debian-db;\"></ulink>, is an "
8825 "LDAP directory for managing Debian developer attributes.  You can use this "
8826 "resource to search the list of Debian developers.  Part of this information "
8827 "is also available through the finger service on Debian servers, try "
8828 "<command>finger yourlogin@db.debian.org</command> to see what it reports."
8829 msgstr ""
8830
8831 #. type: Content of: <chapter><section><para>
8832 #: resources.dbk:376
8833 msgid ""
8834 "Developers can <ulink url=\"&url-debian-db-login;\">log into the "
8835 "database</ulink> to change various information about themselves, such as:"
8836 msgstr ""
8837
8838 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8839 #: resources.dbk:382
8840 msgid "forwarding address for your debian.org email"
8841 msgstr ""
8842
8843 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8844 #: resources.dbk:387
8845 msgid "subscription to debian-private"
8846 msgstr ""
8847
8848 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8849 #: resources.dbk:392
8850 msgid "whether you are on vacation"
8851 msgstr ""
8852
8853 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8854 #: resources.dbk:397
8855 msgid ""
8856 "personal information such as your address, country, the latitude and "
8857 "longitude of the place where you live for use in <ulink "
8858 "url=\"&url-worldmap;\">the world map of Debian developers</ulink>, phone and "
8859 "fax numbers, IRC nickname and web page"
8860 msgstr ""
8861
8862 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
8863 #: resources.dbk:405
8864 msgid "password and preferred shell on Debian Project machines"
8865 msgstr ""
8866
8867 #. type: Content of: <chapter><section><para>
8868 #: resources.dbk:410
8869 msgid ""
8870 "Most of the information is not accessible to the public, naturally.  For "
8871 "more information please read the online documentation that you can find at "
8872 "<ulink url=\"&url-debian-db-doc;\"></ulink>."
8873 msgstr ""
8874
8875 #. type: Content of: <chapter><section><para>
8876 #: resources.dbk:415
8877 msgid ""
8878 "Developers can also submit their SSH keys to be used for authorization on "
8879 "the official Debian machines, and even add new *.debian.net DNS entries.  "
8880 "Those features are documented at <ulink "
8881 "url=\"&url-debian-db-mail-gw;\"></ulink>."
8882 msgstr ""
8883
8884 #. type: Content of: <chapter><section><title>
8885 #: resources.dbk:423
8886 msgid "The Debian archive"
8887 msgstr ""
8888
8889 #. type: Content of: <chapter><section><para>
8890 #: resources.dbk:425
8891 msgid ""
8892 "The &debian-formal; distribution consists of a lot of packages (currently "
8893 "around &number-of-pkgs; source packages) and a few additional files (such as "
8894 "documentation and installation disk images)."
8895 msgstr ""
8896
8897 #. type: Content of: <chapter><section><para>
8898 #: resources.dbk:430
8899 msgid "Here is an example directory tree of a complete Debian archive:"
8900 msgstr ""
8901
8902 #. type: Content of: <chapter><section><para>
8903 #: resources.dbk:434
8904 msgid ""
8905 "As you can see, the top-level directory contains two directories, "
8906 "<filename>dists/</filename> and <filename>pool/</filename>.  The latter is a "
8907 "“pool” in which the packages actually are, and which is handled by the "
8908 "archive maintenance database and the accompanying programs.  The former "
8909 "contains the distributions, <literal>stable</literal>, "
8910 "<literal>testing</literal> and <literal>unstable</literal>.  The "
8911 "<filename>Packages</filename> and <filename>Sources</filename> files in the "
8912 "distribution subdirectories can reference files in the "
8913 "<filename>pool/</filename> directory.  The directory tree below each of the "
8914 "distributions is arranged in an identical manner.  What we describe below "
8915 "for <literal>stable</literal> is equally applicable to the "
8916 "<literal>unstable</literal> and <literal>testing</literal> distributions."
8917 msgstr ""
8918
8919 #. type: Content of: <chapter><section><para>
8920 #: resources.dbk:448
8921 msgid ""
8922 "<filename>dists/stable</filename> contains three directories, namely "
8923 "<filename>main</filename>, <filename>contrib</filename>, and "
8924 "<filename>non-free</filename>."
8925 msgstr ""
8926
8927 #. type: Content of: <chapter><section><para>
8928 #: resources.dbk:453
8929 msgid ""
8930 "In each of the areas, there is a directory for the source packages "
8931 "(<filename>source</filename>) and a directory for each supported "
8932 "architecture (<filename>binary-i386</filename>, "
8933 "<filename>binary-amd64</filename>, etc.)."
8934 msgstr ""
8935
8936 #. type: Content of: <chapter><section><para>
8937 #: resources.dbk:458
8938 msgid ""
8939 "The <filename>main</filename> area contains additional directories which "
8940 "hold the disk images and some essential pieces of documentation required for "
8941 "installing the Debian distribution on a specific architecture "
8942 "(<filename>disks-i386</filename>, <filename>disks-amd64</filename>, etc.)."
8943 msgstr ""
8944
8945 #. type: Content of: <chapter><section><section><title>
8946 #: resources.dbk:464
8947 msgid "Sections"
8948 msgstr ""
8949
8950 #. type: Content of: <chapter><section><section><para>
8951 #: resources.dbk:466
8952 msgid ""
8953 "The <literal>main</literal> section of the Debian archive is what makes up "
8954 "the <emphasis role=\"strong\">official &debian-formal; "
8955 "distribution</emphasis>.  The <literal>main</literal> section is official "
8956 "because it fully complies with all our guidelines.  The other two sections "
8957 "do not, to different degrees; as such, they are <emphasis "
8958 "role=\"strong\">not</emphasis> officially part of &debian-formal;."
8959 msgstr ""
8960
8961 #. type: Content of: <chapter><section><section><para>
8962 #: resources.dbk:474
8963 msgid ""
8964 "Every package in the main section must fully comply with the <ulink "
8965 "url=\"&url-dfsg;\">Debian Free Software Guidelines</ulink> (DFSG) and with "
8966 "all other policy requirements as described in the <ulink "
8967 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>.  The DFSG is our "
8968 "definition of “free software.” Check out the Debian Policy Manual for "
8969 "details."
8970 msgstr ""
8971
8972 #. type: Content of: <chapter><section><section><para>
8973 #: resources.dbk:482
8974 msgid ""
8975 "Packages in the <literal>contrib</literal> section have to comply with the "
8976 "DFSG, but may fail other requirements.  For instance, they may depend on "
8977 "non-free packages."
8978 msgstr ""
8979
8980 #. type: Content of: <chapter><section><section><para>
8981 #: resources.dbk:487
8982 msgid ""
8983 "Packages which do not conform to the DFSG are placed in the "
8984 "<literal>non-free</literal> section.  These packages are not considered as "
8985 "part of the Debian distribution, though we enable their use, and we provide "
8986 "infrastructure (such as our bug-tracking system and mailing lists) for "
8987 "non-free software packages."
8988 msgstr ""
8989
8990 #. type: Content of: <chapter><section><section><para>
8991 #: resources.dbk:494
8992 msgid ""
8993 "The <ulink url=\"&url-debian-policy;\">Debian Policy Manual</ulink> contains "
8994 "a more exact definition of the three sections.  The above discussion is just "
8995 "an introduction."
8996 msgstr ""
8997
8998 #. type: Content of: <chapter><section><section><para>
8999 #: resources.dbk:499
9000 msgid ""
9001 "The separation of the three sections at the top-level of the archive is "
9002 "important for all people who want to distribute Debian, either via FTP "
9003 "servers on the Internet or on CD-ROMs: by distributing only the "
9004 "<literal>main</literal> and <literal>contrib</literal> sections, one can "
9005 "avoid any legal risks.  Some packages in the <literal>non-free</literal> "
9006 "section do not allow commercial distribution, for example."
9007 msgstr ""
9008
9009 #. type: Content of: <chapter><section><section><para>
9010 #: resources.dbk:507
9011 msgid ""
9012 "On the other hand, a CD-ROM vendor could easily check the individual package "
9013 "licenses of the packages in <literal>non-free</literal> and include as many "
9014 "on the CD-ROMs as it's allowed to.  (Since this varies greatly from vendor "
9015 "to vendor, this job can't be done by the Debian developers.)"
9016 msgstr ""
9017
9018 #. type: Content of: <chapter><section><section><para>
9019 #: resources.dbk:513
9020 msgid ""
9021 "Note that the term section is also used to refer to categories which "
9022 "simplify the organization and browsing of available packages, e.g.  "
9023 "<literal>admin</literal>, <literal>net</literal>, <literal>utils</literal> "
9024 "etc.  Once upon a time, these sections (subsections, rather) existed in the "
9025 "form of subdirectories within the Debian archive.  Nowadays, these exist "
9026 "only in the Section header fields of packages."
9027 msgstr ""
9028
9029 #. type: Content of: <chapter><section><section><title>
9030 #: resources.dbk:523
9031 msgid "Architectures"
9032 msgstr ""
9033
9034 #. type: Content of: <chapter><section><section><para>
9035 #: resources.dbk:525
9036 msgid ""
9037 "In the first days, the Linux kernel was only available for Intel i386 (or "
9038 "greater) platforms, and so was Debian.  But as Linux became more and more "
9039 "popular, the kernel was ported to other architectures and Debian started to "
9040 "support them. And as if supporting so much hardware was not enough, Debian "
9041 "decided to build some ports based on other Unix kernels, like "
9042 "<literal>hurd</literal> and <literal>kfreebsd</literal>."
9043 msgstr ""
9044
9045 #. type: Content of: <chapter><section><section><para>
9046 #: resources.dbk:533
9047 msgid ""
9048 "&debian-formal; 1.3 was only available as <literal>i386</literal>.  Debian "
9049 "2.0 shipped for <literal>i386</literal> and <literal>m68k</literal> "
9050 "architectures.  Debian 2.1 shipped for the <literal>i386</literal>, "
9051 "<literal>m68k</literal>, <literal>alpha</literal>, and "
9052 "<literal>sparc</literal> architectures.  Since then Debian has grown "
9053 "hugely.  Debian 6 supports a total of nine Linux architectures "
9054 "(<literal>amd64</literal>, <literal>armel</literal>, "
9055 "<literal>i386</literal>, <literal>ia64</literal>, <literal>mips</literal>, "
9056 "<literal>mipsel</literal>, <literal>powerpc</literal>, "
9057 "<literal>s390</literal>, <literal>sparc</literal>) and two kFreeBSD "
9058 "architectures (<literal>kfreebsd-i386</literal> and "
9059 "<literal>kfreebsd-amd64</literal>)."
9060 msgstr ""
9061
9062 #. type: Content of: <chapter><section><section><para>
9063 #: resources.dbk:546
9064 msgid ""
9065 "Information for developers and users about the specific ports are available "
9066 "at the <ulink url=\"&url-debian-ports;\">Debian Ports web pages</ulink>."
9067 msgstr ""
9068
9069 #. type: Content of: <chapter><section><section><title>
9070 #: resources.dbk:552
9071 msgid "Packages"
9072 msgstr ""
9073
9074 #. type: Content of: <chapter><section><section><para>
9075 #: resources.dbk:554
9076 msgid ""
9077 "There are two types of Debian packages, namely <literal>source</literal> and "
9078 "<literal>binary</literal> packages."
9079 msgstr ""
9080
9081 #. type: Content of: <chapter><section><section><para>
9082 #: resources.dbk:558
9083 msgid ""
9084 "Depending on the format of the source package, it will consist of one or "
9085 "more files in addition to the mandatory <filename>.dsc</filename> file:"
9086 msgstr ""
9087
9088 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9089 #: resources.dbk:562
9090 msgid ""
9091 "with format “1.0”, it has either a <filename>.tar.gz</filename> file or both "
9092 "an <filename>.orig.tar.gz</filename> and a <filename>.diff.gz</filename> "
9093 "file;"
9094 msgstr ""
9095
9096 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9097 #: resources.dbk:565
9098 msgid ""
9099 "with format “3.0 (quilt)”, it has a mandatory "
9100 "<filename>.orig.tar.{gz,bz2,xz}</filename> upstream tarball, multiple "
9101 "optional "
9102 "<filename>.orig-<replaceable>component</replaceable>.tar.{gz,bz2,xz}</filename> "
9103 "additional upstream tarballs and a mandatory "
9104 "<filename>debian.tar.{gz,bz2,xz}</filename> debian tarball;"
9105 msgstr ""
9106
9107 #. type: Content of: <chapter><section><section><para><itemizedlist><listitem><para>
9108 #: resources.dbk:571
9109 msgid ""
9110 "with format “3.0 (native)”, it has only a single "
9111 "<filename>.tar.{gz,bz2,xz}</filename> tarball."
9112 msgstr ""
9113
9114 #. type: Content of: <chapter><section><section><para>
9115 #: resources.dbk:576
9116 msgid ""
9117 "If a package is developed specially for Debian and is not distributed "
9118 "outside of Debian, there is just one <filename>.tar.{gz,bz2,xz}</filename> "
9119 "file which contains the sources of the program, it's called a “native” "
9120 "source package.  If a package is distributed elsewhere too, the "
9121 "<filename>.orig.tar.{gz,bz2,xz}</filename> file stores the so-called "
9122 "<literal>upstream source code</literal>, that is the source code that's "
9123 "distributed by the <literal>upstream maintainer</literal> (often the author "
9124 "of the software). In this case, the <filename>.diff.gz</filename> or the "
9125 "<filename>debian.tar.{gz,bz2,xz}</filename> contains the changes made by the "
9126 "Debian maintainer."
9127 msgstr ""
9128
9129 #. type: Content of: <chapter><section><section><para>
9130 #: resources.dbk:589
9131 msgid ""
9132 "The <filename>.dsc</filename> file lists all the files in the source package "
9133 "together with checksums (<command>md5sums</command>) and some additional "
9134 "info about the package (maintainer, version, etc.)."
9135 msgstr ""
9136
9137 #. type: Content of: <chapter><section><section><title>
9138 #: resources.dbk:596
9139 msgid "Distributions"
9140 msgstr ""
9141
9142 #. type: Content of: <chapter><section><section><para>
9143 #: resources.dbk:598
9144 msgid ""
9145 "The directory system described in the previous chapter is itself contained "
9146 "within <literal>distribution directories</literal>.  Each distribution is "
9147 "actually contained in the <filename>pool</filename> directory in the "
9148 "top-level of the Debian archive itself."
9149 msgstr ""
9150
9151 #. type: Content of: <chapter><section><section><para>
9152 #: resources.dbk:604
9153 msgid ""
9154 "To summarize, the Debian archive has a root directory within an FTP server.  "
9155 "For instance, at the mirror site, <literal>ftp.us.debian.org</literal>, the "
9156 "Debian archive itself is contained in <ulink "
9157 "url=\"ftp://ftp.us.debian.org/debian\">/debian</ulink>, which is a common "
9158 "location (another is <filename>/pub/debian</filename>)."
9159 msgstr ""
9160
9161 #. type: Content of: <chapter><section><section><para>
9162 #: resources.dbk:611
9163 msgid ""
9164 "A distribution comprises Debian source and binary packages, and the "
9165 "respective <filename>Sources</filename> and <filename>Packages</filename> "
9166 "index files, containing the header information from all those packages.  The "
9167 "former are kept in the <filename>pool/</filename> directory, while the "
9168 "latter are kept in the <filename>dists/</filename> directory of the archive "
9169 "(for backwards compatibility)."
9170 msgstr ""
9171
9172 #. type: Content of: <chapter><section><section><section><title>
9173 #: resources.dbk:619
9174 msgid "Stable, testing, and unstable"
9175 msgstr ""
9176
9177 #. type: Content of: <chapter><section><section><section><para>
9178 #: resources.dbk:621
9179 msgid ""
9180 "There are always distributions called <literal>stable</literal> (residing in "
9181 "<filename>dists/stable</filename>), <literal>testing</literal> (residing in "
9182 "<filename>dists/testing</filename>), and <literal>unstable</literal> "
9183 "(residing in <filename>dists/unstable</filename>).  This reflects the "
9184 "development process of the Debian project."
9185 msgstr ""
9186
9187 #. type: Content of: <chapter><section><section><section><para>
9188 #: resources.dbk:628
9189 msgid ""
9190 "Active development is done in the <literal>unstable</literal> distribution "
9191 "(that's why this distribution is sometimes called the <literal>development "
9192 "distribution</literal>).  Every Debian developer can update their packages "
9193 "in this distribution at any time.  Thus, the contents of this distribution "
9194 "change from day to day.  Since no special effort is made to make sure "
9195 "everything in this distribution is working properly, it is sometimes "
9196 "literally unstable."
9197 msgstr ""
9198
9199 #. type: Content of: <chapter><section><section><section><para>
9200 #: resources.dbk:637
9201 msgid ""
9202 "The <link linkend=\"testing\">testing</link> distribution is generated "
9203 "automatically by taking packages from <literal>unstable</literal> if they "
9204 "satisfy certain criteria.  Those criteria should ensure a good quality for "
9205 "packages within <literal>testing</literal>.  The update to "
9206 "<literal>testing</literal> is launched twice each day, right after the new "
9207 "packages have been installed.  See <xref linkend=\"testing\"/>."
9208 msgstr ""
9209
9210 #. type: Content of: <chapter><section><section><section><para>
9211 #: resources.dbk:645
9212 msgid ""
9213 "After a period of development, once the release manager deems fit, the "
9214 "<literal>testing</literal> distribution is frozen, meaning that the policies "
9215 "which control how packages move from <literal>unstable</literal> to "
9216 "<literal>testing</literal> are tightened.  Packages which are too buggy are "
9217 "removed.  No changes are allowed into <literal>testing</literal> except for "
9218 "bug fixes.  After some time has elapsed, depending on progress, the "
9219 "<literal>testing</literal> distribution is frozen even further.  Details of "
9220 "the handling of the testing distribution are published by the Release Team "
9221 "on debian-devel-announce.  After the open issues are solved to the "
9222 "satisfaction of the Release Team, the distribution is released.  Releasing "
9223 "means that <literal>testing</literal> is renamed to "
9224 "<literal>stable</literal>, and a new copy is created for the new "
9225 "<literal>testing</literal>, and the previous <literal>stable</literal> is "
9226 "renamed to <literal>oldstable</literal> and stays there until it is finally "
9227 "archived.  On archiving, the contents are moved to "
9228 "<literal>&archive-host;</literal>."
9229 msgstr ""
9230
9231 #. type: Content of: <chapter><section><section><section><para>
9232 #: resources.dbk:662
9233 msgid ""
9234 "This development cycle is based on the assumption that the "
9235 "<literal>unstable</literal> distribution becomes <literal>stable</literal> "
9236 "after passing a period of being in <literal>testing</literal>.  Even once a "
9237 "distribution is considered stable, a few bugs inevitably remain — that's why "
9238 "the stable distribution is updated every now and then.  However, these "
9239 "updates are tested very carefully and have to be introduced into the archive "
9240 "individually to reduce the risk of introducing new bugs.  You can find "
9241 "proposed additions to <literal>stable</literal> in the "
9242 "<filename>proposed-updates</filename> directory.  Those packages in "
9243 "<filename>proposed-updates</filename> that pass muster are periodically "
9244 "moved as a batch into the stable distribution and the revision level of the "
9245 "stable distribution is incremented (e.g., ‘6.0’ becomes ‘6.0.1’, ‘5.0.7’ "
9246 "becomes ‘5.0.8’, and so forth).  Please refer to <link "
9247 "linkend=\"upload-stable\">uploads to the <literal>stable</literal> "
9248 "distribution</link> for details."
9249 msgstr ""
9250
9251 #. type: Content of: <chapter><section><section><section><para>
9252 #: resources.dbk:679
9253 msgid ""
9254 "Note that development under <literal>unstable</literal> continues during the "
9255 "freeze period, since the <literal>unstable</literal> distribution remains in "
9256 "place in parallel with <literal>testing</literal>."
9257 msgstr ""
9258
9259 #. type: Content of: <chapter><section><section><section><title>
9260 #: resources.dbk:686
9261 msgid "More information about the testing distribution"
9262 msgstr ""
9263
9264 #. type: Content of: <chapter><section><section><section><para>
9265 #: resources.dbk:688
9266 msgid ""
9267 "Packages are usually installed into the <literal>testing</literal> "
9268 "distribution after they have undergone some degree of testing in "
9269 "<literal>unstable</literal>."
9270 msgstr ""
9271
9272 #. type: Content of: <chapter><section><section><section><para>
9273 #: resources.dbk:692
9274 msgid ""
9275 "For more details, please see the <link linkend=\"testing\">information about "
9276 "the testing distribution</link>."
9277 msgstr ""
9278
9279 #. type: Content of: <chapter><section><section><section><title>
9280 #: resources.dbk:698
9281 msgid "Experimental"
9282 msgstr ""
9283
9284 #. type: Content of: <chapter><section><section><section><para>
9285 #: resources.dbk:700
9286 msgid ""
9287 "The <literal>experimental</literal> distribution is a special distribution.  "
9288 "It is not a full distribution in the same sense as "
9289 "<literal>stable</literal>, <literal>testing</literal> and "
9290 "<literal>unstable</literal> are.  Instead, it is meant to be a temporary "
9291 "staging area for highly experimental software where there's a good chance "
9292 "that the software could break your system, or software that's just too "
9293 "unstable even for the <literal>unstable</literal> distribution (but there is "
9294 "a reason to package it nevertheless).  Users who download and install "
9295 "packages from <literal>experimental</literal> are expected to have been duly "
9296 "warned.  In short, all bets are off for the <literal>experimental</literal> "
9297 "distribution."
9298 msgstr ""
9299
9300 #. type: Content of: <chapter><section><section><section><para>
9301 #: resources.dbk:712
9302 msgid ""
9303 "These are the <citerefentry> <refentrytitle>sources.list</refentrytitle> "
9304 "<manvolnum>5</manvolnum> </citerefentry> lines for "
9305 "<literal>experimental</literal>:"
9306 msgstr ""
9307
9308 #. type: Content of: <chapter><section><section><section><programlisting>
9309 #: resources.dbk:717
9310 #, no-wrap
9311 msgid ""
9312 "deb http://ftp.<replaceable>xy</replaceable>.debian.org/debian/ experimental "
9313 "main\n"
9314 "deb-src http://ftp.<replaceable>xy</replaceable>.debian.org/debian/ "
9315 "experimental main\n"
9316 msgstr ""
9317
9318 #. type: Content of: <chapter><section><section><section><para>
9319 #: resources.dbk:721
9320 msgid ""
9321 "If there is a chance that the software could do grave damage to a system, it "
9322 "is likely to be better to put it into <literal>experimental</literal>.  For "
9323 "instance, an experimental compressed file system should probably go into "
9324 "<literal>experimental</literal>."
9325 msgstr ""
9326
9327 #. type: Content of: <chapter><section><section><section><para>
9328 #: resources.dbk:727
9329 msgid ""
9330 "Whenever there is a new upstream version of a package that introduces new "
9331 "features but breaks a lot of old ones, it should either not be uploaded, or "
9332 "be uploaded to <literal>experimental</literal>.  A new, beta, version of "
9333 "some software which uses a completely different configuration can go into "
9334 "<literal>experimental</literal>, at the maintainer's discretion.  If you are "
9335 "working on an incompatible or complex upgrade situation, you can also use "
9336 "<literal>experimental</literal> as a staging area, so that testers can get "
9337 "early access."
9338 msgstr ""
9339
9340 #. type: Content of: <chapter><section><section><section><para>
9341 #: resources.dbk:737
9342 msgid ""
9343 "Some experimental software can still go into <literal>unstable</literal>, "
9344 "with a few warnings in the description, but that isn't recommended because "
9345 "packages from <literal>unstable</literal> are expected to propagate to "
9346 "<literal>testing</literal> and thus to <literal>stable</literal>.  You "
9347 "should not be afraid to use <literal>experimental</literal> since it does "
9348 "not cause any pain to the ftpmasters, the experimental packages are "
9349 "periodically removed once you upload the package in "
9350 "<literal>unstable</literal> with a higher version number."
9351 msgstr ""
9352
9353 #. type: Content of: <chapter><section><section><section><para>
9354 #: resources.dbk:747
9355 msgid ""
9356 "New software which isn't likely to damage your system can go directly into "
9357 "<literal>unstable</literal>."
9358 msgstr ""
9359
9360 #. type: Content of: <chapter><section><section><section><para>
9361 #: resources.dbk:751
9362 msgid ""
9363 "An alternative to <literal>experimental</literal> is to use your personal "
9364 "web space on <literal>people.debian.org</literal>."
9365 msgstr ""
9366
9367 #. type: Content of: <chapter><section><section><title>
9368 #: resources.dbk:759
9369 msgid "Release code names"
9370 msgstr ""
9371
9372 #. type: Content of: <chapter><section><section><para>
9373 #: resources.dbk:761
9374 msgid ""
9375 "Every released Debian distribution has a <literal>code name</literal>: "
9376 "Debian 1.1 is called <literal>buzz</literal>; Debian 1.2, "
9377 "<literal>rex</literal>; Debian 1.3, <literal>bo</literal>; Debian 2.0, "
9378 "<literal>hamm</literal>; Debian 2.1, <literal>slink</literal>; Debian 2.2, "
9379 "<literal>potato</literal>; Debian 3.0, <literal>woody</literal>; Debian 3.1, "
9380 "<literal>sarge</literal>; Debian 4.0, <literal>etch</literal>; Debian 5.0, "
9381 "<literal>lenny</literal>; Debian 6.0, <literal>squeeze</literal> and the "
9382 "next release will be called <literal>wheezy</literal>.  There is also a "
9383 "``pseudo-distribution'', called <literal>sid</literal>, which is the current "
9384 "<literal>unstable</literal> distribution; since packages are moved from "
9385 "<literal>unstable</literal> to <literal>testing</literal> as they approach "
9386 "stability, <literal>sid</literal> itself is never released.  As well as the "
9387 "usual contents of a Debian distribution, <literal>sid</literal> contains "
9388 "packages for architectures which are not yet officially supported or "
9389 "released by Debian.  These architectures are planned to be integrated into "
9390 "the mainstream distribution at some future date."
9391 msgstr ""
9392
9393 #. type: Content of: <chapter><section><section><para>
9394 #: resources.dbk:780
9395 msgid ""
9396 "Since Debian has an open development model (i.e., everyone can participate "
9397 "and follow the development) even the <literal>unstable</literal> and "
9398 "<literal> testing</literal> distributions are distributed to the Internet "
9399 "through the Debian FTP and HTTP server network. Thus, if we had called the "
9400 "directory which contains the release candidate version "
9401 "<literal>testing</literal>, then we would have to rename it to "
9402 "<literal>stable</literal> when the version is released, which would cause "
9403 "all FTP mirrors to re-retrieve the whole distribution (which is quite "
9404 "large)."
9405 msgstr ""
9406
9407 #. type: Content of: <chapter><section><section><para>
9408 #: resources.dbk:790
9409 msgid ""
9410 "On the other hand, if we called the distribution directories "
9411 "<literal>Debian-x.y</literal> from the beginning, people would think that "
9412 "Debian release <literal>x.y</literal> is available.  (This happened in the "
9413 "past, where a CD-ROM vendor built a Debian 1.0 CD-ROM based on a pre-1.0 "
9414 "development version.  That's the reason why the first official Debian "
9415 "release was 1.1, and not 1.0.)"
9416 msgstr ""
9417
9418 #. type: Content of: <chapter><section><section><para>
9419 #: resources.dbk:798
9420 msgid ""
9421 "Thus, the names of the distribution directories in the archive are "
9422 "determined by their code names and not their release status (e.g., "
9423 "`squeeze'). These names stay the same during the development period and "
9424 "after the release; symbolic links, which can be changed easily, indicate the "
9425 "currently released stable distribution.  That's why the real distribution "
9426 "directories use the <literal>code names</literal>, while symbolic links for "
9427 "<literal>stable</literal>, <literal>testing</literal>, and "
9428 "<literal>unstable</literal> point to the appropriate release directories."
9429 msgstr ""
9430
9431 #. type: Content of: <chapter><section><title>
9432 #: resources.dbk:812
9433 msgid "Debian mirrors"
9434 msgstr ""
9435
9436 #. type: Content of: <chapter><section><para>
9437 #: resources.dbk:814
9438 msgid ""
9439 "The various download archives and the web site have several mirrors "
9440 "available in order to relieve our canonical servers from heavy load.  In "
9441 "fact, some of the canonical servers aren't public — a first tier of mirrors "
9442 "balances the load instead.  That way, users always access the mirrors and "
9443 "get used to using them, which allows Debian to better spread its bandwidth "
9444 "requirements over several servers and networks, and basically makes users "
9445 "avoid hammering on one primary location.  Note that the first tier of "
9446 "mirrors is as up-to-date as it can be since they update when triggered from "
9447 "the internal sites (we call this push mirroring)."
9448 msgstr ""
9449
9450 #. type: Content of: <chapter><section><para>
9451 #: resources.dbk:825
9452 msgid ""
9453 "All the information on Debian mirrors, including a list of the available "
9454 "public FTP/HTTP servers, can be found at <ulink "
9455 "url=\"&url-debian-mirrors;\"></ulink>.  This useful page also includes "
9456 "information and tools which can be helpful if you are interested in setting "
9457 "up your own mirror, either for internal or public access."
9458 msgstr ""
9459
9460 #. type: Content of: <chapter><section><para>
9461 #: resources.dbk:832
9462 msgid ""
9463 "Note that mirrors are generally run by third-parties who are interested in "
9464 "helping Debian.  As such, developers generally do not have accounts on these "
9465 "machines."
9466 msgstr ""
9467
9468 #. type: Content of: <chapter><section><title>
9469 #: resources.dbk:839
9470 msgid "The Incoming system"
9471 msgstr ""
9472
9473 #. type: Content of: <chapter><section><para>
9474 #: resources.dbk:841
9475 msgid ""
9476 "The Incoming system is responsible for collecting updated packages and "
9477 "installing them in the Debian archive.  It consists of a set of directories "
9478 "and scripts that are installed on <literal>&ftp-master-host;</literal>."
9479 msgstr ""
9480
9481 #. type: Content of: <chapter><section><para>
9482 #: resources.dbk:846
9483 msgid ""
9484 "Packages are uploaded by all the maintainers into a directory called "
9485 "<filename>UploadQueue</filename>.  This directory is scanned every few "
9486 "minutes by a daemon called <command>queued</command>, "
9487 "<filename>*.command</filename>-files are executed, and remaining and "
9488 "correctly signed <filename>*.changes</filename>-files are moved together "
9489 "with their corresponding files to the <filename>unchecked</filename> "
9490 "directory.  This directory is not visible for most Developers, as ftp-master "
9491 "is restricted; it is scanned every 15 minutes by the <command>dak "
9492 "process-upload</command> script, which verifies the integrity of the "
9493 "uploaded packages and their cryptographic signatures.  If the package is "
9494 "considered ready to be installed, it is moved into the "
9495 "<filename>done</filename> directory.  If this is the first upload of the "
9496 "package (or it has new binary packages), it is moved to the "
9497 "<filename>new</filename> directory, where it waits for approval by the "
9498 "ftpmasters.  If the package contains files to be installed by hand it is "
9499 "moved to the <filename>byhand</filename> directory, where it waits for "
9500 "manual installation by the ftpmasters.  Otherwise, if any error has been "
9501 "detected, the package is refused and is moved to the "
9502 "<filename>reject</filename> directory."
9503 msgstr ""
9504
9505 #. type: Content of: <chapter><section><para>
9506 #: resources.dbk:865
9507 msgid ""
9508 "Once the package is accepted, the system sends a confirmation mail to the "
9509 "maintainer and closes all the bugs marked as fixed by the upload, and the "
9510 "auto-builders may start recompiling it.  The package is now publicly "
9511 "accessible at <ulink url=\"&url-incoming;\"></ulink> until it is really "
9512 "installed in the Debian archive.  This happens four times a day (and is also "
9513 "called the `dinstall run' for historical reasons); the package is then "
9514 "removed from incoming and installed in the pool along with all the other "
9515 "packages.  Once all the other updates (generating new "
9516 "<filename>Packages</filename> and <filename>Sources</filename> index files "
9517 "for example) have been made, a special script is called to ask all the "
9518 "primary mirrors to update themselves."
9519 msgstr ""
9520
9521 #. type: Content of: <chapter><section><para>
9522 #: resources.dbk:877
9523 msgid ""
9524 "The archive maintenance software will also send the OpenPGP/GnuPG signed "
9525 "<filename>.changes</filename> file that you uploaded to the appropriate "
9526 "mailing lists.  If a package is released with the "
9527 "<literal>Distribution</literal> set to <literal>stable</literal>, the "
9528 "announcement is sent to &email-debian-changes;.  If a package is released "
9529 "with <literal>Distribution</literal> set to <literal>unstable</literal> or "
9530 "<literal>experimental</literal>, the announcement will be posted to "
9531 "&email-debian-devel-changes; instead."
9532 msgstr ""
9533
9534 #. type: Content of: <chapter><section><para>
9535 #: resources.dbk:887
9536 msgid ""
9537 "Though ftp-master is restricted, a copy of the installation is available to "
9538 "all developers on <literal>&ftp-master-mirror;</literal>."
9539 msgstr ""
9540
9541 #. type: Content of: <chapter><section><title>
9542 #: resources.dbk:950
9543 msgid "Package information"
9544 msgstr ""
9545
9546 #. type: Content of: <chapter><section><section><title>
9547 #: resources.dbk:952
9548 msgid "On the web"
9549 msgstr ""
9550
9551 #. type: Content of: <chapter><section><section><para>
9552 #: resources.dbk:954
9553 msgid ""
9554 "Each package has several dedicated web pages.  "
9555 "<literal>http://&packages-host;/<replaceable>package-name</replaceable></literal> "
9556 "displays each version of the package available in the various "
9557 "distributions.  Each version links to a page which provides information, "
9558 "including the package description, the dependencies, and package download "
9559 "links."
9560 msgstr ""
9561
9562 #. type: Content of: <chapter><section><section><para>
9563 #: resources.dbk:961
9564 msgid ""
9565 "The bug tracking system tracks bugs for each package.  You can view the bugs "
9566 "of a given package at the URL "
9567 "<literal>http://&bugs-host;/<replaceable>package-name</replaceable></literal>."
9568 msgstr ""
9569
9570 #. type: Content of: <chapter><section><section><title>
9571 #: resources.dbk:968
9572 msgid "The <command>dak ls</command> utility"
9573 msgstr ""
9574
9575 #. type: Content of: <chapter><section><section><para>
9576 #: resources.dbk:970
9577 msgid ""
9578 "<command>dak ls</command> is part of the dak suite of tools, listing "
9579 "available package versions for all known distributions and architectures.  "
9580 "The <command>dak</command> tool is available on "
9581 "<literal>&ftp-master-host;</literal>, and on the mirror on "
9582 "<literal>&ftp-master-mirror;</literal>.  It uses a single argument "
9583 "corresponding to a package name. An example will explain it better:"
9584 msgstr ""
9585
9586 #. type: Content of: <chapter><section><section><screen>
9587 #: resources.dbk:978
9588 #, no-wrap
9589 msgid ""
9590 "$ dak ls evince\n"
9591 "evince | 0.1.5-2sarge1 |     oldstable | source, alpha, arm, hppa, i386, "
9592 "ia64, m68k, mips, mipsel, powerpc, s390, sparc\n"
9593 "evince |    0.4.0-5 |     etch-m68k | source, m68k\n"
9594 "evince |    0.4.0-5 |        stable | source, alpha, amd64, arm, hppa, i386, "
9595 "ia64, mips, mipsel, powerpc, s390, sparc\n"
9596 "evince |   2.20.2-1 |       testing | source\n"
9597 "evince | 2.20.2-1+b1 |       testing | alpha, amd64, arm, armel, hppa, i386, "
9598 "ia64, mips, mipsel, powerpc, s390, sparc\n"
9599 "evince |   2.22.2-1 |      unstable | source, alpha, amd64, arm, armel, "
9600 "hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc\n"
9601 msgstr ""
9602
9603 #. type: Content of: <chapter><section><section><para>
9604 #: resources.dbk:987
9605 msgid ""
9606 "In this example, you can see that the version in <literal>unstable</literal> "
9607 "differs from the version in <literal>testing</literal> and that there has "
9608 "been a binary-only NMU of the package for all architectures.  Each version "
9609 "of the package has been recompiled on all architectures."
9610 msgstr ""
9611
9612 #. type: Content of: <chapter><section><title>
9613 #: resources.dbk:997
9614 msgid "The Package Tracking System"
9615 msgstr ""
9616
9617 #. type: Content of: <chapter><section><para>
9618 #: resources.dbk:999
9619 msgid ""
9620 "The Package Tracking System (PTS) is an email-based tool to track the "
9621 "activity of a source package.  This really means that you can get the same "
9622 "emails that the package maintainer gets, simply by subscribing to the "
9623 "package in the PTS."
9624 msgstr ""
9625
9626 #. type: Content of: <chapter><section><para>
9627 #: resources.dbk:1004
9628 msgid ""
9629 "Each email sent through the PTS is classified under one of the keywords "
9630 "listed below.  This will let you select the mails that you want to receive."
9631 msgstr ""
9632
9633 #. type: Content of: <chapter><section><para>
9634 #: resources.dbk:1008
9635 msgid "By default you will get:"
9636 msgstr ""
9637
9638 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9639 #: resources.dbk:1012
9640 msgid "<literal>bts</literal>"
9641 msgstr ""
9642
9643 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9644 #: resources.dbk:1015
9645 msgid "All the bug reports and following discussions."
9646 msgstr ""
9647
9648 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9649 #: resources.dbk:1020
9650 msgid "<literal>bts-control</literal>"
9651 msgstr ""
9652
9653 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9654 #: resources.dbk:1023
9655 msgid ""
9656 "The email notifications from <email>control@&bugs-host;</email> about bug "
9657 "report status changes."
9658 msgstr ""
9659
9660 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9661 #: resources.dbk:1029
9662 msgid "<literal>upload-source</literal>"
9663 msgstr ""
9664
9665 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9666 #: resources.dbk:1032
9667 msgid ""
9668 "The email notification from <command>dak</command> when an uploaded source "
9669 "package is accepted."
9670 msgstr ""
9671
9672 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9673 #: resources.dbk:1038
9674 msgid "<literal>katie-other</literal>"
9675 msgstr ""
9676
9677 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9678 #: resources.dbk:1041
9679 msgid ""
9680 "Other warning and error emails from <command>dak</command> (such as an "
9681 "override disparity for the section and/or the priority field)."
9682 msgstr ""
9683
9684 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9685 #: resources.dbk:1047
9686 msgid "<literal>buildd</literal>"
9687 msgstr ""
9688
9689 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9690 #: resources.dbk:1050
9691 msgid ""
9692 "Build failures notifications sent by the network of build daemons, they "
9693 "contain a pointer to the build logs for analysis."
9694 msgstr ""
9695
9696 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9697 #: resources.dbk:1056
9698 msgid "<literal>default</literal>"
9699 msgstr ""
9700
9701 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9702 #: resources.dbk:1059
9703 msgid ""
9704 "Any non-automatic email sent to the PTS by people who wanted to contact the "
9705 "subscribers of the package.  This can be done by sending mail to "
9706 "<literal><replaceable>sourcepackage</replaceable>@&pts-host;</literal>.  In "
9707 "order to prevent spam, all messages sent to these addresses must contain the "
9708 "<literal>X-PTS-Approved</literal> header with a non-empty value."
9709 msgstr ""
9710
9711 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9712 #: resources.dbk:1068
9713 msgid "<literal>contact</literal>"
9714 msgstr ""
9715
9716 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9717 #: resources.dbk:1071
9718 msgid ""
9719 "Mails sent to the maintainer through the *@packages.debian.org email "
9720 "aliases."
9721 msgstr ""
9722
9723 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9724 #: resources.dbk:1077
9725 msgid "<literal>summary</literal>"
9726 msgstr ""
9727
9728 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9729 #: resources.dbk:1080
9730 msgid ""
9731 "Regular summary emails about the package's status, including progression "
9732 "into <literal>testing</literal>, <ulink url=\"&url-dehs;\">DEHS</ulink> "
9733 "notifications of new upstream versions, and a notification if the package is "
9734 "removed or orphaned."
9735 msgstr ""
9736
9737 #. type: Content of: <chapter><section><para>
9738 #: resources.dbk:1090
9739 msgid "You can also decide to receive additional information:"
9740 msgstr ""
9741
9742 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9743 #: resources.dbk:1094
9744 msgid "<literal>upload-binary</literal>"
9745 msgstr ""
9746
9747 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9748 #: resources.dbk:1097
9749 msgid ""
9750 "The email notification from <command>katie</command> when an uploaded binary "
9751 "package is accepted.  In other words, whenever a build daemon or a porter "
9752 "uploads your package for another architecture, you can get an email to track "
9753 "how your package gets recompiled for all architectures."
9754 msgstr ""
9755
9756 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9757 #: resources.dbk:1105
9758 msgid "<literal>cvs</literal>"
9759 msgstr ""
9760
9761 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9762 #: resources.dbk:1108
9763 msgid ""
9764 "VCS commit notifications, if the package has a VCS repository and the "
9765 "maintainer has set up forwarding of commit notifications to the PTS. The "
9766 "\"cvs\" name is historic, in most cases commit notifications will come from "
9767 "some other VCS like subversion or git."
9768 msgstr ""
9769
9770 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9771 #: resources.dbk:1116
9772 msgid "<literal>ddtp</literal>"
9773 msgstr ""
9774
9775 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9776 #: resources.dbk:1119
9777 msgid ""
9778 "Translations of descriptions or debconf templates submitted to the Debian "
9779 "Description Translation Project."
9780 msgstr ""
9781
9782 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9783 #: resources.dbk:1125
9784 msgid "<literal>derivatives</literal>"
9785 msgstr ""
9786
9787 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9788 #: resources.dbk:1128
9789 msgid ""
9790 "Information about changes made to the package in derivative distributions "
9791 "(for example Ubuntu)."
9792 msgstr ""
9793
9794 #. type: Content of: <chapter><section><variablelist><varlistentry><term>
9795 #: resources.dbk:1134
9796 msgid "<literal>derivatives-bugs</literal>"
9797 msgstr ""
9798
9799 #. type: Content of: <chapter><section><variablelist><varlistentry><listitem><para>
9800 #: resources.dbk:1137
9801 msgid ""
9802 "Bugs reports and comments from derivative distributions (for example "
9803 "Ubuntu)."
9804 msgstr ""
9805
9806 #. type: Content of: <chapter><section><section><title>
9807 #: resources.dbk:1143
9808 msgid "The PTS email interface"
9809 msgstr ""
9810
9811 #. type: Content of: <chapter><section><section><para>
9812 #: resources.dbk:1145
9813 msgid ""
9814 "You can control your subscription(s) to the PTS by sending various commands "
9815 "to <email>pts@qa.debian.org</email>."
9816 msgstr ""
9817
9818 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9819 #: resources.dbk:1150
9820 msgid "<literal>subscribe &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9821 msgstr ""
9822
9823 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9824 #: resources.dbk:1153
9825 msgid ""
9826 "Subscribes <replaceable>email</replaceable> to communications related to the "
9827 "source package <replaceable>sourcepackage</replaceable>.  Sender address is "
9828 "used if the second argument is not present.  If "
9829 "<replaceable>sourcepackage</replaceable> is not a valid source package, "
9830 "you'll get a warning.  However if it's a valid binary package, the PTS will "
9831 "subscribe you to the corresponding source package."
9832 msgstr ""
9833
9834 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9835 #: resources.dbk:1163
9836 msgid "<literal>unsubscribe &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9837 msgstr ""
9838
9839 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9840 #: resources.dbk:1166
9841 msgid ""
9842 "Removes a previous subscription to the source package "
9843 "<replaceable>sourcepackage</replaceable> using the specified email address "
9844 "or the sender address if the second argument is left out."
9845 msgstr ""
9846
9847 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9848 #: resources.dbk:1173
9849 msgid "<literal>unsubscribeall [&lt;email&gt;]</literal>"
9850 msgstr ""
9851
9852 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9853 #: resources.dbk:1176
9854 msgid ""
9855 "Removes all subscriptions of the specified email address or the sender "
9856 "address if the second argument is left out."
9857 msgstr ""
9858
9859 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9860 #: resources.dbk:1182
9861 msgid "<literal>which [&lt;email&gt;]</literal>"
9862 msgstr ""
9863
9864 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9865 #: resources.dbk:1185
9866 msgid ""
9867 "Lists all subscriptions for the sender or the email address optionally "
9868 "specified."
9869 msgstr ""
9870
9871 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9872 #: resources.dbk:1191
9873 msgid "<literal>keyword [&lt;email&gt;]</literal>"
9874 msgstr ""
9875
9876 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9877 #: resources.dbk:1194
9878 msgid ""
9879 "Tells you the keywords that you are accepting.  For an explanation of "
9880 "keywords, <link linkend=\"pkg-tracking-system\">see above</link>.  Here's a "
9881 "quick summary:"
9882 msgstr ""
9883
9884 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9885 #: resources.dbk:1201
9886 msgid "<literal>bts</literal>: mails coming from the Debian Bug Tracking System"
9887 msgstr ""
9888
9889 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9890 #: resources.dbk:1206
9891 msgid "<literal>bts-control</literal>: reply to mails sent to &email-bts-control;"
9892 msgstr ""
9893
9894 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9895 #: resources.dbk:1212
9896 msgid ""
9897 "<literal>summary</literal>: automatic summary mails about the state of a "
9898 "package"
9899 msgstr ""
9900
9901 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9902 #: resources.dbk:1218
9903 msgid ""
9904 "<literal>contact</literal>: mails sent to the maintainer through the "
9905 "*@packages.debian.org aliases"
9906 msgstr ""
9907
9908 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9909 #: resources.dbk:1224
9910 msgid "<literal>cvs</literal>: notification of VCS commits"
9911 msgstr ""
9912
9913 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9914 #: resources.dbk:1229
9915 msgid "<literal>ddtp</literal>: translations of descriptions and debconf templates"
9916 msgstr ""
9917
9918 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9919 #: resources.dbk:1234
9920 msgid ""
9921 "<literal>derivatives</literal>: changes made on the package by derivative "
9922 "distributions"
9923 msgstr ""
9924
9925 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9926 #: resources.dbk:1240
9927 msgid ""
9928 "<literal>derivatives-bugs</literal>: bugs reports and comments from "
9929 "derivative distributions"
9930 msgstr ""
9931
9932 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9933 #: resources.dbk:1246
9934 msgid ""
9935 "<literal>upload-source</literal>: announce of a new source upload that has "
9936 "been accepted"
9937 msgstr ""
9938
9939 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9940 #: resources.dbk:1252
9941 msgid ""
9942 "<literal>upload-binary</literal>: announce of a new binary-only upload "
9943 "(porting)"
9944 msgstr ""
9945
9946 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9947 #: resources.dbk:1258
9948 msgid ""
9949 "<literal>katie-other</literal>: other mails from ftpmasters (override "
9950 "disparity, etc.)"
9951 msgstr ""
9952
9953 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9954 #: resources.dbk:1264
9955 msgid "<literal>buildd</literal>: build failures notifications from build daemons"
9956 msgstr ""
9957
9958 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><itemizedlist><listitem><para>
9959 #: resources.dbk:1269
9960 msgid ""
9961 "<literal>default</literal>: all the other mails (those which aren't "
9962 "automatic)"
9963 msgstr ""
9964
9965 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9966 #: resources.dbk:1276
9967 msgid "<literal>keyword &lt;sourcepackage&gt; [&lt;email&gt;]</literal>"
9968 msgstr ""
9969
9970 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9971 #: resources.dbk:1279
9972 msgid ""
9973 "Same as the previous item but for the given source package, since you may "
9974 "select a different set of keywords for each source package."
9975 msgstr ""
9976
9977 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9978 #: resources.dbk:1285
9979 msgid "<literal>keyword [&lt;email&gt;] {+|-|=} &lt;list of keywords&gt;</literal>"
9980 msgstr ""
9981
9982 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9983 #: resources.dbk:1288
9984 msgid ""
9985 "Accept (+) or refuse (-) mails classified under the given keyword(s).  "
9986 "Define the list (=) of accepted keywords.  This changes the default set of "
9987 "keywords accepted by a user."
9988 msgstr ""
9989
9990 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
9991 #: resources.dbk:1295
9992 msgid ""
9993 "<literal>keywordall [&lt;email&gt;] {+|-|=} &lt;list of "
9994 "keywords&gt;</literal>"
9995 msgstr ""
9996
9997 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
9998 #: resources.dbk:1298
9999 msgid ""
10000 "Accept (+) or refuse (-) mails classified under the given keyword(s).  "
10001 "Define the list (=) of accepted keywords.  This changes the set of accepted "
10002 "keywords of all the currently active subscriptions of a user."
10003 msgstr ""
10004
10005 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
10006 #: resources.dbk:1305
10007 msgid ""
10008 "<literal>keyword &lt;sourcepackage&gt; [&lt;email&gt;] {+|-|=} &lt;list of "
10009 "keywords&gt;</literal>"
10010 msgstr ""
10011
10012 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
10013 #: resources.dbk:1308
10014 msgid ""
10015 "Same as previous item but overrides the keywords list for the indicated "
10016 "source package."
10017 msgstr ""
10018
10019 #. type: Content of: <chapter><section><section><variablelist><varlistentry><term>
10020 #: resources.dbk:1314
10021 msgid "<literal>quit | thanks | --</literal>"
10022 msgstr ""
10023
10024 #. type: Content of: <chapter><section><section><variablelist><varlistentry><listitem><para>
10025 #: resources.dbk:1317
10026 msgid "Stops processing commands.  All following lines are ignored by the bot."
10027 msgstr ""
10028
10029 #. type: Content of: <chapter><section><section><para>
10030 #: resources.dbk:1323
10031 msgid ""
10032 "The <command>pts-subscribe</command> command-line utility (from the "
10033 "<systemitem role=\"package\">devscripts</systemitem> package) can be handy "
10034 "to temporarily subscribe to some packages, for example after having made an "
10035 "non-maintainer upload."
10036 msgstr ""
10037
10038 #. type: Content of: <chapter><section><section><title>
10039 #: resources.dbk:1331
10040 msgid "Filtering PTS mails"
10041 msgstr ""
10042
10043 #. type: Content of: <chapter><section><section><para>
10044 #: resources.dbk:1333
10045 msgid ""
10046 "Once you are subscribed to a package, you will get the mails sent to "
10047 "<literal><replaceable>sourcepackage</replaceable>@&pts-host;</literal>.  "
10048 "Those mails have special headers appended to let you filter them in a "
10049 "special mailbox (e.g.  with <command>procmail</command>).  The added headers "
10050 "are <literal>X-Loop</literal>, <literal>X-PTS-Package</literal>, "
10051 "<literal>X-PTS-Keyword</literal> and <literal>X-Unsubscribe</literal>."
10052 msgstr ""
10053
10054 #. type: Content of: <chapter><section><section><para>
10055 #: resources.dbk:1341
10056 msgid ""
10057 "Here is an example of added headers for a source upload notification on the "
10058 "<systemitem role=\"package\">dpkg</systemitem> package:"
10059 msgstr ""
10060
10061 #. type: Content of: <chapter><section><section><screen>
10062 #: resources.dbk:1345
10063 #, no-wrap
10064 msgid ""
10065 "X-Loop: dpkg@&pts-host;\n"
10066 "X-PTS-Package: dpkg\n"
10067 "X-PTS-Keyword: upload-source\n"
10068 "List-Unsubscribe: &lt;mailto:pts@qa.debian.org?body=unsubscribe+dpkg&gt;\n"
10069 msgstr ""
10070
10071 #. type: Content of: <chapter><section><section><title>
10072 #: resources.dbk:1353
10073 msgid "Forwarding VCS commits in the PTS"
10074 msgstr ""
10075
10076 #. type: Content of: <chapter><section><section><para>
10077 #: resources.dbk:1355
10078 msgid ""
10079 "If you use a publicly accessible VCS repository for maintaining your Debian "
10080 "package, you may want to forward the commit notification to the PTS so that "
10081 "the subscribers (and possible co-maintainers) can closely follow the "
10082 "package's evolution."
10083 msgstr ""
10084
10085 #. type: Content of: <chapter><section><section><para>
10086 #: resources.dbk:1361
10087 msgid ""
10088 "Once you set up the VCS repository to generate commit notifications, you "
10089 "just have to make sure it sends a copy of those mails to "
10090 "<literal><replaceable>sourcepackage</replaceable>_cvs@&pts-host;</literal>.  "
10091 "Only the people who accept the <literal>cvs</literal> keyword will receive "
10092 "these notifications. Note that the mail needs to be sent from a "
10093 "<literal>debian.org</literal> machine, otherwise you'll have to add the "
10094 "<literal>X-PTS-Approved: 1</literal> header."
10095 msgstr ""
10096
10097 #. type: Content of: <chapter><section><section><para>
10098 #: resources.dbk:1370
10099 msgid ""
10100 "For Subversion repositories, the usage of svnmailer is recommended.  See "
10101 "<ulink url=\"&url-alioth-pkg;\" /> for an example on how to do it."
10102 msgstr ""
10103
10104 #. type: Content of: <chapter><section><section><title>
10105 #: resources.dbk:1376
10106 msgid "The PTS web interface"
10107 msgstr ""
10108
10109 #. type: Content of: <chapter><section><section><para>
10110 #: resources.dbk:1378
10111 msgid ""
10112 "The PTS has a web interface at <ulink url=\"http://&pts-host;/\"></ulink> "
10113 "that puts together a lot of information about each source package.  It "
10114 "features many useful links (BTS, QA stats, contact information, DDTP "
10115 "translation status, buildd logs) and gathers much more information from "
10116 "various places (30 latest changelog entries, testing status, etc.).  It's a "
10117 "very useful tool if you want to know what's going on with a specific source "
10118 "package.  Furthermore there's a form that allows easy subscription to the "
10119 "PTS via email."
10120 msgstr ""
10121
10122 #. type: Content of: <chapter><section><section><para>
10123 #: resources.dbk:1388
10124 msgid ""
10125 "You can jump directly to the web page concerning a specific source package "
10126 "with a URL like "
10127 "<literal>http://&pts-host;/<replaceable>sourcepackage</replaceable></literal>."
10128 msgstr ""
10129
10130 #. type: Content of: <chapter><section><section><para>
10131 #: resources.dbk:1393
10132 msgid ""
10133 "This web interface has been designed like a portal for the development of "
10134 "packages: you can add custom content on your packages' pages.  You can add "
10135 "static information (news items that are meant to stay available "
10136 "indefinitely)  and news items in the latest news section."
10137 msgstr ""
10138
10139 #. type: Content of: <chapter><section><section><para>
10140 #: resources.dbk:1399
10141 msgid "Static news items can be used to indicate:"
10142 msgstr ""
10143
10144 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10145 #: resources.dbk:1404
10146 msgid ""
10147 "the availability of a project hosted on <link "
10148 "linkend=\"alioth\">Alioth</link> for co-maintaining the package"
10149 msgstr ""
10150
10151 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10152 #: resources.dbk:1410
10153 msgid "a link to the upstream web site"
10154 msgstr ""
10155
10156 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10157 #: resources.dbk:1415
10158 msgid "a link to the upstream bug tracker"
10159 msgstr ""
10160
10161 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10162 #: resources.dbk:1420
10163 msgid "the existence of an IRC channel dedicated to the software"
10164 msgstr ""
10165
10166 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10167 #: resources.dbk:1425
10168 msgid ""
10169 "any other available resource that could be useful in the maintenance of the "
10170 "package"
10171 msgstr ""
10172
10173 #. type: Content of: <chapter><section><section><para>
10174 #: resources.dbk:1431
10175 msgid "Usual news items may be used to announce that:"
10176 msgstr ""
10177
10178 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10179 #: resources.dbk:1436
10180 msgid "beta packages are available for testing"
10181 msgstr ""
10182
10183 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10184 #: resources.dbk:1441
10185 msgid "final packages are expected for next week"
10186 msgstr ""
10187
10188 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10189 #: resources.dbk:1446
10190 msgid "the packaging is about to be redone from scratch"
10191 msgstr ""
10192
10193 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10194 #: resources.dbk:1451
10195 msgid "backports are available"
10196 msgstr ""
10197
10198 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10199 #: resources.dbk:1456
10200 msgid "the maintainer is on vacation (if they wish to publish this information)"
10201 msgstr ""
10202
10203 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10204 #: resources.dbk:1461
10205 msgid "a NMU is being worked on"
10206 msgstr ""
10207
10208 #. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
10209 #: resources.dbk:1466
10210 msgid "something important will affect the package"
10211 msgstr ""
10212
10213 #. type: Content of: <chapter><section><section><para>
10214 #: resources.dbk:1471
10215 msgid ""
10216 "Both kinds of news are generated in a similar manner: you just have to send "
10217 "an email either to <email>pts-static-news@qa.debian.org</email> or to "
10218 "<email>pts-news@qa.debian.org</email>.  The mail should indicate which "
10219 "package is concerned by having the name of the source package in a "
10220 "<literal>X-PTS-Package</literal> mail header or in a "
10221 "<literal>Package</literal> pseudo-header (like the BTS reports).  If a URL "
10222 "is available in the <literal>X-PTS-Url</literal> mail header or in the "
10223 "<literal>Url</literal> pseudo-header, then the result is a link to that URL "
10224 "instead of a complete news item."
10225 msgstr ""
10226
10227 #. type: Content of: <chapter><section><section><para>
10228 #: resources.dbk:1482
10229 msgid ""
10230 "Here are a few examples of valid mails used to generate news items in the "
10231 "PTS.  The first one adds a link to the viewsvn interface of debian-cd in the "
10232 "Static information section:"
10233 msgstr ""
10234
10235 #. type: Content of: <chapter><section><section><screen>
10236 #: resources.dbk:1487
10237 #, no-wrap
10238 msgid ""
10239 "From: Raphael Hertzog &lt;hertzog@debian.org&gt;\n"
10240 "To: pts-static-news@qa.debian.org\n"
10241 "Subject: Browse debian-cd SVN repository\n"
10242 "\n"
10243 "Package: debian-cd\n"
10244 "Url: http://svn.debian.org/viewsvn/debian-cd/trunk/\n"
10245 msgstr ""
10246
10247 #. type: Content of: <chapter><section><section><para>
10248 #: resources.dbk:1495
10249 msgid ""
10250 "The second one is an announcement sent to a mailing list which is also sent "
10251 "to the PTS so that it is published on the PTS web page of the package.  Note "
10252 "the use of the BCC field to avoid answers sent to the PTS by mistake."
10253 msgstr ""
10254
10255 #. type: Content of: <chapter><section><section><screen>
10256 #: resources.dbk:1500
10257 #, no-wrap
10258 msgid ""
10259 "From: Raphael Hertzog &lt;hertzog@debian.org&gt;\n"
10260 "To: debian-gtk-gnome@&lists-host;\n"
10261 "Bcc: pts-news@qa.debian.org\n"
10262 "Subject: Galeon 2.0 backported for woody\n"
10263 "X-PTS-Package: galeon\n"
10264 "\n"
10265 "Hello gnomers!\n"
10266 "\n"
10267 "I'm glad to announce that galeon has been backported for woody. You'll "
10268 "find\n"
10269 "everything here:\n"
10270 "...\n"
10271 msgstr ""
10272
10273 #. type: Content of: <chapter><section><section><para>
10274 #: resources.dbk:1513
10275 msgid ""
10276 "Think twice before adding a news item to the PTS because you won't be able "
10277 "to remove it later and you won't be able to edit it either.  The only thing "
10278 "that you can do is send a second news item that will deprecate the "
10279 "information contained in the previous one."
10280 msgstr ""
10281
10282 #. type: Content of: <chapter><section><title>
10283 #: resources.dbk:1523
10284 msgid "Developer's packages overview"
10285 msgstr ""
10286
10287 #. type: Content of: <chapter><section><para>
10288 #: resources.dbk:1525
10289 msgid ""
10290 "A QA (quality assurance) web portal is available at <ulink "
10291 "url=\"&url-ddpo;\"></ulink> which displays a table listing all the packages "
10292 "of a single developer (including those where the party is listed as a "
10293 "co-maintainer).  The table gives a good summary about the developer's "
10294 "packages: number of bugs by severity, list of available versions in each "
10295 "distribution, testing status and much more including links to any other "
10296 "useful information."
10297 msgstr ""
10298
10299 #. type: Content of: <chapter><section><para>
10300 #: resources.dbk:1534
10301 msgid ""
10302 "It is a good idea to look up your own data regularly so that you don't "
10303 "forget any open bugs, and so that you don't forget which packages are your "
10304 "responsibility."
10305 msgstr ""
10306
10307 #. type: Content of: <chapter><section><title>
10308 #: resources.dbk:1541
10309 msgid "Debian's FusionForge installation: Alioth"
10310 msgstr ""
10311
10312 #. type: Content of: <chapter><section><para>
10313 #: resources.dbk:1543
10314 msgid ""
10315 "Alioth is a Debian service based on a slightly modified version of the "
10316 "FusionForge software (which evolved from SourceForge and GForge). This "
10317 "software offers developers access to easy-to-use tools such as bug trackers, "
10318 "patch manager, project/task managers, file hosting services, mailing lists, "
10319 "VCS repositories etc.  All these tools are managed via a web interface."
10320 msgstr ""
10321
10322 #. type: Content of: <chapter><section><para>
10323 #: resources.dbk:1550
10324 msgid ""
10325 "It is intended to provide facilities to free software projects backed or led "
10326 "by Debian, facilitate contributions from external developers to projects "
10327 "started by Debian, and help projects whose goals are the promotion of Debian "
10328 "or its derivatives. It's heavily used by many Debian teams and provides "
10329 "hosting for all sorts of VCS repositories."
10330 msgstr ""
10331
10332 #. type: Content of: <chapter><section><para>
10333 #: resources.dbk:1557
10334 msgid ""
10335 "All Debian developers automatically have an account on Alioth.  They can "
10336 "activate it by using the recover password facility.  External developers can "
10337 "request guest accounts on Alioth."
10338 msgstr ""
10339
10340 #. type: Content of: <chapter><section><para>
10341 #: resources.dbk:1562
10342 msgid "For more information please visit the following links:"
10343 msgstr ""
10344
10345 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10346 #: resources.dbk:1565
10347 msgid "<ulink url=\"&url-alioth-wiki;\" />"
10348 msgstr ""
10349
10350 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10351 #: resources.dbk:1566
10352 msgid "<ulink url=\"&url-alioth-faq;\" />"
10353 msgstr ""
10354
10355 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10356 #: resources.dbk:1567
10357 msgid "<ulink url=\"&url-alioth-pkg;\" />"
10358 msgstr ""
10359
10360 #. type: Content of: <chapter><section><itemizedlist><listitem><para>
10361 #: resources.dbk:1568
10362 msgid "<ulink url=\"&url-alioth;\" />"
10363 msgstr ""
10364
10365 #. type: Content of: <chapter><section><title>
10366 #: resources.dbk:1573
10367 msgid "Goodies for Developers"
10368 msgstr ""
10369
10370 #. type: Content of: <chapter><section><section><title>
10371 #: resources.dbk:1575
10372 msgid "LWN Subscriptions"
10373 msgstr ""
10374
10375 #. type: Content of: <chapter><section><section><para>
10376 #: resources.dbk:1577
10377 msgid ""
10378 "Since October of 2002, HP has sponsored a subscription to LWN for all "
10379 "interested Debian developers.  Details on how to get access to this benefit "
10380 "are in <ulink "
10381 "url=\"http://&lists-host;/debian-devel-announce/2002/10/msg00018.html\"></ulink>."
10382 msgstr ""
10383
10384 #. type: Content of: <chapter><section><section><title>
10385 #: resources.dbk:1584
10386 msgid "Gandi.net Hosting Discount"
10387 msgstr ""
10388
10389 #. type: Content of: <chapter><section><section><para>
10390 #: resources.dbk:1586
10391 msgid ""
10392 "As of November 2008, Gandi.net offers a discount rate on their VPS hosting "
10393 "for Debian Developers.  See <ulink "
10394 "url=\"http://&lists-host;/debian-devel-announce/2008/11/msg00004.html\"></ulink>."
10395 msgstr ""
10396
10397 #. type: Content of: <chapter><title>
10398 #: scope.dbk:7
10399 msgid "Scope of This Document"
10400 msgstr ""
10401
10402 #. type: Content of: <chapter><para>
10403 #: scope.dbk:9
10404 msgid ""
10405 "The purpose of this document is to provide an overview of the recommended "
10406 "procedures and the available resources for Debian developers."
10407 msgstr ""
10408
10409 #. type: Content of: <chapter><para>
10410 #: scope.dbk:14
10411 msgid ""
10412 "The procedures discussed within include how to become a maintainer (<xref "
10413 "linkend=\"new-maintainer\"/>); how to create new packages (<xref "
10414 "linkend=\"newpackage\"/>) and how to upload packages (<xref "
10415 "linkend=\"upload\"/>); how to handle bug reports (<xref "
10416 "linkend=\"bug-handling\"/>); how to move, remove, or orphan packages (<xref "
10417 "linkend=\"archive-manip\"/>); how to port packages (<xref "
10418 "linkend=\"porting\"/>); and how and when to do interim releases of other "
10419 "maintainers' packages (<xref linkend=\"nmu\"/>)."
10420 msgstr ""
10421
10422 #. type: Content of: <chapter><para>
10423 #: scope.dbk:23
10424 msgid ""
10425 "The resources discussed in this reference include the mailing lists (<xref "
10426 "linkend=\"mailing-lists\"/>) and servers (<xref "
10427 "linkend=\"server-machines\"/>); a discussion of the structure of the Debian "
10428 "archive (<xref linkend=\"archive\"/>); explanation of the different servers "
10429 "which accept package uploads (<xref linkend=\"upload-ftp-master\"/>); and a "
10430 "discussion of resources which can help maintainers with the quality of their "
10431 "packages (<xref linkend=\"tools\"/>)."
10432 msgstr ""
10433
10434 #. type: Content of: <chapter><para>
10435 #: scope.dbk:31
10436 msgid ""
10437 "It should be clear that this reference does not discuss the technical "
10438 "details of Debian packages nor how to generate them.  Nor does this "
10439 "reference detail the standards to which Debian software must comply.  All of "
10440 "such information can be found in the <ulink "
10441 "url=\"&url-debian-policy;\">Debian Policy Manual</ulink>."
10442 msgstr ""
10443
10444 #. type: Content of: <chapter><para>
10445 #: scope.dbk:38
10446 msgid ""
10447 "Furthermore, this document is <emphasis>not an expression of formal "
10448 "policy</emphasis>.  It contains documentation for the Debian system and "
10449 "generally agreed-upon best practices.  Thus, it is not what is called a "
10450 "``normative'' document."
10451 msgstr ""
10452
10453 #. type: Content of: <appendix><title>
10454 #: tools.dbk:7
10455 msgid "Overview of Debian Maintainer Tools"
10456 msgstr ""
10457
10458 #. type: Content of: <appendix><para>
10459 #: tools.dbk:9
10460 msgid ""
10461 "This section contains a rough overview of the tools available to "
10462 "maintainers.  The following is by no means complete or definitive, but just "
10463 "a guide to some of the more popular tools."
10464 msgstr ""
10465
10466 #. type: Content of: <appendix><para>
10467 #: tools.dbk:14
10468 msgid ""
10469 "Debian maintainer tools are meant to aid developers and free their time for "
10470 "critical tasks.  As Larry Wall says, there's more than one way to do it."
10471 msgstr ""
10472
10473 #. type: Content of: <appendix><para>
10474 #: tools.dbk:18
10475 msgid ""
10476 "Some people prefer to use high-level package maintenance tools and some do "
10477 "not.  Debian is officially agnostic on this issue; any tool which gets the "
10478 "job done is fine.  Therefore, this section is not meant to stipulate to "
10479 "anyone which tools they should use or how they should go about their duties "
10480 "of maintainership.  Nor is it meant to endorse any particular tool to the "
10481 "exclusion of a competing tool."
10482 msgstr ""
10483
10484 #. type: Content of: <appendix><para>
10485 #: tools.dbk:26
10486 msgid ""
10487 "Most of the descriptions of these packages come from the actual package "
10488 "descriptions themselves.  Further information can be found in the package "
10489 "documentation itself.  You can also see more info with the command "
10490 "<command>apt-cache show <replaceable>package-name</replaceable></command>."
10491 msgstr ""
10492
10493 #. type: Content of: <appendix><section><title>
10494 #: tools.dbk:32
10495 msgid "Core tools"
10496 msgstr ""
10497
10498 #. type: Content of: <appendix><section><para>
10499 #: tools.dbk:34
10500 msgid "The following tools are pretty much required for any maintainer."
10501 msgstr ""
10502
10503 #. type: Content of: <appendix><section><section><title>
10504 #: tools.dbk:37
10505 msgid "<systemitem role=\"package\">dpkg-dev</systemitem>"
10506 msgstr ""
10507
10508 #. type: Content of: <appendix><section><section><para>
10509 #: tools.dbk:39
10510 msgid ""
10511 "<systemitem role=\"package\">dpkg-dev</systemitem> contains the tools "
10512 "(including <command>dpkg-source</command>) required to unpack, build, and "
10513 "upload Debian source packages.  These utilities contain the fundamental, "
10514 "low-level functionality required to create and manipulate packages; as such, "
10515 "they are essential for any Debian maintainer."
10516 msgstr ""
10517
10518 #. type: Content of: <appendix><section><section><title>
10519 #: tools.dbk:48
10520 msgid "<systemitem role=\"package\">debconf</systemitem>"
10521 msgstr ""
10522
10523 #. type: Content of: <appendix><section><section><para>
10524 #: tools.dbk:50
10525 msgid ""
10526 "<systemitem role=\"package\">debconf</systemitem> provides a consistent "
10527 "interface to configuring packages interactively.  It is user interface "
10528 "independent, allowing end-users to configure packages with a text-only "
10529 "interface, an HTML interface, or a dialog interface.  New interfaces can be "
10530 "added as modules."
10531 msgstr ""
10532
10533 #. type: Content of: <appendix><section><section><para>
10534 #: tools.dbk:56
10535 msgid ""
10536 "You can find documentation for this package in the <systemitem "
10537 "role=\"package\">debconf-doc</systemitem> package."
10538 msgstr ""
10539
10540 #. type: Content of: <appendix><section><section><para>
10541 #: tools.dbk:60
10542 msgid ""
10543 "Many feel that this system should be used for all packages which require "
10544 "interactive configuration; see <xref linkend=\"bpp-config-mgmt\"/>.  "
10545 "<systemitem role=\"package\">debconf</systemitem> is not currently required "
10546 "by Debian Policy, but that may change in the future."
10547 msgstr ""
10548
10549 #. type: Content of: <appendix><section><section><title>
10550 #: tools.dbk:68
10551 msgid "<systemitem role=\"package\">fakeroot</systemitem>"
10552 msgstr ""
10553
10554 #. type: Content of: <appendix><section><section><para>
10555 #: tools.dbk:70
10556 msgid ""
10557 "<systemitem role=\"package\">fakeroot</systemitem> simulates root "
10558 "privileges.  This enables you to build packages without being root (packages "
10559 "usually want to install files with root ownership).  If you have <systemitem "
10560 "role=\"package\">fakeroot</systemitem> installed, you can build packages as "
10561 "a regular user: <literal>dpkg-buildpackage -rfakeroot</literal>."
10562 msgstr ""
10563
10564 #. type: Content of: <appendix><section><title>
10565 #: tools.dbk:81
10566 msgid "Package lint tools"
10567 msgstr ""
10568
10569 #. type: Content of: <appendix><section><para>
10570 #: tools.dbk:83
10571 msgid ""
10572 "According to the Free On-line Dictionary of Computing (FOLDOC), `lint' is a "
10573 "Unix C language processor which carries out more thorough checks on the code "
10574 "than is usual with C compilers.  Package lint tools help package maintainers "
10575 "by automatically finding common problems and policy violations in their "
10576 "packages."
10577 msgstr ""
10578
10579 #. type: Content of: <appendix><section><section><title>
10580 #: tools.dbk:89
10581 msgid "<systemitem role=\"package\">lintian</systemitem>"
10582 msgstr ""
10583
10584 #. type: Content of: <appendix><section><section><para>
10585 #: tools.dbk:91
10586 msgid ""
10587 "<systemitem role=\"package\">lintian</systemitem> dissects Debian packages "
10588 "and emits information about bugs and policy violations.  It contains "
10589 "automated checks for many aspects of Debian policy as well as some checks "
10590 "for common errors."
10591 msgstr ""
10592
10593 #. type: Content of: <appendix><section><section><para>
10594 #: tools.dbk:97
10595 msgid ""
10596 "You should periodically get the newest <systemitem "
10597 "role=\"package\">lintian</systemitem> from <literal>unstable</literal> and "
10598 "check over all your packages.  Notice that the <literal>-i</literal> option "
10599 "provides detailed explanations of what each error or warning means, what its "
10600 "basis in Policy is, and commonly how you can fix the problem."
10601 msgstr ""
10602
10603 #. type: Content of: <appendix><section><section><para>
10604 #: tools.dbk:104
10605 msgid ""
10606 "Refer to <xref linkend=\"sanitycheck\"/> for more information on how and "
10607 "when to use Lintian."
10608 msgstr ""
10609
10610 #. type: Content of: <appendix><section><section><para>
10611 #: tools.dbk:108
10612 msgid ""
10613 "You can also see a summary of all problems reported by Lintian on your "
10614 "packages at <ulink url=\"&url-lintian;\"></ulink>.  These reports contain "
10615 "the latest <command>lintian</command> output for the whole development "
10616 "distribution (<literal>unstable</literal>)."
10617 msgstr ""
10618
10619 #. type: Content of: <appendix><section><section><title>
10620 #: tools.dbk:116
10621 msgid "<command>debdiff</command>"
10622 msgstr ""
10623
10624 #. type: Content of: <appendix><section><section><para>
10625 #: tools.dbk:118
10626 msgid ""
10627 "<command>debdiff</command> (from the <systemitem "
10628 "role=\"package\">devscripts</systemitem> package, <xref "
10629 "linkend=\"devscripts\"/>)  compares file lists and control files of two "
10630 "packages.  It is a simple regression test, as it will help you notice if the "
10631 "number of binary packages has changed since the last upload, or if something "
10632 "has changed in the control file.  Of course, some of the changes it reports "
10633 "will be all right, but it can help you prevent various accidents."
10634 msgstr ""
10635
10636 #. type: Content of: <appendix><section><section><para>
10637 #: tools.dbk:127
10638 msgid "You can run it over a pair of binary packages:"
10639 msgstr ""
10640
10641 #. type: Content of: <appendix><section><section><screen>
10642 #: tools.dbk:130
10643 #, no-wrap
10644 msgid "debdiff package_1-1_arch.deb package_2-1_arch.deb\n"
10645 msgstr ""
10646
10647 #. type: Content of: <appendix><section><section><para>
10648 #: tools.dbk:133
10649 msgid "Or even a pair of changes files:"
10650 msgstr ""
10651
10652 #. type: Content of: <appendix><section><section><screen>
10653 #: tools.dbk:136
10654 #, no-wrap
10655 msgid "debdiff package_1-1_arch.changes package_2-1_arch.changes\n"
10656 msgstr ""
10657
10658 #. type: Content of: <appendix><section><section><para>
10659 #: tools.dbk:139
10660 msgid ""
10661 "For more information please see <citerefentry> "
10662 "<refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> "
10663 "</citerefentry>."
10664 msgstr ""
10665
10666 #. type: Content of: <appendix><section><title>
10667 #: tools.dbk:148
10668 msgid "Helpers for <filename>debian/rules</filename>"
10669 msgstr ""
10670
10671 #. type: Content of: <appendix><section><para>
10672 #: tools.dbk:150
10673 msgid ""
10674 "Package building tools make the process of writing "
10675 "<filename>debian/rules</filename> files easier.  See <xref "
10676 "linkend=\"helper-scripts\"/> for more information about why these might or "
10677 "might not be desired."
10678 msgstr ""
10679
10680 #. type: Content of: <appendix><section><section><title>
10681 #: tools.dbk:156
10682 msgid "<systemitem role=\"package\">debhelper</systemitem>"
10683 msgstr ""
10684
10685 #. type: Content of: <appendix><section><section><para>
10686 #: tools.dbk:158
10687 msgid ""
10688 "<systemitem role=\"package\">debhelper</systemitem> is a collection of "
10689 "programs which can be used in <filename>debian/rules</filename> to automate "
10690 "common tasks related to building binary Debian packages.  <systemitem "
10691 "role=\"package\">debhelper</systemitem> includes programs to install various "
10692 "files into your package, compress files, fix file permissions, and integrate "
10693 "your package with the Debian menu system."
10694 msgstr ""
10695
10696 #. type: Content of: <appendix><section><section><para>
10697 #: tools.dbk:166
10698 msgid ""
10699 "Unlike some approaches, <systemitem role=\"package\">debhelper</systemitem> "
10700 "is broken into several small, simple commands which act in a consistent "
10701 "manner.  As such, it allows more fine-grained control than some of the other "
10702 "debian/rules tools."
10703 msgstr ""
10704
10705 #. type: Content of: <appendix><section><section><para>
10706 #: tools.dbk:172
10707 msgid ""
10708 "There are a number of little <systemitem "
10709 "role=\"package\">debhelper</systemitem> add-on packages, too transient to "
10710 "document.  You can see the list of most of them by doing <literal>apt-cache "
10711 "search ^dh-</literal>."
10712 msgstr ""
10713
10714 #. type: Content of: <appendix><section><section><title>
10715 #: tools.dbk:179
10716 msgid "<systemitem role=\"package\">dh-make</systemitem>"
10717 msgstr ""
10718
10719 #. type: Content of: <appendix><section><section><para>
10720 #: tools.dbk:181
10721 msgid ""
10722 "The <systemitem role=\"package\">dh-make</systemitem> package contains "
10723 "<command>dh_make</command>, a program that creates a skeleton of files "
10724 "necessary to build a Debian package out of a source tree.  As the name "
10725 "suggests, <command>dh_make</command> is a rewrite of <systemitem "
10726 "role=\"package\">debmake</systemitem> and its template files use "
10727 "<command>dh_*</command> programs from <systemitem "
10728 "role=\"package\">debhelper</systemitem>."
10729 msgstr ""
10730
10731 #. type: Content of: <appendix><section><section><para>
10732 #: tools.dbk:189
10733 msgid ""
10734 "While the rules files generated by <command>dh_make</command> are in general "
10735 "a sufficient basis for a working package, they are still just the "
10736 "groundwork: the burden still lies on the maintainer to finely tune the "
10737 "generated files and make the package entirely functional and "
10738 "Policy-compliant."
10739 msgstr ""
10740
10741 #. type: Content of: <appendix><section><section><title>
10742 #: tools.dbk:197
10743 msgid "<systemitem role=\"package\">equivs</systemitem>"
10744 msgstr ""
10745
10746 #. type: Content of: <appendix><section><section><para>
10747 #: tools.dbk:199
10748 msgid ""
10749 "<systemitem role=\"package\">equivs</systemitem> is another package for "
10750 "making packages.  It is often suggested for local use if you need to make a "
10751 "package simply to fulfill dependencies.  It is also sometimes used when "
10752 "making ``meta-packages'', which are packages whose only purpose is to depend "
10753 "on other packages."
10754 msgstr ""
10755
10756 #. type: Content of: <appendix><section><title>
10757 #: tools.dbk:210
10758 msgid "Package builders"
10759 msgstr ""
10760
10761 #. type: Content of: <appendix><section><para>
10762 #: tools.dbk:212
10763 msgid ""
10764 "The following packages help with the package building process, general "
10765 "driving <command>dpkg-buildpackage</command> as well as handling supporting "
10766 "tasks."
10767 msgstr ""
10768
10769 #. type: Content of: <appendix><section><section><title>
10770 #: tools.dbk:216
10771 msgid "<systemitem role=\"package\">cvs-buildpackage</systemitem>"
10772 msgstr ""
10773
10774 #. type: Content of: <appendix><section><section><para>
10775 #: tools.dbk:218
10776 msgid ""
10777 "<systemitem role=\"package\">cvs-buildpackage</systemitem> provides the "
10778 "capability to inject or import Debian source packages into a CVS repository, "
10779 "build a Debian package from the CVS repository, and helps in integrating "
10780 "upstream changes into the repository."
10781 msgstr ""
10782
10783 #. type: Content of: <appendix><section><section><para>
10784 #: tools.dbk:224
10785 msgid ""
10786 "These utilities provide an infrastructure to facilitate the use of CVS by "
10787 "Debian maintainers.  This allows one to keep separate CVS branches of a "
10788 "package for <literal>stable</literal>, <literal>unstable</literal> and "
10789 "possibly <literal>experimental</literal> distributions, along with the other "
10790 "benefits of a version control system."
10791 msgstr ""
10792
10793 #. type: Content of: <appendix><section><section><title>
10794 #: tools.dbk:233
10795 msgid "<systemitem role=\"package\">debootstrap</systemitem>"
10796 msgstr ""
10797
10798 #. type: Content of: <appendix><section><section><para>
10799 #: tools.dbk:235
10800 msgid ""
10801 "The <systemitem role=\"package\">debootstrap</systemitem> package and script "
10802 "allows you to bootstrap a Debian base system into any part of your "
10803 "filesystem.  By base system, we mean the bare minimum of packages required "
10804 "to operate and install the rest of the system."
10805 msgstr ""
10806
10807 #. type: Content of: <appendix><section><section><para>
10808 #: tools.dbk:241
10809 msgid ""
10810 "Having a system like this can be useful in many ways.  For instance, you can "
10811 "<command>chroot</command> into it if you want to test your build "
10812 "dependencies.  Or you can test how your package behaves when installed into "
10813 "a bare base system.  Chroot builders use this package; see below."
10814 msgstr ""
10815
10816 #. type: Content of: <appendix><section><section><title>
10817 #: tools.dbk:249
10818 msgid "<systemitem role=\"package\">pbuilder</systemitem>"
10819 msgstr ""
10820
10821 #. type: Content of: <appendix><section><section><para>
10822 #: tools.dbk:251
10823 msgid ""
10824 "<systemitem role=\"package\">pbuilder</systemitem> constructs a chrooted "
10825 "system, and builds a package inside the chroot.  It is very useful to check "
10826 "that a package's build-dependencies are correct, and to be sure that "
10827 "unnecessary and wrong build dependencies will not exist in the resulting "
10828 "package."
10829 msgstr ""
10830
10831 #. type: Content of: <appendix><section><section><para>
10832 #: tools.dbk:257
10833 msgid ""
10834 "A related package is <systemitem role=\"package\">pbuilder-uml</systemitem>, "
10835 "which goes even further by doing the build within a User Mode Linux "
10836 "environment."
10837 msgstr ""
10838
10839 #. type: Content of: <appendix><section><section><title>
10840 #: tools.dbk:264
10841 msgid "<systemitem role=\"package\">sbuild</systemitem>"
10842 msgstr ""
10843
10844 #. type: Content of: <appendix><section><section><para>
10845 #: tools.dbk:266
10846 msgid ""
10847 "<systemitem role=\"package\">sbuild</systemitem> is another automated "
10848 "builder.  It can use chrooted environments as well.  It can be used "
10849 "stand-alone, or as part of a networked, distributed build environment.  As "
10850 "the latter, it is part of the system used by porters to build binary "
10851 "packages for all the available architectures.  See <xref "
10852 "linkend=\"wanna-build\"/> for more information, and <ulink "
10853 "url=\"&url-buildd;\"></ulink> to see the system in action."
10854 msgstr ""
10855
10856 #. type: Content of: <appendix><section><title>
10857 #: tools.dbk:278
10858 msgid "Package uploaders"
10859 msgstr ""
10860
10861 #. type: Content of: <appendix><section><para>
10862 #: tools.dbk:280
10863 msgid ""
10864 "The following packages help automate or simplify the process of uploading "
10865 "packages into the official archive."
10866 msgstr ""
10867
10868 #. type: Content of: <appendix><section><section><title>
10869 #: tools.dbk:284
10870 msgid "<systemitem role=\"package\">dupload</systemitem>"
10871 msgstr ""
10872
10873 #. type: Content of: <appendix><section><section><para>
10874 #: tools.dbk:286
10875 msgid ""
10876 "<systemitem role=\"package\">dupload</systemitem> is a package and a script "
10877 "to automatically upload Debian packages to the Debian archive, to log the "
10878 "upload, and to send mail about the upload of a package.  You can configure "
10879 "it for new upload locations or methods."
10880 msgstr ""
10881
10882 #. type: Content of: <appendix><section><section><title>
10883 #: tools.dbk:294
10884 msgid "<systemitem role=\"package\">dput</systemitem>"
10885 msgstr ""
10886
10887 #. type: Content of: <appendix><section><section><para>
10888 #: tools.dbk:296
10889 msgid ""
10890 "The <systemitem role=\"package\">dput</systemitem> package and script does "
10891 "much the same thing as <systemitem role=\"package\">dupload</systemitem>, "
10892 "but in a different way.  It has some features over <systemitem "
10893 "role=\"package\">dupload</systemitem>, such as the ability to check the "
10894 "GnuPG signature and checksums before uploading, and the possibility of "
10895 "running <command>dinstall</command> in dry-run mode after the upload."
10896 msgstr ""
10897
10898 #. type: Content of: <appendix><section><section><title>
10899 #: tools.dbk:306
10900 msgid "<command>dcut</command>"
10901 msgstr ""
10902
10903 #. type: Content of: <appendix><section><section><para>
10904 #: tools.dbk:308
10905 msgid ""
10906 "The <command>dcut</command> script (part of the package <systemitem "
10907 "role=\"package\">dput</systemitem>, <xref linkend=\"dput\"/>) helps in "
10908 "removing files from the ftp upload directory."
10909 msgstr ""
10910
10911 #. type: Content of: <appendix><section><title>
10912 #: tools.dbk:316
10913 msgid "Maintenance automation"
10914 msgstr ""
10915
10916 #. type: Content of: <appendix><section><para>
10917 #: tools.dbk:318
10918 msgid ""
10919 "The following tools help automate different maintenance tasks, from adding "
10920 "changelog entries or signature lines and looking up bugs in Emacs to making "
10921 "use of the newest and official <filename>config.sub</filename>."
10922 msgstr ""
10923
10924 #. type: Content of: <appendix><section><section><title>
10925 #: tools.dbk:323
10926 msgid "<systemitem role=\"package\">devscripts</systemitem>"
10927 msgstr ""
10928
10929 #. type: Content of: <appendix><section><section><para>
10930 #: tools.dbk:325
10931 msgid ""
10932 "<systemitem role=\"package\">devscripts</systemitem> is a package containing "
10933 "wrappers and tools which are very helpful for maintaining your Debian "
10934 "packages.  Example scripts include <command>debchange</command> and "
10935 "<command>dch</command>, which manipulate your "
10936 "<filename>debian/changelog</filename> file from the command-line, and "
10937 "<command>debuild</command>, which is a wrapper around "
10938 "<command>dpkg-buildpackage</command>.  The <command>bts</command> utility is "
10939 "also very helpful to update the state of bug reports on the command line.  "
10940 "<command>uscan</command> can be used to watch for new upstream versions of "
10941 "your packages.  <command>debrsign</command> can be used to remotely sign a "
10942 "package prior to upload, which is nice when the machine you build the "
10943 "package on is different from where your GPG keys are."
10944 msgstr ""
10945
10946 #. type: Content of: <appendix><section><section><para>
10947 #: tools.dbk:339
10948 msgid ""
10949 "See the <citerefentry> <refentrytitle>devscripts</refentrytitle> "
10950 "<manvolnum>1</manvolnum> </citerefentry> manual page for a complete list of "
10951 "available scripts."
10952 msgstr ""
10953
10954 #. type: Content of: <appendix><section><section><title>
10955 #: tools.dbk:346
10956 msgid "<systemitem role=\"package\">autotools-dev</systemitem>"
10957 msgstr ""
10958
10959 #. type: Content of: <appendix><section><section><para>
10960 #: tools.dbk:348
10961 msgid ""
10962 "<systemitem role=\"package\">autotools-dev</systemitem> contains best "
10963 "practices for people who maintain packages which use "
10964 "<command>autoconf</command> and/or <command>automake</command>.  Also "
10965 "contains canonical <filename>config.sub</filename> and "
10966 "<filename>config.guess</filename> files which are known to work on all "
10967 "Debian ports."
10968 msgstr ""
10969
10970 #. type: Content of: <appendix><section><section><title>
10971 #: tools.dbk:357
10972 msgid "<systemitem role=\"package\">dpkg-repack</systemitem>"
10973 msgstr ""
10974
10975 #. type: Content of: <appendix><section><section><para>
10976 #: tools.dbk:359
10977 msgid ""
10978 "<command>dpkg-repack</command> creates Debian package file out of a package "
10979 "that has already been installed.  If any changes have been made to the "
10980 "package while it was unpacked (e.g., files in <filename>/etc</filename> were "
10981 "modified), the new package will inherit the changes."
10982 msgstr ""
10983
10984 #. type: Content of: <appendix><section><section><para>
10985 #: tools.dbk:365
10986 msgid ""
10987 "This utility can make it easy to copy packages from one computer to another, "
10988 "or to recreate packages which are installed on your system but no longer "
10989 "available elsewhere, or to save the current state of a package before you "
10990 "upgrade it."
10991 msgstr ""
10992
10993 #. type: Content of: <appendix><section><section><title>
10994 #: tools.dbk:372
10995 msgid "<systemitem role=\"package\">alien</systemitem>"
10996 msgstr ""
10997
10998 #. type: Content of: <appendix><section><section><para>
10999 #: tools.dbk:374
11000 msgid ""
11001 "<command>alien</command> converts binary packages between various packaging "
11002 "formats, including Debian, RPM (RedHat), LSB (Linux Standard Base), Solaris, "
11003 "and Slackware packages."
11004 msgstr ""
11005
11006 #. type: Content of: <appendix><section><section><title>
11007 #: tools.dbk:381
11008 msgid "<systemitem role=\"package\">debsums</systemitem>"
11009 msgstr ""
11010
11011 #. type: Content of: <appendix><section><section><para>
11012 #: tools.dbk:383
11013 msgid ""
11014 "<command>debsums</command> checks installed packages against their MD5 "
11015 "sums.  Note that not all packages have MD5 sums, since they aren't required "
11016 "by Policy."
11017 msgstr ""
11018
11019 #. type: Content of: <appendix><section><section><title>
11020 #: tools.dbk:389
11021 msgid "<systemitem role=\"package\">dpkg-dev-el</systemitem>"
11022 msgstr ""
11023
11024 #. type: Content of: <appendix><section><section><para>
11025 #: tools.dbk:391
11026 msgid ""
11027 "<systemitem role=\"package\">dpkg-dev-el</systemitem> is an Emacs lisp "
11028 "package which provides assistance when editing some of the files in the "
11029 "<filename>debian</filename> directory of your package.  For instance, there "
11030 "are handy functions for listing a package's current bugs, and for finalizing "
11031 "the latest entry in a <filename>debian/changelog</filename> file."
11032 msgstr ""
11033
11034 #. type: Content of: <appendix><section><section><title>
11035 #: tools.dbk:400
11036 msgid "<command>dpkg-depcheck</command>"
11037 msgstr ""
11038
11039 #. type: Content of: <appendix><section><section><para>
11040 #: tools.dbk:402
11041 msgid ""
11042 "<command>dpkg-depcheck</command> (from the <systemitem "
11043 "role=\"package\">devscripts</systemitem> package, <xref "
11044 "linkend=\"devscripts\"/>)  runs a command under <command>strace</command> to "
11045 "determine all the packages that were used by the said command."
11046 msgstr ""
11047
11048 #. type: Content of: <appendix><section><section><para>
11049 #: tools.dbk:408
11050 msgid ""
11051 "For Debian packages, this is useful when you have to compose a "
11052 "<literal>Build-Depends</literal> line for your new package: running the "
11053 "build process through <command>dpkg-depcheck</command> will provide you with "
11054 "a good first approximation of the build-dependencies.  For example:"
11055 msgstr ""
11056
11057 #. type: Content of: <appendix><section><section><screen>
11058 #: tools.dbk:414
11059 #, no-wrap
11060 msgid "dpkg-depcheck -b debian/rules build\n"
11061 msgstr ""
11062
11063 #. type: Content of: <appendix><section><section><para>
11064 #: tools.dbk:417
11065 msgid ""
11066 "<command>dpkg-depcheck</command> can also be used to check for run-time "
11067 "dependencies, especially if your package uses <citerefentry> "
11068 "<refentrytitle>exec</refentrytitle> <manvolnum>2</manvolnum> </citerefentry> "
11069 "to run other programs."
11070 msgstr ""
11071
11072 #. type: Content of: <appendix><section><section><para>
11073 #: tools.dbk:423
11074 msgid ""
11075 "For more information please see <citerefentry> "
11076 "<refentrytitle>dpkg-depcheck</refentrytitle> <manvolnum>1</manvolnum> "
11077 "</citerefentry>."
11078 msgstr ""
11079
11080 #. type: Content of: <appendix><section><title>
11081 #: tools.dbk:432
11082 msgid "Porting tools"
11083 msgstr ""
11084
11085 #. type: Content of: <appendix><section><para>
11086 #: tools.dbk:434
11087 msgid "The following tools are helpful for porters and for cross-compilation."
11088 msgstr ""
11089
11090 #. type: Content of: <appendix><section><section><title>
11091 #: tools.dbk:437
11092 msgid "<systemitem role=\"package\">quinn-diff</systemitem>"
11093 msgstr ""
11094
11095 #. type: Content of: <appendix><section><section><para>
11096 #: tools.dbk:439
11097 msgid ""
11098 "<systemitem role=\"package\">quinn-diff</systemitem> is used to locate the "
11099 "differences from one architecture to another.  For instance, it could tell "
11100 "you which packages need to be ported for architecture "
11101 "<replaceable>Y</replaceable>, based on architecture "
11102 "<replaceable>X</replaceable>."
11103 msgstr ""
11104
11105 #. type: Content of: <appendix><section><section><title>
11106 #: tools.dbk:447
11107 msgid "<systemitem role=\"package\">dpkg-cross</systemitem>"
11108 msgstr ""
11109
11110 #. type: Content of: <appendix><section><section><para>
11111 #: tools.dbk:449
11112 msgid ""
11113 "<systemitem role=\"package\">dpkg-cross</systemitem> is a tool for "
11114 "installing libraries and headers for cross-compiling in a way similar to "
11115 "<systemitem role=\"package\">dpkg</systemitem>.  Furthermore, the "
11116 "functionality of <command>dpkg-buildpackage</command> and "
11117 "<command>dpkg-shlibdeps</command> is enhanced to support cross-compiling."
11118 msgstr ""
11119
11120 #. type: Content of: <appendix><section><title>
11121 #: tools.dbk:460
11122 msgid "Documentation and information"
11123 msgstr ""
11124
11125 #. type: Content of: <appendix><section><para>
11126 #: tools.dbk:462
11127 msgid ""
11128 "The following packages provide information for maintainers or help with "
11129 "building documentation."
11130 msgstr ""
11131
11132 #. type: Content of: <appendix><section><section><title>
11133 #: tools.dbk:467
11134 msgid "<systemitem role=\"package\">docbook-xml</systemitem>"
11135 msgstr ""
11136
11137 #. type: Content of: <appendix><section><section><para>
11138 #: tools.dbk:469
11139 msgid ""
11140 "<systemitem role=\"package\">docbook-xml</systemitem> provides the DocBook "
11141 "XML DTDs, which are commonly used for Debian documentation (as is the older "
11142 "debiandoc SGML DTD). This manual, for instance, is written in DocBook XML."
11143 msgstr ""
11144
11145 #. type: Content of: <appendix><section><section><para>
11146 #: tools.dbk:475
11147 msgid ""
11148 "The <systemitem role=\"package\">docbook-xsl</systemitem> package provides "
11149 "the XSL files for building and styling the source to various output "
11150 "formats. You will need an XSLT processor, such as <systemitem "
11151 "role=\"package\">xsltproc</systemitem>, to use the XSL stylesheets.  "
11152 "Documentation for the stylesheets can be found in the various <systemitem "
11153 "role=\"package\">docbook-xsl-doc-*</systemitem> packages."
11154 msgstr ""
11155
11156 #. type: Content of: <appendix><section><section><para>
11157 #: tools.dbk:483
11158 msgid ""
11159 "To produce PDF from FO, you need an FO processor, such as <systemitem "
11160 "role=\"package\">xmlroff</systemitem> or <systemitem "
11161 "role=\"package\">fop</systemitem>. Another tool to generate PDF from DocBook "
11162 "XML is <systemitem role=\"package\">dblatex</systemitem>."
11163 msgstr ""
11164
11165 #. type: Content of: <appendix><section><section><title>
11166 #: tools.dbk:491
11167 msgid "<systemitem role=\"package\">debiandoc-sgml</systemitem>"
11168 msgstr ""
11169
11170 #. type: Content of: <appendix><section><section><para>
11171 #: tools.dbk:493
11172 msgid ""
11173 "<systemitem role=\"package\">debiandoc-sgml</systemitem> provides the "
11174 "DebianDoc SGML DTD, which is commonly used for Debian documentation, but is "
11175 "now deprecated (<systemitem role=\"package\">docbook-xml</systemitem> should "
11176 "be used instead).  It also provides scripts for building and styling the "
11177 "source to various output formats."
11178 msgstr ""
11179
11180 #. type: Content of: <appendix><section><section><para>
11181 #: tools.dbk:502
11182 msgid ""
11183 "Documentation for the DTD can be found in the <systemitem "
11184 "role=\"package\">debiandoc-sgml-doc</systemitem> package."
11185 msgstr ""
11186
11187 #. type: Content of: <appendix><section><section><title>
11188 #: tools.dbk:508
11189 msgid "<systemitem role=\"package\">debian-keyring</systemitem>"
11190 msgstr ""
11191
11192 #. type: Content of: <appendix><section><section><para>
11193 #: tools.dbk:510
11194 msgid ""
11195 "Contains the public GPG and PGP keys of Debian developers.  See <xref "
11196 "linkend=\"key-maint\"/> and the package documentation for more information."
11197 msgstr ""
11198
11199 #. type: Content of: <appendix><section><section><title>
11200 #: tools.dbk:516
11201 msgid "<systemitem role=\"package\">debian-maintainers</systemitem>"
11202 msgstr ""
11203
11204 #. type: Content of: <appendix><section><section><para>
11205 #: tools.dbk:518
11206 msgid ""
11207 "Contains the public GPG keys of Debian Maintainers.  See <ulink "
11208 "url=\"&url-wiki-dm;\"></ulink> for more information."
11209 msgstr ""
11210
11211 #. type: Content of: <appendix><section><section><title>
11212 #: tools.dbk:524
11213 msgid "<systemitem role=\"package\">debview</systemitem>"
11214 msgstr ""
11215
11216 #. type: Content of: <appendix><section><section><para>
11217 #: tools.dbk:526
11218 msgid ""
11219 "<systemitem role=\"package\">debview</systemitem> provides an Emacs mode for "
11220 "viewing Debian binary packages.  This lets you examine a package without "
11221 "unpacking it."
11222 msgstr ""