# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2007-06-26 16:13+0000\n"
+"POT-Creation-Date: 2012-01-10 17:56-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: ENCODING"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
-# type: Content of: <chapter><title>
-#: best-pkging-practices.dbk:5
+#. type: Content of: <chapter><title>
+#: best-pkging-practices.dbk:7
msgid "Best Packaging Practices"
msgstr ""
-# type: Content of: <chapter><para>
-#: best-pkging-practices.dbk:7
+#. type: Content of: <chapter><para>
+#: best-pkging-practices.dbk:9
msgid ""
"Debian's quality is largely due to the <ulink "
-"url=\"http://www.debian.org/doc/debian-policy/\">Debian Policy</ulink>, "
-"which defines explicit baseline requirements which all Debian packages must "
-"fulfill. Yet there is also a shared history of experience which goes beyond "
-"the Debian Policy, an accumulation of years of experience in packaging. "
-"Many very talented people have created great tools, tools which help you, "
-"the Debian maintainer, create and maintain excellent packages."
+"url=\"&url-debian-policy;\">Debian Policy</ulink>, which defines explicit "
+"baseline requirements which all Debian packages must fulfill. Yet there is "
+"also a shared history of experience which goes beyond the Debian Policy, an "
+"accumulation of years of experience in packaging. Many very talented people "
+"have created great tools, tools which help you, the Debian maintainer, "
+"create and maintain excellent packages."
msgstr ""
-# type: Content of: <chapter><para>
-#: best-pkging-practices.dbk:16
+#. type: Content of: <chapter><para>
+#: best-pkging-practices.dbk:18
msgid ""
"This chapter provides some best practices for Debian developers. All "
"recommendations are merely that, and are not requirements or policy. These "
"developers. Feel free to pick and choose whatever works best for you."
msgstr ""
-# type: Content of: <chapter><section><title>
-#: best-pkging-practices.dbk:22
+#. type: Content of: <chapter><section><title>
+#: best-pkging-practices.dbk:24
msgid "Best practices for <filename>debian/rules</filename>"
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:24
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:26
msgid ""
"The following recommendations apply to the <filename>debian/rules</filename> "
"file. Since <filename>debian/rules</filename> controls the build process "
"it's usually the file maintainers spend the most time on."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:30
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:32
msgid "Helper scripts"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:32
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:34
msgid ""
"The rationale for using helper scripts in <filename>debian/rules</filename> "
"is that they let maintainers use and share common logic among many "
"packages. Take for instance the question of installing menu entries: you "
-"need to put the file into <filename>/usr/lib/menu</filename> (or "
+"need to put the file into <filename>/usr/share/menu</filename> (or "
"<filename>/usr/lib/menu</filename> for executable binary menufiles, if this "
"is needed), and add commands to the maintainer scripts to register and "
"unregister the menu entries. Since this is a very common thing for packages "
"have to be changed."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:43
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:45
msgid ""
"Helper scripts take care of these issues. Assuming you comply with the "
"conventions expected by the helper script, the helper takes care of all the "
"changes."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:50
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:52
msgid ""
"<xref linkend=\"tools\"/> contains a couple of different helpers. The most "
"common and best (in our opinion) helper system is <systemitem "
"<filename>debian/rules</filename>."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:64
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:66
msgid ""
"You can get started with <systemitem role=\"package\">debhelper</systemitem> "
"by reading <citerefentry> <refentrytitle>debhelper</refentrytitle> "
"<manvolnum>1</manvolnum> </citerefentry>, and looking at the examples that "
"come with the package. <command>dh_make</command>, from the <systemitem "
"role=\"package\">dh-make</systemitem> package (see <xref "
-"linkend=\"dh-make\"/> ), can be used to convert a vanilla source package to "
-"a <systemitem role=\"package\">debhelper</systemitem>ized package. This "
+"linkend=\"dh-make\"/>), can be used to convert a vanilla source package to a "
+"<systemitem role=\"package\">debhelper</systemitem>ized package. This "
"shortcut, though, should not convince you that you do not need to bother "
"understanding the individual <command>dh_*</command> helpers. If you are "
"going to use a helper, you do need to take the time to learn to use that "
"helper, to learn its expectations and behavior."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:77
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:79
msgid ""
"Some people feel that vanilla <filename>debian/rules</filename> files are "
"better, since you don't have to learn the intricacies of any helper system. "
"This decision is completely up to you. Use what works for you. Many "
"examples of vanilla <filename>debian/rules</filename> files are available at "
-"<ulink url=\"http://arch.debian.org/arch/private/srivasta/\"></ulink>."
+"<ulink url=\"&url-rules-files;\"></ulink>."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:86
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:88
msgid "Separating your patches into multiple files"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:88
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:90
msgid ""
"Big, complex packages may have many bugs that you need to deal with. If you "
"correct a number of bugs directly in the source, and you're not careful, it "
"out which patch sets to back out as a unit as bugs are fixed upstream."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:97
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:99
msgid ""
-"Unfortunately, the packaging system as such currently doesn't provide for "
-"separating the patches into several files. Nevertheless, there are ways to "
-"separate patches: the patch files are shipped within the Debian patch file "
-"(<filename>.diff.gz</filename>), usually within the "
-"<filename>debian/</filename> directory. The only difference is that they "
-"aren't applied immediately by dpkg-source, but by the "
-"<literal>build</literal> rule of <filename>debian/rules</filename>. "
-"Conversely, they are reverted in the <literal>clean</literal> rule."
+"Fortunately, with the source format “3.0 (quilt)” it is now possible to keep "
+"patches separate without having to modify <filename>debian/rules</filename> "
+"to setup a patch system. Patches are stored in "
+"<filename>debian/patches/</filename> and when the source package is unpacked "
+"patches listed in <filename>debian/patches/series</filename> are "
+"automatically applied. As the name implies, patches can be managed with "
+"<command>quilt</command>."
msgstr ""
-# type: Content of: <chapter><section><section><para>
+#. type: Content of: <chapter><section><section><para>
#: best-pkging-practices.dbk:107
msgid ""
-"<command>dbs</command> is one of the more popular approaches to this. It "
-"does all of the above, and provides a facility for creating new and updating "
-"old patches. See the package <systemitem role=\"package\">dbs</systemitem> "
-"for more information and <systemitem role=\"package\">hello-dbs</systemitem> "
-"for an example."
+"When using the older source “1.0”, it's also possible to separate patches "
+"but a dedicated patch system must be used: the patch files are shipped "
+"within the Debian patch file (<filename>.diff.gz</filename>), usually within "
+"the <filename>debian/</filename> directory. The only difference is that they "
+"aren't applied immediately by <command>dpkg-source</command>, but by the "
+"<literal>build</literal> rule of <filename>debian/rules</filename>, through "
+"a dependency on the <literal>patch</literal> rule. Conversely, they are "
+"reverted in the <literal>clean</literal> rule, through a dependency on the "
+"<literal>unpatch</literal> rule."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:114
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:119
msgid ""
-"<command>dpatch</command> also provides these facilities, but it's intended "
-"to be even easier to use. See the package <systemitem "
-"role=\"package\">dpatch</systemitem> for documentation and examples (in "
-"<filename>/usr/share/doc/dpatch</filename>)."
+"<command>quilt</command> is the recommended tool for this. It does all of "
+"the above, and also allows to manage patch series. See the <systemitem "
+"role=\"package\">quilt</systemitem> package for more information."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:122
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:125
+msgid ""
+"There are other tools to manage patches, like <command>dpatch</command>, and "
+"the patch system integrated with <systemitem "
+"role=\"package\">cdbs</systemitem>."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:132
msgid "Multiple binary packages"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:124
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:134
msgid ""
"A single source package will often build several binary packages, either to "
"provide several flavors of the same software (e.g., the <systemitem "
"needed, and thus save some disk space)."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:131
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:141
msgid ""
"The second case can be easily managed in <filename>debian/rules</filename>. "
"You just need to move the appropriate files from the build directory into "
"inter-package dependencies set right in <filename>debian/control</filename>."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:140
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:150
msgid ""
"The first case is a bit more difficult since it involves multiple recompiles "
"of the same software but with different configuration options. The "
"<filename>debian/rules</filename> file."
msgstr ""
-# type: Content of: <chapter><section><title>
-#: best-pkging-practices.dbk:150
+#. type: Content of: <chapter><section><title>
+#: best-pkging-practices.dbk:162
msgid "Best practices for <filename>debian/control</filename>"
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:152
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:164
msgid ""
"The following practices are relevant to the "
"<filename>debian/control</filename> file. They supplement the <ulink "
-"url=\"http://www.debian.org/doc/debian-policy/ch-binary.html#s-descriptions\">Policy "
-"on package descriptions</ulink>."
+"url=\"&url-debian-policy;ch-binary.html#s-descriptions\">Policy on package "
+"descriptions</ulink>."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:158
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:170
msgid ""
"The description of the package, as defined by the corresponding field in the "
"<filename>control</filename> file, contains both the package synopsis and "
"guidelines specific to the description."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:167
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:179
msgid "General guidelines for package descriptions"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:169
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:181
msgid ""
"The package description should be written for the average likely user, the "
"average person who will use and benefit from the package. For instance, "
"written for a less technical user."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:176
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:188
msgid ""
"Our review of package descriptions lead us to conclude that most package "
"descriptions are technical, that is, are not written to make sense for "
"users, this is a problem."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:182
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:194
msgid ""
"How do you write for non-technical users? Avoid jargon. Avoid referring to "
"other applications or frameworks that the user might not be familiar with — "
"must use technical terms, introduce them."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:189
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:201
msgid ""
"Be objective. Package descriptions are not the place for advocating your "
"package, no matter how much you love it. Remember that the reader may not "
"care about the same things you care about."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:194
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:206
msgid ""
"References to the names of any other software packages, protocol names, "
"standards, or specifications should use their canonical forms, if one "
"Use PostScript, not Postscript or postscript."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:201
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:213
msgid ""
"If you are having problems writing your description, you may wish to send it "
-"along to <email>debian-l10n-english@lists.debian.org</email> and request "
-"feedback."
+"along to &email-debian-l10n-english; and request feedback."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:208
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:219
msgid "The package synopsis, or short description"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:210
-msgid ""
-"The synopsis line (the short description) should be concise. It must not "
-"repeat the package's name (this is policy)."
-msgstr ""
-
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:214
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:221
msgid ""
-"It's a good idea to think of the synopsis as an appositive clause, not a "
-"full sentence. An appositive clause is defined in WordNet as a grammatical "
-"relation between a word and a noun phrase that follows, e.g., Rudolph the "
-"red-nosed reindeer. The appositive clause here is red-nosed reindeer. "
-"Since the synopsis is a clause, rather than a full sentence, we recommend "
-"that it neither start with a capital nor end with a full stop (period). It "
-"should also not begin with an article, either definite (the) or indefinite "
-"(a or an)."
+"Policy says the synopsis line (the short description) must be concise, not "
+"repeating the package name, but also informative."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:223
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:225
msgid ""
-"It might help to imagine that the synopsis is combined with the package name "
-"in the following way:"
+"The synopsis functions as a phrase describing the package, not a complete "
+"sentence, so sentential punctuation is inappropriate: it does not need extra "
+"capital letters or a final period (full stop). It should also omit any "
+"initial indefinite or definite article — \"a\", \"an\", or \"the\". Thus for "
+"instance:"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:227
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:231
#, no-wrap
msgid ""
-"<replaceable>package-name</replaceable> is a "
-"<replaceable>synopsis</replaceable>."
+"Package: libeg0\n"
+"Description: exemplification support library\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:230
-msgid "Alternatively, it might make sense to think of it as"
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:235
+msgid ""
+"Technically this is a noun phrase minus articles, as opposed to a verb "
+"phrase. A good heuristic is that it should be possible to substitute the "
+"package <replaceable>name</replaceable> and "
+"<replaceable>synopsis</replaceable> into this formula:"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:233
-#, no-wrap
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:240
msgid ""
-"<replaceable>package-name</replaceable> is "
+"The package <replaceable>name</replaceable> provides {a,an,the,some} "
"<replaceable>synopsis</replaceable>."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:236
-msgid "or, if the package name itself is a plural (such as developers-tools)"
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:244
+msgid ""
+"Sets of related packages may use an alternative scheme that divides the "
+"synopsis into two parts, the first a description of the whole suite and the "
+"second a summary of the package's role within it:"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:239
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:249
#, no-wrap
msgid ""
-"<replaceable>package-name</replaceable> are "
-"<replaceable>synopsis</replaceable>."
+"Package: eg-tools\n"
+"Description: simple exemplification system (utilities)\n"
+"\t\t\t \n"
+"Package: eg-doc\n"
+"Description: simple exemplification system - documentation\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:242
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:256
msgid ""
-"This way of forming a sentence from the package name and synopsis should be "
-"considered as a heuristic and not a strict rule. There are some cases where "
-"it doesn't make sense to try to form a sentence."
+"These synopses follow a modified formula. Where a package "
+"\"<replaceable>name</replaceable>\" has a synopsis "
+"\"<replaceable>suite</replaceable> (<replaceable>role</replaceable>)\" or "
+"\"<replaceable>suite</replaceable> - <replaceable>role</replaceable>\", the "
+"elements should be phrased so that they fit into the formula:"
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:249
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:263
+msgid ""
+"The package <replaceable>name</replaceable> provides {a,an,the} "
+"<replaceable>role</replaceable> for the <replaceable>suite</replaceable>."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:269
msgid "The long description"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:251
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:271
msgid ""
"The long description is the primary information available to the user about "
"a package before they install it. It should provide all the information "
"the user has already read the package synopsis."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:257
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:277
msgid "The long description should consist of full and complete sentences."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:260
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:280
msgid ""
"The first paragraph of the long description should answer the following "
"questions: what does the package do? what task does it help the user "
"of course the audience for the package is necessarily technical."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:266
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:286
msgid ""
"The following paragraphs should answer the following questions: Why do I as "
"a user need this package? What other features does the package have? What "
"is the client for the foo server)?"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:274
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:294
msgid ""
"Be careful to avoid spelling and grammar mistakes. Ensure that you "
"spell-check it. Both <command>ispell</command> and "
"<filename>debian/control</filename> files:"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:279
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:299
#, no-wrap
-msgid "-d american -g debian/control"
+msgid "ispell -d american -g debian/control\n"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:282
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:302
#, no-wrap
-msgid "-d en -D -c debian/control"
+msgid "aspell -d en -D -c debian/control\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:285
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:305
msgid ""
"Users usually expect these questions to be answered in the package "
"description:"
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:290
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:310
msgid ""
"What does the package do? If it is an add-on to another package, then the "
"short description of the package we are an add-on to should be put in here."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:296
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:316
msgid ""
"Why should I want this package? This is related to the above, but not the "
"same (this is a mail user agent; this is cool, fast, interfaces with PGP and "
"LDAP and IMAP, has features X, Y, and Z)."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:303
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:323
msgid ""
"If this package should not be installed directly, but is pulled in by "
"another package, this should be mentioned."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:309
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:329
msgid ""
-"If the package is experimental, or there are other reasons it should not be "
-"used, if there are other packages that should be used instead, it should be "
-"here as well."
+"If the package is <literal>experimental</literal>, or there are other "
+"reasons it should not be used, if there are other packages that should be "
+"used instead, it should be here as well."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:316
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:336
msgid ""
"How is this package different from the competition? Is it a better "
"implementation? more features? different features? Why should I choose this "
"package."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:325
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:349
msgid "Upstream home page"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:327
-msgid ""
-"We recommend that you add the URL for the package's home page to the package "
-"description in <filename>debian/control</filename>. This information should "
-"be added at the end of description, using the following format:"
-msgstr ""
-
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:332
-#, no-wrap
-msgid ""
-".\n"
-" Homepage: http://some-project.some-place.org/"
-msgstr ""
-
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:336
-msgid ""
-"Note the spaces prepending the line, which serves to break the lines "
-"correctly. To see an example of how this displays, see <ulink "
-"url=\"http://packages.debian.org/unstable/web/wml\"></ulink>."
-msgstr ""
-
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:341
-msgid ""
-"If there is no home page for the software, this should naturally be left "
-"out."
-msgstr ""
-
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:344
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:351
msgid ""
-"Note that we expect this field will eventually be replaced by a proper "
-"<filename>debian/control</filename> field understood by "
-"<command>dpkg</command> and <literal>packages.debian.org</literal>. If you "
-"don't want to bother migrating the home page from the description to this "
-"field, you should probably wait until that is available. Please make sure "
-"that this line matches the regular expression <literal>/^ Homepage: [^ "
-"]*$/</literal>, as this allows <filename>packages.debian.org</filename> to "
-"parse it correctly."
+"We recommend that you add the URL for the package's home page in the "
+"<literal>Homepage</literal> field of the <literal>Source</literal> section "
+"in <filename>debian/control</filename>. Adding this information in the "
+"package description itself is considered deprecated."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:355
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:359
msgid "Version Control System location"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:357
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:361
msgid ""
"There are additional fields for the location of the Version Control System "
"in <filename>debian/control</filename>."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:361
-msgid "XS-Vcs-Browser"
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:365
+msgid "Vcs-Browser"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:363
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:367
msgid ""
"Value of this field should be a <literal>http://</literal> URL pointing to a "
"web-browsable copy of the Version Control System repository used to maintain "
"the given package, if available."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:368
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:372
msgid ""
"The information is meant to be useful for the final user, willing to browse "
"the latest work done on the package (e.g. when looking for the patch fixing "
"a bug tagged as <literal>pending</literal> in the bug tracking system)."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:375
-msgid "XS-Vcs-*"
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:379
+msgid "Vcs-*"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:377
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:381
msgid ""
"Value of this field should be a string identifying unequivocally the "
"location of the Version Control System repository used to maintain the given "
"interface."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:388
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:392
msgid ""
"The information is meant to be useful for a user knowledgeable in the given "
"Version Control System and willing to build the current version of a package "
"repository instead of pointing to an SSH-accessible version of the same."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:399
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:403
msgid ""
"In the following example, an instance of the field for a Subversion "
"repository of the <systemitem role=\"package\">vim</systemitem> package is "
"shown. Note how the URL is in the <literal>svn://</literal> scheme (instead "
"of <literal>svn+ssh://</literal>) and how it points to the "
"<filename>trunk/</filename> branch. The use of the "
-"<literal>XS-Vcs-Browser</literal> field described above is also shown."
+"<literal>Vcs-Browser</literal> and <literal>Homepage</literal> fields "
+"described above is also shown."
msgstr ""
-# type: Content of: <chapter><section><section><section><screen>
-#: best-pkging-practices.dbk:407
+#. type: Content of: <chapter><section><section><section><screen>
+#: best-pkging-practices.dbk:412
#, no-wrap
msgid ""
-"Source: vim\n"
+" Source: vim\n"
" Section: editors\n"
" Priority: optional\n"
" <snip>\n"
-" XS-Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n"
-" XS-Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim"
+" Vcs-Svn: svn://svn.debian.org/svn/pkg-vim/trunk/packages/vim\n"
+" Vcs-Browser: http://svn.debian.org/wsvn/pkg-vim/trunk/packages/vim\n"
+" Homepage: http://www.vim.org\n"
msgstr ""
-# type: Content of: <chapter><section><title>
-#: best-pkging-practices.dbk:421
+#. type: Content of: <chapter><section><title>
+#: best-pkging-practices.dbk:427
msgid "Best practices for <filename>debian/changelog</filename>"
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:423
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:429
msgid ""
"The following practices supplement the <ulink "
-"url=\"http://www.debian.org/doc/debian-policy/ch-docs.html#s-changelogs\">Policy "
-"on changelog files</ulink>."
+"url=\"&url-debian-policy;ch-docs.html#s-changelogs\">Policy on changelog "
+"files</ulink>."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:428
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:434
msgid "Writing useful changelog entries"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:430
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:436
msgid ""
"The changelog entry for a package revision documents changes in that "
"revision, and only them. Concentrate on describing significant and "
"user-visible changes that were made since the last version."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:435
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:441
msgid ""
"Focus on <emphasis>what</emphasis> was changed — who, how and when are "
"usually less important. Having said that, remember to politely attribute "
"have sent in patches)."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:441
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:447
msgid ""
"There's no need to elaborate the trivial and obvious changes. You can also "
"aggregate several changes in one entry. On the other hand, don't be overly "
"explanations, use the <filename>README.Debian</filename> file."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:448
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:454
msgid ""
"Use common English so that the majority of readers can comprehend it. Avoid "
"abbreviations, tech-speak and jargon when explaining changes that close "
"particularly technically savvy. Be polite, don't swear."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:454
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:460
msgid ""
"It is sometimes desirable to prefix changelog entries with the names of the "
"files that were changed. However, there's no need to explicitly list each "
"or repetitive. You may use wildcards."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:460
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:466
msgid ""
"When referring to bugs, don't assume anything. Say what the problem was, "
"how it was fixed, and append the closes: #nnnnn string. See <xref "
"linkend=\"upload-bugfix\"/> for more information."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:467
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:473
msgid "Common misconceptions about changelog entries"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:469
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:475
msgid ""
"The changelog entries should <emphasis role=\"strong\">not</emphasis> "
"document generic packaging issues (Hey, if you're looking for foo.conf, it's "
"file."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:477
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:483
msgid ""
"The only bugs closed with a changelog entry should be those that are "
"actually fixed in the same package revision. Closing unrelated bugs in the "
-"changelog is bad practice. See <xref linkend=\"upload-bugfix\"/> ."
+"changelog is bad practice. See <xref linkend=\"upload-bugfix\"/>."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:482
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:488
msgid ""
"The changelog entries should <emphasis role=\"strong\">not</emphasis> be "
"used for random discussion with bug reporters (I don't see segfaults when "
"more information on how to use the bug tracking system."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:493
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:499
msgid ""
"It is an old tradition to acknowledge bugs fixed in non-maintainer uploads "
"in the first changelog entry of the proper maintainer upload. As we have "
"just mention this fact in your own changelog entry."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:501
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:507
msgid "Common errors in changelog entries"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:503
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:509
msgid ""
"The following examples demonstrate some common errors or examples of bad "
"style in changelog entries."
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:507
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:513
#, no-wrap
-msgid "* Fixed all outstanding bugs."
+msgid " * Fixed all outstanding bugs.\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:510
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:516
msgid "This doesn't tell readers anything too useful, obviously."
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:513
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:519
#, no-wrap
-msgid "* Applied patch from Jane Random."
+msgid " * Applied patch from Jane Random.\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:516
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:522
msgid "What was the patch about?"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:519
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:525
#, no-wrap
-msgid "* Late night install target overhaul."
+msgid " * Late night install target overhaul.\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:522
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:528
msgid ""
"Overhaul which accomplished what? Is the mention of late night supposed to "
"remind us that we shouldn't trust that code?"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:526
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:532
#, no-wrap
-msgid "* Fix vsync FU w/ ancient CRTs."
+msgid " * Fix vsync FU w/ ancient CRTs.\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:529
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:535
msgid ""
"Too many acronyms, and it's not overly clear what the, uh, fsckup (oops, a "
"curse word!) was actually about, or how it was fixed."
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:533
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:539
#, no-wrap
-msgid "* This is not a bug, closes: #nnnnnn."
+msgid " * This is not a bug, closes: #nnnnnn.\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:536
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:542
msgid ""
"First of all, there's absolutely no need to upload the package to convey "
"this information; instead, use the bug tracking system. Secondly, there's "
"no explanation as to why the report is not a bug."
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:541
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:547
#, no-wrap
-msgid "* Has been fixed for ages, but I forgot to close; closes: #54321."
+msgid " * Has been fixed for ages, but I forgot to close; closes: #54321.\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:544
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:550
msgid ""
"If for some reason you didn't mention the bug number in a previous changelog "
"entry, there's no problem, just close the bug normally in the BTS. There's "
"changelog)."
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:551
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:557
#, no-wrap
-msgid "* Closes: #12345, #12346, #15432"
+msgid " * Closes: #12345, #12346, #15432\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:554
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:560
msgid ""
"Where's the description? If you can't think of a descriptive message, start "
"by inserting the title of each different bug."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:560
-msgid "Supplementing changelogs with NEWS.Debian files"
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:566
+msgid "Supplementing changelogs with <filename>NEWS.Debian</filename> files"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:562
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:568
msgid ""
-"Important news about changes in a package can also be put in NEWS.Debian "
-"files. The news will be displayed by tools like apt-listchanges, before all "
+"Important news about changes in a package can also be put in "
+"<filename>NEWS.Debian</filename> files. The news will be displayed by tools "
+"like <systemitem role=\"package\">apt-listchanges</systemitem>, before all "
"the rest of the changelogs. This is the preferred means to let the user "
"know about significant changes in a package. It is better than using "
-"debconf notes since it is less annoying and the user can go back and refer "
-"to the NEWS.Debian file after the install. And it's better than listing "
-"major changes in README.Debian, since the user can easily miss such notes."
+"<systemitem role=\"package\">debconf</systemitem> notes since it is less "
+"annoying and the user can go back and refer to the "
+"<filename>NEWS.Debian</filename> file after the install. And it's better "
+"than listing major changes in <filename>README.Debian</filename>, since the "
+"user can easily miss such notes."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:571
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:579
msgid ""
"The file format is the same as a debian changelog file, but leave off the "
"asterisks and describe each news item with a full paragraph when necessary "
"rather than the more concise summaries that would go in a changelog. It's a "
-"good idea to run your file through dpkg-parsechangelog to check its "
-"formatting as it will not be automatically checked during build as the "
-"changelog is. Here is an example of a real NEWS.Debian file:"
+"good idea to run your file through <literal>dpkg-parsechangelog</literal> to "
+"check its formatting as it will not be automatically checked during build as "
+"the changelog is. Here is an example of a real "
+"<filename>NEWS.Debian</filename> file:"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:579
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:588
#, no-wrap
msgid ""
-"(3.0pl1-74) unstable; urgency=low\n"
+"cron (3.0pl1-74) unstable; urgency=low\n"
"\n"
" The checksecurity script is no longer included with the cron package:\n"
" it now has its own package, checksecurity. If you liked the\n"
" package.\n"
"\n"
" -- Steve Greenland <stevegr@debian.org> Sat, 6 Sep 2003 17:15:03 "
-"-0500"
+"-0500\n"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:589
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:598
msgid ""
-"The NEWS.Debian file is installed as "
-"/usr/share/doc/<package>/NEWS.Debian.gz. It is compressed, and always "
-"has that name even in Debian native packages. If you use debhelper, "
-"dh_installchangelogs will install debian/NEWS files for you."
+"The <filename>NEWS.Debian</filename> file is installed as "
+"<filename>/usr/share/doc/<replaceable>package</replaceable>/NEWS.Debian.gz</filename>. "
+"It is compressed, and always has that name even in Debian native packages. "
+"If you use <literal>debhelper</literal>, "
+"<literal>dh_installchangelogs</literal> will install "
+"<filename>debian/NEWS</filename> files for you."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:595
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:605
msgid ""
-"Unlike changelog files, you need not update NEWS.Debian files with every "
-"release. Only update them if you have something particularly newsworthy "
-"that user should know about. If you have no news at all, there's no need to "
-"ship a NEWS.Debian file in your package. No news is good news!"
+"Unlike changelog files, you need not update <filename>NEWS.Debian</filename> "
+"files with every release. Only update them if you have something "
+"particularly newsworthy that user should know about. If you have no news at "
+"all, there's no need to ship a <filename>NEWS.Debian</filename> file in your "
+"package. No news is good news!"
msgstr ""
-# type: Content of: <chapter><section><title>
-#: best-pkging-practices.dbk:605
+#. type: Content of: <chapter><section><title>
+#: best-pkging-practices.dbk:627
msgid "Best practices for maintainer scripts"
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:607
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:629
msgid ""
"Maintainer scripts include the files <filename>debian/postinst</filename>, "
"<filename>debian/preinst</filename>, <filename>debian/prerm</filename> and "
"<filename>debian/postrm</filename>. These scripts take care of any package "
"installation or deinstallation setup which isn't handled merely by the "
"creation or removal of files and directories. The following instructions "
-"supplement the <ulink "
-"url=\"http://www.debian.org/doc/debian-policy/\">Debian Policy</ulink>."
+"supplement the <ulink url=\"&url-debian-policy;\">Debian Policy</ulink>."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:615
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:637
msgid ""
"Maintainer scripts must be idempotent. That means that you need to make "
"sure nothing bad will happen if the script is called twice where it would "
"usually be called once."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:620
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:642
msgid ""
"Standard input and output may be redirected (e.g. into pipes) for logging "
"purposes, so don't rely on them being a tty."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:624
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:646
msgid ""
"All prompting or interactive configuration should be kept to a minimum. "
"When it is necessary, you should use the <systemitem "
"stage of the <filename>postinst</filename> script."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:631
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:653
msgid ""
"Keep the maintainer scripts as simple as possible. We suggest you use pure "
"POSIX shell scripts. Remember, if you do need any bash features, the "
"role=\"package\">debhelper</systemitem> to easily add bits to the scripts."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:638
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:660
msgid ""
"If you change your maintainer scripts, be sure to test package removal, "
"double installation, and purging. Be sure that a purged package is "
"indirectly, in any maintainer script."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:644
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:666
msgid ""
"If you need to check for the existence of a command, you should use "
"something like"
msgstr ""
-# type: Content of: <chapter><section><screen>
-#: best-pkging-practices.dbk:648
+#. type: Content of: <chapter><section><programlisting>
+#: best-pkging-practices.dbk:669
#, no-wrap
-msgid "[ -x /usr/sbin/install-docs ]; then ..."
+msgid "if [ -x /usr/sbin/install-docs ]; then ..."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:651
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:671
msgid ""
"If you don't wish to hard-code the path of a command in your maintainer "
"script, the following POSIX-compliant shell function may help:"
msgstr ""
-# type: Content of: <chapter><section><screen>
-#: best-pkging-practices.dbk:655
-#, no-wrap
-msgid ""
-"() {\n"
-" OLDIFS=$IFS\n"
-" IFS=:\n"
-" for p in $PATH; do\n"
-" if [ -x $p/$* ]; then\n"
-" IFS=$OLDIFS\n"
-" return 0\n"
-" fi\n"
-" done\n"
-" IFS=$OLDIFS\n"
-" return 1\n"
-"}"
-msgstr ""
-
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:669
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:676
msgid ""
-"You can use this function to search <literal>$PATH</literal> for a command "
+"You can use this function to search <varname>$PATH</varname> for a command "
"name, passed as an argument. It returns true (zero) if the command was "
"found, and false if not. This is really the most portable way, since "
"<literal>command -v</literal>, <command>type</command>, and "
"<command>which</command> are not POSIX."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:676
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:683
msgid ""
"While <command>which</command> is an acceptable alternative, since it is "
"from the required <systemitem role=\"package\">debianutils</systemitem> "
"partition is mounted. Most scripts won't have this problem, though."
msgstr ""
-# type: Content of: <chapter><section><title>
-#: best-pkging-practices.dbk:686
+#. type: Content of: <chapter><section><title>
+#: best-pkging-practices.dbk:693
msgid ""
"Configuration management with <systemitem "
"role=\"package\">debconf</systemitem>"
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:688
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:695
msgid ""
"<systemitem role=\"package\">Debconf</systemitem> is a configuration "
"management system which can be used by all the various packaging scripts "
"interaction. This will enable non-interactive installations in the future."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:696
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:703
msgid ""
"Debconf is a great tool but it is often poorly used. Many common mistakes "
"are listed in the <citerefentry> "
"to use debconf. Also, we document some best practices here."
msgstr ""
-# type: Content of: <chapter><section><para>
-#: best-pkging-practices.dbk:703
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:710
msgid ""
"These guidelines include some writing style and typography recommendations, "
"general considerations about debconf usage as well as more specific "
"for instance)."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:709
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:716
msgid "Do not abuse debconf"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:711
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:718
msgid ""
"Since debconf appeared in Debian, it has been widely abused and several "
"criticisms received by the Debian distribution come from debconf abuse with "
"thing installed."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:717
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:724
msgid ""
-"Keep usage notes to what they belong: the NEWS.Debian, or README.Debian "
-"file. Only use notes for important notes which may directly affect the "
-"package usability. Remember that notes will always block the install until "
-"confirmed or bother the user by email."
+"Keep usage notes to what they belong: the <filename>NEWS.Debian</filename>, "
+"or <filename>README.Debian</filename> file. Only use notes for important "
+"notes which may directly affect the package usability. Remember that notes "
+"will always block the install until confirmed or bother the user by email."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:723
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:730
msgid ""
"Carefully choose the questions priorities in maintainer scripts. See "
"<citerefentry> <refentrytitle>debconf-devel</refentrytitle> "
"questions should use medium and low priorities."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:731
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:738
msgid "General recommendations for authors and translators"
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:733
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:740
msgid "Write correct English"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:735
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:742
msgid ""
"Most Debian package maintainers are not native English speakers. So, "
"writing properly phrased templates may not be easy for them."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:739
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:746
msgid ""
-"Please use (and abuse) <email>debian-l10n-english@lists.debian.org</email> "
-"mailing list. Have your templates proofread."
+"Please use (and abuse) &email-debian-l10n-english; mailing list. Have your "
+"templates proofread."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:743
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:750
msgid ""
-"Badly written templates give a poor image of your package, of your work...or "
-"even of Debian itself."
+"Badly written templates give a poor image of your package, of your "
+"work... or even of Debian itself."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:747
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:754
msgid ""
"Avoid technical jargon as much as possible. If some terms sound common to "
"you, they may be impossible to understand for others. If you cannot avoid "
"try to balance between verbosity and simplicity."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:755
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:762
msgid "Be kind to translators"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:757
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:764
msgid ""
"Debconf templates may be translated. Debconf, along with its sister package "
"<command>po-debconf</command> offers a simple framework for getting "
"templates translated by translation teams or even individuals."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:762
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:769
msgid ""
"Please use gettext-based templates. Install <systemitem "
"role=\"package\">po-debconf</systemitem> on your development system and read "
-"its documentation (man po-debconf is a good start)."
+"its documentation (<command>man po-debconf</command> is a good start)."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:767
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:774
msgid ""
"Avoid changing templates too often. Changing templates text induces more "
-"work to translators which will get their translation fuzzied. If you plan "
-"changes to your original templates, please contact translators. Most active "
+"work to translators which will get their translation fuzzied. A fuzzy "
+"translation is a string for which the original changed since it was "
+"translated, therefore requiring some update by a translator to be usable. "
+"When changes are small enough, the original translation is kept in PO files "
+"but marked as <literal>fuzzy</literal>."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:782
+msgid ""
+"If you plan to do changes to your original templates, please use the "
+"notification system provided with the <systemitem "
+"role=\"package\">po-debconf</systemitem> package, namely the "
+"<command>podebconf-report-po</command>, to contact translators. Most active "
"translators are very responsive and getting their work included along with "
"your modified templates will save you additional uploads. If you use "
"gettext-based templates, the translator's name and e-mail addresses are "
-"mentioned in the po files headers."
+"mentioned in the PO files headers and will be used by "
+"<command>podebconf-report-po</command>."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:794
+msgid "A recommended use of that utility is:"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:776
+#. type: Content of: <chapter><section><section><section><programlisting>
+#: best-pkging-practices.dbk:796
+#, no-wrap
msgid ""
-"The use of the <command>podebconf-report-po</command> from the po-debconf "
-"package is highly recommended to warn translators which have incomplete "
-"translations and request them for updates."
+"cd debian/po && podebconf-report-po --call --languageteam "
+"--withtranslators --deadline=\"+10 days\""
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:781
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:798
msgid ""
-"If in doubt, you may also contact the translation team for a given language "
-"(debian-l10n-xxxxx@lists.debian.org), or the "
-"<email>debian-i18n@lists.debian.org</email> mailing list."
+"This command will first synchronize the PO and POT files in "
+"<filename>debian/po</filename> with the templates files listed in "
+"<filename>debian/po/POTFILES.in</filename>. Then, it will send a call for "
+"new translations, in the &email-debian-i18n; mailing list. Finally, it will "
+"also send a call for translation updates to the language team (mentioned in "
+"the <literal>Language-Team</literal> field of each PO file) as well as the "
+"last translator (mentioned in <literal>Last-translator</literal>)."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:786
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:807
msgid ""
-"Calls for translations posted to <email>debian-i18n@lists.debian.org</email> "
-"with the <filename>debian/po/templates.pot</filename> file attached or "
-"referenced in a URL are encouraged. Be sure to mentions in these calls for "
-"new translations which languages you have existing translations for, in "
-"order to avoid duplicate work."
+"Giving a deadline to translators is always appreciated, so that they can "
+"organize their work. Please remember that some translation teams have a "
+"formalized translate/review process and a delay lower than 10 days is "
+"considered as unreasonable. A shorter delay puts too much pressure on "
+"translation teams and should be kept for very minor changes."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:814
+msgid ""
+"If in doubt, you may also contact the translation team for a given language "
+"(debian-l10n-xxxxx@&lists-host;), or the &email-debian-i18n; mailing list."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:795
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:821
msgid "Unfuzzy complete translations when correcting typos and spelling"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:797
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:823
msgid ""
"When the text of a debconf template is corrected and you are <emphasis "
"role=\"strong\">sure</emphasis> that the change does <emphasis "
"role=\"strong\">not</emphasis> affect translations, please be kind to "
-"translators and unfuzzy their translations."
+"translators and <emphasis>unfuzzy</emphasis> their translations."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:803
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:829
msgid ""
"If you don't do so, the whole template will not be translated as long as a "
"translator will send you an update."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:807
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:833
msgid ""
-"To <emphasis role=\"strong\">unfuzzy</emphasis> translations, you can "
-"proceed the following way:"
+"To <emphasis>unfuzzy</emphasis> translations, you can use "
+"<command>msguntypot</command> (part of the <systemitem "
+"role=\"package\">po4a</systemitem> package)."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:813
-msgid ""
-"Put all incomplete PO files out of the way. You can check the completeness "
-"by using (needs the <systemitem role=\"package\">gettext</systemitem> "
-"package installed):"
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:840
+msgid "Regenerate the POT and PO files."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><screen>
-#: best-pkging-practices.dbk:818
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
+#: best-pkging-practices.dbk:842 best-pkging-practices.dbk:865
#, no-wrap
-msgid ""
-"i in debian/po/*po; do echo -n $i: ; msgfmt -o /dev/null\n"
-"--statistics $i; done"
+msgid "debconf-updatepo"
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:824
-msgid ""
-"move all files which report either fuzzy strings to a temporary place. "
-"Files which report no fuzzy strings (only translated and untranslated) will "
-"be kept in place."
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:846
+msgid "Make a copy of the POT file."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:831
-msgid ""
-"now <emphasis role=\"strong\">and now only</emphasis>, modify the template "
-"for the typos and check again that translation are not impacted (typos, "
-"spelling errors, sometimes typographical corrections are usually OK)"
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
+#: best-pkging-practices.dbk:848
+#, no-wrap
+msgid "cp templates.pot templates.pot.orig"
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:852
+msgid "Make a copy of all the PO files."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
+#: best-pkging-practices.dbk:854
+#, no-wrap
+msgid "mkdir po_fridge; cp *.po po_fridge"
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:858
+msgid "Change the debconf template files to fix the typos."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:863
+msgid "Regenerate the POT and PO files (again)."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:838
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:867
msgid ""
-"run <command>debconf-updatepo</command>. This will fuzzy all strings you "
-"modified in translations. You can see this by running the above again"
+"At this point, the typo fix fuzzied all the translations, and this "
+"unfortunate change is the only one between the PO files of your main "
+"directory and the one from the fridge. Here is how to solve this."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:844
-msgid "use the following command:"
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:874
+msgid "Discard fuzzy translation, restore the ones from the fridge."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><screen>
-#: best-pkging-practices.dbk:847
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
+#: best-pkging-practices.dbk:876
#, no-wrap
-msgid "i in debian/po/*po; do msgattrib --output-file=$i --clear-fuzzy $i; done"
+msgid "cp po_fridge/*.po ."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:852
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:880
msgid ""
-"move back to debian/po the files which showed fuzzy strings in the first "
-"step"
+"Manually merge the PO files with the new POT file, but taking the useless "
+"fuzzy into account."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
+#: best-pkging-practices.dbk:882
+#, no-wrap
+msgid "msguntypot -o templates.pot.orig -n templates.pot *.po"
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:886
+msgid "Clean up."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:857
-msgid "run <command>debconf-updatepo</command> again"
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><programlisting>
+#: best-pkging-practices.dbk:888
+#, no-wrap
+msgid "rm -rf templates.pot.orig po_fridge"
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:864
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:894
msgid "Do not make assumptions about interfaces"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:866
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:896
msgid ""
"Templates text should not make reference to widgets belonging to some "
-"debconf interfaces. Sentences like If you answer Yes... have no meaning "
-"for users of graphical interfaces which use checkboxes for boolean "
-"questions."
+"debconf interfaces. Sentences like <emphasis>If you answer "
+"Yes...</emphasis> have no meaning for users of graphical interfaces which "
+"use checkboxes for boolean questions."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:871
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:901
msgid ""
"String templates should also avoid mentioning the default values in their "
"description. First, because this is redundant with the values seen by the "
"maintainer choices (for instance, when the debconf database was preseeded)."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:877
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:907
msgid ""
"More generally speaking, try to avoid referring to user actions. Just give "
"facts."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:883
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:913
msgid "Do not use first person"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:885
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:915
msgid ""
-"You should avoid the use of first person (I will do this... or We "
-"recommend...). The computer is not a person and the Debconf templates do "
-"not speak for the Debian developers. You should use neutral construction. "
-"Those of you who already wrote scientific publications, just write your "
-"templates like you would write a scientific paper. However, try using "
-"action voice if still possible, like Enable this if ... instead of This can "
-"be enabled if ...."
+"You should avoid the use of first person (<emphasis>I will do "
+"this...</emphasis> or <emphasis>We recommend...</emphasis>). The computer "
+"is not a person and the Debconf templates do not speak for the Debian "
+"developers. You should use neutral construction. Those of you who already "
+"wrote scientific publications, just write your templates like you would "
+"write a scientific paper. However, try using active voice if still "
+"possible, like <emphasis>Enable this if ...</emphasis> instead of "
+"<emphasis>This can be enabled if...</emphasis>."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:895
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:925
msgid "Be gender neutral"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:897
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:927
msgid ""
"The world is made of men and women. Please use gender-neutral constructions "
"in your writing."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:905
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:935
msgid "Templates fields definition"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:907
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:937
msgid ""
"This part gives some information which is mostly taken from the "
"<citerefentry> <refentrytitle>debconf-devel</refentrytitle> "
"<manvolnum>7</manvolnum> </citerefentry> manual page."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:912
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:942
msgid "Type"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:914
-msgid "string:"
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:944
+msgid "string"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><para>
-#: best-pkging-practices.dbk:916
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:946
msgid "Results in a free-form input field that the user can type any string into."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:921
-msgid "password:"
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:951
+msgid "password"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><para>
-#: best-pkging-practices.dbk:923
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:953
msgid ""
"Prompts the user for a password. Use this with caution; be aware that the "
"password the user enters will be written to debconf's database. You should "
"probably clean that value out of the database as soon as is possible."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:930
-msgid "boolean:"
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:960
+msgid "boolean"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><para>
-#: best-pkging-practices.dbk:932
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:962
msgid ""
"A true/false choice. Remember: true/false, <emphasis role=\"strong\">not "
"yes/no</emphasis>..."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:938
-msgid "select:"
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:968
+msgid "select"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><para>
-#: best-pkging-practices.dbk:940
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:970
msgid ""
"A choice between one of a number of values. The choices must be specified "
"in a field named 'Choices'. Separate the possible values with commas and "
-"spaces, like this: Choices: yes, no, maybe"
+"spaces, like this: <literal>Choices: yes, no, maybe</literal>."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:975
+msgid ""
+"If choices are translatable strings, the 'Choices' field may be marked as "
+"translatable by using <literal>__Choices</literal>. The double underscore "
+"will split out each choice in a separate string."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:947
-msgid "multiselect:"
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:980
+msgid ""
+"The <command>po-debconf</command> system also offers interesting "
+"possibilities to only mark <emphasis role=\"strong\">some</emphasis> choices "
+"as translatable. Example:"
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><section><programlisting>
+#: best-pkging-practices.dbk:985
+#, no-wrap
+msgid ""
+"Template: foo/bar\n"
+"Type: Select\n"
+"#flag:translate:3\n"
+"__Choices: PAL, SECAM, Other\n"
+"_Description: TV standard:\n"
+" Please choose the TV standard used in your country.\n"
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:993
+msgid ""
+"In that example, only the 'Other' string is translatable while others are "
+"acronyms that should not be translated. The above allows only 'Other' to be "
+"included in PO and POT files."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:998
+msgid ""
+"The debconf templates flag system offers many such possibilities. The "
+"<citerefentry> <refentrytitle>po-debconf</refentrytitle> "
+"<manvolnum>7</manvolnum> </citerefentry> manual page lists all these "
+"possibilities."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><para>
-#: best-pkging-practices.dbk:949
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:1006
+msgid "multiselect"
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:1008
msgid ""
"Like the select data type, except the user can choose any number of items "
"from the choices list (or chose none of them)."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:955
-msgid "note:"
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:1014
+msgid "note"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><para>
-#: best-pkging-practices.dbk:957
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:1016
msgid ""
"Rather than being a question per se, this datatype indicates a note that can "
"be displayed to the user. It should be used only for important notes that "
"mailing the note to them in some cases."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:966
-msgid "text:"
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:1025
+msgid "text"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><para>
-#: best-pkging-practices.dbk:968
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:1027
msgid "This type is now considered obsolete: don't use it."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:973
-msgid "error:"
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:1032
+msgid "error"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><para>
-#: best-pkging-practices.dbk:975
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:1034
msgid ""
"This type is designed to handle error messages. It is mostly similar to the "
"note type. Frontends may present it differently (for instance, the dialog "
"frontend of cdebconf draws a red screen instead of the usual blue one)."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><para>
-#: best-pkging-practices.dbk:980
+#. type: Content of: <chapter><section><section><section><section><para>
+#: best-pkging-practices.dbk:1039
msgid ""
"It is recommended to use this type for any message that needs user attention "
"for a correction of any kind."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:988
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1047
msgid "Description: short and extended description"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:990
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1049
msgid ""
"Template descriptions have two parts: short and extended. The short "
"description is in the Description: line of the template."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:994
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1053
msgid ""
"The short description should be kept short (50 characters or so) so that it "
-"may be accomodated by most debconf interfaces. Keeping it short also helps "
+"may be accommodated by most debconf interfaces. Keeping it short also helps "
"translators, as usually translations tend to end up being longer than the "
"original."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1000
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1059
msgid ""
"The short description should be able to stand on its own. Some interfaces "
"do not show the long description by default, or only if the user explicitely "
"want to do?"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1006
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1065
msgid ""
"The short description does not necessarily have to be a full sentence. This "
"is part of the keep it short and efficient recommendation."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1010
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1069
msgid ""
"The extended description should not repeat the short description word for "
"word. If you can't think up a long description, then first, think some "
"up with anything, leave it blank."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1017
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1076
msgid ""
"The extended description should use complete sentences. Paragraphs should "
"be kept short for improved readability. Do not mix two ideas in the same "
"paragraph but rather use another paragraph."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1022
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1081
msgid ""
"Don't be too verbose. User tend to ignore too long screens. 20 lines are "
"by experience a border you shouldn't cross, because that means that in the "
"just don't do that."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1028
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1087
msgid ""
"The extended description should <emphasis role=\"strong\">never</emphasis> "
"include a question."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1032
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1091
msgid ""
"For specific rules depending on templates type (string, boolean, etc.), "
"please read below."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:1038
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1097
msgid "Choices"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1040
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1099
msgid ""
-"This field should be used for Select and Multiselect types. It contains the "
+"This field should be used for select and multiselect types. It contains the "
"possible choices which will be presented to users. These choices should be "
"separated by commas."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:1047
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1106
msgid "Default"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1049
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1108
msgid ""
"This field is optional. It contains the default answer for string, select "
"and multiselect templates. For multiselect templates, it may contain a "
"comma-separated list of choices."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1058
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1117
msgid "Templates fields specific style guide"
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:1060
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1119
msgid "Type field"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1062
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1121
msgid ""
"No specific indication except: use the appropriate type by referring to the "
"previous section."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:1068
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1127
msgid "Description field"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1070
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1129
msgid ""
"Below are specific instructions for properly writing the Description (short "
"and extended) depending on the template type."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:1074
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:1133
msgid "String/password templates"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1078
+#. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1137
msgid ""
"The short description is a prompt and <emphasis "
"role=\"strong\">not</emphasis> a title. Avoid question style prompts (IP "
"recommended."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1085
+#. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1144
msgid ""
"The extended description is a complement to the short description. In the "
"extended part, explain what is being asked, rather than ask the same "
"style is strongly discouraged."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:1095
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:1154
msgid "Boolean templates"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1099
+#. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1158
msgid ""
"The short description should be phrased in the form of a question which "
"should be kept short and should generally end with a question mark. Terse "
"writing style is permitted and even encouraged if the question is rather "
-"long (remember that translations are often longer than original versions)"
+"long (remember that translations are often longer than original versions)."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1107
+#. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1166
msgid ""
"Again, please avoid referring to specific interface widgets. A common "
"mistake for such templates is if you answer Yes-type constructions."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:1115
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:1174
msgid "Select/Multiselect"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1119
+#. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1178
msgid ""
"The short description is a prompt and <emphasis "
"role=\"strong\">not</emphasis> a title. Do <emphasis "
"Users are clever enough to figure out they have to choose something...:)"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1127
+#. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1186
msgid ""
"The extended description will complete the short description. It may refer "
"to the available choices. It may also mention that the user may choose more "
"(although the interface often makes this clear)."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><title>
-#: best-pkging-practices.dbk:1137
+#. type: Content of: <chapter><section><section><section><section><title>
+#: best-pkging-practices.dbk:1196
msgid "Notes"
msgstr ""
-# type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1141
-msgid "The short description should be considered to be a *title*."
+#. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1200
+msgid ""
+"The short description should be considered to be a <emphasis "
+"role=\"strong\">title</emphasis>."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1146
+#. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1205
msgid ""
"The extended description is what will be displayed as a more detailed "
"explanation of the note. Phrases, no terse writing style."
msgstr ""
-# type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1152
+#. type: Content of: <chapter><section><section><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1211
msgid ""
"<emphasis role=\"strong\">Do not abuse debconf.</emphasis> Notes are the "
"most common way to abuse debconf. As written in debconf-devel manual page: "
"it's best to use them only for warning about very serious problems. The "
-"NEWS.Debian or README.Debian files are the appropriate location for a lot of "
-"notes. If, by reading this, you consider converting your Note type "
-"templates to entries in NEWS/Debian or README.Debian, plus consider keeping "
-"existing translations for the future."
+"<filename>NEWS.Debian</filename> or <filename>README.Debian</filename> files "
+"are the appropriate location for a lot of notes. If, by reading this, you "
+"consider converting your Note type templates to entries in "
+"<filename>NEWS.Debian</filename> or <filename>README.Debian</filename>, plus "
+"consider keeping existing translations for the future."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:1167
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1226
msgid "Choices field"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1169
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1228
msgid ""
"If the Choices are likely to change often, please consider using the "
"__Choices trick. This will split each individual choice into a single "
"string, which will considerably help translators for doing their work."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:1176 best-pkging-practices.dbk:1214
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1235 best-pkging-practices.dbk:1273
msgid "Default field"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1178
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1237
msgid ""
"If the default value, for a select template, is likely to vary depending on "
"the user language (for instance, if the choice is a language choice), please "
-"use the _DefaultChoice trick."
+"use the _Default trick."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1183
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1242
msgid ""
"This special field allow translators to put the most appropriate choice "
"according to their own language. It will become the default choice when "
"their language is used while your own mentioned Default Choice will be used "
-"chan using English."
+"when using English."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1189
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1248
msgid "Example, taken from the geneweb package templates:"
msgstr ""
-# type: Content of: <chapter><section><section><section><screen>
-#: best-pkging-practices.dbk:1192
+#. type: Content of: <chapter><section><section><section><screen>
+#: best-pkging-practices.dbk:1251
#, no-wrap
msgid ""
-": geneweb/lang\n"
+"Template: geneweb/lang\n"
"Type: select\n"
"__Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech "
"(cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), "
"(ro), Russian (ru), Spanish (es), Swedish (sv)\n"
"# This is the default choice. Translators may put their own language here\n"
"# instead of the default.\n"
-"# WARNING : you MUST use the ENGLISH FORM of your language\n"
+"# WARNING : you MUST use the ENGLISH NAME of your language\n"
"# For instance, the french translator will need to put French (fr) here.\n"
-"_DefaultChoice: English (en)[ translators, please see comment in PO files]\n"
-"_Description: Geneweb default language:"
+"_Default: English[ translators, please see comment in PO files]\n"
+"_Description: Geneweb default language:\n"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1203
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1262
msgid ""
"Note the use of brackets which allow internal comments in debconf fields. "
"Also note the use of comments which will show up in files the translators "
"will work with."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1208
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1267
msgid ""
-"The comments are needed as the DefaultChoice trick is a bit confusing: the "
+"The comments are needed as the _Default trick is a bit confusing: the "
"translators may put their own choice"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1216
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1275
msgid ""
"Do NOT use empty default field. If you don't want to use default values, do "
"not use Default at all."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1220
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1279
msgid ""
"If you use po-debconf (and you <emphasis role=\"strong\">should</emphasis>, "
-"see 2.2), consider making this field translatable, if you think it may be "
-"translated."
+"see <xref linkend=\"s6.5.2.2\"/>), consider making this field translatable, "
+"if you think it may be translated."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1225
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1284
msgid ""
"If the default value may vary depending on language/country (for instance "
"the default value for a language choice), consider using the special "
-"_DefaultChoice type documented in <citerefentry> "
+"_Default type documented in <citerefentry> "
"<refentrytitle>po-debconf</refentrytitle> <manvolnum>7</manvolnum> "
-"</citerefentry>)."
+"</citerefentry>."
msgstr ""
-# type: Content of: <chapter><section><title>
-#: best-pkging-practices.dbk:1237
+#. type: Content of: <chapter><section><title>
+#: best-pkging-practices.dbk:1296
msgid "Internationalization"
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1239
+#. type: Content of: <chapter><section><para>
+#: best-pkging-practices.dbk:1298
+msgid ""
+"This section contains global information for developers to make translators' "
+"life easier. More information for translators and developers interested in "
+"internationalization are available in the <ulink "
+"url=\"&url-i18n-l10n;\">Internationalisation and localisation in "
+"Debian</ulink> documentation."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1305
msgid "Handling debconf translations"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1241
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1307
msgid ""
"Like porters, translators have a difficult task. They work on many packages "
"and must collaborate with many different maintainers. Moreover, most of the "
"particularly patient with them."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1247
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1313
msgid ""
"The goal of <systemitem role=\"package\">debconf</systemitem> was to make "
"packages configuration easier for maintainers and for users. Originally, "
"provided."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1257
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1323
msgid ""
"Using <systemitem role=\"package\">po-debconf</systemitem>, the translation "
-"is stored in <filename>po</filename> files (drawing from "
+"is stored in <filename>.po</filename> files (drawing from "
"<command>gettext</command> translation techniques). Special template files "
"contain the original messages and mark which fields are translatable. When "
"you change the value of a translatable field, by calling "
"</citerefentry> manual page for details."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1273
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1339
msgid "Internationalized documentation"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1275
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1341
msgid ""
"Internationalizing documentation is crucial for users, but a lot of labor. "
"There's no way to eliminate all that work, but you can make things easier "
"for translators."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1280
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1346
msgid ""
-"If you maintain documentation of any size, its easier for translators if "
+"If you maintain documentation of any size, it is easier for translators if "
"they have access to a source control system. That lets translators see the "
"differences between two versions of the documentation, so, for instance, "
"they can see what needs to be retranslated. It is recommended that the "
"translated documentation maintain a note about what source control revision "
"the translation is based on. An interesting system is provided by <ulink "
-"url=\"http://cvs.debian.org/boot-floppies/documentation/doc-check?rev=HEAD\\|[amp "
-"]\\|content-type=text/vnd.viewcvs-markup\">doc-check</ulink> in the "
-"<systemitem role=\"package\">boot-floppies</systemitem> package, which shows "
-"an overview of the translation status for any given language, using "
-"structured comments for the current revision of the file to be translated "
-"and, for a translated file, the revision of the original file the "
-"translation is based on. You might wish to adapt and provide that in your "
-"CVS area."
+"url=\"&url-i18n-doc-check;\">doc-check</ulink> in the <systemitem "
+"role=\"package\">debian-installer</systemitem> package, which shows an "
+"overview of the translation status for any given language, using structured "
+"comments for the current revision of the file to be translated and, for a "
+"translated file, the revision of the original file the translation is based "
+"on. You might wish to adapt and provide that in your VCS area."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1295
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1360
msgid ""
"If you maintain XML or SGML documentation, we suggest that you isolate any "
"language-independent information and define those as entities in a separate "
"much easier, for instance, to keep URLs up to date across multiple files."
msgstr ""
-# type: Content of: <chapter><section><title>
-#: best-pkging-practices.dbk:1305
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1366
+msgid ""
+"Some tools (e.g. <systemitem role=\"package\">po4a</systemitem>, <systemitem "
+"role=\"package\">poxml</systemitem>, or the <systemitem "
+"role=\"package\">translate-toolkit</systemitem>) are specialized in "
+"extracting the translatable material from different formats. They produce "
+"PO files, a format quite common to translators, which permits to see what "
+"needs to be retranslated when the translated document is updated."
+msgstr ""
+
+#. type: Content of: <chapter><section><title>
+#: best-pkging-practices.dbk:1378
msgid "Common packaging situations"
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1307
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1389
msgid "Packages using <command>autoconf</command>/<command>automake</command>"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1309
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1391
msgid ""
"Keeping <command>autoconf</command>'s <filename>config.sub</filename> and "
"<filename>config.guess</filename> files up to date is critical for porters, "
"especially on more volatile architectures. Some very good packaging "
"practices for any package using <command>autoconf</command> and/or "
-"<command>automake</command> have been synthesized in "
-"<filename>/usr/share/doc/autotools-dev/README.Debian.gz</filename> from the "
-"<systemitem role=\"package\">autotools-dev</systemitem> package. You're "
-"strongly encouraged to read this file and to follow the given "
+"<command>automake</command> have been synthesized in &file-bpp-autotools; "
+"from the <systemitem role=\"package\">autotools-dev</systemitem> package. "
+"You're strongly encouraged to read this file and to follow the given "
"recommendations."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1321
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1403
msgid "Libraries"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1323
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1405
msgid ""
"Libraries are always difficult to package for various reasons. The policy "
"imposes many constraints to ease their maintenance and to make sure upgrades "
"in a library can result in dozens of dependent packages breaking."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1329
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1411
msgid ""
"Good practices for library packaging have been grouped in <ulink "
-"url=\"http://www.netfort.gr.jp/~dancer/column/libpkg-guide/\">the library "
-"packaging guide</ulink>."
+"url=\"&url-libpkg-guide;\">the library packaging guide</ulink>."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1336
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1418
msgid "Documentation"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1338
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1420
msgid ""
-"Be sure to follow the <ulink "
-"url=\"http://www.debian.org/doc/debian-policy/ch-docs.html\">Policy on "
-"documentation</ulink>."
+"Be sure to follow the <ulink url=\"&url-debian-policy;ch-docs.html\">Policy "
+"on documentation</ulink>."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1343
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1425
msgid ""
"If your package contains documentation built from XML or SGML, we recommend "
"you not ship the XML or SGML source in the binary package(s). If users want "
"the source of the documentation, they should retrieve the source package."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1348
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1430
msgid ""
"Policy specifies that documentation should be shipped in HTML format. We "
"also recommend shipping documentation in PDF and plain text format if "
"source format is HTML."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1355
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1437
msgid ""
"Major shipped manuals should register themselves with <systemitem "
"role=\"package\">doc-base</systemitem> on installation. See the <systemitem "
"information."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1363
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1443
+msgid ""
+"Debian policy (section 12.1) directs that manual pages should accompany "
+"every program, utility, and function, and suggests them for other objects "
+"like configuration files. If the work you are packaging does not have such "
+"manual pages, consider writing them for inclusion in your package, and "
+"submitting them upstream."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1450
+msgid ""
+"The manpages do not need to be written directly in the troff format. "
+"Popular source formats are Docbook, POD and reST, which can be converted "
+"using <command>xsltproc</command>, <command>pod2man</command> and "
+"<command>rst2man</command> respectively. To a lesser extent, the "
+"<command>help2man</command> program can also be used to write a stub."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1459
msgid "Specific types of packages"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1365
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1461
msgid ""
"Several specific types of packages have special sub-policies and "
"corresponding packaging rules and practices:"
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1371
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1467
msgid ""
-"Perl related packages have a <ulink "
-"url=\"http://www.debian.org/doc/packaging-manuals/perl-policy/\">Perl "
+"Perl related packages have a <ulink url=\"&url-perl-policy;\">Perl "
"policy</ulink>, some examples of packages following that policy are "
"<systemitem role=\"package\">libdbd-pg-perl</systemitem> (binary perl "
"module) or <systemitem role=\"package\">libmldbm-perl</systemitem> (arch "
"independent perl module)."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1380
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1476
msgid ""
-"Python related packages have their python policy; see "
-"<filename>/usr/share/doc/python/python-policy.txt.gz</filename> in the "
-"<systemitem role=\"package\">python</systemitem> package."
+"Python related packages have their python policy; see &file-python-policy; "
+"in the <systemitem role=\"package\">python</systemitem> package."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1387
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1483
msgid ""
-"Emacs related packages have the <ulink "
-"url=\"http://www.debian.org/doc/packaging-manuals/debian-emacs-policy\">emacs "
+"Emacs related packages have the <ulink url=\"&url-emacs-policy;\">emacs "
"policy</ulink>."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1394
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1490
msgid ""
-"Java related packages have their <ulink "
-"url=\"http://www.debian.org/doc/packaging-manuals/java-policy/\">java "
+"Java related packages have their <ulink url=\"&url-java-policy;\">java "
"policy</ulink>."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1401
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1497
msgid ""
-"Ocaml related packages have their own policy, found in "
-"<filename>/usr/share/doc/ocaml/ocaml_packaging_policy.gz</filename> from the "
-"<systemitem role=\"package\">ocaml</systemitem> package. A good example is "
-"the <systemitem role=\"package\">camlzip</systemitem> source package."
+"Ocaml related packages have their own policy, found in &file-ocaml-policy; "
+"from the <systemitem role=\"package\">ocaml</systemitem> package. A good "
+"example is the <systemitem role=\"package\">camlzip</systemitem> source "
+"package."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1409
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1505
msgid ""
"Packages providing XML or SGML DTDs should conform to the recommendations "
"found in the <systemitem role=\"package\">sgml-base-doc</systemitem> "
"package."
msgstr ""
-# type: Content of: <chapter><section><section><itemizedlist><listitem><para>
-#: best-pkging-practices.dbk:1415
+#. type: Content of: <chapter><section><section><itemizedlist><listitem><para>
+#: best-pkging-practices.dbk:1511
msgid ""
"Lisp packages should register themselves with <systemitem "
"role=\"package\">common-lisp-controller</systemitem>, about which see "
-"<filename>/usr/share/doc/common-lisp-controller/README.packaging</filename>."
+"&file-lisp-controller;."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1424
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1541
msgid "Architecture-independent data"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1426
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1543
msgid ""
"It is not uncommon to have a large amount of architecture-independent data "
"packaged with a program. For example, audio files, a collection of icons, "
"best to keep it all in a single package."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1433
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1550
msgid ""
"However, if the size of the data is considerable, consider splitting it out "
-"into a separate, architecture-independent package (_all.deb). By doing "
-"this, you avoid needless duplication of the same data into eleven or more "
-".debs, one per each architecture. While this adds some extra overhead into "
-"the <filename>Packages</filename> files, it saves a lot of disk space on "
-"Debian mirrors. Separating out architecture-independent data also reduces "
-"processing time of <command>lintian</command> or <command>linda</command> "
-"(see <xref linkend=\"tools-lint\"/> ) when run over the entire Debian "
-"archive."
-msgstr ""
-
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1445
+"into a separate, architecture-independent package "
+"(<filename>_all.deb</filename>). By doing this, you avoid needless "
+"duplication of the same data into eleven or more .debs, one per each "
+"architecture. While this adds some extra overhead into the "
+"<filename>Packages</filename> files, it saves a lot of disk space on Debian "
+"mirrors. Separating out architecture-independent data also reduces "
+"processing time of <command>lintian</command> (see <xref "
+"linkend=\"tools-lint\"/>) when run over the entire Debian archive."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1562
msgid "Needing a certain locale during build"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1447
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1564
msgid ""
"If you need a certain locale during build, you can create a temporary file "
"via this trick:"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1451
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1568
msgid ""
-"If you set LOCPATH to the equivalent of /usr/lib/locale, and LC_ALL to the "
+"If you set <varname>LOCPATH</varname> to the equivalent of "
+"<filename>/usr/lib/locale</filename>, and <varname>LC_ALL</varname> to the "
"name of the locale you generate, you should get what you want without being "
"root. Something like this:"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:1456
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:1573
#, no-wrap
msgid ""
-"=debian/tmpdir/usr/lib/locale\n"
+"LOCALE_PATH=debian/tmpdir/usr/lib/locale\n"
"LOCALE_NAME=en_IN\n"
"LOCALE_CHARSET=UTF-8\n"
"\n"
"$LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET\n"
"\n"
"# Using the locale\n"
-"LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date"
+"LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date\n"
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1469
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1586
msgid "Make transition packages deborphan compliant"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1471
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1588
msgid ""
"Deborphan is a program for helping users to detect which packages can safely "
"be removed from the system, i.e. the ones that have no packages depending "
"argument, it tries to catch other useless packages."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1478
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1595
msgid ""
-"For example, with --guess-dummy, deborphan tries to search all transitional "
-"packages which were needed for upgrade but which can now safely be removed. "
-"For that, it looks for the string dummy or transitional in their short "
-"description."
+"For example, with <literal>--guess-dummy</literal>, "
+"<command>deborphan</command> tries to search all transitional packages which "
+"were needed for upgrade but which can now safely be removed. For that, it "
+"looks for the string dummy or transitional in their short description."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1484
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1602
msgid ""
"So, when you are creating such a package, please make sure to add this text "
-"to your short description. If you are looking for examples, just run:"
+"to your short description. If you are looking for examples, just run: "
+"<command>apt-cache search .|grep dummy</command> or <command>apt-cache "
+"search .|grep transitional</command>."
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:1488
-#, no-wrap
-msgid "-cache search .|grep dummy"
-msgstr ""
-
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1491
-msgid "or"
-msgstr ""
-
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:1494
-#, no-wrap
-msgid "-cache search .|grep transitional"
-msgstr ""
-
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1497
-msgid "."
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1608
+msgid ""
+"Also, it is recommended to adjust its section to <literal>oldlibs</literal> "
+"and its priority to <literal>extra</literal> in order to ease "
+"<command>deborphan</command>'s job."
msgstr ""
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1502
-msgid "Best practices for <filename>orig.tar.gz</filename> files"
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1617
+msgid "Best practices for <filename>.orig.tar.{gz,bz2,xz}</filename> files"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1504
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1619
msgid ""
"There are two kinds of original source tarballs: Pristine source and "
"repackaged upstream source."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:1508
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1623
msgid "Pristine source"
msgstr ""
-# type: Content of: <chapter><section><section><section><para><footnote>
-#: best-pkging-practices.dbk:1510
-msgid ""
-"The defining characteristic of a pristine source tarball is that the "
-".orig.tar.gz file is byte-for-byte identical to a tarball officially "
-"distributed by the upstream author. <footnote>"
-msgstr ""
-
-# type: Content of: <chapter><section><section><section><para><footnote><para>
-#: best-pkging-practices.dbk:1512
+#. type: Content of: <chapter><section><section><section><para><footnote><para>
+#: best-pkging-practices.dbk:1627
msgid ""
"We cannot prevent upstream authors from changing the tarball they distribute "
"without also incrementing the version number, so there can be no guarantee "
"<emphasis>currently</emphasis> distributing at any point in time. All that "
"can be expected is that it is identical to something that upstream once "
"<emphasis>did</emphasis> distribute. If a difference arises later (say, if "
-"upstream notices that he wasn't using maximal comression in his original "
-"distribution and then re-<literal>gzip</literal>s it), that's just too bad. "
-"Since there is no good way to upload a new .orig.tar.gz for the same "
-"version, there is not even any point in treating this situation as a bug."
+"upstream notices that he wasn't using maximal compression in his original "
+"distribution and then re-<command>gzip</command>s it), that's just too bad. "
+"Since there is no good way to upload a new "
+"<filename>.orig.tar.{gz,bz2,xz}</filename> for the same version, there is "
+"not even any point in treating this situation as a bug."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1522
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1625
msgid ""
-"</footnote> This makes it possible to use checksums to easily verify that "
-"all changes between Debian's version and upstream's are contained in the "
-"Debian diff. Also, if the original source is huge, upstream authors and "
-"others who already have the upstream tarball can save download time if they "
-"want to inspect your packaging in detail."
+"The defining characteristic of a pristine source tarball is that the "
+"<filename>.orig.tar.{gz,bz2,xz}</filename> file is byte-for-byte identical "
+"to a tarball officially distributed by the upstream author.<placeholder "
+"type=\"footnote\" id=\"0\"/> This makes it possible to use checksums to "
+"easily verify that all changes between Debian's version and upstream's are "
+"contained in the Debian diff. Also, if the original source is huge, "
+"upstream authors and others who already have the upstream tarball can save "
+"download time if they want to inspect your packaging in detail."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1530
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1645
msgid ""
"There is no universally accepted guidelines that upstream authors follow "
"regarding to the directory structure inside their tarball, but "
"following:"
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:1538
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:1653
msgid "It unpacks the tarball in an empty temporary directory by doing"
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><screen>
-#: best-pkging-practices.dbk:1541
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><screen>
+#: best-pkging-practices.dbk:1656
#, no-wrap
-msgid "path/to/<packagename>_<upstream-version>.orig.tar.gz | tar xf -"
+msgid ""
+"zcat "
+"path/to/<replaceable>packagename</replaceable>_<replaceable>upstream-version</replaceable>.orig.tar.gz "
+"| tar xf -\n"
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:1546
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:1661
msgid ""
"If, after this, the temporary directory contains nothing but one directory "
"and no other files, <command>dpkg-source</command> renames that directory to "
-"<literal><packagename>-<upstream-version>(.orig)</literal>. The "
-"name of the top-level directory in the tarball does not matter, and is "
+"<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>(.orig)</filename>. "
+"The name of the top-level directory in the tarball does not matter, and is "
"forgotten."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:1555
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:1670
msgid ""
"Otherwise, the upstream tarball must have been packaged without a common "
"top-level directory (shame on the upstream author!). In this case, "
"<command>dpkg-source</command> renames the temporary directory "
"<emphasis>itself</emphasis> to "
-"<literal><packagename>-<upstream-version>(.orig)</literal>."
+"<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>(.orig)</filename>."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:1566
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1681
msgid "Repackaged upstream source"
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1568
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1683
msgid ""
"You <emphasis role=\"strong\">should</emphasis> upload packages with a "
"pristine source tarball if possible, but there are various reasons why it "
"non-DFSG-free material that you must remove before uploading."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1575
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1690
msgid ""
-"In these cases the developer must construct a suitable .orig.tar.gz file "
-"himself. We refer to such a tarball as a repackaged upstream source. Note "
-"that a repackaged upstream source is different from a Debian-native "
-"package. A repackaged source still comes with Debian-specific changes in a "
-"separate <literal>.diff.gz</literal> and still has a version number composed "
-"of <literal><upstream-version></literal> and "
-"<literal><debian-revision></literal>."
+"In these cases the developer must construct a suitable "
+"<filename>.orig.tar.{gz,bz2,xz}</filename> file himself. We refer to such a "
+"tarball as a repackaged upstream source. Note that a repackaged upstream "
+"source is different from a Debian-native package. A repackaged source still "
+"comes with Debian-specific changes in a separate "
+"<filename>.diff.gz</filename> or "
+"<filename>.debian.tar.{gz,bz2,xz}</filename> and still has a version number "
+"composed of <replaceable>upstream-version</replaceable> and "
+"<replaceable>debian-version</replaceable>."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1584
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1699
msgid ""
"There may be cases where it is desirable to repackage the source even though "
-"upstream distributes a <literal>.tar.gz</literal> that could in principle be "
-"used in its pristine form. The most obvious is if "
+"upstream distributes a <filename>.tar.{gz,bz2,xz}</filename> that could in "
+"principle be used in its pristine form. The most obvious is if "
"<emphasis>significant</emphasis> space savings can be achieved by "
"recompressing the tar archive or by removing genuinely useless cruft from "
"the upstream archive. Use your own discretion here, but be prepared to "
"defend your decision if you repackage source that could have been pristine."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1593
-msgid "A repackaged .orig.tar.gz"
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1708
+msgid "A repackaged <filename>.orig.tar.{gz,bz2,xz}</filename>"
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:1598
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:1713
msgid ""
-"<emphasis role=\"strong\">must</emphasis> contain detailed information how "
-"the repackaged source was obtained, and how this can be reproduced in the "
+"<emphasis role=\"strong\">should</emphasis> be documented in the resulting "
+"source package. Detailed information on how the repackaged source was "
+"obtained, and on how this can be reproduced should be provided in "
"<filename>debian/copyright</filename>. It is also a good idea to provide a "
"<literal>get-orig-source</literal> target in your "
"<filename>debian/rules</filename> file that repeats the process, as "
"described in the Policy Manual, <ulink "
-"url=\"http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules\">Main "
-"building script: debian/rules</ulink>."
+"url=\"&url-debian-policy;ch-source.html#s-debianrules\">Main building "
+"script: <filename>debian/rules</filename></ulink>."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para><footnote>
-#: best-pkging-practices.dbk:1610
-msgid ""
-"<emphasis role=\"strong\">should not</emphasis> contain any file that does "
-"not come from the upstream author(s), or whose contents has been changed by "
-"you. <footnote>"
-msgstr ""
-
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para><footnote><para>
-#: best-pkging-practices.dbk:1612
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para><footnote><para>
+#: best-pkging-practices.dbk:1728
msgid ""
"As a special exception, if the omission of non-free files would lead to the "
"source failing to build without assistance from the Debian diff, it might be "
"appropriate to instead edit the files, omitting only the non-free parts of "
-"them, and/or explain the situation in a README.Debian-source file in the "
-"root of the source tree. But in that case please also urge the upstream "
-"author to make the non-free components easier seperable from the rest of the "
-"source."
+"them, and/or explain the situation in a <filename>README.source</filename> "
+"file in the root of the source tree. But in that case please also urge the "
+"upstream author to make the non-free components easier separable from the "
+"rest of the source."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:1623
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:1726
+msgid ""
+"<emphasis role=\"strong\">should not</emphasis> contain any file that does "
+"not come from the upstream author(s), or whose contents has been changed by "
+"you.<placeholder type=\"footnote\" id=\"0\"/>"
+msgstr ""
+
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:1739
msgid ""
"<emphasis role=\"strong\">should</emphasis>, except where impossible for "
"legal reasons, preserve the entire building and portablility infrastructure "
"provided by the upstream author. For example, it is not a sufficient reason "
"for omitting a file that it is used only when building on MS-DOS. "
-"Similarly, a Makefile provided by upstream should not be omitted even if the "
-"first thing your <filename>debian/rules</filename> does is to overwrite it "
-"by running a configure script."
+"Similarly, a <filename>Makefile</filename> provided by upstream should not "
+"be omitted even if the first thing your <filename>debian/rules</filename> "
+"does is to overwrite it by running a configure script."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:1632
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:1748
msgid ""
"(<emphasis>Rationale:</emphasis> It is common for Debian users who need to "
"build software for non-Debian platforms to fetch the source from a Debian "
"point)."
msgstr ""
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:1639
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:1755
msgid ""
"<emphasis role=\"strong\">should</emphasis> use "
-"<literal><packagename>-<upstream-version>.orig</literal> as the "
-"name of the top-level directory in its tarball. This makes it possible to "
-"distinguish pristine tarballs from repackaged ones."
-msgstr ""
-
-# type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
-#: best-pkging-practices.dbk:1647
-msgid ""
-"<emphasis role=\"strong\">should</emphasis> be gzipped with maximal "
-"compression."
+"<filename><replaceable>packagename</replaceable>-<replaceable>upstream-version</replaceable>.orig</filename> "
+"as the name of the top-level directory in its tarball. This makes it "
+"possible to distinguish pristine tarballs from repackaged ones."
msgstr ""
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1652
+#. type: Content of: <chapter><section><section><section><orderedlist><listitem><para>
+#: best-pkging-practices.dbk:1763
msgid ""
-"The canonical way to meet the latter two points is to let "
-"<literal>dpkg-source -b</literal> construct the repackaged tarball from an "
-"unpacked directory."
+"<emphasis role=\"strong\">should</emphasis> be gzipped or bzipped with "
+"maximal compression."
msgstr ""
-# type: Content of: <chapter><section><section><section><title>
-#: best-pkging-practices.dbk:1658
-msgid "Changing binary files in <literal>diff.gz</literal>"
+#. type: Content of: <chapter><section><section><section><title>
+#: best-pkging-practices.dbk:1770
+msgid "Changing binary files"
msgstr ""
-# type: Content of: <chapter><section><section><section><para><footnote>
-#: best-pkging-practices.dbk:1660
+#. type: Content of: <chapter><section><section><section><para>
+#: best-pkging-practices.dbk:1772
msgid ""
"Sometimes it is necessary to change binary files contained in the original "
-"tarball, or to add binary files that are not in it. If this is done by "
-"simply copying the files into the debianized source tree, "
-"<command>dpkg-source</command> will not be able to handle this. On the "
-"other hand, according to the guidelines given above, you cannot include such "
-"a changed binary file in a repackaged <filename>orig.tar.gz</filename>. "
-"Instead, include the file in the <filename>debian</filename> directory in "
-"<command>uuencode</command>d (or similar) form <footnote>"
-msgstr ""
-
-# type: Content of: <chapter><section><section><section><para><footnote><para>
-#: best-pkging-practices.dbk:1667
-msgid ""
-"The file should have a name that makes it clear which binary file it "
-"encodes. Usually, some postfix indicating the encoding should be appended "
-"to the original filename. Note that you don't need to depend on <systemitem "
-"role=\"package\">sharutils</systemitem> to get the "
-"<command>uudecode</command> program if you use <command>perl</command>'s "
-"<literal>pack</literal> function. The code could look like"
-msgstr ""
-
-# type: Content of: <chapter><section><section><section><para><footnote><screen>
-#: best-pkging-practices.dbk:1673
-#, no-wrap
-msgid ""
-"-file: perl -ne 'print(pack u, $$_);'\n"
-"$(file) > $(file).uuencoded uudecode-file: perl -ne 'print(unpack u, "
-"$$_);'\n"
-"$(file).uuencoded > $(file)"
-msgstr ""
-
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1675
-msgid ""
-"</footnote>. The file would then be decoded and copied to its place during "
-"the build process. Thus the change will be visible quite easy."
-msgstr ""
-
-# type: Content of: <chapter><section><section><section><para>
-#: best-pkging-practices.dbk:1680
-msgid ""
-"Some packages use <command>dbs</command> to manage patches to their upstream "
-"source, and always create a new <literal>orig.tar.gz</literal> file that "
-"contains the real <literal>orig.tar.gz</literal> in its toplevel directory. "
-"This is questionable with respect to the preference for pristine source. On "
-"the other hand, it is easy to modify or add binary files in this case: Just "
-"put them into the newly created <literal>orig.tar.gz</literal> file, besides "
-"the real one, and copy them to the right place during the build process."
-msgstr ""
-
-# type: Content of: <chapter><section><section><title>
-#: best-pkging-practices.dbk:1693
+"tarball, or to add binary files that are not in it. This is fully supported "
+"when using source packages in “3.0 (quilt)” format, see the "
+"<citerefentry><refentrytitle>dpkg-source</refentrytitle><manvolnum>1</manvolnum></citerefentry> "
+"manual page for details. When using the older format “1.0”, binary files "
+"can't be stored in the <filename>.diff.gz</filename> so you must store an "
+"<command>uuencode</command>d (or similar) version of the file(s) and decode "
+"it at build time in <filename>debian/rules</filename> (and move it in its "
+"official location)."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1787
msgid "Best practices for debug packages"
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1695
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1789
msgid ""
"A debug package is a package with a name ending in -dbg, that contains "
-"additional information that gdb can use. Since Debian binaries are stripped "
-"by default, debugging information, including function names and line "
-"numbers, is otherwise not available when running gdb on Debian binaries. "
-"Debug packages allow users who need this additional debugging information to "
-"install it, without bloating a regular system with the information."
+"additional information that <command>gdb</command> can use. Since Debian "
+"binaries are stripped by default, debugging information, including function "
+"names and line numbers, is otherwise not available when running "
+"<command>gdb</command> on Debian binaries. Debug packages allow users who "
+"need this additional debugging information to install it, without bloating a "
+"regular system with the information."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1703
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1797
msgid ""
"It is up to a package's maintainer whether to create a debug package or "
"not. Maintainers are encouraged to create debug packages for library "
"apache and the X server are also good candidates for debug packages."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1713
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1807
msgid ""
"Some debug packages may contain an entire special debugging build of a "
"library or other binary, but most of them can save space and build time by "
-"instead containing separated debugging symbols that gdb can find and load on "
-"the fly when debugging a program or library. The convention in Debian is to "
-"keep these symbols in <filename>/usr/lib/debug/path</filename>, where "
-"<emphasis>path</emphasis> is the path to the executable or library. For "
-"example, debugging symbols for <filename>/usr/bin/foo</filename> go in "
+"instead containing separated debugging symbols that <command>gdb</command> "
+"can find and load on the fly when debugging a program or library. The "
+"convention in Debian is to keep these symbols in "
+"<filename>/usr/lib/debug/<replaceable>path</replaceable></filename>, where "
+"<replaceable>path</replaceable> is the path to the executable or library. "
+"For example, debugging symbols for <filename>/usr/bin/foo</filename> go in "
"<filename>/usr/lib/debug/usr/bin/foo</filename>, and debugging symbols for "
"<filename>/usr/lib/libfoo.so.1</filename> go in "
"<filename>/usr/lib/debug/usr/lib/libfoo.so.1</filename>."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1725
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1819
msgid ""
-"The debugging symbols can be extracted from an object file using objcopy "
-"--only-keep-debug. Then the object file can be stripped, and objcopy "
-"--add-gnu-debuglink used to specify the path to the debugging symbol file. "
-"<citerefentry> <refentrytitle>objcopy</refentrytitle> "
-"<manvolnum>1</manvolnum> </citerefentry> explains in detail how this works."
+"The debugging symbols can be extracted from an object file using "
+"<command>objcopy --only-keep-debug</command>. Then the object file can be "
+"stripped, and <command>objcopy --add-gnu-debuglink</command> used to specify "
+"the path to the debugging symbol file. <citerefentry> "
+"<refentrytitle>objcopy</refentrytitle> <manvolnum>1</manvolnum> "
+"</citerefentry> explains in detail how this works."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1732
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1827
msgid ""
-"The dh_strip command in debhelper supports creating debug packages, and can "
-"take care of using objcopy to separate out the debugging symbols for you. "
-"If your package uses debhelper, all you need to do is call dh_strip "
-"--dbg-package=libfoo-dbg, and add an entry to debian/control for the debug "
-"package."
+"The <command>dh_strip</command> command in <systemitem "
+"role=\"package\">debhelper</systemitem> supports creating debug packages, "
+"and can take care of using <command>objcopy</command> to separate out the "
+"debugging symbols for you. If your package uses <systemitem "
+"role=\"package\">debhelper</systemitem>, all you need to do is call "
+"<command>dh_strip --dbg-package=libfoo-dbg</command>, and add an entry to "
+"<filename>debian/control</filename> for the debug package."
msgstr ""
-# type: Content of: <chapter><section><section><para>
-#: best-pkging-practices.dbk:1739
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1834
msgid ""
-"Note that the Debian package should depend on the package that it provides "
+"Note that the debug package should depend on the package that it provides "
"debugging symbols for, and this dependency should be versioned. For "
"example:"
msgstr ""
-# type: Content of: <chapter><section><section><screen>
-#: best-pkging-practices.dbk:1743
+#. type: Content of: <chapter><section><section><screen>
+#: best-pkging-practices.dbk:1838
#, no-wrap
-msgid ": libfoo-dbg (= ${binary:Version})"
+msgid "Depends: libfoo (= ${binary:Version})\n"
+msgstr ""
+
+#. type: Content of: <chapter><section><section><title>
+#: best-pkging-practices.dbk:1842
+msgid "Best practices for meta-packages"
+msgstr ""
+
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1844
+msgid ""
+"A meta-package is a mostly empty package that makes it easy to install a "
+"coherent set of packages that can evolve over time. It achieves this by "
+"depending on all the packages of the set. Thanks to the power of APT, the "
+"meta-package maintainer can adjust the dependencies and the user's system "
+"will automatically get the supplementary packages. The dropped packages that "
+"were automatically installed will be also be marked as removal candidates "
+"(and are even automatically removed by <command>aptitude</command>). "
+"<systemitem role=\"package\">gnome</systemitem> and <systemitem "
+"role=\"package\">linux-image-amd64</systemitem> are two examples of "
+"meta-packages (built by the source packages <systemitem "
+"role=\"package\">meta-gnome2</systemitem> and <systemitem "
+"role=\"package\">linux-latest</systemitem>)."
+msgstr ""
+
+#. type: Content of: <chapter><section><section><para>
+#: best-pkging-practices.dbk:1858
+msgid ""
+"The long description of the meta-package must clearly document its purpose "
+"so that the user knows what he will lose if he removes the package. Being "
+"explicit about the consequences is recommended. This is particularly "
+"important for meta-packages which are installed during initial installation "
+"and that have not been explicitly installed by the user. Those tend to be "
+"important to ensure smooth system upgrades and the user should be "
+"discouraged from uninstalling them to avoid potential breakages."
msgstr ""