chiark / gitweb /
update to latest and fix translation.
[developers-reference.git] / po4a / ja / best-pkging-practices.po
1 # Debian Developer's Reference (Japanese)
2 # Hideki Yamane (Debian-JP) <henrich@debian.or.jp>, 2008.
3 #
4 msgid ""
5 msgstr ""
6 "Project-Id-Version: developers-reference 3.4.1\n"
7 "POT-Creation-Date: 2008-06-14 14:14+0900\n"
8 "PO-Revision-Date: 2008-03-05 18:30+0900\n"
9 "Last-Translator: Hideki Yamane (Debian-JP) <henrich@debian.or.jp>\n"
10 "Language-Team: Debian JP Project <debian-doc@debian.or.jp>\n"
11 "MIME-Version: 1.0\n"
12 "Content-Type: text/plain; charset=UTF-8\n"
13 "Content-Transfer-Encoding: 8bit\n"
14
15 # type: Content of: <chapter><title>
16 #: best-pkging-practices.dbk:7
17 msgid "Best Packaging Practices"
18 msgstr "パッケージ化のベストプラクティス"
19
20 # type: Content of: <chapter><para>
21 #: best-pkging-practices.dbk:9
22 #, fuzzy
23 msgid ""
24 "Debian's quality is largely due to the <ulink url=\"&url-debian-policy;"
25 "\">Debian Policy</ulink>, which defines explicit baseline requirements which "
26 "all Debian packages must fulfill.  Yet there is also a shared history of "
27 "experience which goes beyond the Debian Policy, an accumulation of years of "
28 "experience in packaging.  Many very talented people have created great "
29 "tools, tools which help you, the Debian maintainer, create and maintain "
30 "excellent packages."
31 msgstr ""
32 "Debian の品質は、全ての Debian パッケージが満たす必要がある基本的要求を明示的"
33 "に規定している <ulink url=\"&url-debian-policy;\">Debian Policy</ulink> に大"
34 "きく依存しています。"
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 "<filename>debian/rules</filename> についてのベストプラクティス"
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 role=\"package"
94 "\">debhelper</systemitem>.  Previous helper systems, such as <systemitem "
95 "role=\"package\">debmake</systemitem>, were monolithic: you couldn't pick "
96 "and choose which part of the helper you found useful, but had to use the "
97 "helper to do everything.  <systemitem role=\"package\">debhelper</"
98 "systemitem>, however, is a number of separate little <command>dh_*</command> "
99 "programs.  For instance, <command>dh_installman</command> installs and "
100 "compresses man pages, <command>dh_installmenu</command> installs menu files, "
101 "and so on.  Thus, it offers enough flexibility to be able to use the little "
102 "helper scripts, where useful, in conjunction with hand-crafted commands in "
103 "<filename>debian/rules</filename>."
104 msgstr ""
105
106 # type: Content of: <chapter><section><section><para>
107 #: best-pkging-practices.dbk:66
108 msgid ""
109 "You can get started with <systemitem role=\"package\">debhelper</systemitem> "
110 "by reading <citerefentry> <refentrytitle>debhelper</refentrytitle> "
111 "<manvolnum>1</manvolnum> </citerefentry>, and looking at the examples that "
112 "come with the package.  <command>dh_make</command>, from the <systemitem "
113 "role=\"package\">dh-make</systemitem> package (see <xref linkend=\"dh-make\"/"
114 "> ), can be used to convert a vanilla source package to a <systemitem role="
115 "\"package\">debhelper</systemitem>ized package.  This shortcut, though, "
116 "should not convince you that you do not need to bother understanding the "
117 "individual <command>dh_*</command> helpers.  If you are going to use a "
118 "helper, you do need to take the time to learn to use that helper, to learn "
119 "its expectations and behavior."
120 msgstr ""
121
122 # type: Content of: <chapter><section><section><para>
123 #: best-pkging-practices.dbk:79
124 msgid ""
125 "Some people feel that vanilla <filename>debian/rules</filename> files are "
126 "better, since you don't have to learn the intricacies of any helper system.  "
127 "This decision is completely up to you.  Use what works for you.  Many "
128 "examples of vanilla <filename>debian/rules</filename> files are available at "
129 "<ulink url=\"&url-rules-files;\"></ulink>."
130 msgstr ""
131
132 # type: Content of: <chapter><section><section><title>
133 #: best-pkging-practices.dbk:88
134 msgid "Separating your patches into multiple files"
135 msgstr ""
136
137 # type: Content of: <chapter><section><section><para>
138 #: best-pkging-practices.dbk:90
139 msgid ""
140 "Big, complex packages may have many bugs that you need to deal with.  If you "
141 "correct a number of bugs directly in the source, and you're not careful, it "
142 "can get hard to differentiate the various patches that you applied.  It can "
143 "get quite messy when you have to update the package to a new upstream "
144 "version which integrates some of the fixes (but not all).  You can't take "
145 "the total set of diffs (e.g., from <filename>.diff.gz</filename>) and work "
146 "out which patch sets to back out as a unit as bugs are fixed upstream."
147 msgstr ""
148
149 # type: Content of: <chapter><section><section><para>
150 #: best-pkging-practices.dbk:99
151 msgid ""
152 "Unfortunately, the packaging system as such currently doesn't provide for "
153 "separating the patches into several files.  Nevertheless, there are ways to "
154 "separate patches: the patch files are shipped within the Debian patch file "
155 "(<filename>.diff.gz</filename>), usually within the <filename>debian/</"
156 "filename> directory.  The only difference is that they aren't applied "
157 "immediately by dpkg-source, but by the <literal>build</literal> rule of "
158 "<filename>debian/rules</filename>.  Conversely, they are reverted in the "
159 "<literal>clean</literal> rule."
160 msgstr ""
161
162 # type: Content of: <chapter><section><section><para>
163 #: best-pkging-practices.dbk:109
164 msgid ""
165 "<command>dbs</command> is one of the more popular approaches to this.  It "
166 "does all of the above, and provides a facility for creating new and updating "
167 "old patches.  See the package <systemitem role=\"package\">dbs</systemitem> "
168 "for more information and <systemitem role=\"package\">hello-dbs</systemitem> "
169 "for an example."
170 msgstr ""
171
172 # type: Content of: <chapter><section><section><para>
173 #: best-pkging-practices.dbk:116
174 msgid ""
175 "<command>dpatch</command> also provides these facilities, but it's intended "
176 "to be even easier to use.  See the package <systemitem role=\"package"
177 "\">dpatch</systemitem> for documentation and examples (in <filename>/usr/"
178 "share/doc/dpatch</filename>)."
179 msgstr ""
180
181 # type: Content of: <chapter><section><section><title>
182 #: best-pkging-practices.dbk:124
183 msgid "Multiple binary packages"
184 msgstr ""
185
186 # type: Content of: <chapter><section><section><para>
187 #: best-pkging-practices.dbk:126
188 msgid ""
189 "A single source package will often build several binary packages, either to "
190 "provide several flavors of the same software (e.g., the <systemitem role="
191 "\"package\">vim</systemitem> source package) or to make several small "
192 "packages instead of a big one (e.g., so the user can install only the subset "
193 "needed, and thus save some disk space)."
194 msgstr ""
195
196 # type: Content of: <chapter><section><section><para>
197 #: best-pkging-practices.dbk:133
198 msgid ""
199 "The second case can be easily managed in <filename>debian/rules</filename>.  "
200 "You just need to move the appropriate files from the build directory into "
201 "the package's temporary trees.  You can do this using <command>install</"
202 "command> or <command>dh_install</command> from <systemitem role=\"package"
203 "\">debhelper</systemitem>.  Be sure to check the different permutations of "
204 "the various packages, ensuring that you have the inter-package dependencies "
205 "set right in <filename>debian/control</filename>."
206 msgstr ""
207
208 # type: Content of: <chapter><section><section><para>
209 #: best-pkging-practices.dbk:142
210 msgid ""
211 "The first case is a bit more difficult since it involves multiple recompiles "
212 "of the same software but with different configuration options.  The "
213 "<systemitem role=\"package\">vim</systemitem> source package is an example "
214 "of how to manage this using an hand-crafted <filename>debian/rules</"
215 "filename> file."
216 msgstr ""
217
218 # type: Content of: <chapter><section><title>
219 #: best-pkging-practices.dbk:154
220 msgid "Best practices for <filename>debian/control</filename>"
221 msgstr ""
222
223 # type: Content of: <chapter><section><para>
224 #: best-pkging-practices.dbk:156
225 msgid ""
226 "The following practices are relevant to the <filename>debian/control</"
227 "filename> file.  They supplement the <ulink url=\"&url-debian-policy;ch-"
228 "binary.html#s-descriptions\">Policy on package descriptions</ulink>."
229 msgstr ""
230
231 # type: Content of: <chapter><section><para>
232 #: best-pkging-practices.dbk:162
233 msgid ""
234 "The description of the package, as defined by the corresponding field in the "
235 "<filename>control</filename> file, contains both the package synopsis and "
236 "the long description for the package.  <xref linkend=\"bpp-desc-basics\"/> "
237 "describes common guidelines for both parts of the package description.  "
238 "Following that, <xref linkend=\"bpp-pkg-synopsis\"/> provides guidelines "
239 "specific to the synopsis, and <xref linkend=\"bpp-pkg-desc\"/> contains "
240 "guidelines specific to the description."
241 msgstr ""
242
243 # type: Content of: <chapter><section><section><title>
244 #: best-pkging-practices.dbk:171
245 msgid "General guidelines for package descriptions"
246 msgstr ""
247
248 # type: Content of: <chapter><section><section><para>
249 #: best-pkging-practices.dbk:173
250 msgid ""
251 "The package description should be written for the average likely user, the "
252 "average person who will use and benefit from the package.  For instance, "
253 "development packages are for developers, and can be technical in their "
254 "language.  More general-purpose applications, such as editors, should be "
255 "written for a less technical user."
256 msgstr ""
257
258 # type: Content of: <chapter><section><section><para>
259 #: best-pkging-practices.dbk:180
260 msgid ""
261 "Our review of package descriptions lead us to conclude that most package "
262 "descriptions are technical, that is, are not written to make sense for non-"
263 "technical users.  Unless your package really is only for technical users, "
264 "this is a problem."
265 msgstr ""
266
267 # type: Content of: <chapter><section><section><para>
268 #: best-pkging-practices.dbk:186
269 msgid ""
270 "How do you write for non-technical users? Avoid jargon.  Avoid referring to "
271 "other applications or frameworks that the user might not be familiar with — "
272 "GNOME or KDE is fine, since users are probably familiar with these terms, "
273 "but GTK+ is probably not.  Try not to assume any knowledge at all.  If you "
274 "must use technical terms, introduce them."
275 msgstr ""
276
277 # type: Content of: <chapter><section><section><para>
278 #: best-pkging-practices.dbk:193
279 msgid ""
280 "Be objective.  Package descriptions are not the place for advocating your "
281 "package, no matter how much you love it.  Remember that the reader may not "
282 "care about the same things you care about."
283 msgstr ""
284
285 # type: Content of: <chapter><section><section><para>
286 #: best-pkging-practices.dbk:198
287 msgid ""
288 "References to the names of any other software packages, protocol names, "
289 "standards, or specifications should use their canonical forms, if one "
290 "exists.  For example, use X Window System, X11, or X; not X Windows, X-"
291 "Windows, or X Window.  Use GTK+, not GTK or gtk.  Use GNOME, not Gnome.  Use "
292 "PostScript, not Postscript or postscript."
293 msgstr ""
294
295 # type: Content of: <chapter><section><section><para>
296 #: best-pkging-practices.dbk:205
297 msgid ""
298 "If you are having problems writing your description, you may wish to send it "
299 "along to &email-debian-l10n-english; and request feedback."
300 msgstr ""
301
302 # type: Content of: <chapter><section><section><title>
303 #: best-pkging-practices.dbk:211
304 msgid "The package synopsis, or short description"
305 msgstr ""
306
307 # type: Content of: <chapter><section><section><para>
308 #: best-pkging-practices.dbk:213
309 msgid ""
310 "The synopsis line (the short description) should be concise.  It must not "
311 "repeat the package's name (this is policy)."
312 msgstr ""
313
314 # type: Content of: <chapter><section><section><para>
315 #: best-pkging-practices.dbk:217
316 msgid ""
317 "It's a good idea to think of the synopsis as an appositive clause, not a "
318 "full sentence.  An appositive clause is defined in WordNet as a grammatical "
319 "relation between a word and a noun phrase that follows, e.g., Rudolph the "
320 "red-nosed reindeer.  The appositive clause here is red-nosed reindeer.  "
321 "Since the synopsis is a clause, rather than a full sentence, we recommend "
322 "that it neither start with a capital nor end with a full stop (period).  It "
323 "should also not begin with an article, either definite (the) or indefinite "
324 "(a or an)."
325 msgstr ""
326
327 # type: Content of: <chapter><section><section><para>
328 #: best-pkging-practices.dbk:226
329 msgid ""
330 "It might help to imagine that the synopsis is combined with the package name "
331 "in the following way:"
332 msgstr ""
333
334 # type: Content of: <chapter><section><section><screen>
335 #: best-pkging-practices.dbk:229
336 #, no-wrap
337 msgid ""
338 "\n"
339 "<replaceable>package-name</replaceable> is a <replaceable>synopsis</replaceable>.\n"
340 msgstr ""
341
342 # type: Content of: <chapter><section><section><para>
343 #: best-pkging-practices.dbk:233
344 msgid "Alternatively, it might make sense to think of it as"
345 msgstr ""
346
347 # type: Content of: <chapter><section><section><screen>
348 #: best-pkging-practices.dbk:235
349 #, no-wrap
350 msgid ""
351 "\n"
352 "<replaceable>package-name</replaceable> is <replaceable>synopsis</replaceable>.\n"
353 msgstr ""
354
355 # type: Content of: <chapter><section><section><para>
356 #: best-pkging-practices.dbk:239
357 msgid "or, if the package name itself is a plural (such as developers-tools)"
358 msgstr ""
359
360 # type: Content of: <chapter><section><section><screen>
361 #: best-pkging-practices.dbk:241
362 #, no-wrap
363 msgid ""
364 "\n"
365 "<replaceable>package-name</replaceable> are <replaceable>synopsis</replaceable>.\n"
366 msgstr ""
367
368 # type: Content of: <chapter><section><section><para>
369 #: best-pkging-practices.dbk:245
370 msgid ""
371 "This way of forming a sentence from the package name and synopsis should be "
372 "considered as a heuristic and not a strict rule.  There are some cases where "
373 "it doesn't make sense to try to form a sentence."
374 msgstr ""
375
376 # type: Content of: <chapter><section><section><title>
377 #: best-pkging-practices.dbk:252
378 msgid "The long description"
379 msgstr ""
380
381 # type: Content of: <chapter><section><section><para>
382 #: best-pkging-practices.dbk:254
383 msgid ""
384 "The long description is the primary information available to the user about "
385 "a package before they install it.  It should provide all the information "
386 "needed to let the user decide whether to install the package.  Assume that "
387 "the user has already read the package synopsis."
388 msgstr ""
389
390 # type: Content of: <chapter><section><section><para>
391 #: best-pkging-practices.dbk:260
392 msgid "The long description should consist of full and complete sentences."
393 msgstr ""
394
395 # type: Content of: <chapter><section><section><para>
396 #: best-pkging-practices.dbk:263
397 msgid ""
398 "The first paragraph of the long description should answer the following "
399 "questions: what does the package do? what task does it help the user "
400 "accomplish? It is important to describe this in a non-technical way, unless "
401 "of course the audience for the package is necessarily technical."
402 msgstr ""
403
404 # type: Content of: <chapter><section><section><para>
405 #: best-pkging-practices.dbk:269
406 msgid ""
407 "The following paragraphs should answer the following questions: Why do I as "
408 "a user need this package? What other features does the package have? What "
409 "outstanding features and deficiencies are there compared to other packages "
410 "(e.g., if you need X, use Y instead)? Is this package related to other "
411 "packages in some way that is not handled by the package manager (e.g., this "
412 "is the client for the foo server)?"
413 msgstr ""
414
415 # type: Content of: <chapter><section><section><para>
416 #: best-pkging-practices.dbk:277
417 msgid ""
418 "Be careful to avoid spelling and grammar mistakes.  Ensure that you spell-"
419 "check it.  Both <command>ispell</command> and <command>aspell</command> have "
420 "special modes for checking <filename>debian/control</filename> files:"
421 msgstr ""
422
423 # type: Content of: <chapter><section><section><screen>
424 #: best-pkging-practices.dbk:281
425 #, no-wrap
426 msgid ""
427 "\n"
428 "ispell -d american -g debian/control\n"
429 msgstr ""
430
431 # type: Content of: <chapter><section><section><screen>
432 #: best-pkging-practices.dbk:284
433 #, no-wrap
434 msgid ""
435 "\n"
436 "aspell -d en -D -c debian/control\n"
437 msgstr ""
438
439 # type: Content of: <chapter><section><section><para>
440 #: best-pkging-practices.dbk:288
441 msgid ""
442 "Users usually expect these questions to be answered in the package "
443 "description:"
444 msgstr ""
445
446 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
447 #: best-pkging-practices.dbk:293
448 msgid ""
449 "What does the package do? If it is an add-on to another package, then the "
450 "short description of the package we are an add-on to should be put in here."
451 msgstr ""
452
453 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
454 #: best-pkging-practices.dbk:299
455 msgid ""
456 "Why should I want this package? This is related to the above, but not the "
457 "same (this is a mail user agent; this is cool, fast, interfaces with PGP and "
458 "LDAP and IMAP, has features X, Y, and Z)."
459 msgstr ""
460
461 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
462 #: best-pkging-practices.dbk:306
463 msgid ""
464 "If this package should not be installed directly, but is pulled in by "
465 "another package, this should be mentioned."
466 msgstr ""
467
468 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
469 #: best-pkging-practices.dbk:312
470 msgid ""
471 "If the package is <literal>experimental</literal>, or there are other "
472 "reasons it should not be used, if there are other packages that should be "
473 "used instead, it should be here as well."
474 msgstr ""
475
476 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
477 #: best-pkging-practices.dbk:319
478 msgid ""
479 "How is this package different from the competition? Is it a better "
480 "implementation? more features? different features? Why should I choose this "
481 "package."
482 msgstr ""
483
484 # type: Content of: <chapter><section><section><title>
485 #: best-pkging-practices.dbk:332
486 msgid "Upstream home page"
487 msgstr ""
488
489 # type: Content of: <chapter><section><section><para>
490 #: best-pkging-practices.dbk:334
491 msgid ""
492 "We recommend that you add the URL for the package's home page in the "
493 "<literal>Homepage</literal> field of the <literal>Source</literal> section "
494 "in <filename>debian/control</filename>.  Adding this information in the "
495 "package description itself is considered deprecated."
496 msgstr ""
497
498 # type: Content of: <chapter><section><section><title>
499 #: best-pkging-practices.dbk:342
500 msgid "Version Control System location"
501 msgstr ""
502
503 # type: Content of: <chapter><section><section><para>
504 #: best-pkging-practices.dbk:344
505 msgid ""
506 "There are additional fields for the location of the Version Control System "
507 "in <filename>debian/control</filename>."
508 msgstr ""
509
510 # type: Content of: <chapter><section><section><section><title>
511 #: best-pkging-practices.dbk:348
512 msgid "Vcs-Browser"
513 msgstr "Vcs-Browser"
514
515 # type: Content of: <chapter><section><section><section><para>
516 #: best-pkging-practices.dbk:350
517 msgid ""
518 "Value of this field should be a <literal>http://</literal> URL pointing to a "
519 "web-browsable copy of the Version Control System repository used to maintain "
520 "the given package, if available."
521 msgstr ""
522
523 # type: Content of: <chapter><section><section><section><para>
524 #: best-pkging-practices.dbk:355
525 msgid ""
526 "The information is meant to be useful for the final user, willing to browse "
527 "the latest work done on the package (e.g.  when looking for the patch fixing "
528 "a bug tagged as <literal>pending</literal> in the bug tracking system)."
529 msgstr ""
530
531 # type: Content of: <chapter><section><section><section><title>
532 #: best-pkging-practices.dbk:362
533 msgid "Vcs-*"
534 msgstr "Vcs-*"
535
536 # type: Content of: <chapter><section><section><section><para>
537 #: best-pkging-practices.dbk:364
538 msgid ""
539 "Value of this field should be a string identifying unequivocally the "
540 "location of the Version Control System repository used to maintain the given "
541 "package, if available.  <literal>*</literal> identify the Version Control "
542 "System; currently the following systems are supported by the package "
543 "tracking system: <literal>arch</literal>, <literal>bzr</literal> (Bazaar), "
544 "<literal>cvs</literal>, <literal>darcs</literal>, <literal>git</literal>, "
545 "<literal>hg</literal> (Mercurial), <literal>mtn</literal> (Monotone), "
546 "<literal>svn</literal> (Subversion).  It is allowed to specify different VCS "
547 "fields for the same package: they will all be shown in the PTS web interface."
548 msgstr ""
549
550 # type: Content of: <chapter><section><section><section><para>
551 #: best-pkging-practices.dbk:375
552 msgid ""
553 "The information is meant to be useful for a user knowledgeable in the given "
554 "Version Control System and willing to build the current version of a package "
555 "from the VCS sources.  Other uses of this information might include "
556 "automatic building of the latest VCS version of the given package.  To this "
557 "end the location pointed to by the field should better be version agnostic "
558 "and point to the main branch (for VCSs supporting such a concept).  Also, "
559 "the location pointed to should be accessible to the final user; fulfilling "
560 "this requirement might imply pointing to an anonymous access of the "
561 "repository instead of pointing to an SSH-accessible version of the same."
562 msgstr ""
563
564 # type: Content of: <chapter><section><section><section><para>
565 #: best-pkging-practices.dbk:386
566 msgid ""
567 "In the following example, an instance of the field for a Subversion "
568 "repository of the <systemitem role=\"package\">vim</systemitem> package is "
569 "shown.  Note how the URL is in the <literal>svn://</literal> scheme (instead "
570 "of <literal>svn+ssh://</literal>) and how it points to the <filename>trunk/</"
571 "filename> branch.  The use of the <literal>Vcs-Browser</literal> and "
572 "<literal>Homepage</literal> fields described above is also shown."
573 msgstr ""
574
575 # type: Content of: <chapter><section><section><section><screen>
576 #: best-pkging-practices.dbk:394
577 #, no-wrap
578 msgid ""
579 "\n"
580 "  Source: vim\n"
581 "  Section: editors\n"
582 "  Priority: optional\n"
583 "  &lt;snip&gt;\n"
584 "  Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n"
585 "  Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim\n"
586 "  Homepage: http://www.vim.org\n"
587 msgstr ""
588 "\n"
589 "  Source: vim\n"
590 "  Section: editors\n"
591 "  Priority: optional\n"
592 "  &lt;snip&gt;\n"
593 "  Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n"
594 "  Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim\n"
595 "  Homepage: http://www.vim.org\n"
596
597 # type: Content of: <chapter><section><title>
598 #: best-pkging-practices.dbk:410
599 msgid "Best practices for <filename>debian/changelog</filename>"
600 msgstr ""
601
602 # type: Content of: <chapter><section><para>
603 #: best-pkging-practices.dbk:412
604 msgid ""
605 "The following practices supplement the <ulink url=\"&url-debian-policy;ch-"
606 "docs.html#s-changelogs\">Policy on changelog files</ulink>."
607 msgstr ""
608
609 # type: Content of: <chapter><section><section><title>
610 #: best-pkging-practices.dbk:417
611 msgid "Writing useful changelog entries"
612 msgstr ""
613
614 # type: Content of: <chapter><section><section><para>
615 #: best-pkging-practices.dbk:419
616 msgid ""
617 "The changelog entry for a package revision documents changes in that "
618 "revision, and only them.  Concentrate on describing significant and user-"
619 "visible changes that were made since the last version."
620 msgstr ""
621
622 # type: Content of: <chapter><section><section><para>
623 #: best-pkging-practices.dbk:424
624 msgid ""
625 "Focus on <emphasis>what</emphasis> was changed — who, how and when are "
626 "usually less important.  Having said that, remember to politely attribute "
627 "people who have provided notable help in making the package (e.g., those who "
628 "have sent in patches)."
629 msgstr ""
630
631 # type: Content of: <chapter><section><section><para>
632 #: best-pkging-practices.dbk:430
633 msgid ""
634 "There's no need to elaborate the trivial and obvious changes.  You can also "
635 "aggregate several changes in one entry.  On the other hand, don't be overly "
636 "terse if you have undertaken a major change.  Be especially clear if there "
637 "are changes that affect the behaviour of the program.  For further "
638 "explanations, use the <filename>README.Debian</filename> file."
639 msgstr ""
640
641 # type: Content of: <chapter><section><section><para>
642 #: best-pkging-practices.dbk:437
643 msgid ""
644 "Use common English so that the majority of readers can comprehend it.  Avoid "
645 "abbreviations, tech-speak and jargon when explaining changes that close "
646 "bugs, especially for bugs filed by users that did not strike you as "
647 "particularly technically savvy.  Be polite, don't swear."
648 msgstr ""
649
650 # type: Content of: <chapter><section><section><para>
651 #: best-pkging-practices.dbk:443
652 msgid ""
653 "It is sometimes desirable to prefix changelog entries with the names of the "
654 "files that were changed.  However, there's no need to explicitly list each "
655 "and every last one of the changed files, especially if the change was small "
656 "or repetitive.  You may use wildcards."
657 msgstr ""
658
659 # type: Content of: <chapter><section><section><para>
660 #: best-pkging-practices.dbk:449
661 msgid ""
662 "When referring to bugs, don't assume anything.  Say what the problem was, "
663 "how it was fixed, and append the closes: #nnnnn string.  See <xref linkend="
664 "\"upload-bugfix\"/> for more information."
665 msgstr ""
666
667 # type: Content of: <chapter><section><section><title>
668 #: best-pkging-practices.dbk:456
669 msgid "Common misconceptions about changelog entries"
670 msgstr ""
671
672 # type: Content of: <chapter><section><section><para>
673 #: best-pkging-practices.dbk:458
674 msgid ""
675 "The changelog entries should <emphasis role=\"strong\">not</emphasis> "
676 "document generic packaging issues (Hey, if you're looking for foo.conf, it's "
677 "in /etc/blah/.), since administrators and users are supposed to be at least "
678 "remotely acquainted with how such things are generally arranged on Debian "
679 "systems.  Do, however, mention if you change the location of a configuration "
680 "file."
681 msgstr ""
682
683 # type: Content of: <chapter><section><section><para>
684 #: best-pkging-practices.dbk:466
685 msgid ""
686 "The only bugs closed with a changelog entry should be those that are "
687 "actually fixed in the same package revision.  Closing unrelated bugs in the "
688 "changelog is bad practice.  See <xref linkend=\"upload-bugfix\"/> ."
689 msgstr ""
690
691 # type: Content of: <chapter><section><section><para>
692 #: best-pkging-practices.dbk:471
693 msgid ""
694 "The changelog entries should <emphasis role=\"strong\">not</emphasis> be "
695 "used for random discussion with bug reporters (I don't see segfaults when "
696 "starting foo with option bar; send in more info), general statements on "
697 "life, the universe and everything (sorry this upload took me so long, but I "
698 "caught the flu), or pleas for help (the bug list on this package is huge, "
699 "please lend me a hand).  Such things usually won't be noticed by their "
700 "target audience, but may annoy people who wish to read information about "
701 "actual changes in the package.  See <xref linkend=\"bug-answering\"/> for "
702 "more information on how to use the bug tracking system."
703 msgstr ""
704
705 # type: Content of: <chapter><section><section><para>
706 #: best-pkging-practices.dbk:482
707 msgid ""
708 "It is an old tradition to acknowledge bugs fixed in non-maintainer uploads "
709 "in the first changelog entry of the proper maintainer upload.  As we have "
710 "version tracking now, it is enough to keep the NMUed changelog entries and "
711 "just mention this fact in your own changelog entry."
712 msgstr ""
713
714 # type: Content of: <chapter><section><section><title>
715 #: best-pkging-practices.dbk:490
716 msgid "Common errors in changelog entries"
717 msgstr ""
718
719 # type: Content of: <chapter><section><section><para>
720 #: best-pkging-practices.dbk:492
721 msgid ""
722 "The following examples demonstrate some common errors or examples of bad "
723 "style in changelog entries."
724 msgstr ""
725
726 # type: Content of: <chapter><section><section><screen>
727 #: best-pkging-practices.dbk:495
728 #, no-wrap
729 msgid ""
730 "\n"
731 "  * Fixed all outstanding bugs.\n"
732 msgstr ""
733 "\n"
734 "  * Fixed all outstanding bugs.\n"
735
736 # type: Content of: <chapter><section><section><para>
737 #: best-pkging-practices.dbk:499
738 msgid "This doesn't tell readers anything too useful, obviously."
739 msgstr ""
740
741 # type: Content of: <chapter><section><section><screen>
742 #: best-pkging-practices.dbk:501
743 #, no-wrap
744 msgid ""
745 "\n"
746 "  * Applied patch from Jane Random.\n"
747 msgstr ""
748 "\n"
749 "  * Applied patch from Jane Random.\n"
750
751 # type: Content of: <chapter><section><section><para>
752 #: best-pkging-practices.dbk:505
753 msgid "What was the patch about?"
754 msgstr ""
755
756 # type: Content of: <chapter><section><section><screen>
757 #: best-pkging-practices.dbk:507
758 #, no-wrap
759 msgid ""
760 "\n"
761 "  * Late night install target overhaul.\n"
762 msgstr ""
763 "\n"
764 "  * Late night install target overhaul.\n"
765
766 # type: Content of: <chapter><section><section><para>
767 #: best-pkging-practices.dbk:511
768 msgid ""
769 "Overhaul which accomplished what? Is the mention of late night supposed to "
770 "remind us that we shouldn't trust that code?"
771 msgstr ""
772
773 # type: Content of: <chapter><section><section><screen>
774 #: best-pkging-practices.dbk:514
775 #, no-wrap
776 msgid ""
777 "\n"
778 "  * Fix vsync FU w/ ancient CRTs.\n"
779 msgstr ""
780 "\n"
781 "  * Fix vsync FU w/ ancient CRTs.\n"
782
783 # type: Content of: <chapter><section><section><para>
784 #: best-pkging-practices.dbk:518
785 msgid ""
786 "Too many acronyms, and it's not overly clear what the, uh, fsckup (oops, a "
787 "curse word!) was actually about, or how it was fixed."
788 msgstr ""
789
790 # type: Content of: <chapter><section><section><screen>
791 #: best-pkging-practices.dbk:521
792 #, no-wrap
793 msgid ""
794 "\n"
795 "  * This is not a bug, closes: #nnnnnn.\n"
796 msgstr ""
797 "\n"
798 "  * This is not a bug, closes: #nnnnnn.\n"
799
800 # type: Content of: <chapter><section><section><para>
801 #: best-pkging-practices.dbk:525
802 msgid ""
803 "First of all, there's absolutely no need to upload the package to convey "
804 "this information; instead, use the bug tracking system.  Secondly, there's "
805 "no explanation as to why the report is not a bug."
806 msgstr ""
807
808 # type: Content of: <chapter><section><section><screen>
809 #: best-pkging-practices.dbk:529
810 #, no-wrap
811 msgid ""
812 "\n"
813 "  * Has been fixed for ages, but I forgot to close; closes: #54321.\n"
814 msgstr ""
815 "\n"
816 "  * Has been fixed for ages, but I forgot to close; closes: #54321.\n"
817
818 # type: Content of: <chapter><section><section><para>
819 #: best-pkging-practices.dbk:533
820 msgid ""
821 "If for some reason you didn't mention the bug number in a previous changelog "
822 "entry, there's no problem, just close the bug normally in the BTS.  There's "
823 "no need to touch the changelog file, presuming the description of the fix is "
824 "already in (this applies to the fixes by the upstream authors/maintainers as "
825 "well, you don't have to track bugs that they fixed ages ago in your "
826 "changelog)."
827 msgstr ""
828
829 # type: Content of: <chapter><section><section><screen>
830 #: best-pkging-practices.dbk:539
831 #, no-wrap
832 msgid ""
833 "\n"
834 "  * Closes: #12345, #12346, #15432\n"
835 msgstr ""
836 "\n"
837 "  * Closes: #12345, #12346, #15432\n"
838
839 # type: Content of: <chapter><section><section><para>
840 #: best-pkging-practices.dbk:543
841 msgid ""
842 "Where's the description? If you can't think of a descriptive message, start "
843 "by inserting the title of each different bug."
844 msgstr ""
845
846 # type: Content of: <chapter><section><section><title>
847 #: best-pkging-practices.dbk:549
848 msgid "Supplementing changelogs with NEWS.Debian files"
849 msgstr ""
850
851 # type: Content of: <chapter><section><section><para>
852 #: best-pkging-practices.dbk:551
853 msgid ""
854 "Important news about changes in a package can also be put in <filename> NEWS."
855 "Debian</filename> files.  The news will be displayed by tools like apt-"
856 "listchanges, before all the rest of the changelogs.  This is the preferred "
857 "means to let the user know about significant changes in a package.  It is "
858 "better than using debconf notes since it is less annoying and the user can "
859 "go back and refer to the <filename> NEWS.Debian</filename> file after the "
860 "install.  And it's better than listing major changes in <filename>README."
861 "Debian</filename>, since the user can easily miss such notes."
862 msgstr ""
863
864 # type: Content of: <chapter><section><section><para>
865 #: best-pkging-practices.dbk:562
866 msgid ""
867 "The file format is the same as a debian changelog file, but leave off the "
868 "asterisks and describe each news item with a full paragraph when necessary "
869 "rather than the more concise summaries that would go in a changelog.  It's a "
870 "good idea to run your file through <literal>dpkg-parsechangelog</literal> to "
871 "check its formatting as it will not be automatically checked during build as "
872 "the changelog is.  Here is an example of a real <filename>NEWS.Debian </"
873 "filename> file:"
874 msgstr ""
875
876 # type: Content of: <chapter><section><section><screen>
877 #: best-pkging-practices.dbk:570
878 #, no-wrap
879 msgid ""
880 "\n"
881 "cron (3.0pl1-74) unstable; urgency=low\n"
882 "\n"
883 "    The checksecurity script is no longer included with the cron package:\n"
884 "    it now has its own package, checksecurity. If you liked the\n"
885 "    functionality provided with that script, please install the new\n"
886 "    package.\n"
887 "\n"
888 " -- Steve Greenland &lt;stevegr@debian.org&gt;  Sat,  6 Sep 2003 17:15:03 -0500\n"
889 msgstr ""
890 "\n"
891 "cron (3.0pl1-74) unstable; urgency=low\n"
892 "\n"
893 "    The checksecurity script is no longer included with the cron package:\n"
894 "    it now has its own package, checksecurity. If you liked the\n"
895 "    functionality provided with that script, please install the new\n"
896 "    package.\n"
897 "\n"
898 " -- Steve Greenland &lt;stevegr@debian.org&gt;  Sat,  6 Sep 2003 17:15:03 -0500\n"
899
900 # type: Content of: <chapter><section><section><para>
901 #: best-pkging-practices.dbk:581
902 msgid ""
903 "The <filename>NEWS.Debian</filename> file is installed as <filename> /usr/"
904 "share/doc/<replaceable>package</replaceable>/NEWS.Debian.gz</filename>.  It "
905 "is compressed, and always has that name even in Debian native packages.  If "
906 "you use <literal>debhelper</literal>, <literal>dh_installchangelogs </"
907 "literal> will install <filename>debian/NEWS</filename> files for you."
908 msgstr ""
909
910 # type: Content of: <chapter><section><section><para>
911 #: best-pkging-practices.dbk:588
912 msgid ""
913 "Unlike changelog files, you need not update <filename>NEWS.Debian</filename> "
914 "files with every release.  Only update them if you have something "
915 "particularly newsworthy that user should know about.  If you have no news at "
916 "all, there's no need to ship a <filename>NEWS.Debian</filename> file in your "
917 "package.  No news is good news!"
918 msgstr ""
919
920 # type: Content of: <chapter><section><title>
921 #: best-pkging-practices.dbk:610
922 msgid "Best practices for maintainer scripts"
923 msgstr ""
924
925 # type: Content of: <chapter><section><para>
926 #: best-pkging-practices.dbk:612
927 msgid ""
928 "Maintainer scripts include the files <filename>debian/postinst</filename>, "
929 "<filename>debian/preinst</filename>, <filename>debian/prerm</filename> and "
930 "<filename>debian/postrm</filename>.  These scripts take care of any package "
931 "installation or deinstallation setup which isn't handled merely by the "
932 "creation or removal of files and directories.  The following instructions "
933 "supplement the <ulink url=\"&url-debian-policy;\">Debian Policy</ulink>."
934 msgstr ""
935
936 # type: Content of: <chapter><section><para>
937 #: best-pkging-practices.dbk:620
938 msgid ""
939 "Maintainer scripts must be idempotent.  That means that you need to make "
940 "sure nothing bad will happen if the script is called twice where it would "
941 "usually be called once."
942 msgstr ""
943
944 # type: Content of: <chapter><section><para>
945 #: best-pkging-practices.dbk:625
946 msgid ""
947 "Standard input and output may be redirected (e.g.  into pipes) for logging "
948 "purposes, so don't rely on them being a tty."
949 msgstr ""
950
951 # type: Content of: <chapter><section><para>
952 #: best-pkging-practices.dbk:629
953 msgid ""
954 "All prompting or interactive configuration should be kept to a minimum.  "
955 "When it is necessary, you should use the <systemitem role=\"package"
956 "\">debconf</systemitem> package for the interface.  Remember that prompting "
957 "in any case can only be in the <literal>configure</literal> stage of the "
958 "<filename>postinst</filename> script."
959 msgstr ""
960
961 # type: Content of: <chapter><section><para>
962 #: best-pkging-practices.dbk:636
963 msgid ""
964 "Keep the maintainer scripts as simple as possible.  We suggest you use pure "
965 "POSIX shell scripts.  Remember, if you do need any bash features, the "
966 "maintainer script must have a bash shebang line.  POSIX shell or Bash are "
967 "preferred to Perl, since they enable <systemitem role=\"package\">debhelper</"
968 "systemitem> to easily add bits to the scripts."
969 msgstr ""
970
971 # type: Content of: <chapter><section><para>
972 #: best-pkging-practices.dbk:643
973 msgid ""
974 "If you change your maintainer scripts, be sure to test package removal, "
975 "double installation, and purging.  Be sure that a purged package is "
976 "completely gone, that is, it must remove any files created, directly or "
977 "indirectly, in any maintainer script."
978 msgstr ""
979
980 # type: Content of: <chapter><section><para>
981 #: best-pkging-practices.dbk:649
982 msgid ""
983 "If you need to check for the existence of a command, you should use "
984 "something like"
985 msgstr ""
986
987 # type: Content of: <chapter><section><programlisting>
988 #: best-pkging-practices.dbk:652
989 #, no-wrap
990 msgid "if [ -x /usr/sbin/install-docs ]; then ..."
991 msgstr "if [ -x /usr/sbin/install-docs ]; then ..."
992
993 # type: Content of: <chapter><section><para>
994 #: best-pkging-practices.dbk:654
995 msgid ""
996 "If you don't wish to hard-code the path of a command in your maintainer "
997 "script, the following POSIX-compliant shell function may help:"
998 msgstr ""
999
1000 # type: Content of: <chapter><section><para>
1001 #: best-pkging-practices.dbk:659
1002 msgid ""
1003 "You can use this function to search <literal>$PATH</literal> for a command "
1004 "name, passed as an argument.  It returns true (zero) if the command was "
1005 "found, and false if not.  This is really the most portable way, since "
1006 "<literal>command -v</literal>, <command>type</command>, and <command>which</"
1007 "command> are not POSIX."
1008 msgstr ""
1009
1010 # type: Content of: <chapter><section><para>
1011 #: best-pkging-practices.dbk:666
1012 msgid ""
1013 "While <command>which</command> is an acceptable alternative, since it is "
1014 "from the required <systemitem role=\"package\">debianutils</systemitem> "
1015 "package, it's not on the root partition.  That is, it's in <filename>/usr/"
1016 "bin</filename> rather than <filename>/bin</filename>, so one can't use it in "
1017 "scripts which are run before the <filename>/usr</filename> partition is "
1018 "mounted.  Most scripts won't have this problem, though."
1019 msgstr ""
1020
1021 # type: Content of: <chapter><section><title>
1022 #: best-pkging-practices.dbk:676
1023 msgid ""
1024 "Configuration management with <systemitem role=\"package\">debconf</"
1025 "systemitem>"
1026 msgstr ""
1027
1028 # type: Content of: <chapter><section><para>
1029 #: best-pkging-practices.dbk:678
1030 msgid ""
1031 "<systemitem role=\"package\">Debconf</systemitem> is a configuration "
1032 "management system which can be used by all the various packaging scripts "
1033 "(<filename>postinst</filename> mainly) to request feedback from the user "
1034 "concerning how to configure the package.  Direct user interactions must now "
1035 "be avoided in favor of <systemitem role=\"package\">debconf</systemitem> "
1036 "interaction.  This will enable non-interactive installations in the future."
1037 msgstr ""
1038
1039 # type: Content of: <chapter><section><para>
1040 #: best-pkging-practices.dbk:686
1041 msgid ""
1042 "Debconf is a great tool but it is often poorly used.  Many common mistakes "
1043 "are listed in the <citerefentry> <refentrytitle>debconf-devel</"
1044 "refentrytitle> <manvolnum>7</manvolnum> </citerefentry> man page.  It is "
1045 "something that you must read if you decide to use debconf.  Also, we "
1046 "document some best practices here."
1047 msgstr ""
1048
1049 # type: Content of: <chapter><section><para>
1050 #: best-pkging-practices.dbk:693
1051 msgid ""
1052 "These guidelines include some writing style and typography recommendations, "
1053 "general considerations about debconf usage as well as more specific "
1054 "recommendations for some parts of the distribution (the installation system "
1055 "for instance)."
1056 msgstr ""
1057
1058 # type: Content of: <chapter><section><section><title>
1059 #: best-pkging-practices.dbk:699
1060 msgid "Do not abuse debconf"
1061 msgstr ""
1062
1063 # type: Content of: <chapter><section><section><para>
1064 #: best-pkging-practices.dbk:701
1065 msgid ""
1066 "Since debconf appeared in Debian, it has been widely abused and several "
1067 "criticisms received by the Debian distribution come from debconf abuse with "
1068 "the need of answering a wide bunch of questions before getting any little "
1069 "thing installed."
1070 msgstr ""
1071
1072 # type: Content of: <chapter><section><section><para>
1073 #: best-pkging-practices.dbk:707
1074 msgid ""
1075 "Keep usage notes to what they belong: the NEWS.Debian, or README.Debian "
1076 "file.  Only use notes for important notes which may directly affect the "
1077 "package usability.  Remember that notes will always block the install until "
1078 "confirmed or bother the user by email."
1079 msgstr ""
1080
1081 # type: Content of: <chapter><section><section><para>
1082 #: best-pkging-practices.dbk:713
1083 msgid ""
1084 "Carefully choose the questions priorities in maintainer scripts.  See "
1085 "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> <manvolnum>7</"
1086 "manvolnum> </citerefentry> for details about priorities.  Most questions "
1087 "should use medium and low priorities."
1088 msgstr ""
1089
1090 # type: Content of: <chapter><section><section><title>
1091 #: best-pkging-practices.dbk:721
1092 msgid "General recommendations for authors and translators"
1093 msgstr ""
1094
1095 # type: Content of: <chapter><section><section><section><title>
1096 #: best-pkging-practices.dbk:723
1097 msgid "Write correct English"
1098 msgstr ""
1099
1100 # type: Content of: <chapter><section><section><section><para>
1101 #: best-pkging-practices.dbk:725
1102 msgid ""
1103 "Most Debian package maintainers are not native English speakers.  So, "
1104 "writing properly phrased templates may not be easy for them."
1105 msgstr ""
1106
1107 # type: Content of: <chapter><section><section><section><para>
1108 #: best-pkging-practices.dbk:729
1109 msgid ""
1110 "Please use (and abuse) &email-debian-l10n-english; mailing list.  Have your "
1111 "templates proofread."
1112 msgstr ""
1113
1114 # type: Content of: <chapter><section><section><section><para>
1115 #: best-pkging-practices.dbk:733
1116 msgid ""
1117 "Badly written templates give a poor image of your package, of your work...or "
1118 "even of Debian itself."
1119 msgstr ""
1120
1121 # type: Content of: <chapter><section><section><section><para>
1122 #: best-pkging-practices.dbk:737
1123 msgid ""
1124 "Avoid technical jargon as much as possible.  If some terms sound common to "
1125 "you, they may be impossible to understand for others.  If you cannot avoid "
1126 "them, try to explain them (use the extended description).  When doing so, "
1127 "try to balance between verbosity and simplicity."
1128 msgstr ""
1129
1130 # type: Content of: <chapter><section><section><section><title>
1131 #: best-pkging-practices.dbk:745
1132 msgid "Be kind to translators"
1133 msgstr ""
1134
1135 # type: Content of: <chapter><section><section><section><para>
1136 #: best-pkging-practices.dbk:747
1137 msgid ""
1138 "Debconf templates may be translated.  Debconf, along with its sister package "
1139 "<command>po-debconf</command> offers a simple framework for getting "
1140 "templates translated by translation teams or even individuals."
1141 msgstr ""
1142
1143 # type: Content of: <chapter><section><section><section><para>
1144 #: best-pkging-practices.dbk:752
1145 msgid ""
1146 "Please use gettext-based templates.  Install <systemitem role=\"package\">po-"
1147 "debconf</systemitem> on your development system and read its documentation "
1148 "(<literal>man po-debconf</literal> is a good start)."
1149 msgstr ""
1150
1151 # type: Content of: <chapter><section><section><section><para>
1152 #: best-pkging-practices.dbk:757
1153 msgid ""
1154 "Avoid changing templates too often.  Changing templates text induces more "
1155 "work to translators which will get their translation fuzzied.  If you plan "
1156 "changes to your original templates, please contact translators.  Most active "
1157 "translators are very responsive and getting their work included along with "
1158 "your modified templates will save you additional uploads.  If you use "
1159 "gettext-based templates, the translator's name and e-mail addresses are "
1160 "mentioned in the po files headers."
1161 msgstr ""
1162
1163 # type: Content of: <chapter><section><section><section><para>
1164 #: best-pkging-practices.dbk:766
1165 msgid ""
1166 "The use of the <command>podebconf-report-po</command> from the <systemitem "
1167 "role=\"package\">po-debconf</systemitem> package is highly recommended to "
1168 "warn translators which have incomplete translations and request them for "
1169 "updates."
1170 msgstr ""
1171
1172 # type: Content of: <chapter><section><section><section><para>
1173 #: best-pkging-practices.dbk:771
1174 msgid ""
1175 "If in doubt, you may also contact the translation team for a given language "
1176 "(debian-l10n-xxxxx@&lists-host;), or the &email-debian-i18n; mailing list."
1177 msgstr ""
1178
1179 # type: Content of: <chapter><section><section><section><para>
1180 #: best-pkging-practices.dbk:776
1181 msgid ""
1182 "Calls for translations posted to &email-debian-i18n; with the "
1183 "<filename>debian/po/templates.pot</filename> file attached or referenced in "
1184 "a URL are encouraged.  Be sure to mentions in these calls for new "
1185 "translations which languages you have existing translations for, in order to "
1186 "avoid duplicate work."
1187 msgstr ""
1188
1189 # type: Content of: <chapter><section><section><section><title>
1190 #: best-pkging-practices.dbk:785
1191 msgid "Unfuzzy complete translations when correcting typos and spelling"
1192 msgstr ""
1193
1194 # type: Content of: <chapter><section><section><section><para>
1195 #: best-pkging-practices.dbk:787
1196 msgid ""
1197 "When the text of a debconf template is corrected and you are <emphasis role="
1198 "\"strong\">sure</emphasis> that the change does <emphasis role=\"strong"
1199 "\">not</emphasis> affect translations, please be kind to translators and "
1200 "unfuzzy their translations."
1201 msgstr ""
1202
1203 # type: Content of: <chapter><section><section><section><para>
1204 #: best-pkging-practices.dbk:793
1205 msgid ""
1206 "If you don't do so, the whole template will not be translated as long as a "
1207 "translator will send you an update."
1208 msgstr ""
1209
1210 # type: Content of: <chapter><section><section><section><para>
1211 #: best-pkging-practices.dbk:797
1212 msgid ""
1213 "To <literal>unfuzzy</literal> translations, you can proceed the following "
1214 "way:"
1215 msgstr ""
1216
1217 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1218 #: best-pkging-practices.dbk:803
1219 msgid ""
1220 "Put all incomplete PO files out of the way.  You can check the completeness "
1221 "by using (needs the <systemitem role=\"package\">gettext</systemitem> "
1222 "package installed):"
1223 msgstr ""
1224
1225 # type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1226 #: best-pkging-practices.dbk:807
1227 #, no-wrap
1228 msgid ""
1229 "for i in debian/po/*po; do echo -n $i: ; msgfmt -o /dev/null\n"
1230 "--statistics $i; done"
1231 msgstr ""
1232
1233 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1234 #: best-pkging-practices.dbk:812
1235 msgid ""
1236 "move all files which report either fuzzy strings to a temporary place.  "
1237 "Files which report no fuzzy strings (only translated and untranslated) will "
1238 "be kept in place."
1239 msgstr ""
1240
1241 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1242 #: best-pkging-practices.dbk:819
1243 msgid ""
1244 "now <emphasis role=\"strong\">and now only</emphasis>, modify the template "
1245 "for the typos and check again that translation are not impacted (typos, "
1246 "spelling errors, sometimes typographical corrections are usually OK)"
1247 msgstr ""
1248
1249 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1250 #: best-pkging-practices.dbk:826
1251 msgid ""
1252 "run <command>debconf-updatepo</command>.  This will fuzzy all strings you "
1253 "modified in translations.  You can see this by running the above again"
1254 msgstr ""
1255
1256 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1257 #: best-pkging-practices.dbk:832
1258 msgid "use the following command:"
1259 msgstr ""
1260
1261 # type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
1262 #: best-pkging-practices.dbk:834
1263 #, no-wrap
1264 msgid "for i in debian/po/*po; do msgattrib --output-file=$i --clear-fuzzy $i; done"
1265 msgstr ""
1266
1267 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1268 #: best-pkging-practices.dbk:838
1269 msgid ""
1270 "move back to debian/po the files which showed fuzzy strings in the first step"
1271 msgstr ""
1272
1273 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
1274 #: best-pkging-practices.dbk:843
1275 msgid "run <command>debconf-updatepo</command> again"
1276 msgstr ""
1277
1278 # type: Content of: <chapter><section><section><section><title>
1279 #: best-pkging-practices.dbk:850
1280 msgid "Do not make assumptions about interfaces"
1281 msgstr ""
1282
1283 # type: Content of: <chapter><section><section><section><para>
1284 #: best-pkging-practices.dbk:852
1285 msgid ""
1286 "Templates text should not make reference to widgets belonging to some "
1287 "debconf interfaces.  Sentences like If you answer Yes...  have no meaning "
1288 "for users of graphical interfaces which use checkboxes for boolean questions."
1289 msgstr ""
1290
1291 # type: Content of: <chapter><section><section><section><para>
1292 #: best-pkging-practices.dbk:857
1293 msgid ""
1294 "String templates should also avoid mentioning the default values in their "
1295 "description.  First, because this is redundant with the values seen by the "
1296 "users.  Also, because these default values may be different from the "
1297 "maintainer choices (for instance, when the debconf database was preseeded)."
1298 msgstr ""
1299
1300 # type: Content of: <chapter><section><section><section><para>
1301 #: best-pkging-practices.dbk:863
1302 msgid ""
1303 "More generally speaking, try to avoid referring to user actions.  Just give "
1304 "facts."
1305 msgstr ""
1306
1307 # type: Content of: <chapter><section><section><section><title>
1308 #: best-pkging-practices.dbk:869
1309 msgid "Do not use first person"
1310 msgstr ""
1311
1312 # type: Content of: <chapter><section><section><section><para>
1313 #: best-pkging-practices.dbk:871
1314 msgid ""
1315 "You should avoid the use of first person (I will do this...  or We "
1316 "recommend...).  The computer is not a person and the Debconf templates do "
1317 "not speak for the Debian developers.  You should use neutral construction.  "
1318 "Those of you who already wrote scientific publications, just write your "
1319 "templates like you would write a scientific paper.  However, try using "
1320 "action voice if still possible, like Enable this if ...  instead of This can "
1321 "be enabled if ...."
1322 msgstr ""
1323
1324 # type: Content of: <chapter><section><section><section><title>
1325 #: best-pkging-practices.dbk:881
1326 msgid "Be gender neutral"
1327 msgstr ""
1328
1329 # type: Content of: <chapter><section><section><section><para>
1330 #: best-pkging-practices.dbk:883
1331 msgid ""
1332 "The world is made of men and women.  Please use gender-neutral constructions "
1333 "in your writing."
1334 msgstr ""
1335
1336 # type: Content of: <chapter><section><section><title>
1337 #: best-pkging-practices.dbk:891
1338 msgid "Templates fields definition"
1339 msgstr ""
1340
1341 # type: Content of: <chapter><section><section><para>
1342 #: best-pkging-practices.dbk:893
1343 msgid ""
1344 "This part gives some information which is mostly taken from the "
1345 "<citerefentry> <refentrytitle>debconf-devel</refentrytitle> <manvolnum>7</"
1346 "manvolnum> </citerefentry> manual page."
1347 msgstr ""
1348
1349 # type: Content of: <chapter><section><section><section><title>
1350 #: best-pkging-practices.dbk:898
1351 msgid "Type"
1352 msgstr ""
1353
1354 # type: Content of: <chapter><section><section><section><section><title>
1355 #: best-pkging-practices.dbk:900
1356 msgid "string:"
1357 msgstr ""
1358
1359 # type: Content of: <chapter><section><section><section><section><para>
1360 #: best-pkging-practices.dbk:902
1361 msgid ""
1362 "Results in a free-form input field that the user can type any string into."
1363 msgstr ""
1364
1365 # type: Content of: <chapter><section><section><section><section><title>
1366 #: best-pkging-practices.dbk:907
1367 msgid "password:"
1368 msgstr ""
1369
1370 # type: Content of: <chapter><section><section><section><section><para>
1371 #: best-pkging-practices.dbk:909
1372 msgid ""
1373 "Prompts the user for a password.  Use this with caution; be aware that the "
1374 "password the user enters will be written to debconf's database.  You should "
1375 "probably clean that value out of the database as soon as is possible."
1376 msgstr ""
1377
1378 # type: Content of: <chapter><section><section><section><section><title>
1379 #: best-pkging-practices.dbk:916
1380 msgid "boolean:"
1381 msgstr ""
1382
1383 # type: Content of: <chapter><section><section><section><section><para>
1384 #: best-pkging-practices.dbk:918
1385 msgid ""
1386 "A true/false choice.  Remember: true/false, <emphasis role=\"strong\">not "
1387 "yes/no</emphasis>..."
1388 msgstr ""
1389
1390 # type: Content of: <chapter><section><section><section><section><title>
1391 #: best-pkging-practices.dbk:924
1392 msgid "select:"
1393 msgstr ""
1394
1395 # type: Content of: <chapter><section><section><section><section><para>
1396 #: best-pkging-practices.dbk:926
1397 msgid ""
1398 "A choice between one of a number of values.  The choices must be specified "
1399 "in a field named 'Choices'.  Separate the possible values with commas and "
1400 "spaces, like this: Choices: yes, no, maybe"
1401 msgstr ""
1402
1403 # type: Content of: <chapter><section><section><section><section><title>
1404 #: best-pkging-practices.dbk:933
1405 msgid "multiselect:"
1406 msgstr ""
1407
1408 # type: Content of: <chapter><section><section><section><section><para>
1409 #: best-pkging-practices.dbk:935
1410 msgid ""
1411 "Like the select data type, except the user can choose any number of items "
1412 "from the choices list (or chose none of them)."
1413 msgstr ""
1414
1415 # type: Content of: <chapter><section><section><section><section><title>
1416 #: best-pkging-practices.dbk:941
1417 msgid "note:"
1418 msgstr ""
1419
1420 # type: Content of: <chapter><section><section><section><section><para>
1421 #: best-pkging-practices.dbk:943
1422 msgid ""
1423 "Rather than being a question per se, this datatype indicates a note that can "
1424 "be displayed to the user.  It should be used only for important notes that "
1425 "the user really should see, since debconf will go to great pains to make "
1426 "sure the user sees it; halting the install for them to press a key, and even "
1427 "mailing the note to them in some cases."
1428 msgstr ""
1429
1430 # type: Content of: <chapter><section><section><section><section><title>
1431 #: best-pkging-practices.dbk:952
1432 msgid "text:"
1433 msgstr ""
1434
1435 # type: Content of: <chapter><section><section><section><section><para>
1436 #: best-pkging-practices.dbk:954
1437 msgid "This type is now considered obsolete: don't use it."
1438 msgstr ""
1439
1440 # type: Content of: <chapter><section><section><section><section><title>
1441 #: best-pkging-practices.dbk:959
1442 msgid "error:"
1443 msgstr ""
1444
1445 # type: Content of: <chapter><section><section><section><section><para>
1446 #: best-pkging-practices.dbk:961
1447 msgid ""
1448 "This type is designed to handle error messages.  It is mostly similar to the "
1449 "note type.  Frontends may present it differently (for instance, the dialog "
1450 "frontend of cdebconf draws a red screen instead of the usual blue one)."
1451 msgstr ""
1452
1453 # type: Content of: <chapter><section><section><section><section><para>
1454 #: best-pkging-practices.dbk:966
1455 msgid ""
1456 "It is recommended to use this type for any message that needs user attention "
1457 "for a correction of any kind."
1458 msgstr ""
1459
1460 # type: Content of: <chapter><section><section><section><title>
1461 #: best-pkging-practices.dbk:974
1462 msgid "Description: short and extended description"
1463 msgstr ""
1464
1465 # type: Content of: <chapter><section><section><section><para>
1466 #: best-pkging-practices.dbk:976
1467 msgid ""
1468 "Template descriptions have two parts: short and extended.  The short "
1469 "description is in the Description: line of the template."
1470 msgstr ""
1471
1472 # type: Content of: <chapter><section><section><section><para>
1473 #: best-pkging-practices.dbk:980
1474 msgid ""
1475 "The short description should be kept short (50 characters or so) so that it "
1476 "may be accomodated by most debconf interfaces.  Keeping it short also helps "
1477 "translators, as usually translations tend to end up being longer than the "
1478 "original."
1479 msgstr ""
1480
1481 # type: Content of: <chapter><section><section><section><para>
1482 #: best-pkging-practices.dbk:986
1483 msgid ""
1484 "The short description should be able to stand on its own.  Some interfaces "
1485 "do not show the long description by default, or only if the user explicitely "
1486 "asks for it or even do not show it at all.  Avoid things like What do you "
1487 "want to do?"
1488 msgstr ""
1489
1490 # type: Content of: <chapter><section><section><section><para>
1491 #: best-pkging-practices.dbk:992
1492 msgid ""
1493 "The short description does not necessarily have to be a full sentence.  This "
1494 "is part of the keep it short and efficient recommendation."
1495 msgstr ""
1496
1497 # type: Content of: <chapter><section><section><section><para>
1498 #: best-pkging-practices.dbk:996
1499 msgid ""
1500 "The extended description should not repeat the short description word for "
1501 "word.  If you can't think up a long description, then first, think some "
1502 "more.  Post to debian-devel.  Ask for help.  Take a writing class! That "
1503 "extended description is important.  If after all that you still can't come "
1504 "up with anything, leave it blank."
1505 msgstr ""
1506
1507 # type: Content of: <chapter><section><section><section><para>
1508 #: best-pkging-practices.dbk:1003
1509 msgid ""
1510 "The extended description should use complete sentences.  Paragraphs should "
1511 "be kept short for improved readability.  Do not mix two ideas in the same "
1512 "paragraph but rather use another paragraph."
1513 msgstr ""
1514
1515 # type: Content of: <chapter><section><section><section><para>
1516 #: best-pkging-practices.dbk:1008
1517 msgid ""
1518 "Don't be too verbose.  User tend to ignore too long screens.  20 lines are "
1519 "by experience a border you shouldn't cross, because that means that in the "
1520 "classical dialog interface, people will need to scroll, and lot of people "
1521 "just don't do that."
1522 msgstr ""
1523
1524 # type: Content of: <chapter><section><section><section><para>
1525 #: best-pkging-practices.dbk:1014
1526 msgid ""
1527 "The extended description should <emphasis role=\"strong\">never</emphasis> "
1528 "include a question."
1529 msgstr ""
1530
1531 # type: Content of: <chapter><section><section><section><para>
1532 #: best-pkging-practices.dbk:1018
1533 msgid ""
1534 "For specific rules depending on templates type (string, boolean, etc.), "
1535 "please read below."
1536 msgstr ""
1537
1538 # type: Content of: <chapter><section><section><section><title>
1539 #: best-pkging-practices.dbk:1024
1540 msgid "Choices"
1541 msgstr ""
1542
1543 # type: Content of: <chapter><section><section><section><para>
1544 #: best-pkging-practices.dbk:1026
1545 msgid ""
1546 "This field should be used for Select and Multiselect types.  It contains the "
1547 "possible choices which will be presented to users.  These choices should be "
1548 "separated by commas."
1549 msgstr ""
1550
1551 # type: Content of: <chapter><section><section><section><title>
1552 #: best-pkging-practices.dbk:1033
1553 msgid "Default"
1554 msgstr ""
1555
1556 # type: Content of: <chapter><section><section><section><para>
1557 #: best-pkging-practices.dbk:1035
1558 msgid ""
1559 "This field is optional.  It contains the default answer for string, select "
1560 "and multiselect templates.  For multiselect templates, it may contain a "
1561 "comma-separated list of choices."
1562 msgstr ""
1563
1564 # type: Content of: <chapter><section><section><title>
1565 #: best-pkging-practices.dbk:1044
1566 msgid "Templates fields specific style guide"
1567 msgstr ""
1568
1569 # type: Content of: <chapter><section><section><section><title>
1570 #: best-pkging-practices.dbk:1046
1571 msgid "Type field"
1572 msgstr ""
1573
1574 # type: Content of: <chapter><section><section><section><para>
1575 #: best-pkging-practices.dbk:1048
1576 msgid ""
1577 "No specific indication except: use the appropriate type by referring to the "
1578 "previous section."
1579 msgstr ""
1580
1581 # type: Content of: <chapter><section><section><section><title>
1582 #: best-pkging-practices.dbk:1054
1583 msgid "Description field"
1584 msgstr ""
1585
1586 # type: Content of: <chapter><section><section><section><para>
1587 #: best-pkging-practices.dbk:1056
1588 msgid ""
1589 "Below are specific instructions for properly writing the Description (short "
1590 "and extended) depending on the template type."
1591 msgstr ""
1592
1593 # type: Content of: <chapter><section><section><section><section><title>
1594 #: best-pkging-practices.dbk:1060
1595 msgid "String/password templates"
1596 msgstr ""
1597
1598 # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1599 #: best-pkging-practices.dbk:1064
1600 msgid ""
1601 "The short description is a prompt and <emphasis role=\"strong\">not</"
1602 "emphasis> a title.  Avoid question style prompts (IP Address?) in favour of "
1603 "opened prompts (IP address:).  The use of colons is recommended."
1604 msgstr ""
1605
1606 # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1607 #: best-pkging-practices.dbk:1071
1608 msgid ""
1609 "The extended description is a complement to the short description.  In the "
1610 "extended part, explain what is being asked, rather than ask the same "
1611 "question again using longer words.  Use complete sentences.  Terse writing "
1612 "style is strongly discouraged."
1613 msgstr ""
1614
1615 # type: Content of: <chapter><section><section><section><section><title>
1616 #: best-pkging-practices.dbk:1081
1617 msgid "Boolean templates"
1618 msgstr ""
1619
1620 # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1621 #: best-pkging-practices.dbk:1085
1622 msgid ""
1623 "The short description should be phrased in the form of a question which "
1624 "should be kept short and should generally end with a question mark.  Terse "
1625 "writing style is permitted and even encouraged if the question is rather "
1626 "long (remember that translations are often longer than original versions)"
1627 msgstr ""
1628
1629 # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1630 #: best-pkging-practices.dbk:1093
1631 msgid ""
1632 "Again, please avoid referring to specific interface widgets.  A common "
1633 "mistake for such templates is if you answer Yes-type constructions."
1634 msgstr ""
1635
1636 # type: Content of: <chapter><section><section><section><section><title>
1637 #: best-pkging-practices.dbk:1101
1638 msgid "Select/Multiselect"
1639 msgstr ""
1640
1641 # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1642 #: best-pkging-practices.dbk:1105
1643 msgid ""
1644 "The short description is a prompt and <emphasis role=\"strong\">not</"
1645 "emphasis> a title.  Do <emphasis role=\"strong\">not</emphasis> use useless "
1646 "Please choose...  constructions.  Users are clever enough to figure out they "
1647 "have to choose something...:)"
1648 msgstr ""
1649
1650 # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1651 #: best-pkging-practices.dbk:1113
1652 msgid ""
1653 "The extended description will complete the short description.  It may refer "
1654 "to the available choices.  It may also mention that the user may choose more "
1655 "than one of the available choices, if the template is a multiselect one "
1656 "(although the interface often makes this clear)."
1657 msgstr ""
1658
1659 # type: Content of: <chapter><section><section><section><section><title>
1660 #: best-pkging-practices.dbk:1123
1661 msgid "Notes"
1662 msgstr ""
1663
1664 # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1665 #: best-pkging-practices.dbk:1127
1666 msgid "The short description should be considered to be a *title*."
1667 msgstr ""
1668
1669 # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1670 #: best-pkging-practices.dbk:1132
1671 msgid ""
1672 "The extended description is what will be displayed as a more detailed "
1673 "explanation of the note.  Phrases, no terse writing style."
1674 msgstr ""
1675
1676 # type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
1677 #: best-pkging-practices.dbk:1138
1678 msgid ""
1679 "<emphasis role=\"strong\">Do not abuse debconf.</emphasis> Notes are the "
1680 "most common way to abuse debconf.  As written in debconf-devel manual page: "
1681 "it's best to use them only for warning about very serious problems.  The "
1682 "NEWS.Debian or README.Debian files are the appropriate location for a lot of "
1683 "notes.  If, by reading this, you consider converting your Note type "
1684 "templates to entries in NEWS/Debian or README.Debian, plus consider keeping "
1685 "existing translations for the future."
1686 msgstr ""
1687
1688 # type: Content of: <chapter><section><section><section><title>
1689 #: best-pkging-practices.dbk:1153
1690 msgid "Choices field"
1691 msgstr ""
1692
1693 # type: Content of: <chapter><section><section><section><para>
1694 #: best-pkging-practices.dbk:1155
1695 msgid ""
1696 "If the Choices are likely to change often, please consider using the "
1697 "__Choices trick.  This will split each individual choice into a single "
1698 "string, which will considerably help translators for doing their work."
1699 msgstr ""
1700
1701 # type: Content of: <chapter><section><section><section><title>
1702 #: best-pkging-practices.dbk:1162 best-pkging-practices.dbk:1200
1703 msgid "Default field"
1704 msgstr ""
1705
1706 # type: Content of: <chapter><section><section><section><para>
1707 #: best-pkging-practices.dbk:1164
1708 msgid ""
1709 "If the default value, for a select template, is likely to vary depending on "
1710 "the user language (for instance, if the choice is a language choice), please "
1711 "use the _DefaultChoice trick."
1712 msgstr ""
1713
1714 # type: Content of: <chapter><section><section><section><para>
1715 #: best-pkging-practices.dbk:1169
1716 msgid ""
1717 "This special field allow translators to put the most appropriate choice "
1718 "according to their own language.  It will become the default choice when "
1719 "their language is used while your own mentioned Default Choice will be used "
1720 "chan using English."
1721 msgstr ""
1722
1723 # type: Content of: <chapter><section><section><section><para>
1724 #: best-pkging-practices.dbk:1175
1725 msgid "Example, taken from the geneweb package templates:"
1726 msgstr ""
1727
1728 # type: Content of: <chapter><section><section><section><screen>
1729 #: best-pkging-practices.dbk:1177
1730 #, no-wrap
1731 msgid ""
1732 "\n"
1733 "Template: geneweb/lang\n"
1734 "Type: select\n"
1735 "__Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech (cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), Finnish (fi), French (fr), German (de), Hebrew (he), Icelandic (is), Italian (it), Latvian (lv), Norwegian (no), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Spanish (es), Swedish (sv)\n"
1736 "# This is the default choice. Translators may put their own language here\n"
1737 "# instead of the default.\n"
1738 "# WARNING : you MUST use the ENGLISH FORM of your language\n"
1739 "# For instance, the french translator will need to put French (fr) here.\n"
1740 "_DefaultChoice: English (en)[ translators, please see comment in PO files]\n"
1741 "_Description: Geneweb default language:\n"
1742 msgstr ""
1743
1744 # type: Content of: <chapter><section><section><section><para>
1745 #: best-pkging-practices.dbk:1189
1746 msgid ""
1747 "Note the use of brackets which allow internal comments in debconf fields.  "
1748 "Also note the use of comments which will show up in files the translators "
1749 "will work with."
1750 msgstr ""
1751
1752 # type: Content of: <chapter><section><section><section><para>
1753 #: best-pkging-practices.dbk:1194
1754 msgid ""
1755 "The comments are needed as the DefaultChoice trick is a bit confusing: the "
1756 "translators may put their own choice"
1757 msgstr ""
1758
1759 # type: Content of: <chapter><section><section><section><para>
1760 #: best-pkging-practices.dbk:1202
1761 msgid ""
1762 "Do NOT use empty default field.  If you don't want to use default values, do "
1763 "not use Default at all."
1764 msgstr ""
1765
1766 # type: Content of: <chapter><section><section><section><para>
1767 #: best-pkging-practices.dbk:1206
1768 msgid ""
1769 "If you use po-debconf (and you <emphasis role=\"strong\">should</emphasis>, "
1770 "see 2.2), consider making this field translatable, if you think it may be "
1771 "translated."
1772 msgstr ""
1773
1774 # type: Content of: <chapter><section><section><section><para>
1775 #: best-pkging-practices.dbk:1211
1776 msgid ""
1777 "If the default value may vary depending on language/country (for instance "
1778 "the default value for a language choice), consider using the special "
1779 "_DefaultChoice type documented in <citerefentry> <refentrytitle>po-debconf</"
1780 "refentrytitle> <manvolnum>7</manvolnum> </citerefentry>)."
1781 msgstr ""
1782
1783 # type: Content of: <chapter><section><title>
1784 #: best-pkging-practices.dbk:1223
1785 msgid "Internationalization"
1786 msgstr ""
1787
1788 # type: Content of: <chapter><section><section><title>
1789 #: best-pkging-practices.dbk:1225
1790 msgid "Handling debconf translations"
1791 msgstr ""
1792
1793 # type: Content of: <chapter><section><section><para>
1794 #: best-pkging-practices.dbk:1227
1795 msgid ""
1796 "Like porters, translators have a difficult task.  They work on many packages "
1797 "and must collaborate with many different maintainers.  Moreover, most of the "
1798 "time, they are not native English speakers, so you may need to be "
1799 "particularly patient with them."
1800 msgstr ""
1801
1802 # type: Content of: <chapter><section><section><para>
1803 #: best-pkging-practices.dbk:1233
1804 msgid ""
1805 "The goal of <systemitem role=\"package\">debconf</systemitem> was to make "
1806 "packages configuration easier for maintainers and for users.  Originally, "
1807 "translation of debconf templates was handled with <command>debconf-"
1808 "mergetemplate</command>.  However, that technique is now deprecated; the "
1809 "best way to accomplish <systemitem role=\"package\">debconf</systemitem> "
1810 "internationalization is by using the <systemitem role=\"package\">po-"
1811 "debconf</systemitem> package.  This method is easier both for maintainer and "
1812 "translators; transition scripts are provided."
1813 msgstr ""
1814
1815 # type: Content of: <chapter><section><section><para>
1816 #: best-pkging-practices.dbk:1243
1817 msgid ""
1818 "Using <systemitem role=\"package\">po-debconf</systemitem>, the translation "
1819 "is stored in <filename>po</filename> files (drawing from <command>gettext</"
1820 "command> translation techniques).  Special template files contain the "
1821 "original messages and mark which fields are translatable.  When you change "
1822 "the value of a translatable field, by calling <command>debconf-updatepo</"
1823 "command>, the translation is marked as needing attention from the "
1824 "translators.  Then, at build time, the <command>dh_installdebconf</command> "
1825 "program takes care of all the needed magic to add the template along with "
1826 "the up-to-date translations into the binary packages.  Refer to the "
1827 "<citerefentry> <refentrytitle>po-debconf</refentrytitle> <manvolnum>7</"
1828 "manvolnum> </citerefentry> manual page for details."
1829 msgstr ""
1830
1831 # type: Content of: <chapter><section><section><title>
1832 #: best-pkging-practices.dbk:1259
1833 msgid "Internationalized documentation"
1834 msgstr ""
1835
1836 # type: Content of: <chapter><section><section><para>
1837 #: best-pkging-practices.dbk:1261
1838 msgid ""
1839 "Internationalizing documentation is crucial for users, but a lot of labor.  "
1840 "There's no way to eliminate all that work, but you can make things easier "
1841 "for translators."
1842 msgstr ""
1843
1844 # type: Content of: <chapter><section><section><para>
1845 #: best-pkging-practices.dbk:1266
1846 msgid ""
1847 "If you maintain documentation of any size, its easier for translators if "
1848 "they have access to a source control system.  That lets translators see the "
1849 "differences between two versions of the documentation, so, for instance, "
1850 "they can see what needs to be retranslated.  It is recommended that the "
1851 "translated documentation maintain a note about what source control revision "
1852 "the translation is based on.  An interesting system is provided by <ulink "
1853 "url=\"&url-i18n-doc-check;\">doc-check</ulink> in the <systemitem role="
1854 "\"package\">boot-floppies</systemitem> package, which shows an overview of "
1855 "the translation status for any given language, using structured comments for "
1856 "the current revision of the file to be translated and, for a translated "
1857 "file, the revision of the original file the translation is based on.  You "
1858 "might wish to adapt and provide that in your CVS area."
1859 msgstr ""
1860
1861 # type: Content of: <chapter><section><section><para>
1862 #: best-pkging-practices.dbk:1280
1863 msgid ""
1864 "If you maintain XML or SGML documentation, we suggest that you isolate any "
1865 "language-independent information and define those as entities in a separate "
1866 "file which is included by all the different translations.  This makes it "
1867 "much easier, for instance, to keep URLs up to date across multiple files."
1868 msgstr ""
1869
1870 # type: Content of: <chapter><section><title>
1871 #: best-pkging-practices.dbk:1290
1872 msgid "Common packaging situations"
1873 msgstr ""
1874
1875 # type: Content of: <chapter><section><section><title>
1876 #: best-pkging-practices.dbk:1301
1877 msgid "Packages using <command>autoconf</command>/<command>automake</command>"
1878 msgstr ""
1879
1880 # type: Content of: <chapter><section><section><para>
1881 #: best-pkging-practices.dbk:1303
1882 msgid ""
1883 "Keeping <command>autoconf</command>'s <filename>config.sub</filename> and "
1884 "<filename>config.guess</filename> files up to date is critical for porters, "
1885 "especially on more volatile architectures.  Some very good packaging "
1886 "practices for any package using <command>autoconf</command> and/or "
1887 "<command>automake</command> have been synthesized in &file-bpp-autotools; "
1888 "from the <systemitem role=\"package\">autotools-dev</systemitem> package.  "
1889 "You're strongly encouraged to read this file and to follow the given "
1890 "recommendations."
1891 msgstr ""
1892
1893 # type: Content of: <chapter><section><section><title>
1894 #: best-pkging-practices.dbk:1315
1895 msgid "Libraries"
1896 msgstr ""
1897
1898 # type: Content of: <chapter><section><section><para>
1899 #: best-pkging-practices.dbk:1317
1900 msgid ""
1901 "Libraries are always difficult to package for various reasons.  The policy "
1902 "imposes many constraints to ease their maintenance and to make sure upgrades "
1903 "are as simple as possible when a new upstream version comes out.  Breakage "
1904 "in a library can result in dozens of dependent packages breaking."
1905 msgstr ""
1906
1907 # type: Content of: <chapter><section><section><para>
1908 #: best-pkging-practices.dbk:1323
1909 msgid ""
1910 "Good practices for library packaging have been grouped in <ulink url=\"&url-"
1911 "libpkg-guide;\">the library packaging guide</ulink>."
1912 msgstr ""
1913
1914 # type: Content of: <chapter><section><section><title>
1915 #: best-pkging-practices.dbk:1330
1916 msgid "Documentation"
1917 msgstr ""
1918
1919 # type: Content of: <chapter><section><section><para>
1920 #: best-pkging-practices.dbk:1332
1921 msgid ""
1922 "Be sure to follow the <ulink url=\"&url-debian-policy;ch-docs.html\">Policy "
1923 "on documentation</ulink>."
1924 msgstr ""
1925
1926 # type: Content of: <chapter><section><section><para>
1927 #: best-pkging-practices.dbk:1337
1928 msgid ""
1929 "If your package contains documentation built from XML or SGML, we recommend "
1930 "you not ship the XML or SGML source in the binary package(s).  If users want "
1931 "the source of the documentation, they should retrieve the source package."
1932 msgstr ""
1933
1934 # type: Content of: <chapter><section><section><para>
1935 #: best-pkging-practices.dbk:1342
1936 msgid ""
1937 "Policy specifies that documentation should be shipped in HTML format.  We "
1938 "also recommend shipping documentation in PDF and plain text format if "
1939 "convenient and if output of reasonable quality is possible.  However, it is "
1940 "generally not appropriate to ship plain text versions of documentation whose "
1941 "source format is HTML."
1942 msgstr ""
1943
1944 # type: Content of: <chapter><section><section><para>
1945 #: best-pkging-practices.dbk:1349
1946 msgid ""
1947 "Major shipped manuals should register themselves with <systemitem role="
1948 "\"package\">doc-base</systemitem> on installation.  See the <systemitem role="
1949 "\"package\">doc-base</systemitem> package documentation for more information."
1950 msgstr ""
1951
1952 # type: Content of: <chapter><section><section><title>
1953 #: best-pkging-practices.dbk:1357
1954 msgid "Specific types of packages"
1955 msgstr ""
1956
1957 # type: Content of: <chapter><section><section><para>
1958 #: best-pkging-practices.dbk:1359
1959 msgid ""
1960 "Several specific types of packages have special sub-policies and "
1961 "corresponding packaging rules and practices:"
1962 msgstr ""
1963
1964 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1965 #: best-pkging-practices.dbk:1365
1966 msgid ""
1967 "Perl related packages have a <ulink url=\"&url-perl-policy;\">Perl policy</"
1968 "ulink>, some examples of packages following that policy are <systemitem role="
1969 "\"package\">libdbd-pg-perl</systemitem> (binary perl module) or <systemitem "
1970 "role=\"package\">libmldbm-perl</systemitem> (arch independent perl module)."
1971 msgstr ""
1972
1973 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1974 #: best-pkging-practices.dbk:1374
1975 msgid ""
1976 "Python related packages have their python policy; see &file-python-policy; "
1977 "in the <systemitem role=\"package\">python</systemitem> package."
1978 msgstr ""
1979
1980 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1981 #: best-pkging-practices.dbk:1381
1982 msgid ""
1983 "Emacs related packages have the <ulink url=\"&url-emacs-policy;\">emacs "
1984 "policy</ulink>."
1985 msgstr ""
1986
1987 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1988 #: best-pkging-practices.dbk:1388
1989 msgid ""
1990 "Java related packages have their <ulink url=\"&url-java-policy;\">java "
1991 "policy</ulink>."
1992 msgstr ""
1993
1994 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
1995 #: best-pkging-practices.dbk:1395
1996 msgid ""
1997 "Ocaml related packages have their own policy, found in &file-ocaml-policy; "
1998 "from the <systemitem role=\"package\">ocaml</systemitem> package.  A good "
1999 "example is the <systemitem role=\"package\">camlzip</systemitem> source "
2000 "package."
2001 msgstr ""
2002
2003 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2004 #: best-pkging-practices.dbk:1403
2005 msgid ""
2006 "Packages providing XML or SGML DTDs should conform to the recommendations "
2007 "found in the <systemitem role=\"package\">sgml-base-doc</systemitem> package."
2008 msgstr ""
2009
2010 # type: Content of: <chapter><section><section><itemizedlist><listitem><para>
2011 #: best-pkging-practices.dbk:1409
2012 msgid ""
2013 "Lisp packages should register themselves with <systemitem role=\"package"
2014 "\">common-lisp-controller</systemitem>, about which see &file-lisp-"
2015 "controller;."
2016 msgstr ""
2017
2018 # type: Content of: <chapter><section><section><title>
2019 #: best-pkging-practices.dbk:1439
2020 msgid "Architecture-independent data"
2021 msgstr "アーキテクチャ非依存のデータ"
2022
2023 # type: Content of: <chapter><section><section><para>
2024 #: best-pkging-practices.dbk:1441
2025 msgid ""
2026 "It is not uncommon to have a large amount of architecture-independent data "
2027 "packaged with a program.  For example, audio files, a collection of icons, "
2028 "wallpaper patterns, or other graphic files.  If the size of this data is "
2029 "negligible compared to the size of the rest of the package, it's probably "
2030 "best to keep it all in a single package."
2031 msgstr ""
2032
2033 # type: Content of: <chapter><section><section><para>
2034 #: best-pkging-practices.dbk:1448
2035 msgid ""
2036 "However, if the size of the data is considerable, consider splitting it out "
2037 "into a separate, architecture-independent package (_all.deb).  By doing "
2038 "this, you avoid needless duplication of the same data into eleven or more ."
2039 "debs, one per each architecture.  While this adds some extra overhead into "
2040 "the <filename>Packages</filename> files, it saves a lot of disk space on "
2041 "Debian mirrors.  Separating out architecture-independent data also reduces "
2042 "processing time of <command>lintian</command> (see <xref linkend=\"tools-lint"
2043 "\"/> ) when run over the entire Debian archive."
2044 msgstr ""
2045
2046 # type: Content of: <chapter><section><section><title>
2047 #: best-pkging-practices.dbk:1460
2048 msgid "Needing a certain locale during build"
2049 msgstr ""
2050
2051 # type: Content of: <chapter><section><section><para>
2052 #: best-pkging-practices.dbk:1462
2053 msgid ""
2054 "If you need a certain locale during build, you can create a temporary file "
2055 "via this trick:"
2056 msgstr ""
2057
2058 # type: Content of: <chapter><section><section><para>
2059 #: best-pkging-practices.dbk:1466
2060 msgid ""
2061 "If you set <varname>LOCPATH</varname> to the equivalent of <filename>/usr/"
2062 "lib/locale</filename>, and <varname>LC_ALL</varname> to the name of the "
2063 "locale you generate, you should get what you want without being root.  "
2064 "Something like this:"
2065 msgstr ""
2066
2067 # type: Content of: <chapter><section><section><screen>
2068 #: best-pkging-practices.dbk:1470
2069 #, no-wrap
2070 msgid ""
2071 "\n"
2072 "LOCALE_PATH=debian/tmpdir/usr/lib/locale\n"
2073 "LOCALE_NAME=en_IN\n"
2074 "LOCALE_CHARSET=UTF-8\n"
2075 "\n"
2076 "mkdir -p $LOCALE_PATH\n"
2077 "localedef -i $LOCALE_NAME.$LOCALE_CHARSET -f $LOCALE_CHARSET $LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET\n"
2078 "\n"
2079 "# Using the locale\n"
2080 "LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date\n"
2081 msgstr ""
2082 "\n"
2083 "LOCALE_PATH=debian/tmpdir/usr/lib/locale\n"
2084 "LOCALE_NAME=en_IN\n"
2085 "LOCALE_CHARSET=UTF-8\n"
2086 "\n"
2087 "mkdir -p $LOCALE_PATH\n"
2088 "localedef -i $LOCALE_NAME.$LOCALE_CHARSET -f $LOCALE_CHARSET $LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET\n"
2089 "\n"
2090 "# locale を使う\n"
2091 "LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date\n"
2092
2093 # type: Content of: <chapter><section><section><title>
2094 #: best-pkging-practices.dbk:1484
2095 msgid "Make transition packages deborphan compliant"
2096 msgstr ""
2097
2098 # type: Content of: <chapter><section><section><para>
2099 #: best-pkging-practices.dbk:1486
2100 msgid ""
2101 "Deborphan is a program for helping users to detect which packages can safely "
2102 "be removed from the system, i.e.  the ones that have no packages depending "
2103 "on them.  The default operation is to search only within the libs and "
2104 "oldlibs sections, to hunt down unused libraries.  But when passed the right "
2105 "argument, it tries to catch other useless packages."
2106 msgstr ""
2107
2108 # type: Content of: <chapter><section><section><para>
2109 #: best-pkging-practices.dbk:1493
2110 msgid ""
2111 "For example, with <literal>--guess-dummy</literal>, <command>deborphan</"
2112 "command> tries to search all transitional packages which were needed for "
2113 "upgrade but which can now safely be removed.  For that, it looks for the "
2114 "string dummy or transitional in their short description."
2115 msgstr ""
2116
2117 # type: Content of: <chapter><section><section><para>
2118 #: best-pkging-practices.dbk:1500
2119 msgid ""
2120 "So, when you are creating such a package, please make sure to add this text "
2121 "to your short description.  If you are looking for examples, just run: "
2122 "<command>apt-cache search .|grep dummy</command> or <command>apt-cache "
2123 "search .|grep transitional</command>."
2124 msgstr ""
2125
2126 # type: Content of: <chapter><section><section><title>
2127 #: best-pkging-practices.dbk:1508
2128 msgid "Best practices for <filename>orig.tar.gz</filename> files"
2129 msgstr ""
2130
2131 # type: Content of: <chapter><section><section><para>
2132 #: best-pkging-practices.dbk:1510
2133 msgid ""
2134 "There are two kinds of original source tarballs: Pristine source and "
2135 "repackaged upstream source."
2136 msgstr ""
2137
2138 # type: Content of: <chapter><section><section><section><title>
2139 #: best-pkging-practices.dbk:1514
2140 msgid "Pristine source"
2141 msgstr ""
2142
2143 # type: Content of: <chapter><section><section><section><para><footnote>
2144 #: best-pkging-practices.dbk:1516
2145 msgid ""
2146 "The defining characteristic of a pristine source tarball is that the "
2147 "<literal>.orig.tar.gz</literal> file is byte-for-byte identical to a tarball "
2148 "officially distributed by the upstream author.  <footnote>"
2149 msgstr ""
2150
2151 # type: Content of: <chapter><section><section><section><para><footnote><para>
2152 #: best-pkging-practices.dbk:1518
2153 msgid ""
2154 "We cannot prevent upstream authors from changing the tarball they distribute "
2155 "without also incrementing the version number, so there can be no guarantee "
2156 "that a pristine tarball is identical to what upstream <emphasis>currently</"
2157 "emphasis> distributing at any point in time.  All that can be expected is "
2158 "that it is identical to something that upstream once <emphasis>did</"
2159 "emphasis> distribute.  If a difference arises later (say, if upstream "
2160 "notices that he wasn't using maximal comression in his original distribution "
2161 "and then re-<command>gzip</command>s it), that's just too bad.  Since there "
2162 "is no good way to upload a new <literal>.orig.tar.gz</literal> for the same "
2163 "version, there is not even any point in treating this situation as a bug."
2164 msgstr ""
2165
2166 # type: Content of: <chapter><section><section><section><para>
2167 #: best-pkging-practices.dbk:1528
2168 msgid ""
2169 "</footnote> This makes it possible to use checksums to easily verify that "
2170 "all changes between Debian's version and upstream's are contained in the "
2171 "Debian diff.  Also, if the original source is huge, upstream authors and "
2172 "others who already have the upstream tarball can save download time if they "
2173 "want to inspect your packaging in detail."
2174 msgstr ""
2175
2176 # type: Content of: <chapter><section><section><section><para>
2177 #: best-pkging-practices.dbk:1536
2178 msgid ""
2179 "There is no universally accepted guidelines that upstream authors follow "
2180 "regarding to the directory structure inside their tarball, but <command>dpkg-"
2181 "source</command> is nevertheless able to deal with most upstream tarballs as "
2182 "pristine source.  Its strategy is equivalent to the following:"
2183 msgstr ""
2184
2185 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2186 #: best-pkging-practices.dbk:1544
2187 msgid "It unpacks the tarball in an empty temporary directory by doing"
2188 msgstr ""
2189
2190 # type: Content of: <chapter><section><section><section><orderedlist><listitem><screen>
2191 #: best-pkging-practices.dbk:1546
2192 #, no-wrap
2193 msgid ""
2194 "\n"
2195 "zcat path/to/&lt;packagename&gt;_&lt;upstream-version&gt;.orig.tar.gz | tar xf -\n"
2196 msgstr ""
2197 "\n"
2198 "zcat path/to/&lt;packagename&gt;_&lt;upstream-version&gt;.orig.tar.gz | tar xf -\n"
2199
2200 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2201 #: best-pkging-practices.dbk:1552
2202 msgid ""
2203 "If, after this, the temporary directory contains nothing but one directory "
2204 "and no other files, <command>dpkg-source</command> renames that directory to "
2205 "<literal>&lt;packagename&gt;-&lt;upstream-version&gt;(.orig)</literal>.  The "
2206 "name of the top-level directory in the tarball does not matter, and is "
2207 "forgotten."
2208 msgstr ""
2209
2210 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2211 #: best-pkging-practices.dbk:1561
2212 msgid ""
2213 "Otherwise, the upstream tarball must have been packaged without a common top-"
2214 "level directory (shame on the upstream author!).  In this case, "
2215 "<command>dpkg-source</command> renames the temporary directory "
2216 "<emphasis>itself</emphasis> to <literal>&lt;packagename&gt;-&lt;upstream-"
2217 "version&gt;(.orig)</literal>."
2218 msgstr ""
2219
2220 # type: Content of: <chapter><section><section><section><title>
2221 #: best-pkging-practices.dbk:1572
2222 msgid "Repackaged upstream source"
2223 msgstr "upstream のソースをパッケージしなおす"
2224
2225 # type: Content of: <chapter><section><section><section><para>
2226 #: best-pkging-practices.dbk:1574
2227 msgid ""
2228 "You <emphasis role=\"strong\">should</emphasis> upload packages with a "
2229 "pristine source tarball if possible, but there are various reasons why it "
2230 "might not be possible.  This is the case if upstream does not distribute the "
2231 "source as gzipped tar at all, or if upstream's tarball contains non-DFSG-"
2232 "free material that you must remove before uploading."
2233 msgstr ""
2234
2235 # type: Content of: <chapter><section><section><section><para>
2236 #: best-pkging-practices.dbk:1581
2237 msgid ""
2238 "In these cases the developer must construct a suitable <literal>.orig.tar.gz "
2239 "</literal> file himself.  We refer to such a tarball as a repackaged "
2240 "upstream source.  Note that a repackaged upstream source is different from a "
2241 "Debian-native package.  A repackaged source still comes with Debian-specific "
2242 "changes in a separate <literal>.diff.gz</literal> and still has a version "
2243 "number composed of <literal>&lt;upstream-version&gt;</literal> and "
2244 "<literal>&lt;debian-revision&gt;</literal>."
2245 msgstr ""
2246
2247 # type: Content of: <chapter><section><section><section><para>
2248 #: best-pkging-practices.dbk:1590
2249 msgid ""
2250 "There may be cases where it is desirable to repackage the source even though "
2251 "upstream distributes a <literal>.tar.gz</literal> that could in principle be "
2252 "used in its pristine form.  The most obvious is if <emphasis>significant</"
2253 "emphasis> space savings can be achieved by recompressing the tar archive or "
2254 "by removing genuinely useless cruft from the upstream archive.  Use your own "
2255 "discretion here, but be prepared to defend your decision if you repackage "
2256 "source that could have been pristine."
2257 msgstr ""
2258
2259 # type: Content of: <chapter><section><section><section><para>
2260 #: best-pkging-practices.dbk:1599
2261 msgid "A repackaged <literal>.orig.tar.gz</literal>"
2262 msgstr ""
2263
2264 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2265 #: best-pkging-practices.dbk:1604
2266 msgid ""
2267 "<emphasis role=\"strong\">must</emphasis> contain detailed information how "
2268 "the repackaged source was obtained, and how this can be reproduced in the "
2269 "<filename>debian/copyright</filename>.  It is also a good idea to provide a "
2270 "<literal>get-orig-source</literal> target in your <filename>debian/rules</"
2271 "filename> file that repeats the process, as described in the Policy Manual, "
2272 "<ulink url=\"&url-debian-policy;ch-source.html#s-debianrules\">Main building "
2273 "script: debian/rules</ulink>."
2274 msgstr ""
2275
2276 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para><footnote>
2277 #: best-pkging-practices.dbk:1616
2278 msgid ""
2279 "<emphasis role=\"strong\">should not</emphasis> contain any file that does "
2280 "not come from the upstream author(s), or whose contents has been changed by "
2281 "you.  <footnote>"
2282 msgstr ""
2283
2284 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para><footnote><para>
2285 #.  or similarly named 
2286 #: best-pkging-practices.dbk:1618
2287 msgid ""
2288 "As a special exception, if the omission of non-free files would lead to the "
2289 "source failing to build without assistance from the Debian diff, it might be "
2290 "appropriate to instead edit the files, omitting only the non-free parts of "
2291 "them, and/or explain the situation in a README.Debian-source file in the "
2292 "root of the source tree.  But in that case please also urge the upstream "
2293 "author to make the non-free components easier seperable from the rest of the "
2294 "source."
2295 msgstr ""
2296
2297 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2298 #: best-pkging-practices.dbk:1625
2299 msgid "</footnote>"
2300 msgstr ""
2301
2302 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2303 #: best-pkging-practices.dbk:1630
2304 msgid ""
2305 "<emphasis role=\"strong\">should</emphasis>, except where impossible for "
2306 "legal reasons, preserve the entire building and portablility infrastructure "
2307 "provided by the upstream author.  For example, it is not a sufficient reason "
2308 "for omitting a file that it is used only when building on MS-DOS.  "
2309 "Similarly, a Makefile provided by upstream should not be omitted even if the "
2310 "first thing your <filename>debian/rules</filename> does is to overwrite it "
2311 "by running a configure script."
2312 msgstr ""
2313
2314 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2315 #: best-pkging-practices.dbk:1639
2316 msgid ""
2317 "(<emphasis>Rationale:</emphasis> It is common for Debian users who need to "
2318 "build software for non-Debian platforms to fetch the source from a Debian "
2319 "mirror rather than trying to locate a canonical upstream distribution point)."
2320 msgstr ""
2321
2322 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2323 #: best-pkging-practices.dbk:1646
2324 msgid ""
2325 "<emphasis role=\"strong\">should</emphasis> use <literal>&lt;packagename&gt;-"
2326 "&lt;upstream-version&gt;.orig</literal> as the name of the top-level "
2327 "directory in its tarball.  This makes it possible to distinguish pristine "
2328 "tarballs from repackaged ones."
2329 msgstr ""
2330
2331 # type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
2332 #: best-pkging-practices.dbk:1654
2333 msgid ""
2334 "<emphasis role=\"strong\">should</emphasis> be gzipped with maximal "
2335 "compression."
2336 msgstr ""
2337
2338 # type: Content of: <chapter><section><section><section><para>
2339 #: best-pkging-practices.dbk:1659
2340 msgid ""
2341 "The canonical way to meet the latter two points is to let <literal>dpkg-"
2342 "source -b</literal> construct the repackaged tarball from an unpacked "
2343 "directory."
2344 msgstr ""
2345
2346 # type: Content of: <chapter><section><section><section><title>
2347 #: best-pkging-practices.dbk:1665
2348 msgid "Changing binary files in <literal>diff.gz</literal>"
2349 msgstr ""
2350
2351 # type: Content of: <chapter><section><section><section><para><footnote>
2352 #: best-pkging-practices.dbk:1667
2353 msgid ""
2354 "Sometimes it is necessary to change binary files contained in the original "
2355 "tarball, or to add binary files that are not in it.  If this is done by "
2356 "simply copying the files into the debianized source tree, <command>dpkg-"
2357 "source</command> will not be able to handle this.  On the other hand, "
2358 "according to the guidelines given above, you cannot include such a changed "
2359 "binary file in a repackaged <filename>orig.tar.gz</filename>.  Instead, "
2360 "include the file in the <filename>debian</filename> directory in "
2361 "<command>uuencode</command>d (or similar) form <footnote>"
2362 msgstr ""
2363
2364 # type: Content of: <chapter><section><section><section><para><footnote><para>
2365 #: best-pkging-practices.dbk:1674
2366 msgid ""
2367 "The file should have a name that makes it clear which binary file it "
2368 "encodes.  Usually, some postfix indicating the encoding should be appended "
2369 "to the original filename.  Note that you don't need to depend on <systemitem "
2370 "role=\"package\">sharutils</systemitem> to get the <command>uudecode</"
2371 "command> program if you use <command>perl</command>'s <literal>pack</"
2372 "literal> function.  The code could look like"
2373 msgstr ""
2374
2375 # type: Content of: <chapter><section><section><section><para>
2376 #: best-pkging-practices.dbk:1682
2377 msgid ""
2378 "&example-uu; </footnote>.  The file would then be decoded and copied to its "
2379 "place during the build process.  Thus the change will be visible quite easy."
2380 msgstr ""
2381
2382 # type: Content of: <chapter><section><section><section><para>
2383 #: best-pkging-practices.dbk:1688
2384 msgid ""
2385 "Some packages use <command>dbs</command> to manage patches to their upstream "
2386 "source, and always create a new <literal>orig.tar.gz</literal> file that "
2387 "contains the real <literal>orig.tar.gz</literal> in its toplevel directory.  "
2388 "This is questionable with respect to the preference for pristine source.  On "
2389 "the other hand, it is easy to modify or add binary files in this case: Just "
2390 "put them into the newly created <literal>orig.tar.gz</literal> file, besides "
2391 "the real one, and copy them to the right place during the build process."
2392 msgstr ""
2393
2394 # type: Content of: <chapter><section><section><title>
2395 #: best-pkging-practices.dbk:1701
2396 msgid "Best practices for debug packages"
2397 msgstr ""
2398
2399 # type: Content of: <chapter><section><section><para>
2400 #: best-pkging-practices.dbk:1703
2401 msgid ""
2402 "A debug package is a package with a name ending in -dbg, that contains "
2403 "additional information that gdb can use.  Since Debian binaries are stripped "
2404 "by default, debugging information, including function names and line "
2405 "numbers, is otherwise not available when running gdb on Debian binaries.  "
2406 "Debug packages allow users who need this additional debugging information to "
2407 "install it, without bloating a regular system with the information."
2408 msgstr ""
2409
2410 # type: Content of: <chapter><section><section><para>
2411 #: best-pkging-practices.dbk:1711
2412 msgid ""
2413 "It is up to a package's maintainer whether to create a debug package or "
2414 "not.  Maintainers are encouraged to create debug packages for library "
2415 "packages, since this can aid in debugging many programs linked to a "
2416 "library.  In general, debug packages do not need to be added for all "
2417 "programs; doing so would bloat the archive.  But if a maintainer finds that "
2418 "users often need a debugging version of a program, it can be worthwhile to "
2419 "make a debug package for it.  Programs that are core infrastructure, such as "
2420 "apache and the X server are also good candidates for debug packages."
2421 msgstr ""
2422
2423 # type: Content of: <chapter><section><section><para>
2424 #: best-pkging-practices.dbk:1721
2425 msgid ""
2426 "Some debug packages may contain an entire special debugging build of a "
2427 "library or other binary, but most of them can save space and build time by "
2428 "instead containing separated debugging symbols that gdb can find and load on "
2429 "the fly when debugging a program or library.  The convention in Debian is to "
2430 "keep these symbols in <filename>/usr/lib/debug/<replaceable>path</"
2431 "replaceable></filename>, where <replaceable>path</replaceable> is the path "
2432 "to the executable or library.  For example, debugging symbols for <filename>/"
2433 "usr/bin/foo</filename> go in <filename>/usr/lib/debug/usr/bin/foo</"
2434 "filename>, and debugging symbols for <filename>/usr/lib/libfoo.so.1</"
2435 "filename> go in <filename>/usr/lib/debug/usr/lib/libfoo.so.1</filename>."
2436 msgstr ""
2437
2438 # type: Content of: <chapter><section><section><para>
2439 #: best-pkging-practices.dbk:1733
2440 msgid ""
2441 "The debugging symbols can be extracted from an object file using <command> "
2442 "objcopy --only-keep-debug</command>.  Then the object file can be stripped, "
2443 "and <command>objcopy --add-gnu-debuglink</command> used to specify the path "
2444 "to the debugging symbol file.  <citerefentry> <refentrytitle>objcopy</"
2445 "refentrytitle> <manvolnum>1</manvolnum> </citerefentry> explains in detail "
2446 "how this works."
2447 msgstr ""
2448
2449 # type: Content of: <chapter><section><section><para>
2450 #: best-pkging-practices.dbk:1741
2451 msgid ""
2452 "The <command>dh_strip</command> command in debhelper supports creating debug "
2453 "packages, and can take care of using <command>objcopy</command> to separate "
2454 "out the debugging symbols for you.  If your package uses debhelper, all you "
2455 "need to do is call <command>dh_strip --dbg-package=libfoo-dbg</command>, and "
2456 "add an entry to <filename>debian/control</filename> for the debug package."
2457 msgstr ""
2458
2459 # type: Content of: <chapter><section><section><para>
2460 #: best-pkging-practices.dbk:1748
2461 msgid ""
2462 "Note that the Debian package should depend on the package that it provides "
2463 "debugging symbols for, and this dependency should be versioned.  For example:"
2464 msgstr ""
2465
2466 # type: Content of: <chapter><section><section><screen>
2467 #: best-pkging-practices.dbk:1751
2468 #, fuzzy, no-wrap
2469 msgid ""
2470 "\n"
2471 "Depends: libfoo-dbg (= ${binary:Version})\n"
2472 msgstr ""
2473 "\n"
2474 "Depends: libfoo (= ${binary:Version})\n"
2475
2476 # type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
2477 #~ msgid ""
2478 #~ "\n"
2479 #~ "cd debian/po\n"
2480 #~ "for i in *.po; do sed -i 's/tpyo/typo/g' $i; done\n"
2481 #~ msgstr ""
2482 #~ "\n"
2483 #~ "cd debian/po\n"
2484 #~ "for i in *.po; do sed -i 's/tpyo/typo/g' $i; done\n"