/[ddp]/manuals/trunk/maint-guide/po4a/maint-guide.zh-cn.po
ViewVC logotype

Contents of /manuals/trunk/maint-guide/po4a/maint-guide.zh-cn.po

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8807 - (show annotations) (download)
Wed May 4 15:17:26 2011 UTC (2 years ago) by osamu
File size: 585843 byte(s)
More Justin's fix
1 # Chinese translations for maint-guide package
2 # maint-guide 软件包的简体中文翻译
3 # Copyright (C) 2010 Free Software Foundation, Inc.
4 # This file is distributed under the same license as the maint-guide package.
5 # Aron <happyaron.xu@gmail.com>, 2010.
6 #
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: maint-guide HEAD\n"
10 "POT-Creation-Date: 2011-05-05 00:11+0900\n"
11 "PO-Revision-Date: 2010-12-19 20:51+0900\n"
12 "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
13 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
14 "Language: zh_CN\n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: Attribute 'lang' of: <book>
20 msgid "en"
21 msgstr "zh-cn"
22
23 #. type: Content of: <book><title>
24 msgid "Debian New Maintainers' Guide"
25 msgstr "Debian 新维护人员手册"
26
27 #. type: Content of: <book><bookinfo><authorgroup><author><personname>
28 msgid "Josip Rodin"
29 msgstr ""
30
31 #. type: Content of: <book><bookinfo><authorgroup><author><email>
32 msgid "joy-mg@debian.org"
33 msgstr "joy-mg@debian.org"
34
35 #. type: Content of: <book><bookinfo><authorgroup><author><contrib>
36 msgid "original contents"
37 msgstr ""
38
39 #. type: Content of: <book><bookinfo><authorgroup><author><personname>
40 msgid "Osamu Aoki"
41 msgstr ""
42
43 #. type: Content of: <book><bookinfo><authorgroup><author><email>
44 msgid "osamu@debian.org"
45 msgstr "osamu@debian.org"
46
47 #. type: Content of: <book><bookinfo><authorgroup><author><contrib>
48 msgid "updated contents"
49 msgstr ""
50
51 #. type: Content of: <book><bookinfo><releaseinfo>
52 msgid "version &docversion;"
53 msgstr "版本 &docversion;"
54
55 #. type: Content of: <book><bookinfo>
56 msgid ""
57 "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> "
58 "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2011</year> "
59 "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> "
60 "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> "
61 "<holder>Raphaël Hertzog</holder></copyright>"
62 msgstr ""
63 "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> "
64 "<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2011</year> "
65 "<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> "
66 "<holder>Craig Small</holder></copyright> <copyright><year>2010</year> "
67 "<holder>Raphaël Hertzog</holder></copyright>"
68
69 #. type: Content of: <book><bookinfo><legalnotice><para>
70 msgid ""
71 "This document may be used under the terms the GNU General Public License "
72 "version 2 or higher."
73 msgstr "本文档可在 GNU 通用公共许可证第二版或更高版本的条款规定下使用。"
74
75 #. type: Content of: <book><bookinfo><legalnotice><para>
76 msgid "This document was made using with these two documents as examples:"
77 msgstr "本文档在撰写过程中参考了以下两篇文档:"
78
79 #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para>
80 msgid ""
81 "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar "
82 "Vyas."
83 msgstr ""
84 "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar "
85 "Vyas."
86
87 #. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para>
88 msgid ""
89 "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe."
90 msgstr ""
91 "The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe."
92
93 #. type: Content of: <book><chapter><title>
94 msgid "Getting started The Right Way"
95 msgstr "从一条正确的路开始"
96
97 #. type: Content of: <book><chapter><para>
98 #, fuzzy
99 #| msgid ""
100 #| "This document tries to describe building of a Debian package to the "
101 #| "common Debian user, and the prospectus developer. It uses pretty common "
102 #| "language, and it's well covered with working examples. There is an old "
103 #| "Roman saying, <emphasis>Longum iter est per preaecepta, breve et efficax "
104 #| "per exempla!</emphasis> (It's a long way by the rules, but short and "
105 #| "efficient with examples!)."
106 msgid ""
107 "This document tries to describe the building of a Debian package to ordinary "
108 "Debian users and prospective developers. It uses fairly non-technical "
109 "language, and it's well covered with working examples. There is an old "
110 "Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per "
111 "exempla</emphasis> (It's a long way by the rules, but short and efficient "
112 "with examples)."
113 msgstr ""
114 "本文档试图为普通 Debian 用户,和希望对 Debian 软件包有所了解的开发人员讲述如"
115 "何制作 Debian 软件包。它使用了通俗的语言,并辅以大量可用于实践的示例。有一句"
116 "古罗马谚语说得好:<emphasis>一例胜千言!</emphasis>"
117
118 #. type: Content of: <book><chapter><para><footnote><para>
119 #, fuzzy
120 #| msgid ""
121 #| "The document assumes you are using the <literal>squeeze</literal> "
122 #| "system. If you need to follow this text in the <literal>lenny</literal> "
123 #| "system, you must install backported <systemitem role=\"package\">dpkg</"
124 #| "systemitem> and <systemitem role=\"package\">debhelper</systemitem> "
125 #| "packages, at least."
126 msgid ""
127 "The document assumes you are using a <literal>&base-release;</literal> or "
128 "newer system. If you need to follow this text in an older system (including "
129 "an older Ubuntu system etc.), you must install backported <systemitem role="
130 "\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</"
131 "systemitem> packages, at least."
132 msgstr ""
133 "本文档默认您使用 <literal>squeeze</literal> 为操作系统。如果你需要在 "
134 "<literal>lenny</literal> 系统上使用本文档记述的方法,则至少必须安装 "
135 "backports 的 <systemitem role=\"package\">dpkg</systemitem> 和 <systemitem "
136 "role=\"package\">debhelper</systemitem> 软件包。"
137
138 #. type: Content of: <book><chapter><para>
139 #, fuzzy
140 #| msgid ""
141 #| "This document has been updated for the Debian <literal>squeeze</literal> "
142 #| "release. <placeholder type=\"footnote\" id=\"0\"/>"
143 msgid ""
144 "This document has been updated for the Debian <literal>&base-release;</"
145 "literal> release. <placeholder type=\"footnote\" id=\"0\"/>"
146 msgstr ""
147 "本文档已经为 Debian <literal>squeeze</literal> 进行了更新。 <placeholder "
148 "type=\"footnote\" id=\"0\"/>"
149
150 #. type: Content of: <book><chapter><para><footnote><para>
151 msgid ""
152 "You can learn about the basic handling of a Debian system from the <ulink "
153 "url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to "
154 "learn about Unix programming, too."
155 msgstr ""
156
157 #. type: Content of: <book><chapter><para>
158 #, fuzzy
159 #| msgid ""
160 #| "One of the things that makes Debian such a top-notch distribution is its "
161 #| "package system. While there is a vast quantity of software already in "
162 #| "the Debian format, sometimes you need to install software that isn't. "
163 #| "You may be wondering how you can make your own packages and perhaps you "
164 #| "think it is a very difficult task. Well, if you are a real novice on "
165 #| "Linux, it is hard, but if you were rookie, you wouldn't be reading this "
166 #| "doc now. :-) You do need to know a little about Unix programming but you "
167 #| "certainly don't need to be a wizard."
168 msgid ""
169 "One of the things that makes Debian such a top-notch distribution is its "
170 "package system. While there is a vast quantity of software already in the "
171 "Debian format, sometimes you need to install software that isn't. You may "
172 "be wondering how you can make your own packages; and perhaps you think it is "
173 "a very difficult task. Well, if you are a real novice on Linux, it is hard, "
174 "but if you were a rookie, you wouldn't be reading this document "
175 "now&nbsp;:-) You do need to know a little about Unix programming but you "
176 "certainly don't need to be a wizard. <placeholder type=\"footnote\" id="
177 "\"0\"/>"
178 msgstr ""
179 "Debian 能够成为一个顶级的发行版的原因之一就是它的软件包系统。尽管相当数量的软"
180 "件已经被以 Debian 格式打包,有时还是需要安装一些不是这一格式的软件。可能你会"
181 "为如何制作自己的软件包而迷惑,并可能认为这是很困难的任务。是的,如果你是一个 "
182 "Linux 初学者,那么这的确很难;不过如果你真的只是一个新手,现在也不会来读这篇"
183 "文档了。:-) 你的确需要对 Unix 编程有所了解,但显然不需要是这方面的天才。"
184
185 #. type: Content of: <book><chapter><para>
186 #, fuzzy
187 #| msgid ""
188 #| "One thing is certain, though: to properly create and maintain Debian "
189 #| "packages you need many hours. Make no mistake, for our system to work "
190 #| "the maintainers need to be both technically competent and diligent."
191 msgid ""
192 "One thing is certain, though: to properly create and maintain Debian "
193 "packages takes many hours. Make no mistake, for our system to work the "
194 "maintainers need to be both technically competent and diligent."
195 msgstr ""
196 "有一件事是非常明确的:创建并维护一个 Debian 软件包需要花费很多时间。为了能够"
197 "不犯错误,维护者需要良好的技术基础并十分勤奋。"
198
199 #. type: Content of: <book><chapter><para>
200 msgid ""
201 "If you need some help on packaging, please read <xref linkend=\"helpme\"/>."
202 msgstr "如果需要帮助,请阅读 <xref linkend=\"helpme\"/>。"
203
204 #. type: Content of: <book><chapter><para>
205 msgid ""
206 "Newer versions of this document should always be available online at <ulink "
207 "url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</"
208 "systemitem> package. The translations may be available in packages such as "
209 "<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that "
210 "this documentation may be slightly outdated."
211 msgstr ""
212
213 #. type: Content of: <book><chapter><para>
214 msgid ""
215 "Since this is a tutorial, I choose to explain each detailed step for some "
216 "important topics. Some of them may look irrelevant to you. Please be "
217 "patient. I have also intentionally skipped some corner cases and provided "
218 "only pointers to keep this document simple."
219 msgstr ""
220
221 #. type: Content of: <book><chapter><section><title>
222 msgid "Social dynamics of Debian"
223 msgstr ""
224
225 #. type: Content of: <book><chapter><section><para>
226 msgid ""
227 "Here are some observations of Debian's social dynamics, presented in the "
228 "hope that it will prepare you for interactions with Debian."
229 msgstr ""
230
231 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
232 msgid "We all are volunteers."
233 msgstr ""
234
235 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
236 msgid "You cannot impose on others what to do."
237 msgstr ""
238
239 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
240 msgid "You should be motivated to do things by yourself."
241 msgstr ""
242
243 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
244 msgid "Friendly cooperation is the driving force."
245 msgstr ""
246
247 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
248 msgid "Your contribution should not overstrain others."
249 msgstr ""
250
251 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
252 msgid "Your contribution is valuable only when others appreciate it."
253 msgstr ""
254
255 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
256 msgid ""
257 "Debian is not your school where you get automatic attention of teachers."
258 msgstr ""
259
260 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
261 msgid "You should be able to learn many things by yourself."
262 msgstr ""
263
264 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
265 msgid "Attention from other volunteers is a very scarce resource."
266 msgstr ""
267
268 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
269 msgid "Debian is constantly improving."
270 msgstr ""
271
272 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
273 msgid "You are expected to make high quality packages."
274 msgstr ""
275
276 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
277 msgid "You should adapt yourself to change."
278 msgstr ""
279
280 #. type: Content of: <book><chapter><section><para>
281 #, fuzzy
282 #| msgid "There are several role names used around Debian."
283 msgid ""
284 "There are several types of people interacting around Debian with different "
285 "roles."
286 msgstr "在 Debian 社区中有几个常见的角色。"
287
288 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
289 #, fuzzy
290 #| msgid ""
291 #| "<emphasis role=\"strong\">upstream author</emphasis>: The person who made "
292 #| "the original program."
293 msgid ""
294 "<emphasis role=\"strong\">upstream author</emphasis>: the person who made "
295 "the original program."
296 msgstr ""
297 "<emphasis role=\"strong\">上游作者(upstream author)</emphasis>:程序的最原始"
298 "作者。"
299
300 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
301 #, fuzzy
302 #| msgid ""
303 #| "<emphasis role=\"strong\">upstream maintainer</emphasis>: The person who "
304 #| "currently maintains the program."
305 msgid ""
306 "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who "
307 "currently maintains the program."
308 msgstr ""
309 "<emphasis role=\"strong\">上游维护者(upstream maintainer)</emphasis>:目前在"
310 "上游维护程序代码的人。"
311
312 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
313 #, fuzzy
314 #| msgid ""
315 #| "<emphasis role=\"strong\">maintainer</emphasis>: The person who makes "
316 #| "Debian package of the program."
317 msgid ""
318 "<emphasis role=\"strong\">maintainer</emphasis>: the person making the "
319 "Debian package of the program."
320 msgstr ""
321 "<emphasis role=\"strong\">维护者(maintainer)</emphasis>:制作该程序的 Debian "
322 "软件包的人。"
323
324 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
325 #, fuzzy
326 #| msgid ""
327 #| "<emphasis role=\"strong\">sponsor</emphasis>: The person who helps "
328 #| "maintainers to upload packages to the official Debian Package Archive "
329 #| "after checking their contents."
330 msgid ""
331 "<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers "
332 "to upload packages to the official Debian package archive (after checking "
333 "their contents)."
334 msgstr ""
335 "<emphasis role=\"strong\">保证人(sponsor)</emphasis>:检查内容后帮助维护者上"
336 "传软件包到 Debian 官方仓库的人。"
337
338 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
339 #, fuzzy
340 #| msgid ""
341 #| "<emphasis role=\"strong\">mentor</emphasis>: The person who helps novice "
342 #| "maintainers on packaging etc."
343 msgid ""
344 "<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice "
345 "maintainers with packaging etc."
346 msgstr ""
347 "<emphasis role=\"strong\">指导者(mentor)</emphasis>:帮助维护者熟悉和深入打包"
348 "的人。"
349
350 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
351 #, fuzzy
352 #| msgid ""
353 #| "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): The person "
354 #| "who is a member of Debian. He has full upload right to the official "
355 #| "Debian Package Archive."
356 msgid ""
357 "<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the "
358 "Debian project with full upload rights to the official Debian package "
359 "archive."
360 msgstr ""
361 "<emphasis role=\"strong\">Debian Developer</emphasis> (DD):Debian 社区的官方"
362 "成员。DD 拥有向 Debian 官方仓库上传的全部权限。"
363
364 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
365 #, fuzzy
366 #| msgid ""
367 #| "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): The person "
368 #| "who has limited upload right to the official Debian Package Archive."
369 msgid ""
370 "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with "
371 "limited upload rights to the official Debian package archive."
372 msgstr ""
373 "<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM):拥有对 Debian 官"
374 "方仓库部分上传权限的人。"
375
376 #. type: Content of: <book><chapter><section><para>
377 #, fuzzy
378 #| msgid ""
379 #| "You can not become an official <emphasis role=\"strong\">Debian "
380 #| "Developer</emphasis> (DD) over night because it takes more than technical "
381 #| "skill. Please do not be discouraged by this. If it is useful to others, "
382 #| "you can still upload your package either as a <emphasis role=\"strong"
383 #| "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</"
384 #| "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</"
385 #| "emphasis>. See <ulink url=\"&nm-join;\">Debian New Maintainers</ulink> "
386 #| "for more."
387 msgid ""
388 "Please note that you cannot become an official <emphasis role=\"strong"
389 "\">Debian Developer</emphasis> (DD) overnight, because it takes more than "
390 "technical skill. Please do not be discouraged by this. If it is useful to "
391 "others, you can still upload your package either as a <emphasis role=\"strong"
392 "\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</"
393 "emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>."
394 msgstr ""
395 "你不可能在一夜之间成为 <emphasis role=\"strong\">Debian Developer</emphasis> "
396 "(DD),因为一个 DD 所需要的远不只是技术能力,请不要因此感觉到挫败或沮丧。如果"
397 "你的软件对其他人有用,你可以作为一个 <emphasis role=\"strong\">维护者"
398 "(maintainer)</emphasis> 通过 一位 <emphasis role=\"strong\">保证人(sponsor)</"
399 "emphasis> 来上传软件,或者申请成为一位 <emphasis role=\"strong\">Debian "
400 "Maintainer</emphasis>。详见 <ulink url=\"&nm-join;\">Debian New Maintainers</"
401 "ulink>。"
402
403 #. type: Content of: <book><chapter><section><para>
404 #, fuzzy
405 #| msgid ""
406 #| "Please note that you do not need to create any new package to become an "
407 #| "official Debian Developer. Contributing to the existing packages can "
408 #| "provide a path to become an official Debian Developer too. There are "
409 #| "many packages waiting for good maintainers (see <xref linkend=\"choose\"/"
410 #| ">)."
411 msgid ""
412 "Please note that you do not need to create any new package to become an "
413 "official Debian Developer. Contributing to the existing packages can "
414 "provide a path to becoming an official Debian Developer too. There are many "
415 "packages waiting for good maintainers (see <xref linkend=\"choose\"/>)."
416 msgstr ""
417 "请注意,要成为一位正式的 Debian Developer 并不一定要创建新软件包。对已有软件"
418 "做出贡献也是成为正式的 Debian Developer 的路径。眼下正有很多软件包正在等待一"
419 "个好的维护者对其做出贡献。(参看 <xref linkend=\"choose\"/>)"
420
421 #. type: Content of: <book><chapter><section><para>
422 msgid ""
423 "Since we focus only on technical aspects of packaging in this document, "
424 "please refer to the following to learn how Debian functions and how you can "
425 "get involved."
426 msgstr ""
427
428 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
429 msgid ""
430 "<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy"
431 "\", and democracy</ulink> (Introductory slides)"
432 msgstr ""
433
434 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
435 #, fuzzy
436 #| msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>"
437 msgid ""
438 "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)"
439 msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>"
440
441 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
442 #, fuzzy
443 #| msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>"
444 msgid ""
445 "<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - "
446 "\"Contributing to the Debian Project\"</ulink> (semi-official)"
447 msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>"
448
449 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
450 msgid ""
451 "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> "
452 "(supplemental)"
453 msgstr ""
454
455 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
456 #, fuzzy
457 #| msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>"
458 msgid "<ulink url=\"&nm-do;\">Debian New Maintainer site</ulink> (official)"
459 msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>"
460
461 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
462 msgid ""
463 "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)"
464 msgstr ""
465
466 #. type: Content of: <book><chapter><section><title>
467 #, fuzzy
468 #| msgid "Programs you need for development"
469 msgid "Programs needed for development"
470 msgstr "开发时需要的软件"
471
472 #. type: Content of: <book><chapter><section><para>
473 msgid ""
474 "Before you start anything, you should make sure that you have properly "
475 "installed some additional packages needed for development. Note that the "
476 "list doesn't contain any packages marked <literal>essential</literal> or "
477 "<literal>required</literal> - we expect that you have those installed "
478 "already."
479 msgstr ""
480 "在开始之前,你需要确认你是否已经正确安装了开发所需要的附加软件包。注意这些软"
481 "件包不包含任何已经被标记为 <literal>essential</literal> 或 "
482 "<literal>required</literal> —— 我们假设你已经安装了它们。"
483
484 #. type: Content of: <book><chapter><section><para>
485 #, fuzzy
486 #| msgid ""
487 #| "The following packages come with the standard Debian installation, so you "
488 #| "probably have them already (along with any additional packages they "
489 #| "depend on). Still, you should check it with <literal>aptitude show "
490 #| "<replaceable>package</replaceable></literal>."
491 msgid ""
492 "The following packages come with the standard Debian installation, so you "
493 "probably have them already (along with any additional packages they depend "
494 "on). Still, you should check it with <literal>aptitude show "
495 "<replaceable>package</replaceable></literal> or with <literal>dpkg -s "
496 "<replaceable>package</replaceable></literal>."
497 msgstr ""
498 "以下这些软件包已经随标准的 Debian 安装而在系统中,所以你可能不需要再动手安装"
499 "它们(以及任何附加的依赖软件包)。然而,你还是应该用 <literal>aptitude show "
500 "<replaceable>package</replaceable></literal> 来检查一下。"
501
502 #. type: Content of: <book><chapter><section><para>
503 msgid ""
504 "The most important package to install on your development system is the "
505 "<systemitem role=\"package\">build-essential</systemitem> package. Once you "
506 "try to install that, it will <emphasis>pull in</emphasis> other packages "
507 "required to have a basic build environment."
508 msgstr ""
509
510 #. type: Content of: <book><chapter><section><para>
511 #, fuzzy
512 #| msgid ""
513 #| "For some types of packages, that is all you will require, however there "
514 #| "is another set of packages that while not essential for all package "
515 #| "builds are useful to have install or may be required by your package:"
516 msgid ""
517 "For some types of packages, that is all you will require; however, there is "
518 "another set of packages that while not essential for all package builds are "
519 "useful to have installed or may be required by your package:"
520 msgstr ""
521 "对于某些类型的软件,以上的就是所需要的全部。然而还有一组软件包虽不是对于所有"
522 "软件包都必须,却可能对你有用或被你的软件包所需要:"
523
524 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
525 #, fuzzy
526 #| msgid ""
527 #| "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role="
528 #| "\"package\">automake</systemitem> and <systemitem role=\"package"
529 #| "\">autotools-dev</systemitem> - many newer programs use configure scripts "
530 #| "and <filename>Makefile</filename> files preprocessed with help of "
531 #| "programs like these. (see <literal>info autoconf</literal>, "
532 #| "<literal>info automake</literal>). The <systemitem role=\"package"
533 #| "\">autotools-dev</systemitem> keeps up-to-date versions of certain auto "
534 #| "files and has documentation about the best way to use those files."
535 msgid ""
536 "<systemitem role=\"package\">autoconf</systemitem>, <systemitem role="
537 "\"package\">automake</systemitem>, and <systemitem role=\"package"
538 "\">autotools-dev</systemitem> - many newer programs use configure scripts "
539 "and <filename>Makefile</filename> files preprocessed with the help of "
540 "programs like these (see <literal>info autoconf</literal>, <literal>info "
541 "automake</literal>). <systemitem role=\"package\">autotools-dev</"
542 "systemitem> keeps up-to-date versions of certain auto files and has "
543 "documentation about the best way to use those files."
544 msgstr ""
545 "<systemitem role=\"package\">autoconf</systemitem>、<systemitem role="
546 "\"package\">automake</systemitem> 和 <systemitem role=\"package\">autotools-"
547 "dev</systemitem> - 很多新程序使用 configure 脚本和 <filename>Makefile</"
548 "filename> 文件来帮助预处理程序。(参看 <literal>info autoconf</literal>、"
549 "<literal>info automake</literal>)。 <systemitem role=\"package\">autotools-"
550 "dev</systemitem> 则用于保持指定的自动配置文件为最新,并带有关于使用那些文件的"
551 "最佳方法的文档。"
552
553 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para>
554 #, fuzzy
555 #| msgid ""
556 #| "There are few similar but specialized packages such as <systemitem role="
557 #| "\"package\">dh-make-perl</systemitem>, <systemitem role=\"package\">dh-"
558 #| "make-php</systemitem>, etc."
559 msgid ""
560 "There are also some more specialized but similar packages such as "
561 "<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role="
562 "\"package\">dh-make-php</systemitem>, etc."
563 msgstr ""
564 "还有几个类似但更针对某一类软件的软件包,如 <systemitem role=\"package\">dh-"
565 "make-perl</systemitem>、<systemitem role=\"package\">dh-make-php</"
566 "systemitem> 等。"
567
568 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
569 #, fuzzy
570 #| msgid ""
571 #| "<systemitem role=\"package\">dh-make</systemitem> and <systemitem role="
572 #| "\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-"
573 #| "make</systemitem> is necessary to create the skeleton of our example "
574 #| "package, and it will use some of the <systemitem role=\"package"
575 #| "\">debhelper</systemitem> tools for creating packages. They are not "
576 #| "essential for creation of packages, but are <emphasis>highly</emphasis> "
577 #| "recommended for new maintainers. It makes the whole process very much "
578 #| "easier to start, and control afterwards. (see <citerefentry> "
579 #| "<refentrytitle>dh_make</refentrytitle> <manvolnum>1</manvolnum> </"
580 #| "citerefentry>, <citerefentry> <refentrytitle>debhelper</refentrytitle> "
581 #| "<manvolnum>1</manvolnum> </citerefentry>, <filename>/usr/share/doc/"
582 #| "debhelper/README</filename>) <placeholder type=\"footnote\" id=\"0\"/>"
583 msgid ""
584 "<systemitem role=\"package\">debhelper</systemitem> and <systemitem role="
585 "\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</"
586 "systemitem> is necessary to create the skeleton of our example package, and "
587 "it will use some of the <systemitem role=\"package\">debhelper</systemitem> "
588 "tools for creating packages. They are not essential for this purpose, but "
589 "are <emphasis>highly</emphasis> recommended for new maintainers. It makes "
590 "the whole process very much easier to start, and to control afterwards. "
591 "(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>1</"
592 "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</"
593 "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type="
594 "\"footnote\" id=\"0\"/>"
595 msgstr ""
596 "<systemitem role=\"package\">dh-make</systemitem> 和 <systemitem role="
597 "\"package\">debhelper</systemitem> - <systemitem role=\"package\">dh-make</"
598 "systemitem> 是用于创建我们示例软件包骨架所必须的,它会使用 <systemitem role="
599 "\"package\">debhelper</systemitem> 中的一些工具来创建软件包。他们不是创建软件"
600 "包所必须的,但对新维护人员而言,我们 <emphasis>强烈推荐</emphasis> 使用。它使"
601 "得整个过程极为简化,并易于在将来维护。(参看 <citerefentry> "
602 "<refentrytitle>dh_make</refentrytitle> <manvolnum>1</manvolnum> </"
603 "citerefentry>、<citerefentry> <refentrytitle>debhelper</refentrytitle> "
604 "<manvolnum>1</manvolnum> </citerefentry>、<filename>/usr/share/doc/debhelper/"
605 "README</filename>) <placeholder type=\"footnote\" id=\"0\"/>"
606
607 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
608 #, fuzzy
609 #| msgid ""
610 #| "<systemitem role=\"package\">devscripts</systemitem> - this package "
611 #| "contains some nice and useful scripts that can be helpful to the "
612 #| "maintainers, but they are also not necessary for building packages. "
613 #| "Packages recommended and suggested by this package are worth looking "
614 #| "into. (see <filename>/usr/share/doc/devscripts/README.gz</filename>)"
615 msgid ""
616 "<systemitem role=\"package\">devscripts</systemitem> - this package contains "
617 "some useful scripts that can be helpful for maintainers, but they are also "
618 "not necessary for building packages. Packages recommended and suggested by "
619 "this package are worth looking into. (See <ulink url=\"&devscripts-readme;"
620 "\"/>.)"
621 msgstr ""
622 "<systemitem role=\"package\">devscripts</systemitem> - 此软件包提供了一些非常"
623 "好非常有用的脚本帮助维护者,但他们并非构建软件包所必须。此软件包所推荐或建议"
624 "的软件包都值得一看。(参看 <filename>/usr/share/doc/devscripts/README.gz</"
625 "filename>)"
626
627 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
628 #, fuzzy
629 #| msgid ""
630 #| "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets "
631 #| "you emulate being root which is necessary for some parts of the build "
632 #| "process. (see <citerefentry> <refentrytitle>fakeroot</refentrytitle> "
633 #| "<manvolnum>1</manvolnum> </citerefentry>)"
634 msgid ""
635 "<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you "
636 "emulate being root which is necessary for some parts of the build process. "
637 "(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</"
638 "manvolnum> </citerefentry>.)"
639 msgstr ""
640 "<systemitem role=\"package\">fakeroot</systemitem> - 这个工具集使你可以在编译"
641 "过程中必要的时候用普通用户模拟 root 用户环境。(参看 <citerefentry> "
642 "<refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </"
643 "citerefentry>)"
644
645 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
646 #, fuzzy
647 #| msgid ""
648 #| "<systemitem role=\"package\">file</systemitem> - this handy program can "
649 #| "determine what type a file is. (see <citerefentry> <refentrytitle>file</"
650 #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)"
651 msgid ""
652 "<systemitem role=\"package\">file</systemitem> - this handy program can "
653 "determine what type a file is. (See <citerefentry> <refentrytitle>file</"
654 "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)"
655 msgstr ""
656 "<systemitem role=\"package\">file</systemitem> - 这个小程序可以检测文件的类"
657 "型。(参看 <citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</"
658 "manvolnum> </citerefentry>)"
659
660 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
661 #, fuzzy
662 #| msgid ""
663 #| "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 "
664 #| "compiler, necessary if your program is written in Fortran. (see "
665 #| "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</"
666 #| "manvolnum> </citerefentry>)"
667 msgid ""
668 "<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 "
669 "compiler, necessary if your program is written in Fortran. (See "
670 "<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</"
671 "manvolnum> </citerefentry>.)"
672 msgstr ""
673 "<systemitem role=\"package\">gfortran</systemitem> - GNU Fortran 95 编译器,"
674 "如果你的程序是用 Fortran 编写的则必须此软件包完成编译。(参看 <citerefentry> "
675 "<refentrytitle>gfortran</refentrytitle> <manvolnum>1</manvolnum> </"
676 "citerefentry>)"
677
678 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
679 #, fuzzy
680 #| msgid ""
681 #| "<systemitem role=\"package\">git</systemitem> - this package provides "
682 #| "popular version control system designed to handle very large projects "
683 #| "with speed and efficiency; it is used for many high profile open source "
684 #| "projects, most notably the Linux kernel. (see <citerefentry> "
685 #| "<refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </"
686 #| "citerefentry>, <filename>/usr/share/doc/git-doc/index.html</filename>)"
687 msgid ""
688 "<systemitem role=\"package\">git</systemitem> - this package provides a "
689 "popular version control system designed to handle very large projects with "
690 "speed and efficiency; it is used for many high profile open source projects, "
691 "most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</"
692 "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <ulink url=\"&git-"
693 "doc;\">git Manual</ulink>.)"
694 msgstr ""
695 "<systemitem role=\"package\">git</systemitem> - 此软件包提供了用于快捷处理大"
696 "型项目的著名版本控制系统 - git。它被广泛用于各种开源项目,最著名的是 Linux 内"
697 "核项目。(参看 <citerefentry> <refentrytitle>git</refentrytitle> "
698 "<manvolnum>1</manvolnum> </citerefentry>、<filename>/usr/share/doc/git-doc/"
699 "index.html</filename>)"
700
701 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
702 #, fuzzy
703 #| msgid ""
704 #| "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you "
705 #| "to digitally <emphasis>sign</emphasis> packages. This is especially "
706 #| "important if you want to distribute it to other people, and you will "
707 #| "certainly be doing that when your work gets included in the Debian "
708 #| "distribution. (see <citerefentry> <refentrytitle>gpg</refentrytitle> "
709 #| "<manvolnum>1</manvolnum> </citerefentry>)"
710 msgid ""
711 "<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to "
712 "digitally <emphasis>sign</emphasis> packages. This is especially important "
713 "if you want to distribute it to other people, and you will certainly be "
714 "doing that when your work gets included in the Debian distribution. (See "
715 "<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </"
716 "citerefentry>.)"
717 msgstr ""
718 "<systemitem role=\"package\">gnupg</systemitem> - 使你可以使用 <emphasis>数字"
719 "签名</emphasis> 签署你的软件包。这在当你想把它分发给其他人时特别重要。如果你"
720 "要把你的工作加入到 Debian 发行版中,这是必须的步骤。(参看 <citerefentry> "
721 "<refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)"
722
723 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
724 #, fuzzy
725 #| msgid ""
726 #| "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, "
727 #| "necessary if your program is written in Pascal. Worthy of note here is "
728 #| "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal "
729 #| "Compiler, which is also good at this task. (see <citerefentry> "
730 #| "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </"
731 #| "citerefentry>, <citerefentry> <refentrytitle>ppc386</refentrytitle> "
732 #| "<manvolnum>1</manvolnum> </citerefentry>)"
733 msgid ""
734 "<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, "
735 "necessary if your program is written in Pascal. Worthy of note here is "
736 "<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal "
737 "Compiler, which is also good at this task. (See <citerefentry> "
738 "<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, "
739 "<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</"
740 "manvolnum> </citerefentry>.)"
741 msgstr ""
742 "<systemitem role=\"package\">gpc</systemitem> - GNU Pascal 编译器。如果你的程"
743 "序是用 Pascal 写的则需要此软件包。值得一提的是 <systemitem role=\"package"
744 "\">fp-compiler</systemitem>,Free Pascal 编译器(FPC),也能够很好地胜任。(参"
745 "看 <citerefentry> <refentrytitle>gpc</refentrytitle> <manvolnum>1</"
746 "manvolnum> </citerefentry>、<citerefentry> <refentrytitle>ppc386</"
747 "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)"
748
749 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
750 #, fuzzy
751 #| msgid ""
752 #| "<systemitem role=\"package\">lintian</systemitem> - this is the Debian "
753 #| "package checker that can let you know of any common mistakes after you "
754 #| "build the package, and explains the errors found. (see <citerefentry> "
755 #| "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </"
756 #| "citerefentry>, <filename>/usr/share/doc/lintian/lintian.html/index.html</"
757 #| "filename>)"
758 msgid ""
759 "<systemitem role=\"package\">lintian</systemitem> - this is the Debian "
760 "package checker, which can let you know of any common mistakes after you "
761 "build the package, and explains the errors found. (See <citerefentry> "
762 "<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </"
763 "citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)"
764 msgstr ""
765 "<systemitem role=\"package\">lintian</systemitem> - Debian 软件包检查工具,使"
766 "你可以在编译软件包后知道它是否有常见的错误,并对找到的错误进行解释。(参看 "
767 "<citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</"
768 "manvolnum> </citerefentry>、<filename>/usr/share/doc/lintian/lintian.html/"
769 "index.html</filename>)"
770
771 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
772 #, fuzzy
773 #| msgid ""
774 #| "<systemitem role=\"package\">patch</systemitem> - this very useful "
775 #| "utility will take a file containing a difference listing (produced by the "
776 #| "<command>diff</command> program) and apply it to the original file, "
777 #| "producing a patched version. (see <citerefentry> <refentrytitle>patch</"
778 #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)"
779 msgid ""
780 "<systemitem role=\"package\">patch</systemitem> - this very useful utility "
781 "will take a file containing a difference listing (produced by the "
782 "<command>diff</command> program) and apply it to the original file, "
783 "producing a patched version. (See <citerefentry> <refentrytitle>patch</"
784 "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)"
785 msgstr ""
786 "<systemitem role=\"package\">patch</systemitem> - 这是一个非常有用的工具,它"
787 "可以把 <command>diff</command> 程序生成的差异清单文件应用到原先的文件上,从而"
788 "生成一个补丁版本。(参看 <citerefentry> <refentrytitle>patch</refentrytitle> "
789 "<manvolnum>1</manvolnum> </citerefentry>)"
790
791 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
792 msgid ""
793 "<systemitem role=\"package\">patchutils</systemitem> - this package contains "
794 "some utilities to work with patches such as the <command>lsdiff</command>, "
795 "<command>interdiff</command> and <command>filterdiff</command> commands."
796 msgstr ""
797 "<systemitem role=\"package\">patchutils</systemitem> - 此软件包提供了一些可以"
798 "帮助处理补丁的工具,如 <command>lsdiff</command>、<command>interdiff</"
799 "command> 和 <command>filterdiff</command> 命令。"
800
801 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
802 msgid ""
803 "<systemitem role=\"package\">pbuilder</systemitem> - this package contains "
804 "programs which are used for creating and maintaining <command>chroot</"
805 "command> environment. Building Debian package in this <command>chroot</"
806 "command> environment verifies the proper build dependency and avoid FTBFS "
807 "(Fails To Build From Source) bugs. (see <citerefentry> "
808 "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </"
809 "citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> "
810 "<manvolnum>1</manvolnum> </citerefentry>)"
811 msgstr ""
812 "<systemitem role=\"package\">pbuilder</systemitem> - 这个软件包提供了创建和维"
813 "护 <command>chroot</command> 环境。在此 <command>chroot</command> 环境中编译 "
814 "Debian 软件包可以检查编译依赖是否合适并避免 FTBFS (Fails To Build From "
815 "Source,从源代码编译失败)的 Bug。(参看 <citerefentry> "
816 "<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </"
817 "citerefentry> 和 <citerefentry> <refentrytitle>pdebuild</refentrytitle> "
818 "<manvolnum>1</manvolnum> </citerefentry>)"
819
820 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
821 #, fuzzy
822 #| msgid ""
823 #| "<systemitem role=\"package\">python</systemitem> - Python is another of "
824 #| "the most used interpreted scripting languages on the Debian system that "
825 #| "combines remarkable power with very clear syntax. (see <citerefentry> "
826 #| "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </"
827 #| "citerefentry>)"
828 msgid ""
829 "<systemitem role=\"package\">perl</systemitem> - Perl is one of the most "
830 "used interpreted scripting languages on today's Unix-like systems, often "
831 "referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> "
832 "<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </"
833 "citerefentry>.)"
834 msgstr ""
835 "<systemitem role=\"package\">python</systemitem> - Python 是 Debian 系统中另"
836 "一个最常用的解释型脚本语言,它拥有着可圈可点的强大功能和十分清晰的语法。(参"
837 "看 <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</"
838 "manvolnum> </citerefentry>)"
839
840 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
841 #, fuzzy
842 #| msgid ""
843 #| "<systemitem role=\"package\">python</systemitem> - Python is another of "
844 #| "the most used interpreted scripting languages on the Debian system that "
845 #| "combines remarkable power with very clear syntax. (see <citerefentry> "
846 #| "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </"
847 #| "citerefentry>)"
848 msgid ""
849 "<systemitem role=\"package\">python</systemitem> - Python is another of the "
850 "most used interpreted scripting languages on the Debian system, combining "
851 "remarkable power with very clear syntax. (See <citerefentry> "
852 "<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </"
853 "citerefentry>.)"
854 msgstr ""
855 "<systemitem role=\"package\">python</systemitem> - Python 是 Debian 系统中另"
856 "一个最常用的解释型脚本语言,它拥有着可圈可点的强大功能和十分清晰的语法。(参"
857 "看 <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum>1</"
858 "manvolnum> </citerefentry>)"
859
860 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
861 #, fuzzy
862 #| msgid ""
863 #| "<systemitem role=\"package\">quilt</systemitem> - this package helps you "
864 #| "to manage a series of patches by keeping track of the changes each of "
865 #| "them makes. They are logically organized as a stack, and you can apply "
866 #| "(=push), un-apply (=pop), refresh them easily by traveling into the "
867 #| "stack. (see <citerefentry> <refentrytitle>quilt</refentrytitle> "
868 #| "<manvolnum>1</manvolnum> </citerefentry>, <filename>/usr/share/doc/quilt/"
869 #| "README.Debian</filename>)"
870 msgid ""
871 "<systemitem role=\"package\">quilt</systemitem> - this package helps you to "
872 "manage large numbers of patches by keeping track of the changes each patch "
873 "makes. Patches can be applied, un-applied, refreshed, and more. (See "
874 "<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</"
875 "manvolnum></citerefentry>, <ulink url=\"&quilt-pdf;\">quilt.pdf</ulink>.)"
876 msgstr ""
877 "<systemitem role=\"package\">quilt</systemitem> - 此软件包帮助你管理一系列的"
878 "补丁。它们被以逻辑栈的方式组织在一起。你可以 apply (=push)、un-apply (=pop) "
879 "或简单地刷新它们然后再放入栈内。(参看 <citerefentry> <refentrytitle>quilt</"
880 "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>、<filename>/usr/"
881 "share/doc/quilt/README.Debian</filename>)"
882
883 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
884 #, fuzzy
885 #| msgid ""
886 #| "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, "
887 #| "usually those made for X11, also use these programs to generate "
888 #| "<filename>Makefile</filename> files from sets of macro functions. (see "
889 #| "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</"
890 #| "manvolnum> </citerefentry>, <citerefentry> <refentrytitle>xmkmf</"
891 #| "refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)"
892 msgid ""
893 "<systemitem role=\"package\">xutils-dev</systemitem> - some programs, "
894 "usually those made for X11, also use these programs to generate "
895 "<filename>Makefile</filename> files from sets of macro functions. (See "
896 "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> "
897 "</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> "
898 "<manvolnum>1</manvolnum> </citerefentry>.)"
899 msgstr ""
900 "<systemitem role=\"package\">xutils-dev</systemitem> - 一些通常用于 X11 的程"
901 "序,用于使用其宏功能生成 <filename>Makefile</filename> 文件。(参看 "
902 "<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> "
903 "</citerefentry>、<citerefentry> <refentrytitle>xmkmf</refentrytitle> "
904 "<manvolnum>1</manvolnum> </citerefentry>)"
905
906 #. type: Content of: <book><chapter><section><para>
907 #, fuzzy
908 #| msgid ""
909 #| "The short descriptions that are given above only serve to introduce you "
910 #| "to what each package does. Before continuing please thoroughly read the "
911 #| "documentation of each program, at least, for the standard usage. It may "
912 #| "seem like heavy going now, but later on you'll be <emphasis>very</"
913 #| "emphasis> glad you read it."
914 msgid ""
915 "The short descriptions that are given above only serve to introduce you to "
916 "what each package does. Before continuing please read the documentation of "
917 "each relevant program including ones installed through the package "
918 "dependency such as <command>make</command>, at least, for the standard "
919 "usage. It may seem like heavy going now, but later on you'll be "
920 "<emphasis>very</emphasis> glad you read it. If you have specific questions "
921 "later, I would suggest re-reading the documents mentioned above."
922 msgstr ""
923 "以上给出的简短描述仅仅是为了使你对这些软件包有一个基本的印象。在继续前请详细"
924 "阅读每个程序的文档,至少了解其一般的用途和用法。现在看来这是一项耗时巨大的任"
925 "务,但在接下来的工作中你将为你阅读了它们而感觉到 <emphasis>非常</emphasis> 愉"
926 "快。"
927
928 #. type: Content of: <book><chapter><section><title>
929 #, fuzzy
930 #| msgid "Programs you need for development"
931 msgid "Documentation needed for development"
932 msgstr "开发时需要的软件"
933
934 #. type: Content of: <book><chapter><section><para>
935 msgid ""
936 "The following is the <emphasis>very important</emphasis> documentation which "
937 "you should read along with this document:"
938 msgstr ""
939 "以下是 <emphasis>非常重要</emphasis> 的文档,你应该在读本文档时同时参看它们:"
940
941 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
942 #, fuzzy
943 #| msgid ""
944 #| "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url="
945 #| "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of "
946 #| "the structure and contents of the Debian archive, several OS design "
947 #| "issues, the Filesystem Hierarchy Standard (which says where each file and "
948 #| "directory should be) etc. For you, the most important thing is that it "
949 #| "describes requirements that each package must satisfy to be included in "
950 #| "the distribution (see <filename>/usr/share/doc/debian-policy/policy.html/"
951 #| "index.html</filename>)."
952 msgid ""
953 "<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url="
954 "\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of "
955 "the structure and contents of the Debian archive, several OS design issues, "
956 "the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which "
957 "says where each file and directory should be), etc. For you, the most "
958 "important thing is that it describes requirements that each package must "
959 "satisfy to be included in the distribution. (See the local copies of <ulink "
960 "url=\"&policy-pdf;\">policy.pdf</ulink> and <ulink url=\"&fhs-pdf;\">fhs-2.3."
961 "pdf</ulink>.)"
962 msgstr ""
963 "<systemitem role=\"package\">debian-policy</systemitem> - <ulink url="
964 "\"&debian-policy;\">Debian Policy Manual</ulink> 包含了对 Debian 软件仓库、操"
965 "作系统设计事宜、文件系统层级标准(FHS,Filesystem Hierarchy Standard)(讲述每个"
966 "文件和目录应该放在哪里)等的描述。对于你而言,最重要的是它描述了软件包要进入官"
967 "方仓库前必须满足的条件。(参看 <filename>/usr/share/doc/debian-policy/policy."
968 "html/index.html</filename>)"
969
970 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
971 #, fuzzy
972 #| msgid ""
973 #| "<systemitem role=\"package\">developers-reference</systemitem> - the "
974 #| "<ulink url=\"&developers-reference;\">Debian Developer's Reference</"
975 #| "ulink> describes all matters not specifically about the technical details "
976 #| "of packaging, like the structure of the archive, how to rename, orphan, "
977 #| "pick up packages, how to do NMUs, how to manage bugs, best packaging "
978 #| "practices, when and where to upload etc. (see <filename>/usr/share/doc/"
979 #| "developers-reference/</filename>)."
980 msgid ""
981 "<systemitem role=\"package\">developers-reference</systemitem> - the <ulink "
982 "url=\"&developers-reference;\">Debian Developer's Reference</ulink> "
983 "describes all matters not specifically about the technical details of "
984 "packaging, like the structure of the archive, how to rename, orphan, or "
985 "adopt packages, how to do NMUs, how to manage bugs, best packaging "
986 "practices, when and where to upload etc. (See the local copy of <ulink url="
987 "\"&developers-refpdf;\">developers-reference.pdf</ulink>.)"
988 msgstr ""
989 "<systemitem role=\"package\">developers-reference</systemitem> - <ulink url="
990 "\"&developers-reference;\">Debian Developer's Reference</ulink> 描述了打包所"
991 "需的包含技术细节在内的全部详细信息,如仓库结构、如何重命名/丢弃/接手软件包、"
992 "如何进行 NMU(非维护者上传)、如何管理 Bug 以及打包最佳经验、何时向何处上传等。"
993 "(参看 <filename>/usr/share/doc/developers-reference/</filename>)"
994
995 #. type: Content of: <book><chapter><section><para>
996 #, fuzzy
997 #| msgid ""
998 #| "The following is the <emphasis>very important</emphasis> documentation "
999 #| "which you should read along with this document:"
1000 msgid ""
1001 "The following is the <emphasis>important</emphasis> documentation which you "
1002 "should read along with this document:"
1003 msgstr ""
1004 "以下是 <emphasis>非常重要</emphasis> 的文档,你应该在读本文档时同时参看它们:"
1005
1006 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1007 #, fuzzy
1008 #| msgid ""
1009 #| "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides "
1010 #| "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build "
1011 #| "System known as the GNU Autotools</ulink> whose most important components "
1012 #| "are Autoconf, Automake, Libtool, and gettext."
1013 msgid ""
1014 "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a "
1015 "very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build "
1016 "System known as the GNU Autotools</ulink> whose most important components "
1017 "are Autoconf, Automake, Libtool, and gettext."
1018 msgstr ""
1019 "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> 为 <ulink url="
1020 "\"&gnu-build-system;\">the GNU Build System known as the GNU Autotools</"
1021 "ulink> 中最重要的工具 —— Autoconf、Automake、Libtool 和 gettext 提供了很好的"
1022 "文档。"
1023
1024 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1025 #, fuzzy
1026 #| msgid ""
1027 #| "<systemitem role=\"package\">gnu-standards</systemitem> - this package "
1028 #| "contains two pieces of documentation from the GNU project: <ulink url="
1029 #| "\"&gnu-standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-"
1030 #| "maintainer;\">Information for Maintainers of GNU Software</ulink>. "
1031 #| "Although Debian does not require these to be followed, these are still "
1032 #| "helpful as guidelines and common sense. (see <filename>/usr/share/doc/"
1033 #| "gnu-standards/standards.html</filename> and <filename>/usr/share/doc/gnu-"
1034 #| "standards/maintain.html</filename>)."
1035 msgid ""
1036 "<systemitem role=\"package\">gnu-standards</systemitem> - this package "
1037 "contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-"
1038 "standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;"
1039 "\">Information for Maintainers of GNU Software</ulink>. Although Debian "
1040 "does not require these to be followed, these are still helpful as guidelines "
1041 "and common sense. (See the local copies of <ulink url=\"&gnu-standard-pdf;"
1042 "\">standards.pdf</ulink> and <ulink url=\"&gnu-maintainer-pdf;\">maintain."
1043 "pdf</ulink>.)"
1044 msgstr ""
1045 "<systemitem role=\"package\">gnu-standards</systemitem> - 此软件包包含了 GNU "
1046 "项目中的两篇文档: <ulink url=\"&gnu-standard;\">GNU Coding Standards</"
1047 "ulink> 和 <ulink url=\"&gnu-maintainer;\">Information for Maintainers of GNU "
1048 "Software</ulink>。尽管 Debian 不要求遵守这些规范,它们仍然很有帮助。(参看 "
1049 "<filename>/usr/share/doc/gnu-standards/standards.html</filename> 和 "
1050 "<filename>/usr/share/doc/gnu-standards/maintain.html</filename>)"
1051
1052 #. type: Content of: <book><chapter><section><para>
1053 #, fuzzy
1054 #| msgid ""
1055 #| "If this document contradicts with what the Debian Policy Manual and "
1056 #| "Debian Developer's Reference describes, they are correct. Please file a "
1057 #| "bug report on the <systemitem role=\"package\">maint-guide</systemitem> "
1058 #| "package."
1059 msgid ""
1060 "If this document contradicts any of the documents mentioned above, they are "
1061 "correct. Please file a bug report on the <systemitem role=\"package\">maint-"
1062 "guide</systemitem> package using <command>reportbug</command>."
1063 msgstr ""
1064 "若本文档所叙述的内容与 Debian Policy Manual 或 Debian Developer's Reference "
1065 "有不符,则按照后两者的要求进行,并向 <systemitem role=\"package\">maint-"
1066 "guide</systemitem> 软件包提交 Bug 报告。"
1067
1068 #. type: Content of: <book><chapter><section><title>
1069 msgid "Where to ask for help"
1070 msgstr "到何处寻求帮助"
1071
1072 #. type: Content of: <book><chapter><section><para>
1073 msgid ""
1074 "Before you decide to ask your question in some public place, please read the "
1075 "fine documentation."
1076 msgstr ""
1077
1078 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1079 #, fuzzy
1080 #| msgid "<filename><replaceable>package</replaceable>.info</filename> file"
1081 msgid ""
1082 "files in <filename>/usr/share/doc/<replaceable>package</replaceable></"
1083 "filename> for all pertinent packages"
1084 msgstr "<filename><replaceable>package</replaceable>.info</filename> 文件"
1085
1086 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1087 msgid ""
1088 "contents of <literal><command>man</command> <replaceable>command</"
1089 "replaceable></literal> for all pertinent commands"
1090 msgstr ""
1091
1092 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1093 msgid ""
1094 "contents of <literal><command>info</command> <replaceable>command</"
1095 "replaceable></literal> for all pertinent commands"
1096 msgstr ""
1097
1098 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1099 #, fuzzy
1100 #| msgid ""
1101 #| "See <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;</ulink> for "
1102 #| "more information about this mailing list."
1103 msgid ""
1104 "contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian."
1105 "org mailing list archive</ulink>"
1106 msgstr ""
1107 "关于此邮件列表,参看 <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;"
1108 "</ulink>"
1109
1110 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1111 msgid ""
1112 "contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org "
1113 "mailing list archive</ulink>"
1114 msgstr ""
1115
1116 #. type: Content of: <book><chapter><section><para>
1117 msgid ""
1118 "You can use web search engines more effectively by including search strings "
1119 "such as <literal>site:lists.debian.org</literal> to limit the domain."
1120 msgstr ""
1121
1122 #. type: Content of: <book><chapter><section><para>
1123 #, fuzzy
1124 #| msgid ""
1125 #| "Making a small test package is good way to learn details of packaging. "
1126 #| "Inspecting existing well maintained packages is the best way to learn how "
1127 #| "other people make packages."
1128 msgid ""
1129 "Making a small test package is a good way to learn details of packaging. "
1130 "Inspecting existing well maintained packages is the best way to learn how "
1131 "other people make packages."
1132 msgstr ""
1133 "制作小的测试软件包是学习打包的好方法,仔细查看维护较好的软件包则是了解他人如"
1134 "何制作软件包的最佳办法。"
1135
1136 #. type: Content of: <book><chapter><section><para>
1137 msgid ""
1138 "If you still have questions about packaging that you couldn't find answers "
1139 "to in the available documentation and web resources, you can ask them "
1140 "interactively."
1141 msgstr ""
1142
1143 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1144 #, fuzzy
1145 #| msgid ""
1146 #| "See <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;</ulink> for "
1147 #| "more information about this mailing list."
1148 msgid ""
1149 "<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing "
1150 "list</ulink>. (This mailing list is for the novice.)"
1151 msgstr ""
1152 "关于此邮件列表,参看 <ulink url=\"&debian-mentors-ldo;\">&debian-mentors-ldo;"
1153 "</ulink>"
1154
1155 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1156 msgid ""
1157 "<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing "
1158 "list</ulink>. (This mailing list is for the expert.)"
1159 msgstr ""
1160
1161 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1162 msgid ""
1163 "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</"
1164 "literal>."
1165 msgstr ""
1166
1167 #. type: Content of: <book><chapter><section><para>
1168 msgid ""
1169 "The more experienced Debian developers will gladly help you, if you ask "
1170 "properly after making your required efforts."
1171 msgstr ""
1172
1173 #. type: Content of: <book><chapter><section><para>
1174 #, fuzzy
1175 #| msgid ""
1176 #| "When you receive a bug report (yes, actual bug reports!), you will know "
1177 #| "that it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug "
1178 #| "Tracking System</ulink> and read the documentation there, to be able to "
1179 #| "deal with the reports efficiently. I highly recommend reading the <ulink "
1180 #| "url=\"&devref-bug-handling;\">Developer's Reference, 5.8. 'Handling "
1181 #| "bugs'</ulink>."
1182 msgid ""
1183 "When you receive a bug report (yes, actual bug reports!), you will know that "
1184 "it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking "
1185 "System</ulink> and read the documentation there, to be able to deal with the "
1186 "reports efficiently. I highly recommend reading the <ulink url=\"&devref-"
1187 "bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</"
1188 "ulink>."
1189 msgstr ""
1190 "当你收到一个 Bug 报告后(没错,真正的 Bug 报告!),你需要研究 <ulink url="
1191 "\"&bts;\">Debian Bug Tracking System</ulink> (Debian Bug 跟踪系统,BTS)并阅读"
1192 "相关的文档以便高效处理这些报告。我推荐阅读 <ulink url=\"&devref-bug-handling;"
1193 "\">Developer's Reference, 5.8. 'Handling bugs'</ulink>"
1194
1195 #. type: Content of: <book><chapter><section><para>
1196 msgid ""
1197 "Even if it all worked well, it's time to start praying. Why? Because in "
1198 "just a few hours (or days) users from all around the world will start to use "
1199 "your package, and if you made some critical error you'll get mailbombed by "
1200 "numerous angry Debian users... Just kidding. :-)"
1201 msgstr ""
1202 "即使以上的问题都解决了,也不能高兴得太早。为什么?因为几个小时或几天内就会有"
1203 "人开始使用你的软件包,如果你犯了某些严重的错误,将被无数生气的 Debian 用户的"
1204 "邮件所轰炸…… 只是开个玩笑。:-)"
1205
1206 #. type: Content of: <book><chapter><section><para>
1207 msgid ""
1208 "Relax and be ready for bug reports, because there is a lot more work to be "
1209 "done before your package will be fully in line with Debian policies and its "
1210 "best practice guidelines (once again, read the <emphasis>real documentation</"
1211 "emphasis> for details). Good luck!"
1212 msgstr ""
1213 "放松一点并准备好处理 Bug 报告,在你的软件包完全符合 Debian 的各项规范前还需要"
1214 "付出很多努力,处理 Bug 也是对你很好的锻炼(再一次提醒,阅读那些 <emphasis>必须"
1215 "的文档</emphasis> 来了解详情)。祝你好运!"
1216
1217 #. type: Content of: <book><chapter><title>
1218 msgid "First steps"
1219 msgstr "第一步"
1220
1221 #. type: Content of: <book><chapter><para>
1222 #, fuzzy
1223 #| msgid ""
1224 #| "Let's try to make your own package (or, better even, adopt an existing "
1225 #| "one)."
1226 msgid ""
1227 "Let's start by creating a package of your own (or, even better, adopting an "
1228 "existing one)."
1229 msgstr "让我们尝试创建一个自己的软件包(“收养”一个已存在的软件包则更好)。"
1230
1231 #. type: Content of: <book><chapter><section><title>
1232 msgid "Debian package building workflow"
1233 msgstr ""
1234
1235 #. type: Content of: <book><chapter><section><para>
1236 msgid ""
1237 "If you are making a Debian package with an upstream program, the typical "
1238 "workflow of Debian package building involves generating several specifically "
1239 "named files for each step as follows."
1240 msgstr ""
1241
1242 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1243 msgid ""
1244 "Get a copy of the upstream software, usually in a compressed tar format."
1245 msgstr ""
1246
1247 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
1248 #, fuzzy
1249 #| msgid ""
1250 #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-"
1251 #| "package</replaceable>.dsc\n"
1252 msgid ""
1253 "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz"
1254 msgstr ""
1255 "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-"
1256 "package</replaceable>.dsc\n"
1257
1258 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1259 msgid ""
1260 "Add Debian-specific packaging modifications to the upstream program under "
1261 "the <filename>debian</filename> directory, and create a non-native source "
1262 "package (that is, the set of input files used for Debian package building) "
1263 "in <literal>3.0 (quilt)</literal> format."
1264 msgstr ""
1265
1266 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
1267 #, fuzzy
1268 #| msgid ""
1269 #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-"
1270 #| "package</replaceable>.dsc\n"
1271 msgid ""
1272 "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig."
1273 "tar.gz"
1274 msgstr ""
1275 "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-"
1276 "package</replaceable>.dsc\n"
1277
1278 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
1279 #, fuzzy
1280 #| msgid ""
1281 #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</"
1282 #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</"
1283 #| "replaceable>\n"
1284 msgid ""
1285 "<replaceable>package</replaceable>_<replaceable>version</replaceable>-"
1286 "<replaceable>revision</replaceable>.debian.tar.gz"
1287 msgstr ""
1288 "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</"
1289 "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</"
1290 "replaceable>\n"
1291
1292 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para>
1293 #, fuzzy
1294 #| msgid ""
1295 #| "If a package <systemitem role=\"package\"><replaceable>foo</replaceable></"
1296 #| "systemitem> is packaged in the old <literal>1.0</literal> format, this "
1297 #| "can be done by running <literal>zcat /<replaceable>path</replaceable>/"
1298 #| "<replaceable>to</replaceable>/<replaceable>foo</"
1299 #| "replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</"
1300 #| "literal> in the new extracted source, instead."
1301 msgid ""
1302 "For the older style of non-native Debian source packages in <literal>1.0</"
1303 "literal> format, <literal><replaceable>package</"
1304 "replaceable>_<replaceable>version</replaceable>-<replaceable>revision</"
1305 "replaceable>.diff.gz</literal> is used instead."
1306 msgstr ""
1307 "如果软件包 <systemitem role=\"package\"><replaceable>foo</replaceable></"
1308 "systemitem> 是使用旧的 <literal>1.0</literal> 格式的,可以在新解压的源代码目"
1309 "录里运行 <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</"
1310 "replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</"
1311 "replaceable>.diff.gz|patch -p1</literal> 来完成。"
1312
1313 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
1314 #, fuzzy
1315 #| msgid ""
1316 #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</"
1317 #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</"
1318 #| "replaceable>\n"
1319 msgid ""
1320 "<replaceable>package</replaceable>_<replaceable>version</replaceable>-"
1321 "<replaceable>revision</replaceable>.dsc"
1322 msgstr ""
1323 "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</"
1324 "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</"
1325 "replaceable>\n"
1326
1327 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1328 msgid ""
1329 "Build Debian binary packages, which are ordinary installable package files "
1330 "in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used "
1331 "by the Debian Installer) from the Debian source package."
1332 msgstr ""
1333
1334 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
1335 #, fuzzy
1336 #| msgid ""
1337 #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</"
1338 #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</"
1339 #| "replaceable>\n"
1340 msgid ""
1341 "<replaceable>package</replaceable>_<replaceable>version</replaceable>-"
1342 "<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb"
1343 msgstr ""
1344 "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</"
1345 "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</"
1346 "replaceable>\n"
1347
1348 #. type: Content of: <book><chapter><section><para>
1349 msgid ""
1350 "Please note that the character separating <literal><replaceable>package</"
1351 "replaceable></literal> and <literal><replaceable>version</replaceable></"
1352 "literal> was changed from <literal>-</literal> (hyphen) in the tarball name "
1353 "to <literal>_</literal> (underscore) in the Debian package filenames."
1354 msgstr ""
1355
1356 #. type: Content of: <book><chapter><section><para><footnote><para>
1357 msgid ""
1358 "See <ulink url=\"&policy-source;\">5.6.1 Source</ulink>, <ulink url="
1359 "\"&policy-package;\">5.6.7 Package</ulink>, and <ulink url=\"&policy-version;"
1360 "\">5.6.12 Version</ulink>. The <emphasis role=\"strong\">package "
1361 "architecture</emphasis> follows the Debian Policy Manual: <ulink url="
1362 "\"&policy-architecture;\">5.6.8 Architecture</ulink> and is automatically "
1363 "assigned by the package build process."
1364 msgstr ""
1365
1366 #. type: Content of: <book><chapter><section><para>
1367 msgid ""
1368 "In the file names above, replace the <literal><replaceable>package</"
1369 "replaceable></literal> part with the <emphasis role=\"strong\">package name</"
1370 "emphasis>, the <literal><replaceable>version</replaceable></literal> part "
1371 "with the <emphasis role=\"strong\">upstream version</emphasis>, the "
1372 "<literal><replaceable>revision</replaceable></literal> part with the "
1373 "<emphasis role=\"strong\">Debian revision</emphasis>, and the "
1374 "<literal><replaceable>arch</replaceable></literal> part with the <emphasis "
1375 "role=\"strong\">package architecture</emphasis>, as defined in the Debian "
1376 "Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>"
1377 msgstr ""
1378
1379 #. type: Content of: <book><chapter><section><para>
1380 msgid ""
1381 "If instead you are making a Debian-specific package with no upstream, the "
1382 "typical workflow of Debian package building is simpler."
1383 msgstr ""
1384
1385 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1386 msgid ""
1387 "Create a native Debian source package in the <literal>3.0 (native)</literal> "
1388 "format using a single compressed tar file in which all files are included."
1389 msgstr ""
1390
1391 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
1392 #, fuzzy
1393 #| msgid ""
1394 #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-"
1395 #| "package</replaceable>.dsc\n"
1396 msgid ""
1397 "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz"
1398 msgstr ""
1399 "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-"
1400 "package</replaceable>.dsc\n"
1401
1402 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
1403 #, fuzzy
1404 #| msgid ""
1405 #| "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-"
1406 #| "package</replaceable>.dsc\n"
1407 msgid ""
1408 "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc"
1409 msgstr ""
1410 "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-"
1411 "package</replaceable>.dsc\n"
1412
1413 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1414 #, fuzzy
1415 #| msgid "multiple binary packages,"
1416 msgid "Build Debian binary packages from the native Debian source package."
1417 msgstr "多个二进制包的软件包;"
1418
1419 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
1420 #, fuzzy
1421 #| msgid ""
1422 #| "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</"
1423 #| "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</"
1424 #| "replaceable>\n"
1425 msgid ""
1426 "<replaceable>package</replaceable>_<replaceable>version</"
1427 "replaceable>_<replaceable>arch</replaceable>.deb"
1428 msgstr ""
1429 "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</"
1430 "replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</"
1431 "replaceable>\n"
1432
1433 #. type: Content of: <book><chapter><section><para>
1434 msgid ""
1435 "Each step of this outline is explained with detailed examples in later "
1436 "sections."
1437 msgstr ""
1438
1439 #. type: Content of: <book><chapter><section><title>
1440 msgid "Choose your program"
1441 msgstr "选择你的程序"
1442
1443 #. type: Content of: <book><chapter><section><para>
1444 #, fuzzy
1445 #| msgid ""
1446 #| "You have probably chosen the package you want to create. The first thing "
1447 #| "you need to do is check if the package is in the distribution archive "
1448 #| "already by using <command>aptitude</command>."
1449 msgid ""
1450 "You have probably chosen the package you want to create. The first thing "
1451 "you need to do is check if the package is in the distribution archive "
1452 "already by using the following."
1453 msgstr ""
1454 "可能你已经选好了要制作的软件包。第一件要做的事是使用 <command>aptitude</"
1455 "command> 检查它是否已经存在于发行版仓库中了。"
1456
1457 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1458 #, fuzzy
1459 #| msgid "<command>debc</command> command"
1460 msgid "the <command>aptitude</command> command"
1461 msgstr "<command>debc</command> 命令"
1462
1463 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1464 #, fuzzy
1465 #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>"
1466 msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page"
1467 msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>"
1468
1469 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1470 #, fuzzy
1471 #| msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>"
1472 msgid ""
1473 "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> "
1474 "web page"
1475 msgstr "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>"
1476
1477 #. type: Content of: <book><chapter><section><para><footnote><para>
1478 #, fuzzy
1479 #| msgid ""
1480 #| "For more help about these, check in <ulink url=\"&developers-reference;"
1481 #| "\">Debian Developer's Reference</ulink>."
1482 msgid ""
1483 "See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. "
1484 "\"Adopting a package\"</ulink>."
1485 msgstr ""
1486 "关于这些问题的更多帮助,查看 <ulink url=\"&developers-reference;\">Debian "
1487 "Developer's Reference</ulink>。"
1488
1489 #. type: Content of: <book><chapter><section><para>
1490 #, fuzzy
1491 #| msgid ""
1492 #| "If the package already exists, well, install it! :-) If it happens to be "
1493 #| "<emphasis role=\"strong\">orphaned</emphasis> -- if its maintainer is set "
1494 #| "to <ulink url=\"&qa-do;\">Debian QA Group</ulink>, you may be able to "
1495 #| "pick it up if it's still available (check the ownership status at <ulink "
1496 #| "url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in package wnpp in "
1497 #| "unstable</ulink>). You may also adopt a package for which the "
1498 #| "corresponding maintainer has filed a Request for Adoption (<emphasis role="
1499 #| "\"strong\">RFA</emphasis>)."
1500 msgid ""
1501 "If the package already exists, well, install it! :-) If it happens to be "
1502 "<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is "
1503 "set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to "
1504 "pick it up if it's still available. You may also adopt a package whose "
1505 "maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</"
1506 "emphasis>).<placeholder type=\"footnote\" id=\"0\"/>"
1507 msgstr ""
1508 "如果软件包已经存在,直接安装就好了!:-) 如果它是被 <emphasis role=\"strong\">"
1509 "抛弃(orphaned)</emphasis> 的——也就是说它的维护者被设置为 <ulink url=\"&qa-do;"
1510 "\">Debian QA Group</ulink>,那么你可以尝试接手维护它(在 <ulink url=\"&wnpp-"
1511 "bts;\">Debian Bug report logs: Bugs in package wnpp in unstable</ulink> 检查"
1512 "它的维护者信息)。你也可以“收养”维护者发出“Request for Adoption”(<emphasis "
1513 "role=\"strong\">RFA</emphasis>)请求的软件包。"
1514
1515 #. type: Content of: <book><chapter><section><para>
1516 #, fuzzy
1517 #| msgid "There are several role names used around Debian."
1518 msgid "There are several package ownership status resources."
1519 msgstr "在 Debian 社区中有几个常见的角色。"
1520
1521 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1522 msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>"
1523 msgstr "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>"
1524
1525 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1526 #, fuzzy
1527 #| msgid ""
1528 #| "<ulink url=\"&wnpp-debtags;\">Browse WNPP bugs based on debtags</ulink>"
1529 msgid ""
1530 "<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package "
1531 "<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</"
1532 "literal></ulink>"
1533 msgstr ""
1534 "<ulink url=\"&wnpp-debtags;\">Browse WNPP bugs based on debtags</ulink>"
1535
1536 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1537 msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>"
1538 msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>"
1539
1540 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1541 msgid ""
1542 "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</"
1543 "systemitem> bugs based on debtags</ulink>"
1544 msgstr ""
1545 "<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</"
1546 "systemitem> bugs based on debtags</ulink>"
1547
1548 #. type: Content of: <book><chapter><section><para><footnote><para>
1549 #, fuzzy
1550 #| msgid ""
1551 #| "Having said that, there will of course always be new programs that are "
1552 #| "worthwhile packaging."
1553 msgid ""
1554 "Having said that, there will of course always be new programs that are worth "
1555 "packaging."
1556 msgstr "当然,也一定总是有值得打包的新软件。"
1557
1558 #. type: Content of: <book><chapter><section><para>
1559 #, fuzzy
1560 #| msgid ""
1561 #| "As a side note, it's important to point out that Debian already has "
1562 #| "packages for most kinds of programs, and the number of packages already "
1563 #| "in the Debian archive is much larger than that of contributors with "
1564 #| "upload rights. Thus, contributions to packages already in the archive "
1565 #| "are far more appreciated (and more likely to receive sponsorship) by "
1566 #| "other developers <placeholder type=\"footnote\" id=\"0\"/>. You can do "
1567 #| "that in various ways."
1568 msgid ""
1569 "As a side note, it's important to point out that Debian already has packages "
1570 "for most kinds of programs, and the number of packages already in the Debian "
1571 "archive is much larger than that of contributors with upload rights. Thus, "
1572 "contributions to packages already in the archive are far more appreciated "
1573 "(and more likely to receive sponsorship) by other developers <placeholder "
1574 "type=\"footnote\" id=\"0\"/>. You can contribute in various ways."
1575 msgstr ""
1576 "仅作为一笔旁注,Debian 已经拥有了绝大多数类型软件的软件包,仓库中软件包的数量"
1577 "也远远超过了有上传权限的贡献者的数量。因此,为已经在仓库中的软件包贡献力量是"
1578 "非常受其他开发者欢迎的(且更容易获得 sponsorship)<placeholder type=\"footnote"
1579 "\" id=\"0\"/>。你可以通过非常多的方式来实现这一目的。"
1580
1581 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1582 msgid "taking over orphaned, yet actively used, packages"
1583 msgstr "接手被抛弃而仍然被很多人使用的软件包。"
1584
1585 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1586 msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>"
1587 msgstr "加入 <ulink url=\"&teams;\">打包小组</ulink>。"
1588
1589 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1590 msgid "triaging bugs of very popular packages"
1591 msgstr "为某些常用的软件包分类 Bug。"
1592
1593 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1594 msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>"
1595 msgstr "在需要时准备 <ulink url=\"&devref-nmu;\">QA 或 NMU 上传</ulink>。"
1596
1597 #. type: Content of: <book><chapter><section><para>
1598 #, fuzzy
1599 #| msgid ""
1600 #| "If you are able to adopt the package, get the sources (with something "
1601 #| "like <literal>apt-get source <replaceable>packagename</replaceable></"
1602 #| "literal>) and examine them. This document unfortunately doesn't include "
1603 #| "comprehensive information about adopting packages. Thankfully you "
1604 #| "shouldn't have a hard time figuring out how the package works since "
1605 #| "someone has already done the initial set up for you. Keep reading, "
1606 #| "though, a lot of the advice below will still be applicable for your case."
1607 msgid ""
1608 "If you are able to adopt the package, get the sources (with something like "
1609 "<literal>apt-get source <replaceable>packagename</replaceable></literal>) "
1610 "and examine them. This document unfortunately doesn't include comprehensive "
1611 "information about adopting packages. Thankfully you shouldn't have a hard "
1612 "time figuring out how the package works since someone has already done the "
1613 "initial setup for you. Keep reading, though; a lot of the advice below will "
1614 "still be applicable for your case."
1615 msgstr ""
1616 "如果你有能力“收养”那个软件包,下载(使用 <literal>apt-get source "
1617 "<replaceable>packagename</replaceable></literal> 或其他类似的工具)并分析它的"
1618 "代码。这篇文档没有包含如何接手软件包的详细信息,但幸运的是因为接手软件包时起"
1619 "始的工作已经有人完成,接手的工作应比从头开始轻松得多。尽管如此,请继续阅读,"
1620 "下面给出的建议会对你很有帮助。"
1621
1622 #. type: Content of: <book><chapter><section><para>
1623 msgid ""
1624 "If the package is new, and you decide you'd like to see it in Debian, "
1625 "proceed as follows:"
1626 msgstr ""
1627 "如果你要制作的软件包是全新的,并且希望它出现在 Debian 中,请按照以下的步骤进"
1628 "行:"
1629
1630 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1631 #, fuzzy
1632 #| msgid ""
1633 #| "First, you must know that program works, and have tried it for some time "
1634 #| "to confirm its usefulness."
1635 msgid ""
1636 "First, you must know that the program works, and have tried it for some time "
1637 "to confirm its usefulness."
1638 msgstr "首先,你必须知道这个软件能够工作,并且需要试用一段时间。"
1639
1640 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1641 #, fuzzy
1642 #| msgid ""
1643 #| "You must check if no one else is working on the package already at <ulink "
1644 #| "url=\"&wnpp-packaged;\">the list of packages being worked on</ulink>. If "
1645 #| "no one else is working on it, file an ITP (Intent To Package) bug report "
1646 #| "to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package "
1647 #| "using <command>reportbug</command>. If someone's already on it, contact "
1648 #| "them if you feel you need to. If not - find another interesting program "
1649 #| "that nobody maintains."
1650 msgid ""
1651 "You must check that no one else is already working on the package on the "
1652 "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> "
1653 "site. If no one else is working on it, file an ITP (Intent To Package) bug "
1654 "report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package "
1655 "using <command>reportbug</command>. If someone's already on it, contact "
1656 "them if you feel you need to. If not - find another interesting program "
1657 "that nobody is maintaining."
1658 msgstr ""
1659 "你必须在 <ulink url=\"&wnpp-do;being_packaged\">正在被处理的软件包列表</"
1660 "ulink> 上查看以确定没有其他人已经开始了工作。如果没有,则提交一份 ITP "
1661 "(Intent To Package) Bug 报告到 <systemitem role=\"package\">wnpp</"
1662 "systemitem> pseudo 软件包(可以使用 <command>reportbug</command>)。如果已经有"
1663 "人在处理,则在需要的情况下联系他或他们。如果不需要你的帮助,就寻找其他你感兴"
1664 "趣且没有人维护的软件包。"
1665
1666 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1667 #, fuzzy
1668 #| msgid ""
1669 #| "That program <emphasis role=\"strong\">must have a license</emphasis>."
1670 msgid "The software <emphasis role=\"strong\">must have a license</emphasis>."
1671 msgstr "软件 <emphasis role=\"strong\">必须有一个许可证</emphasis>。"
1672
1673 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1674 msgid ""
1675 "For the <literal>main</literal> section, Debian Policy requires it <emphasis "
1676 "role=\"strong\">to be fully compliant with the Debian Free Software "
1677 "Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis "
1678 "role=\"strong\">not to require a package outside of <literal>main</literal></"
1679 "emphasis> for compilation or execution. This is the desired case."
1680 msgstr ""
1681
1682 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1683 #, fuzzy
1684 #| msgid ""
1685 #| "For the <literal>contrib</literal> section, it must be compliant to all "
1686 #| "the DFSG but it may require a package outside of <literal>main</literal> "
1687 #| "for compilation or execution."
1688 msgid ""
1689 "For the <literal>contrib</literal> section, it must comply with the DFSG but "
1690 "it may require a package outside of <literal>main</literal> for compilation "
1691 "or execution."
1692 msgstr ""
1693 "对于 <literal>contrib</literal> 类的软件,其许可证必须满足 DFSG 的全部条件,"
1694 "但可以依赖于 <literal>main</literal> 之外的软件包以完成编译或运行。"
1695
1696 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1697 #, fuzzy
1698 #| msgid ""
1699 #| "For the <literal>non-free</literal> section, it may not be compliant to "
1700 #| "some of the DFSG but it <emphasis role=\"strong\">must be distributable</"
1701 #| "emphasis>."
1702 msgid ""
1703 "For the <literal>non-free</literal> section, it may be non-compliant with "
1704 "the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>."
1705 msgstr ""
1706 "对于 <literal>non-free</literal> 类的软件,其许可证可以不满足 DFSG 中的一些条"
1707 "件,但至少需要是 <emphasis role=\"strong\">可以分发的</emphasis>。"
1708
1709 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1710 msgid ""
1711 "If you are unsure about where it should go, post the license text on <ulink "
1712 "url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for "
1713 "advice."
1714 msgstr ""
1715 "如果你不清楚你的软件应该分入哪一类,则把许可证文本发送到 <ulink url="
1716 "\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> 请他人提出意见。"
1717
1718 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1719 #, fuzzy
1720 #| msgid ""
1721 #| "That program certainly should <emphasis role=\"strong\">not</emphasis> "
1722 #| "run setuid root, or even better - it shouldn't need to be setuid or "
1723 #| "setgid to anything."
1724 msgid ""
1725 "The program should <emphasis role=\"strong\">not</emphasis> introduce "
1726 "security and maintenance concerns to the Debian system."
1727 msgstr ""
1728 "程序 <emphasis role=\"strong\">不应该</emphasis> setuid 到 root,甚至可以更好"
1729 "——不 setuid 或 setgid 到任何用户或组。"
1730
1731 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1732 #, fuzzy
1733 #| msgid ""
1734 #| "That program should be well documented and its code needs to be "
1735 #| "understandable (i.e. not obfuscated)."
1736 msgid ""
1737 "The program should be well documented and its code needs to be "
1738 "understandable (i.e. not obfuscated)."
1739 msgstr "程序应当有很好的文档,最好源代码也容易理解(比如不混乱)。"
1740
1741 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1742 #, fuzzy
1743 #| msgid ""
1744 #| "You should contact program's author(s) to check if they agree with "
1745 #| "packaging it and amicable to Debian. It is important to be able to "
1746 #| "consult with author(s) about the program in case of any program specific "
1747 #| "problems, so don't try to package unmaintained pieces of software."
1748 msgid ""
1749 "You should contact the program's author(s) to check if they agree with "
1750 "packaging it and are amicable to Debian. It is important to be able to "
1751 "consult with the author(s) in case of any problems with the program, so "
1752 "don't try to package unmaintained software."
1753 msgstr ""
1754 "你应该与程序的作者取得联系问一下他是否认为程序应当被打包,以及他是否对 "
1755 "Debian 友好。能够询问作者关于程序的任何问题是非常重要的,不要尝试打包一个无人"
1756 "维护的软件。"
1757
1758 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1759 #, fuzzy
1760 #| msgid ""
1761 #| "That program certainly should <emphasis role=\"strong\">not</emphasis> "
1762 #| "run setuid root, or even better - it shouldn't need to be setuid or "
1763 #| "setgid to anything."
1764 msgid ""
1765 "The program certainly should <emphasis role=\"strong\">not</emphasis> run "
1766 "setuid root, or even better, it shouldn't need to be setuid or setgid to "
1767 "anything."
1768 msgstr ""
1769 "程序 <emphasis role=\"strong\">不应该</emphasis> setuid 到 root,甚至可以更好"
1770 "——不 setuid 或 setgid 到任何用户或组。"
1771
1772 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1773 #, fuzzy
1774 #| msgid ""
1775 #| "That program should not be a daemon, or something that goes in "
1776 #| "<filename>*/sbin</filename> directories, or open a port as root."
1777 msgid ""
1778 "The program should not be a daemon, or go in an <filename>*/sbin</filename> "
1779 "directory, or open a port as root."
1780 msgstr ""
1781 "这个程序不应该是守护进程,也不应该安装文件到 <filename>*/sbin</filename> 目录"
1782 "或者以 root 打开任何端口。"
1783
1784 #. type: Content of: <book><chapter><section><para>
1785 #, fuzzy
1786 #| msgid ""
1787 #| "Of course, these things are just safety measures, and intended to save "
1788 #| "you from raging users if you do something wrong in some setuid daemon... "
1789 #| "When you gain some more experience in packaging, you'll be able to do "
1790 #| "such packages, but even the experienced developers consult the <ulink url="
1791 #| "\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org</ulink> mailing "
1792 #| "list when they are in doubt. And people there will gladly help."
1793 msgid ""
1794 "Of course, the last one is just a safety measures, and intended to save you "
1795 "from enraging users if you do something wrong in some setuid daemon... When "
1796 "you gain more experience in packaging, you'll be able to package such "
1797 "software."
1798 msgstr ""
1799 "当然,这些问题都只是为了安全,并试图让你不至于在比如 setuid 守护进程等问题上"
1800 "犯错误而激怒了用户... 当你在打包方面有了更多经验时,就可以处理这些软件包了。"
1801 "但即便是富有经验的开发人员在遇到疑惑时也会发邮件到 <ulink url=\"&debian-"
1802 "mentors-ldo;\">debian-mentors@lists.debian.org</ulink> 邮件列表咨询,那里的人"
1803 "会很乐意提供帮助。"
1804
1805 #. type: Content of: <book><chapter><section><para>
1806 #, fuzzy
1807 #| msgid ""
1808 #| "Once again, as a new maintainer you are discouraged from creating "
1809 #| "complicated packages, e.g.,"
1810 msgid ""
1811 "As a new maintainer, you are encouraged to get some experience in packaging "
1812 "with easier packages and discouraged from creating complicated packages."
1813 msgstr "再次强调,作为一个新维护人员,不推荐创建复杂的软件包,例如:"
1814
1815 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1816 #, fuzzy
1817 #| msgid "multiple binary packages,"
1818 msgid "Simple packages"
1819 msgstr "多个二进制包的软件包;"
1820
1821 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1822 msgid ""
1823 "single binary package, arch = all (collection of data such as wallpaper "
1824 "graphics)"
1825 msgstr ""
1826
1827 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1828 msgid ""
1829 "single binary package, arch = all (executables written in an interpreted "
1830 "language such as POSIX shell)"
1831 msgstr ""
1832
1833 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1834 msgid "Intermediate complexity packages"
1835 msgstr ""
1836
1837 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1838 msgid ""
1839 "single binary package, arch = any (ELF binary executables compiled from "
1840 "languages such as C and C++)"
1841 msgstr ""
1842
1843 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1844 msgid ""
1845 "multiple binary packages, arch = any + all (packages for ELF binary "
1846 "executables + documentation)"
1847 msgstr ""
1848
1849 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1850 #, fuzzy
1851 #| msgid ""
1852 #| "the source file format being neither in <filename>tar.gz</filename> nor "
1853 #| "<filename>tar.bz2</filename>, or"
1854 msgid ""
1855 "upstream source in a format other than <filename>tar.gz</filename> or "
1856 "<filename>tar.bz2</filename>"
1857 msgstr ""
1858 "源代码不是 <filename>tar.gz</filename> 也不是 <filename>tar.bz2</filename> 格"
1859 "式,或"
1860
1861 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1862 #, fuzzy
1863 #| msgid "the source tarball containing undistributable contents."
1864 msgid "upstream source containing undistributable contents"
1865 msgstr "源代码 tarball 中包含不可分发的内容。"
1866
1867 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1868 #, fuzzy
1869 #| msgid "multiple binary packages,"
1870 msgid "High complexity packages"
1871 msgstr "多个二进制包的软件包;"
1872
1873 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1874 msgid "interpreter module package used by other packages"
1875 msgstr ""
1876
1877 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1878 msgid "generic ELF library package used by other packages"
1879 msgstr ""
1880
1881 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1882 #, fuzzy
1883 #| msgid "multiple binary packages,"
1884 msgid "multiple binary packages including an ELF library package"
1885 msgstr "多个二进制包的软件包;"
1886
1887 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1888 msgid "source package with multiple upstream sources"
1889 msgstr ""
1890
1891 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1892 #, fuzzy
1893 #| msgid "kernel module packages,"
1894 msgid "kernel module packages"
1895 msgstr "内核模块软件包;"
1896
1897 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1898 #, fuzzy
1899 #| msgid "kernel patch packages,"
1900 msgid "kernel patch packages"
1901 msgstr "内核补丁软件包;"
1902
1903 #. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
1904 msgid "any package with non-trivial maintainer scripts"
1905 msgstr ""
1906
1907 #. type: Content of: <book><chapter><section><para>
1908 msgid ""
1909 "Packaging high complexity packages is not too hard, but it requires a bit "
1910 "more knowledge. You should seek specific guidance for every complex feature. "
1911 "For example, some languages have their own sub-policy documents:"
1912 msgstr ""
1913
1914 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1915 #, fuzzy
1916 #| msgid ""
1917 #| "Line 3 describes how important it is that the user installs this "
1918 #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy "
1919 #| "Manual, 2.5 'Priorities'</ulink> for the guidance."
1920 msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>"
1921 msgstr ""
1922 "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-"
1923 "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>"
1924
1925 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1926 msgid "<ulink url=\"&policy-python;\">Python policy</ulink>"
1927 msgstr ""
1928
1929 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
1930 msgid "<ulink url=\"&policy-java;\">Java policy</ulink>"
1931 msgstr ""
1932
1933 #. type: Content of: <book><chapter><section><para><footnote><para>
1934 msgid ""
1935 "Do not worry about the missing <filename>Makefile</filename>. You can "
1936 "install the <command>hello</command> command by simply using "
1937 "<command>debhelper</command> as in <xref linkend=\"install\"/>, or by "
1938 "modifying the upstream source to add a new <filename>Makefile</filename> "
1939 "with the <literal>install</literal> target as in <xref linkend=\"modify\"/>."
1940 msgstr ""
1941
1942 #. type: Content of: <book><chapter><section><para>
1943 msgid ""
1944 "There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> "
1945 "(practice makes perfect). It is <emphasis>highly</emphasis> recommended to "
1946 "practice and experiment with all the steps of Debian packaging with simple "
1947 "packages while reading this tutorial. A trivial upstream tarball "
1948 "<filename>hello-sh-1.0.tar.gz</filename> created as followings may offer a "
1949 "good starting point.<placeholder type=\"footnote\" id=\"0\"/>"
1950 msgstr ""
1951
1952 #. type: Content of: <book><chapter><section><screen>
1953 #, no-wrap
1954 msgid ""
1955 "$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n"
1956 "$ cat &gt; hello &lt;&lt;EOF\n"
1957 "#!/bin/sh\n"
1958 "# (C) 2011 Foo Bar, GPL2+\n"
1959 "echo \"Hello!\"\n"
1960 "EOF\n"
1961 "$ chmod 755 hello\n"
1962 "$ cd ..\n"
1963 "$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n"
1964 msgstr ""
1965
1966 #. type: Content of: <book><chapter><section><title>
1967 msgid "Get the program, and try it out"
1968 msgstr "获得程序,并且试用它"
1969
1970 #. type: Content of: <book><chapter><section><para>
1971 #, fuzzy
1972 #| msgid ""
1973 #| "So the first thing to do is to find and download the original source "
1974 #| "code. I presume that you already have the source file that you picked up "
1975 #| "at the author's homepage. Sources for free Unix programs usually come in "
1976 #| "<command>tar</command>+<command>gzip</command> format with extension "
1977 #| "<filename>.tar.gz</filename>, or <command>tar</command>+<command>bzip2</"
1978 #| "command> format with extension <filename>.tar.bz2</filename>. These "
1979 #| "usually contain the subdirectory called "
1980 #| "<filename><replaceable>programname</replaceable>-<replaceable>version</"
1981 #| "replaceable></filename> in them and all the sources under it."
1982 msgid ""
1983 "So the first thing to do is to find and download the original source code. "
1984 "Presumably you already have the source file that you picked up at the "
1985 "author's homepage. Sources for free Unix programs usually come in "
1986 "<command>tar</command>+<command>gzip</command> format with the extension "
1987 "<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</"
1988 "command> format with the extension <filename>.tar.bz2</filename>, or "
1989 "<command>tar</command>+<command>xz</command> format with the extension "
1990 "<filename>.tar.xz</filename>. These usually contain a directory called "
1991 "<filename><replaceable>package</replaceable>-<replaceable>version</"
1992 "replaceable></filename> with all the sources inside."
1993 msgstr ""
1994 "第一件要做的事就是找到并下载原始的源代码。我假定你已经从作者的主页上找到了它"
1995 "的源代码。Unix 下的自由软件源代码通常是以 <command>tar</command>"
1996 "+<command>gzip</command> 格式(扩展名为 <filename>.tar.gz</filename>)或 "
1997 "<command>tar</command>+<command>bzip2</command> 格式(扩展名为 <filename>.tar."
1998 "bz2</filename>)的形式提供的。通常归档文件中包含了一个名为 "
1999 "<filename><replaceable>programname</replaceable>-<replaceable>version</"
2000 "replaceable></filename> 的子目录,里面包含了全部的源代码。"
2001
2002 #. type: Content of: <book><chapter><section><para>
2003 msgid ""
2004 "If the latest version of the source is available through a VCS such as Git, "
2005 "Subversion, or CVS, you need to get it with <literal>git clone</literal>, "
2006 "<literal>svn co</literal>, or <literal>cvs co</literal> and repack it into "
2007 "<command>tar</command>+<command>gzip</command> format yourself by using the "
2008 "<literal>--exclude-vcs</literal> option."
2009 msgstr ""
2010
2011 #. type: Content of: <book><chapter><section><para><footnote><para>
2012 msgid ""
2013 "You can identify the archive format using the <command>file</command> "
2014 "command when the file extension is not enough."
2015 msgstr ""
2016 "当文件扩展名不足以判断文件类型时,可以使用 <command>file</command> 命令来判"
2017 "断。"
2018
2019 #. type: Content of: <book><chapter><section><para>
2020 #, fuzzy
2021 #| msgid ""
2022 #| "If your program's source comes as some other sort of archive (for "
2023 #| "instance, the filename ends in <filename>.Z</filename> or <filename>.zip</"
2024 #| "filename><placeholder type=\"footnote\" id=\"0\"/>), unpack it with "
2025 #| "appropriate tools and repack it, too."
2026 msgid ""
2027 "If your program's source comes as some other sort of archive (for instance, "
2028 "the filename ends in <filename>.Z</filename> or <filename>.zip</"
2029 "filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack "
2030 "it with the appropriate tools and repack it."
2031 msgstr ""
2032 "如果你的程序源代码是以其他形式提供的(比如文件名以 <filename>.Z</filename> 或 "
2033 "<filename>.zip</filename> 结尾<placeholder type=\"footnote\" id=\"0\"/>),则"
2034 "使用合适的工具将其解包,再重新打包。"
2035
2036 #. type: Content of: <book><chapter><section><para>
2037 msgid ""
2038 "If your program's source comes with some contents which do not comply with "
2039 "DFSG, you should also unpack it to remove such contents and repack it with a "
2040 "modified upstream version containing <literal>dfsg</literal>."
2041 msgstr ""
2042
2043 #. type: Content of: <book><chapter><section><para><footnote><para>
2044 #, fuzzy
2045 #| msgid ""
2046 #| "This program is already packaged. Current version 0.15.3 has changed "
2047 #| "substantially from the version 0.9.12 in the following examples."
2048 msgid ""
2049 "This program is already packaged. The <ulink url=\"&gentoo-package;"
2050 "\">current version</ulink> uses Autotools as its build structure and is "
2051 "substantially different from the following examples, which were based on "
2052 "version 0.9.12."
2053 msgstr ""
2054 "需要注意的是,这个程序已经被打包好了,并且从写这篇文档之初到现在它已经发生了"
2055 "很大的变化。"
2056
2057 #. type: Content of: <book><chapter><section><para>
2058 #, fuzzy
2059 #| msgid ""
2060 #| "As an example, I'll use a program called <command>gentoo</command>, an X "
2061 #| "GTK+ file manager.<placeholder type=\"footnote\" id=\"0\"/>"
2062 msgid ""
2063 "As an example, I'll use a program called <command>gentoo</command>, a GTK+ "
2064 "file manager. <placeholder type=\"footnote\" id=\"0\"/>"
2065 msgstr ""
2066 "作为示例,我将使用一个名为 <command>gentoo</command> 的程序,它是一个 X GTK+ "
2067 "文件管理器。<placeholder type=\"footnote\" id=\"0\"/>"
2068
2069 #. type: Content of: <book><chapter><section><para>
2070 #, fuzzy
2071 #| msgid ""
2072 #| "Create a subdirectory under your home directory named <filename>debian</"
2073 #| "filename> or <filename>deb</filename> or anything you find appropriate (e."
2074 #| "g. just <filename>~/gentoo</filename> would do fine in this case). "
2075 #| "Place the downloaded archive in it, and extract it (with <literal>tar xzf "
2076 #| "gentoo-0.9.12.tar.gz</literal>). Make sure there are no errors, even "
2077 #| "some <emphasis>irrelevant</emphasis> ones, because there will most "
2078 #| "probably be problems unpacking on other people's systems, whose unpacking "
2079 #| "tools may or may not ignore those anomalies. On your console screen, you "
2080 #| "should see the following."
2081 msgid ""
2082 "Create a subdirectory under your home directory named <filename>debian</"
2083 "filename> or <filename>deb</filename> or anything you find appropriate (e."
2084 "g. just <filename>~/gentoo</filename> would do fine in this case). Place "
2085 "the downloaded archive in it, and extract it (with <literal>tar xzf "
2086 "gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, "
2087 "even <emphasis>irrelevant</emphasis> ones, because other people's unpacking "
2088 "tools may or may not ignore these anomalies, so they may have problems "
2089 "unpacking them. Your shell command line may look something like this:"
2090 msgstr ""
2091 "在你的用户主目录下创建一个子目录,命名为 <filename>debian</filename> 或 "
2092 "<filename>deb</filename> 或任意你觉得合适的其他名字(本例中使用 <filename>~/"
2093 "gentoo</filename>)。把下载好的归档文件放在其中并解包(使用 <literal>tar xzf "
2094 "gentoo-0.9.12.tar.gz</literal> 命令)。要确定解包过程中没有发生错误,即便是有"
2095 "一点 <emphasis>不恰当</emphasis> 也不行,因为在别人的系统上解包这些文件时,如"
2096 "果他们的工具并不忽略这些反常的现象就会出现问题。在你的终端屏幕上,应该看到如"
2097 "下的情形。"
2098
2099 #. type: Content of: <book><chapter><section><screen>
2100 #, no-wrap
2101 msgid ""
2102 "$ mkdir ~/gentoo ; cd ~/gentoo\n"
2103 "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n"
2104 "$ tar xvzf gentoo-0.9.12.tar.gz\n"
2105 "$ ls -F\n"
2106 "gentoo-0.9.12/\n"
2107 "gentoo-0.9.12.tar.gz\n"
2108 msgstr ""
2109 "$ mkdir ~/gentoo ; cd ~/gentoo\n"
2110 "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n"
2111 "$ tar xvzf gentoo-0.9.12.tar.gz\n"
2112 "$ ls -F\n"
2113 "gentoo-0.9.12/\n"
2114 "gentoo-0.9.12.tar.gz\n"
2115
2116 #. type: Content of: <book><chapter><section><para>
2117 #, fuzzy
2118 #| msgid ""
2119 #| "Now you have another subdirectory, called <filename>gentoo-0.9.12</"
2120 #| "filename>. Change to that directory and <emphasis>thoroughly</emphasis> "
2121 #| "read the provided documentation. Usually there are files named "
2122 #| "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*."
2123 #| "lsm</filename> or <filename>*.html</filename>. You must find "
2124 #| "instructions on how to correctly compile and install the program (most "
2125 #| "probably they'll assume you want to install to <filename>/usr/local/bin</"
2126 #| "filename> directory; you won't be doing that, but more on that later in "
2127 #| "<xref linkend=\"destdir\"/>)."
2128 msgid ""
2129 "Now you have another subdirectory, called <filename>gentoo-0.9.12</"
2130 "filename>. Change to that directory and <emphasis>thoroughly</emphasis> "
2131 "read the provided documentation. Usually there are files named "
2132 "<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*."
2133 "lsm</filename> or <filename>*.html</filename>. You must find instructions "
2134 "on how to compile and install the program (most probably they'll assume you "
2135 "want to install to the <filename>/usr/local/bin</filename> directory; you "
2136 "won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)."
2137 msgstr ""
2138 "现在又有了一个新的子目录,名为 <filename>gentoo-0.9.12</filename>。进入该目录"
2139 "并 <emphasis>彻底</emphasis> 读完其中的文档。通常情况下这些文档被命名为 "
2140 "<filename>README*</filename>、<filename>INSTALL*</filename>、<filename>*."
2141 "lsm</filename> 或 <filename>*.html</filename>。你必须找到关于如何正确编译和安"
2142 "装程序的指导(最可能的是他们会默认你希望把程序安装到 <filename>/usr/local/"
2143 "bin</filename> 目录,但事实上你不能那样做,详细的内容稍后将在 <xref linkend="
2144 "\"destdir\"/> 中说明)。"
2145
2146 #. type: Content of: <book><chapter><section><para>
2147 msgid ""
2148 "You should start packaging with a completely clean (pristine) source "
2149 "directory, or simply with freshly unpacked sources."
2150 msgstr ""
2151 "开始打包时源代码目录应当是绝对干净(原始)的,或者直接使用刚刚解包得到的源代"
2152 "码。"
2153
2154 #. type: Content of: <book><chapter><section><title>
2155 msgid "Simple build systems"
2156 msgstr ""
2157
2158 #. type: Content of: <book><chapter><section><para><footnote><para>
2159 msgid ""
2160 "Many modern programs come with a script <filename>configure</filename> which "
2161 "when executed creates a <filename>Makefile</filename> customized for your "
2162 "system."
2163 msgstr ""
2164
2165 #. type: Content of: <book><chapter><section><para>
2166 #, fuzzy
2167 #| msgid ""
2168 #| "Simple programs come with a <filename>Makefile</filename> file in them "
2169 #| "and can be compiled simply with <literal>make</literal>. Some of them "
2170 #| "support <literal>make check</literal>, which runs included self-checks. "
2171 #| "Installation to the destination directories is usually done with "
2172 #| "<literal>make install</literal>."
2173 msgid ""
2174 "Simple programs usually come with a <filename>Makefile</filename> and can be "
2175 "compiled just by invoking <literal>make</literal>.<placeholder type="
2176 "\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, "
2177 "which runs included self-tests. Installation to the destination directories "
2178 "is usually done with <literal>make install</literal>."
2179 msgstr ""
2180 "带有 <filename>Makefile</filename> 文件的简单程序可以很容易地使用 "
2181 "<literal>make</literal> 来编译。其中的一些还支持 <literal>make check</"
2182 "literal>,可以完成一系列自检。编译好后可以使用 <literal>make install</"
2183 "literal> 来将程序安装到目标目录。"
2184
2185 #. type: Content of: <book><chapter><section><para>
2186 msgid ""
2187 "Now try to compile and run your program, to make sure it works properly and "
2188 "doesn't break something else while it's installing or running."
2189 msgstr ""
2190 "现在尝试编译和运行你的程序,确保它工作正常,且在安装和运行时不会导致其他问"
2191 "题。"
2192
2193 #. type: Content of: <book><chapter><section><para>
2194 msgid ""
2195 "Also, you can usually run <literal>make clean</literal> (or better "
2196 "<literal>make distclean</literal>) to clean up the build directory. "
2197 "Sometimes there's even a <literal>make uninstall</literal> which can be used "
2198 "to remove all the installed files."
2199 msgstr ""
2200 "你还可以运行 <literal>make clean</literal> (或更好的 <literal>make "
2201 "distclean</literal>)来清理编译目录。有时还会带有 <literal>make uninstall</"
2202 "literal> 用以卸载已经安装了的文件。"
2203
2204 #. type: Content of: <book><chapter><section><title>
2205 msgid "Popular portable build systems"
2206 msgstr ""
2207
2208 #. type: Content of: <book><chapter><section><para>
2209 #, fuzzy
2210 #| msgid ""
2211 #| "A lot of Free programs are written in the <ulink url=\"&cxx;_"
2212 #| "(programming_language)\">C</ulink> and <ulink url=\"&cxx;++\">C++</ulink> "
2213 #| "languages. Many of these use Autotools or CMake to make them portable "
2214 #| "across different platforms. These tools are used to generate "
2215 #| "<filename>Makefile</filename> and other required source files. Then, "
2216 #| "such programs are built with usual <literal>make; make install</literal>."
2217 msgid ""
2218 "A lot of free software programs are written in the <ulink url=\"&c-program;"
2219 "\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these "
2220 "use Autotools or CMake to make them portable across different platforms. "
2221 "These build tools need to be used to generate the <filename>Makefile</"
2222 "filename> and other required source files first. Then, such programs are "
2223 "built using the usual <literal>make; make install</literal>."
2224 msgstr ""
2225 "非常多的自由软件是使用 <ulink url=\"&cxx;_(programming_language)\">C</ulink> "
2226 "和 <ulink url=\"&cxx;++\">C++</ulink> 语言编写的。其中的有很多使用 Autotools "
2227 "或 CMake 来使其可以在不同平台上移植。这些工具被用于生成 <filename>Makefile</"
2228 "filename> 和其他必须的源文件,然后这些程序可以使用正常的 <literal>make; make "
2229 "install</literal> 来编译和安装。"
2230
2231 #. type: Content of: <book><chapter><section><para><footnote><para>
2232 msgid ""
2233 "Autotools is too big to deal in this small tutorial. This section is meant "
2234 "to provide keywords and references only. Please make sure to read the "
2235 "<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and <ulink "
2236 "url=\"&autotools-readme;\"/>, if you need to use it."
2237 msgstr ""
2238
2239 #. type: Content of: <book><chapter><section><para>
2240 #, fuzzy
2241 #| msgid ""
2242 #| "<ulink url=\"&gnu-build-system;\">Autotools</ulink> are the GNU build "
2243 #| "system comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url="
2244 #| "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</"
2245 #| "ulink>, and <ulink url=\"&gettext;\">gettext</ulink>. You can notice "
2246 #| "such sources by the <filename>configure.ac</filename>, <filename>Makefile."
2247 #| "am</filename>, and <filename>Makefile.in</filename> files. <placeholder "
2248 #| "type=\"footnote\" id=\"0\"/>"
2249 msgid ""
2250 "<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system "
2251 "comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url="
2252 "\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, "
2253 "and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such "
2254 "sources by the <filename>configure.ac</filename>, <filename>Makefile.am</"
2255 "filename>, and <filename>Makefile.in</filename> files. <placeholder type="
2256 "\"footnote\" id=\"0\"/>"
2257 msgstr ""
2258 "<ulink url=\"&gnu-build-system;\">Autotools</ulink> 是 GNU 编译系统工具,包"
2259 "括 <ulink url=\"&autoconf;\">Autoconf</ulink>、<ulink url=\"&automake;"
2260 "\">Automake</ulink>、<ulink url=\"&libtool;\">Libtool</ulink> 和 <ulink url="
2261 "\"&gettext;\">gettext</ulink>。你可以通过 <filename>configure.ac</filename>、"
2262 "<filename>Makefile.am</filename> 和 <filename>Makefile.in</filename> 等文件来"
2263 "识别这种类型的源代码。<placeholder type=\"footnote\" id=\"0\"/>"
2264
2265 #. type: Content of: <book><chapter><section><para>
2266 #, fuzzy
2267 #| msgid ""
2268 #| "The first step of Autotools work flow is usually that the upstream runs "
2269 #| "<literal>autoreconf -i -f</literal> in the source and distributes this "
2270 #| "source with generated files."
2271 msgid ""
2272 "The first step of the Autotools workflow is usually that upstream runs "
2273 "<literal>autoreconf -i -f</literal> in the source directory and distributes "
2274 "the generated files along with the source."
2275 msgstr ""
2276 "使用 Autotools 的第一步是上游作者在代码中运行 <literal>autoreconf -i -f</"
2277 "literal> 并把生成的文件同源代码一起分发。"
2278
2279 #. type: Content of: <book><chapter><section><screen>
2280 #, no-wrap
2281 msgid ""
2282 "configure.ac-----+-&gt; autoreconf -+-&gt; configure\n"
2283 "Makefile.am -----+ | +-&gt; Makefile.in\n"
2284 "src/Makefile.am -+ | +-&gt; src/Makefile.in\n"
2285 " | +-&gt; config.h.in\n"
2286 " automake\n"
2287 " aclocal\n"
2288 " aclocal.m4\n"
2289 " autoheader\n"
2290 msgstr ""
2291 "configure.ac-----+-&gt; autoreconf -+-&gt; configure\n"
2292 "Makefile.am -----+ | +-&gt; Makefile.in\n"
2293 "src/Makefile.am -+ | +-&gt; src/Makefile.in\n"
2294 " | +-&gt; config.h.in\n"
2295 " automake\n"
2296 " aclocal\n"
2297 " aclocal.m4\n"
2298 " autoheader\n"
2299
2300 #. type: Content of: <book><chapter><section><para>
2301 msgid ""
2302 "Editing <filename>configure.ac</filename> and <filename>Makefile.am</"
2303 "filename> files requires some knowledge of <command>autoconf</command> and "
2304 "<command>automake</command>. See <literal>info autoconf</literal> and "
2305 "<literal>info automake</literal>."
2306 msgstr ""
2307 "编辑 <filename>configure.ac</filename> 和 <filename>Makefile.am</filename> 等"
2308 "文件需要一些关于 <command>autoconf</command> 和 <command>automake</command> "
2309 "的知识。参看 <literal>info autoconf</literal> 和 <literal>info automake</"
2310 "literal>。"
2311
2312 #. type: Content of: <book><chapter><section><para>
2313 #, fuzzy
2314 #| msgid ""
2315 #| "The second step of Autotools work flow is usually that the user obtains "
2316 #| "this distributed source and runs <literal>./configure &amp;&amp; make</"
2317 #| "literal> in the source to compile program into a "
2318 #| "<command><replaceable>binary</replaceable></command>."
2319 msgid ""
2320 "The second step of the Autotools workflow is usually that the user obtains "
2321 "this distributed source and runs <literal>./configure &amp;&amp; make</"
2322 "literal> in the source directory to compile the program into an executable "
2323 "command <command><replaceable>binary</replaceable></command>."
2324 msgstr ""
2325 "使用 Autotools 的流程第二部是用户获得分发的源代码后在源代码中运行 <literal>./"
2326 "configure &amp;&amp; make</literal> 并将其编译成为 "
2327 "<command><replaceable>binary</replaceable></command> (二进制程序)。"
2328
2329 #. type: Content of: <book><chapter><section><screen>
2330 #, no-wrap
2331 msgid ""
2332 "Makefile.in -----+ +-&gt; Makefile -----+-&gt; make -&gt; <replaceable>binary</replaceable>\n"
2333 "src/Makefile.in -+-&gt; ./configure -+-&gt; src/Makefile -+\n"
2334 "config.h.in -----+ +-&gt; config.h -----+\n"
2335 " |\n"
2336 " config.status -+\n"
2337 " config.guess --+\n"
2338 msgstr ""
2339 "Makefile.in -----+ +-&gt; Makefile -----+-&gt; make -&gt; <replaceable>binary</replaceable>\n"
2340 "src/Makefile.in -+-&gt; ./configure -+-&gt; src/Makefile -+\n"
2341 "config.h.in -----+ +-&gt; config.h -----+\n"
2342 " |\n"
2343 " config.status -+\n"
2344 " config.guess --+\n"
2345
2346 #. type: Content of: <book><chapter><section><para>
2347 #, fuzzy
2348 #| msgid ""
2349 #| "You can change many things in the <filename>Makefile</filename> file such "
2350 #| "as the default file install location using the command option, e.g. "
2351 #| "<command>./configure --prefix=/usr</command>."
2352 msgid ""
2353 "You can change many things in the <filename>Makefile</filename>; for "
2354 "instance you can change the default location for file installation using the "
2355 "option <command>./configure --prefix=/usr</command>."
2356 msgstr ""
2357 "你可以通过命令选项来改变 <filename>Makefile</filename> 文件中的很多设置,比如"
2358 "默认的文件安装位置(使用 <command>./configure --prefix=/usr</command>)。"
2359
2360 #. type: Content of: <book><chapter><section><para><footnote><para>
2361 #, fuzzy
2362 #| msgid ""
2363 #| "Install the <systemitem role=\"package\">dh-autoreconf</systemitem> "
2364 #| "package in <literal>Build-Depends</literal>."
2365 msgid ""
2366 "You can automate this by using <systemitem role=\"package\">dh-autoreconf</"
2367 "systemitem> package. See <xref linkend=\"customrules\"/>."
2368 msgstr ""
2369 "在 <literal>Build-Depends</literal> 中添加 <systemitem role=\"package\">dh-"
2370 "autoreconf</systemitem> 软件包。"
2371
2372 #. type: Content of: <book><chapter><section><para>
2373 #, fuzzy
2374 #| msgid ""
2375 #| "Although it is not required, updating the <filename>configure</filename> "
2376 #| "and other files with <literal>autoreconf -i -f</literal> as the user may "
2377 #| "improve the compatibility of the source."
2378 msgid ""
2379 "Although it is not required, updating the <filename>configure</filename> and "
2380 "other files with <literal>autoreconf -i -f</literal> may improve the "
2381 "compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>"
2382 msgstr ""
2383 "尽管不是必须的,还可以使用 <literal>autoreconf -i -f</literal> 更新 "
2384 "<filename>configure</filename> 和其他相关文件,这样做可能提高源代码的兼容性。"
2385
2386 #. type: Content of: <book><chapter><section><para>
2387 #, fuzzy
2388 #| msgid ""
2389 #| "<ulink url=\"&cxx;Make\">CMake</ulink> is an alternative build system. "
2390 #| "You can notice such sources by the <filename>CMakeLists.txt</filename> "
2391 #| "file."
2392 msgid ""
2393 "<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You "
2394 "can recognize such sources by the <filename>CMakeLists.txt</filename> file."
2395 msgstr ""
2396 "<ulink url=\"&cxx;Make\">CMake</ulink> 是另一个可选的编译系统,可以通过 "
2397 "<filename>CMakeLists.txt</filename> 文件来识别它。"
2398
2399 #. type: Content of: <book><chapter><section><title>
2400 msgid "Package name and version"
2401 msgstr "软件包名称和版本"
2402
2403 #. type: Content of: <book><chapter><section><para>
2404 msgid ""
2405 "If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, "
2406 "you can take <literal>gentoo</literal> as the (source) <emphasis role="
2407 "\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the "
2408 "<emphasis role=\"strong\">upstream version</emphasis>. These are used in "
2409 "the <filename>debian/changelog</filename> file described later in <xref "
2410 "linkend=\"changelog\"/>, too."
2411 msgstr ""
2412
2413 #. type: Content of: <book><chapter><section><para>
2414 msgid ""
2415 "Although this simple approach works most of the times, you may need to "
2416 "adjust <emphasis role=\"strong\">package name</emphasis> and <emphasis role="
2417 "\"strong\">upstream version</emphasis> by renaming the upstream source to "
2418 "follow Debian Policy and existing convention."
2419 msgstr ""
2420
2421 #. type: Content of: <book><chapter><section><para><footnote><para>
2422 msgid ""
2423 "The default package name field length of <command>aptitude</command> is 30. "
2424 "For more than 90% of packages, the package name is less than 24 characters."
2425 msgstr ""
2426
2427 #. type: Content of: <book><chapter><section><para>
2428 msgid ""
2429 "You must choose the <emphasis role=\"strong\">package name</emphasis> to "
2430 "consist only of lower case letters (<literal>a-z</literal>), digits "
2431 "(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</"
2432 "literal>) signs, and periods (<literal>.</literal>). It must be at least two "
2433 "characters long, must start with an alphanumeric character, and must not be "
2434 "the same as existing ones. It is a good idea to keep its length within 30 "
2435 "characters. <placeholder type=\"footnote\" id=\"0\"/>"
2436 msgstr ""
2437
2438 #. type: Content of: <book><chapter><section><para><footnote><para>
2439 msgid ""
2440 "If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's "
2441 "Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch "
2442 "this kind of issues."
2443 msgstr ""
2444
2445 #. type: Content of: <book><chapter><section><para>
2446 msgid ""
2447 "If upstream uses some generic term such as <literal>test-suite</literal> for "
2448 "its name, it is a good idea to rename it to identify its contents explicitly "
2449 "and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>"
2450 msgstr ""
2451
2452 #. type: Content of: <book><chapter><section><para><footnote><para>
2453 msgid "This stricter rule should help you avoid confusing file names."
2454 msgstr ""
2455
2456 #. type: Content of: <book><chapter><section><para><footnote><para>
2457 msgid ""
2458 "The default version field length of <command>aptitude</command> is 10. The "
2459 "Debian revision with preceding hyphen usually consumes 2. For more than 80% "
2460 "of packages, the upstream version is less than 8 characters and the Debian "
2461 "revision is less than 2 characters. For more than 90% of packages, the "
2462 "upstream version is less than 10 characters and the Debian revision is less "
2463 "than 3 characters."
2464 msgstr ""
2465
2466 #. type: Content of: <book><chapter><section><para>
2467 msgid ""
2468 "You should choose the <emphasis role=\"strong\">upstream version</emphasis> "
2469 "to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus "
2470 "(<literal>+</literal>), tildes (<literal>~</literal>), and periods "
2471 "(<literal>.</literal>). It must start with a digit (<literal>0-9</"
2472 "literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to "
2473 "keep its length within 8 characters if possible. <placeholder type="
2474 "\"footnote\" id=\"1\"/>"
2475 msgstr ""
2476
2477 #. type: Content of: <book><chapter><section><para>
2478 msgid ""
2479 "If upstream does not use a normal versioning scheme such as "
2480 "<literal>2.30.32</literal> but uses some kind of date such as "
2481 "<literal>09Oct23</literal>, a random codename string, or a VCS hash value as "
2482 "part of the version, make sure to remove them from the <emphasis role="
2483 "\"strong\">upstream version</emphasis>. Such information can be recorded in "
2484 "the <filename>debian/changelog</filename> file. If you need to invent a "
2485 "version string, use the <literal>YYYYMMDD</literal> format such as "
2486 "<literal>20110429</literal> as upstream version. This ensures that "
2487 "<command>dpkg</command> interprets later versions correctly as upgrades."
2488 msgstr ""
2489
2490 #. type: Content of: <book><chapter><section><para><footnote><para>
2491 msgid ""
2492 "Version strings may be <emphasis role=\"strong\">upstream version</emphasis> "
2493 "(<literal><replaceable>version</replaceable></literal>), <emphasis role="
2494 "\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</"
2495 "replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> "
2496 "(<literal><replaceable>version</replaceable>-<replaceable>revision</"
2497 "replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the "
2498 "<emphasis role=\"strong\">Debian revision</emphasis> is incremented."
2499 msgstr ""
2500
2501 #. type: Content of: <book><chapter><section><para>
2502 #, fuzzy
2503 #| msgid ""
2504 #| "This process can be automated using the <citerefentry> "
2505 #| "<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </"
2506 #| "citerefentry> command as follows:"
2507 msgid ""
2508 "Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared "
2509 "using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</"
2510 "manvolnum> </citerefentry> as follows."
2511 msgstr ""
2512 "这个过程可以通过使用 <citerefentry> <refentrytitle>uupdate</refentrytitle> "
2513 "<manvolnum>1</manvolnum> </citerefentry> 来更自动化地完成:"
2514
2515 #. type: Content of: <book><chapter><section><screen>
2516 #, fuzzy, no-wrap
2517 #| msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n"
2518 msgid " $ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n"
2519 msgstr "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n"
2520
2521 #. type: Content of: <book><chapter><section><para>
2522 msgid "The version comparison rule can be summarized as:"
2523 msgstr ""
2524
2525 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
2526 msgid "Strings are compared from the head to the tail."
2527 msgstr ""
2528
2529 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
2530 msgid "Letters are larger than digits."
2531 msgstr ""
2532
2533 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
2534 msgid "Numbers are compared as integers."
2535 msgstr ""
2536
2537 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
2538 msgid "Letters are compared in ASCII code order."
2539 msgstr ""
2540
2541 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
2542 msgid ""
2543 "There are special rules for period (<literal>.</literal>), plus (<literal>+</"
2544 "literal>), and tilde (<literal>~</literal>) characters, as follows."
2545 msgstr ""
2546
2547 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
2548 msgid ""
2549 "<literal>0.0</literal> &lt; <literal>0.5</literal> &lt; <literal>0.10</"
2550 "literal> &lt; <literal>0.99</literal> &lt; <literal>1</literal> &lt; "
2551 "<literal>1.0~rc1</literal> &lt; <literal>1.0</literal> &lt; <literal>1.0+b1</"
2552 "literal> &lt; <literal>1.0+nmu1</literal> &lt; <literal>1.1</literal> &lt; "
2553 "<literal>2.0</literal>"
2554 msgstr ""
2555
2556 #. type: Content of: <book><chapter><section><para>
2557 msgid ""
2558 "One tricky case occurs when upstream releases <filename>gentoo-0.9.12-"
2559 "ReleaseCandidate-99.tar.gz</filename> as the pre-release of "
2560 "<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the "
2561 "upgrade works properly by renaming the upstream source to "
2562 "<filename>gentoo-0.9.12~rc99.tar.gz</filename>."
2563 msgstr ""
2564
2565 #. type: Content of: <book><chapter><section><title>
2566 #, fuzzy
2567 #| msgid "Set up <command>quilt</command>"
2568 msgid "Setting up <command>dh_make</command>"
2569 msgstr "设置 <command>quilt</command>"
2570
2571 #. type: Content of: <book><chapter><section><para><footnote><para>
2572 #, fuzzy
2573 #| msgid ""
2574 #| "The following text assumes you are using Bash as your login shell. If "
2575 #| "you use other login shells such as Z shell, use their pertinent "
2576 #| "configuration files instead of <filename>~/.bashrc</filename>."
2577 msgid ""
2578 "The following text assumes you are using Bash as your login shell. If you "
2579 "use some other login shell such as Z shell, use their corresponding "
2580 "configuration files instead of <filename>~/.bashrc</filename>."
2581 msgstr ""
2582 "以下默认以 Bash 作为登陆 shell。如果你使用其他的 shell,例如 Z shell,使用它"
2583 "们的配置文件代替这里提到的 <filename>~/.bashrc</filename>。"
2584
2585 #. type: Content of: <book><chapter><section><para>
2586 #, fuzzy
2587 #| msgid ""
2588 #| "Let's set up the shell environment variable <literal>$DEBEMAIL</literal> "
2589 #| "and <literal>$DEBFULLNAME</literal> so many Debian maintenance tools "
2590 #| "recognize your name and email address to use for packages as follows."
2591 #| "<placeholder type=\"footnote\" id=\"0\"/>."
2592 msgid ""
2593 "Set up the shell environment variables <literal>$DEBEMAIL</literal> and "
2594 "<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools "
2595 "recognize your email address and name to use for packages. <placeholder type="
2596 "\"footnote\" id=\"0\"/>"
2597 msgstr ""
2598 "首先我们设置两个 环境变量,<literal>$DEBEMAIL</literal> 和 <literal>"
2599 "$DEBFULLNAME</literal>,使多数 Debian 维护工具能够正确识别你用于维护软件包的"
2600 "姓名和电子邮件地址。<placeholder type=\"footnote\" id=\"0\"/>"
2601
2602 #. type: Content of: <book><chapter><section><screen>
2603 #, fuzzy, no-wrap
2604 #| msgid ""
2605 #| "$ cat &gt;&gt;~/.bashrc &lt;&lt;EOF\n"
2606 #| "DEBEMAIL=your.email.address@example.org\n"
2607 #| "DEBFULLNAME=Firstname Lastname\n"
2608 #| "export DEBEMAIL DEBFULLNAME\n"
2609 #| "EOF\n"
2610 msgid ""
2611 "$ cat &gt;&gt;~/.bashrc &lt;&lt;EOF\n"
2612 "DEBEMAIL=your.email.address@example.org\n"
2613 "DEBFULLNAME=Firstname Lastname\n"
2614 "export DEBEMAIL DEBFULLNAME\n"
2615 "EOF\n"
2616 "$ . ~/.bashrc\n"
2617 msgstr ""
2618 "$ cat &gt;&gt;~/.bashrc &lt;&lt;EOF\n"
2619 "DEBEMAIL=your.email.address@example.org\n"
2620 "DEBFULLNAME=Firstname Lastname\n"
2621 "export DEBEMAIL DEBFULLNAME\n"
2622 "EOF\n"
2623
2624 #. type: Content of: <book><chapter><section><title>
2625 #, fuzzy
2626 #| msgid "Initial Debian package"
2627 msgid "Initial non-native Debian package"
2628 msgstr "初始化 Debian 软件包"
2629
2630 #. type: Content of: <book><chapter><section><para>
2631 msgid ""
2632 "Normal Debian packages are non-native Debian packages made from upstream "
2633 "programs. If you wish to create a non-native Debian package of an upstream "
2634 "source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial "
2635 "non-native Debian package for it by issuing the <command>dh_make</command> "
2636 "command as follows."
2637 msgstr ""
2638
2639 #. type: Content of: <book><chapter><section><screen>
2640 #, fuzzy, no-wrap
2641 #| msgid ""
2642 #| "$ mkdir ~/gentoo ; cd ~/gentoo\n"
2643 #| "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n"
2644 #| "$ tar xvzf gentoo-0.9.12.tar.gz\n"
2645 #| "$ ls -F\n"
2646 #| "gentoo-0.9.12/\n"
2647 #| "gentoo-0.9.12.tar.gz\n"
2648 msgid ""
2649 "$ cd ~/gentoo\n"
2650 "$ wget http://example.org/gentoo-0.9.12.tar.gz\n"
2651 "$ tar -xvzf gentoo-0.9.12.tar.gz\n"
2652 "$ cd gentoo-0.9.12\n"
2653 "$ dh_make -f ../gentoo-0.9.12.tar.gz\n"
2654 msgstr ""
2655 "$ mkdir ~/gentoo ; cd ~/gentoo\n"
2656 "$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n"
2657 "$ tar xvzf gentoo-0.9.12.tar.gz\n"
2658 "$ ls -F\n"
2659 "gentoo-0.9.12/\n"
2660 "gentoo-0.9.12.tar.gz\n"
2661
2662 #. type: Content of: <book><chapter><section><para><footnote><para>
2663 msgid ""
2664 "If the upstream source provides the <filename>debian</filename> directory "
2665 "and its contents, run the <command>dh_make</command> command with the extra "
2666 "option <literal>--addmissing</literal>. The new source <literal>3.0 (quilt)"
2667 "</literal> format is robust enough not to break even for these packages. "
2668 "You may need to update the contents provided by the upstream for your Debian "
2669 "package."
2670 msgstr ""
2671
2672 #. type: Content of: <book><chapter><section><para>
2673 msgid ""
2674 "Of course, replace the filename with the name of your original source "
2675 "archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> "
2676 "<refentrytitle>dh_make</refentrytitle> <manvolnum>1</manvolnum> </"
2677 "citerefentry> for details."
2678 msgstr ""
2679
2680 #. type: Content of: <book><chapter><section><para><footnote><para>
2681 msgid ""
2682 "There are several choices here: <literal>s</literal> for Single binary "
2683 "package, <literal>i</literal> for arch-Independent package, <literal>m</"
2684 "literal> for Multiple binary packages, <literal>l</literal> for Library "
2685 "package, <literal>k</literal> for Kernel module package, <literal>n</"
2686 "literal> for kernel patch package, and <literal>b</literal> for <systemitem "
2687 "role=\"package\">cdbs</systemitem> package. This document focuses on the "
2688 "use of the <command>dh</command> command (from the package <systemitem role="
2689 "\"package\">debhelper</systemitem>) to create a single binary package, but "
2690 "also touches on how to use it for arch-independent or multiple binary "
2691 "packages. The package <systemitem role=\"package\">cdbs</systemitem> offers "
2692 "an alternative packaging script infrastructure to the <command>dh</command> "
2693 "command and is outside the scope of this document."
2694 msgstr ""
2695
2696 #. type: Content of: <book><chapter><section><para>
2697 msgid ""
2698 "You should see some output asking you what sort of package you want to "
2699 "create. Gentoo is a single binary package - it creates only one binary "
2700 "package, i.e, one <filename>.deb</filename> file - so we will select the "
2701 "first option (with the <literal>s</literal> key), check the information on "
2702 "the screen, and confirm by pressing <literal><replaceable>ENTER</"
2703 "replaceable></literal>. <placeholder type=\"footnote\" id=\"0\"/>"
2704 msgstr ""
2705
2706 #. type: Content of: <book><chapter><section><para>
2707 #, fuzzy
2708 #| msgid ""
2709 #| "After this execution of <command>dh_make</command>, a copy of the "
2710 #| "upstream tarball is created as <filename>gentoo_0.9.12.orig.tar.gz</"
2711 #| "filename> in the parent directory to accommodate the creation of the non-"
2712 #| "native Debian source package with the <filename>debian.tar.gz</filename> "
2713 #| "later."
2714 msgid ""
2715 "This execution of <command>dh_make</command> creates a copy of the upstream "
2716 "tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent "
2717 "directory to accommodate the creation of the non-native Debian source "
2718 "package with the name <filename>debian.tar.gz</filename> later."
2719 msgstr ""
2720 "执行 <command>dh_make</command> 后,上一级目录中自动创建了一份上游 tarball 的"
2721 "副本,名为 <filename>gentoo_0.9.12.orig.tar.gz</filename>,这个文件和稍后介绍"
2722 "的 <filename>debian.tar.gz</filename> 在一起满足了 Debian 非本地源代码包的要"
2723 "求。"
2724
2725 #. type: Content of: <book><chapter><section><screen>
2726 #, no-wrap
2727 msgid ""
2728 "$ cd ~/gentoo ; ls -F\n"
2729 "gentoo-0.9.12/\n"
2730 "gentoo-0.9.12.tar.gz\n"
2731 "gentoo_0.9.12.orig.tar.gz\n"
2732 msgstr ""
2733 "$ cd ~/gentoo ; ls -F\n"
2734 "gentoo-0.9.12/\n"
2735 "gentoo-0.9.12.tar.gz\n"
2736 "gentoo_0.9.12.orig.tar.gz\n"
2737
2738 #. type: Content of: <book><chapter><section><para>
2739 #, fuzzy
2740 #| msgid ""
2741 #| "Please note 2 key features in this <filename>gentoo_0.9.12.orig.tar.gz</"
2742 #| "filename> file name:"
2743 msgid ""
2744 "Please note two key features of this filename <filename>gentoo_0.9.12.orig."
2745 "tar.gz</filename>:"
2746 msgstr ""
2747 "请注意 <filename>gentoo_0.9.12.orig.tar.gz</filename> 这个文件名的两个关键特"
2748 "点:"
2749
2750 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
2751 #, fuzzy
2752 #| msgid ""
2753 #| "Package name and version are separated by the <literal>_</literal> "
2754 #| "(underscore)."
2755 msgid ""
2756 "Package name and version are separated by the character <literal>_</literal> "
2757 "(underscore)."
2758 msgstr "软件包名称和版本是以下划线 <literal>_</literal> 分隔的。"
2759
2760 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
2761 #, fuzzy
2762 #| msgid ""
2763 #| "There is the <filename>.orig</filename> before the <filename>.tar.gz</"
2764 #| "filename>."
2765 msgid ""
2766 "The string <filename>.orig</filename> is inserted before the <filename>.tar."
2767 "gz</filename>."
2768 msgstr "<filename>.tar.gz</filename> 扩展名前有 <filename>.orig</filename>。"
2769
2770 #. type: Content of: <book><chapter><section><para>
2771 #, fuzzy
2772 #| msgid ""
2773 #| "You should also notice that many template files are created in the source "
2774 #| "under the <filename>debian</filename> directory. These will be explained "
2775 #| "in <xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should "
2776 #| "also understand that the packaging is not automatic process. You need to "
2777 #| "modify the upstream source for Debian as <xref linkend=\"modify\"/>. "
2778 #| "After all these, you need to build Debian packages under the proper "
2779 #| "method as <xref linkend=\"build\"/>, check them as <xref linkend=\"checkit"
2780 #| "\"/>, and upload them as <xref linkend=\"upload\"/>. I will explain all "
2781 #| "these steps."
2782 msgid ""
2783 "You should also notice that many template files are created in the source "
2784 "under the <filename>debian</filename> directory. These will be explained in "
2785 "<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also "
2786 "understand that packaging cannot be a fully automated process. You will "
2787 "need to modify the upstream source for Debian (see <xref linkend=\"modify\"/"
2788 ">). After this, you need to use the proper methods for building Debian "
2789 "packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit"
2790 "\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will "
2791 "be explained."
2792 msgstr ""
2793 "你应该可以注意到 <filename>debian</filename> 目录下有了许多模板文件。这些文件"
2794 "将在 <xref linkend=\"dreq\"/> 和 <xref linkend=\"dother\"/> 一一解释。你还应"
2795 "该明白,打包不是一个自动的过程,你还需要按照 <xref linkend=\"modify\"/> 中的"
2796 "方法来修改软件包。此后,你还要按照 <xref linkend=\"build\"/> 中叙述的合适的方"
2797 "法来编译 Debian 软件包、按照 <xref linkend=\"checkit\"/> 中的方法检查其中错"
2798 "误,最终依照 <xref linkend=\"upload\"/> 的介绍将其上传。我将对所有的这些步骤"
2799 "进行解释。"
2800
2801 #. type: Content of: <book><chapter><section><para>
2802 msgid ""
2803 "If you accidentally erased some template files while working on them, you "
2804 "can recover them by running <command>dh_make</command> with the <literal>--"
2805 "addmissing</literal> option again in a Debian package source tree."
2806 msgstr ""
2807 "如果你在修改过程中不小心删除或弄坏了某些模板文件,你可以使用 "
2808 "<command>dh_make</command> 加上 <literal>--addmissing</literal> 参数来将其还"
2809 "原。"
2810
2811 #. type: Content of: <book><chapter><section><para>
2812 #, fuzzy
2813 #| msgid ""
2814 #| "Updating an existing package may get complicated since it may be using "
2815 #| "older techniques. Please stick with fresh packaging cases for now to "
2816 #| "learn basics. I will come back to explain it later in <xref linkend="
2817 #| "\"update\"/>."
2818 msgid ""
2819 "Updating an existing package may get complicated since it may be using older "
2820 "techniques. While learning the basics, please stick to creating a fresh "
2821 "package; further explanations are given in <xref linkend=\"update\"/>."
2822 msgstr ""
2823 "更新一个已存在的软件包可能比较复杂,因为它可能使用旧的技术。请继续在这里学习"
2824 "最新的打包技术以便掌握必要的基本功。我们会在稍后的 <xref linkend=\"update\"/"
2825 "> 中回头讲解如何处理这种情况。"
2826
2827 #. type: Content of: <book><chapter><section><para>
2828 msgid ""
2829 "Please note that the source file does not need to contain any build system "
2830 "discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/"
2831 ">. It could be just a collection of graphical data etc. Installation of "
2832 "files may be carried out using only <systemitem role=\"package\">debhelper</"
2833 "systemitem> configuration files such as <filename>debian/install</filename> "
2834 "(see <xref linkend=\"install\"/>)."
2835 msgstr ""
2836
2837 #. type: Content of: <book><chapter><section><title>
2838 #, fuzzy
2839 #| msgid "Initial Debian package"
2840 msgid "Initial native Debian package"
2841 msgstr "初始化 Debian 软件包"
2842
2843 #. type: Content of: <book><chapter><section><para>
2844 msgid ""
2845 "If a package contains source files you are only maintaining for Debian, "
2846 "possibly only for local use, it may be simpler to create it as a Debian "
2847 "native package. If you have source files in <filename>~/mypackage-1.0</"
2848 "filename>, you can create an initial native Debian package for it by issuing "
2849 "the <command>dh_make</command> command as follows."
2850 msgstr ""
2851
2852 #. type: Content of: <book><chapter><section><screen>
2853 #, no-wrap
2854 msgid ""
2855 "$ cd ~/mypackage-1.0\n"
2856 "$ dh_make --native\n"
2857 msgstr ""
2858
2859 #. type: Content of: <book><chapter><section><para>
2860 msgid ""
2861 "Then the <filename>debian</filename> directory and its contents are created "
2862 "just like <xref linkend=\"non-native-dh-make\"/>. This does not create a "
2863 "tarball since this is a native Debian package. But that is the only "
2864 "difference. The rest of the packaging activities are practically the same."
2865 msgstr ""
2866
2867 #. type: Content of: <book><chapter><title>
2868 msgid "Modifying the source"
2869 msgstr "修改源代码"
2870
2871 #. type: Content of: <book><chapter><para>
2872 msgid ""
2873 "Please note that there isn't space here to go into <emphasis>all</emphasis> "
2874 "the details of fixing upstream sources, but here are some basic steps and "
2875 "problems people often run across."
2876 msgstr ""
2877 "请注意这里没有足够的篇幅来描述修改上游源代码的 <emphasis>全部</emphasis> 细"
2878 "节,但是这里介绍了基本的步骤和常见的问题。"
2879
2880 #. type: Content of: <book><chapter><section><title>
2881 #, fuzzy
2882 #| msgid "Set up <command>quilt</command>"
2883 msgid "Setting up <command>quilt</command>"
2884 msgstr "设置 <command>quilt</command>"
2885
2886 #. type: Content of: <book><chapter><section><para>
2887 #, fuzzy
2888 #| msgid ""
2889 #| "The <command>quilt</command> program offers the basic method to record "
2890 #| "modification to the source for the Debian packaging. Since slightly "
2891 #| "different default is desirable for Debian packaging, let's set up "
2892 #| "<filename>~/.quiltrc</filename> as follows. <placeholder type=\"footnote"
2893 #| "\" id=\"0\"/>"
2894 msgid ""
2895 "The program <command>quilt</command> offers a basic method for recording "
2896 "modifications to the upstream source for Debian packaging. It's useful to "
2897 "have a slightly customized default, so let's create an alias "
2898 "<command>dquilt</command> for Debian packaging by adding the following line "
2899 "to <filename>~/.bashrc</filename>."
2900 msgstr ""
2901 "<command>quilt</command> 程序为 Debian 工作提供了对源码修改的基本记录方法。由"
2902 "于我们的需求与默认配置相当的不同,我们把 <filename>~/.quiltrc</filename> 设置"
2903 "成如下的样子。<placeholder type=\"footnote\" id=\"0\"/>"
2904
2905 #. type: Content of: <book><chapter><section><screen>
2906 #, no-wrap
2907 msgid "alias dquilt=\"quilt --quiltrc=~/.quiltrc-dpkg\"\n"
2908 msgstr ""
2909
2910 #. type: Content of: <book><chapter><section><para>
2911 #, fuzzy
2912 #| msgid "You change the <filename>Makefile</filename> file as follows."
2913 msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows."
2914 msgstr "现在将 <filename>Makefile</filename> 修改为如下的样子。"
2915
2916 #. type: Content of: <book><chapter><section><screen>
2917 #, fuzzy, no-wrap
2918 #| msgid ""
2919 #| "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n"
2920 #| "if [ -d $d/debian ] &amp;&amp; [ -z $QUILT_PATCHES ]; then\n"
2921 #| " # Debian packaging case and unset $QUILT_PATCHES\n"
2922 #| " QUILT_PATCHES=debian/patches\n"
2923 #| " QUILT_PATCH_OPTS=--unified-reject-files\n"
2924 #| " QUILT_DIFF_ARGS=-p ab --no-timestamps --no-index --color=auto\n"
2925 #| " QUILT_REFRESH_ARGS=-p ab --no-timestamps --no-index\n"
2926 #| " QUILT_COLORS=diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\n"
2927 #| " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n"
2928 #| "fi\n"
2929 msgid ""
2930 "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n"
2931 "if [ -d $d/debian ] &amp;&amp; [ -z $QUILT_PATCHES ]; then\n"
2932 " # if in Debian packaging tree with unset $QUILT_PATCHES\n"
2933 " QUILT_PATCHES=\"debian/patches\"\n"
2934 " QUILT_PATCH_OPTS=\"--reject-format=unified\"\n"
2935 " QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n"
2936 " QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n"
2937 " QUILT_COLORS=\"diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\"\n"
2938 " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n"
2939 "fi\n"
2940 msgstr ""
2941 "d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done\n"
2942 "if [ -d $d/debian ] &amp;&amp; [ -z $QUILT_PATCHES ]; then\n"
2943 " # Debian packaging case and unset $QUILT_PATCHES\n"
2944 " QUILT_PATCHES=debian/patches\n"
2945 " QUILT_PATCH_OPTS=--unified-reject-files\n"
2946 " QUILT_DIFF_ARGS=-p ab --no-timestamps --no-index --color=auto\n"
2947 " QUILT_REFRESH_ARGS=-p ab --no-timestamps --no-index\n"
2948 " QUILT_COLORS=diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33\n"
2949 " if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n"
2950 "fi\n"
2951
2952 #. type: Content of: <book><chapter><section><para>
2953 #, fuzzy
2954 #| msgid ""
2955 #| "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</"
2956 #| "manvolnum> </citerefentry> and <filename>/usr/share/doc/quilt/quilt.html</"
2957 #| "filename> for how to use <command>quilt</command>."
2958 msgid ""
2959 "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</"
2960 "manvolnum> </citerefentry> and <ulink url=\"&quilt-pdf;\">quilt.pdf</ulink> "
2961 "on how to use <command>quilt</command>."
2962 msgstr ""
2963 "参看 <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</"
2964 "manvolnum> </citerefentry> 和 <filename>/usr/share/doc/quilt/quilt.html</"
2965 "filename> 来了解如何使用 <command>quilt</command>。"
2966
2967 #. type: Content of: <book><chapter><section><title>
2968 #, fuzzy
2969 #| msgid "Fixing upstream bug"
2970 msgid "Fixing upstream bugs"
2971 msgstr "修复上游 Bug"
2972
2973 #. type: Content of: <book><chapter><section><para>
2974 #, fuzzy
2975 #| msgid ""
2976 #| "Let's assume you find an error in the upstream <filename>Makefile</"
2977 #| "filename> file as follows where <literal>install: gentoo</literal> should "
2978 #| "have been <literal>install: gentoo-target</literal>."
2979 msgid ""
2980 "Let's assume you find an error in the upstream <filename>Makefile</filename> "
2981 "as follows where <literal>install: gentoo</literal> should have been "
2982 "<literal>install: gentoo-target</literal>."
2983 msgstr ""
2984 "让我们假设你在上游的 <filename>Makefile</filename> 文件中找到了一个错误,其中"
2985 "的 <literal>install: gentoo</literal> 应该是 <literal>install: gentoo-"
2986 "target</literal> 才正确。"
2987
2988 #. type: Content of: <book><chapter><section><screen>
2989 #, no-wrap
2990 msgid ""
2991 "install: gentoo\n"
2992 " install ./gentoo $(BIN)\n"
2993 " install icons/* $(ICONS)\n"
2994 " install gentoorc-example $(HOME)/.gentoorc\n"
2995 msgstr ""
2996 "install: gentoo\n"
2997 " install ./gentoo $(BIN)\n"
2998 " install icons/* $(ICONS)\n"
2999 " install gentoorc-example $(HOME)/.gentoorc\n"
3000
3001 #. type: Content of: <book><chapter><section><para><footnote><para>
3002 #, fuzzy
3003 #| msgid ""
3004 #| "The <filename>debian/patches</filename> directory should exist now if you "
3005 #| "run <command>dh_make</command> as described before. This example "
3006 #| "operation creates it just in case you are updating the existing package."
3007 msgid ""
3008 "The <filename>debian/patches</filename> directory should exist now if you "
3009 "ran <command>dh_make</command> as described before. This example operation "
3010 "creates it just in case you are updating an existing package."
3011 msgstr ""
3012 "<filename>debian/patches</filename> 应当在你按照前面所述的步骤运行 "
3013 "<command>dh_make</command> 时生成的。这个例子中我们新创建它,因为假设的是在更"
3014 "新一个已存在的软件包。"
3015
3016 #. type: Content of: <book><chapter><section><para>
3017 #, fuzzy
3018 #| msgid ""
3019 #| "Let's fix this and record this with the <command>quilt</command> command "
3020 #| "as <filename>fix-gentoo-target.patch</filename>. <placeholder type="
3021 #| "\"footnote\" id=\"0\"/>"
3022 msgid ""
3023 "Let's fix this and record it with the <command>dquilt</command> command as "
3024 "<filename>fix-gentoo-target.patch</filename>. <placeholder type=\"footnote"
3025 "\" id=\"0\"/>"
3026 msgstr ""
3027 "让我们使用 <command>quilt</command> 修复它,并把它命名为 <filename>fix-"
3028 "gentoo-target.patch</filename>。<placeholder type=\"footnote\" id=\"0\"/>"
3029
3030 #. type: Content of: <book><chapter><section><screen>
3031 #, fuzzy, no-wrap
3032 #| msgid ""
3033 #| "$ mkdir debian/patches\n"
3034 #| "$ quilt new fix-gentoo-target.patch\n"
3035 #| "$ quilt add Makefile\n"
3036 msgid ""
3037 "$ mkdir debian/patches\n"
3038 "$ dquilt new fix-gentoo-target.patch\n"
3039 "$ dquilt add Makefile\n"
3040 msgstr ""
3041 "$ mkdir debian/patches\n"
3042 "$ quilt new fix-gentoo-target.patch\n"
3043 "$ quilt add Makefile\n"
3044
3045 #. type: Content of: <book><chapter><section><para>
3046 msgid "You change the <filename>Makefile</filename> file as follows."
3047 msgstr "现在将 <filename>Makefile</filename> 修改为如下的样子。"
3048
3049 #. type: Content of: <book><chapter><section><screen>
3050 #, no-wrap
3051 msgid ""
3052 "install: gentoo-target\n"
3053 " install ./gentoo $(BIN)\n"
3054 " install icons/* $(ICONS)\n"
3055 " install gentoorc-example $(HOME)/.gentoorc\n"
3056 msgstr ""
3057 "install: gentoo-target\n"
3058 " install ./gentoo $(BIN)\n"
3059 " install icons/* $(ICONS)\n"
3060 " install gentoorc-example $(HOME)/.gentoorc\n"
3061
3062 #. type: Content of: <book><chapter><section><para>
3063 #, fuzzy
3064 #| msgid ""
3065 #| "Ask <command>quilt</command> to refresh the patch to create "
3066 #| "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its "
3067 #| "description."
3068 msgid ""
3069 "Ask <command>dquilt</command> to generate the patch to create "
3070 "<filename>debian/patches/fix-gentoo-target.patch</filename> and add its "
3071 "description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</"
3072 "ulink>."
3073 msgstr ""
3074 "使用 <command>quilt</command> 刷新补丁以创建 <filename>debian/patches/fix-"
3075 "gentoo-targe.patch</filename> 并添加描述。"
3076
3077 #. type: Content of: <book><chapter><section><screen>
3078 #, fuzzy, no-wrap
3079 #| msgid ""
3080 #| "$ quilt refresh\n"
3081 #| "$ quilt header -e\n"
3082 #| "... describe patch\n"
3083 msgid ""
3084 "$ dquilt refresh\n"
3085 "$ dquilt header -e\n"
3086 "... describe patch\n"
3087 msgstr ""
3088 "$ quilt refresh\n"
3089 "$ quilt header -e\n"
3090 "... 描述补丁\n"
3091
3092 #. type: Content of: <book><chapter><section><title>
3093 #, fuzzy
3094 #| msgid "Installation of files to the destination"
3095 msgid "Installation of files to their destination"
3096 msgstr "把文件安装到目的位置"
3097
3098 #. type: Content of: <book><chapter><section><para>
3099 #, fuzzy
3100 #| msgid ""
3101 #| "Normally, programs install themselves in the <filename>/usr/local</"
3102 #| "filename> subdirectory. Since it is reserved for system administrator's "
3103 #| "(or user's) private use, Debian packages must not use that directory but "
3104 #| "should use system directories such as the <filename>/usr/bin</filename> "
3105 #| "subdirectory following the Filesystem Hierarchy Standard (<ulink url="
3106 #| "\"&fhs;\">FHS</ulink>, <filename>/usr/share/doc/debian-policy/fhs/fhs-2.3."
3107 #| "html</filename>)."
3108 msgid ""
3109 "Most third-party software installs itself in the <filename>/usr/local</"
3110 "filename> directory hierarchy. On Debian this is reserved for private use "
3111 "by the system administrator, so packages must not use directories such as "
3112 "<filename>/usr/local/bin</filename> but should instead use system "
3113 "directories such as <filename>/usr/bin</filename>, obeying the <ulink url="
3114 "\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)."
3115 msgstr ""
3116 "正常情况下,程序将其本身安装在 <filename>/usr/local</filename>。因为它是保留"
3117 "给系统管理员(或用户)的私有位置,Debian 软件包不可以使用该目录,而是按照文件系"
3118 "统层级标准(<ulink url=\"&fhs;\">FHS</ulink>,<filename>/usr/share/doc/debian-"
3119 "policy/fhs/fhs-2.3.html</filename>)使用如 <filename>/usr/bin</filename> 等目"
3120 "录。"
3121
3122 #. type: Content of: <book><chapter><section><para>
3123 #, fuzzy
3124 #| msgid ""
3125 #| "Normally, <citerefentry> <refentrytitle>make</refentrytitle> "
3126 #| "<manvolnum>1</manvolnum> </citerefentry> is used to automate building the "
3127 #| "program and the execution of <literal>make install</literal> installs "
3128 #| "programs directly to the desired destination by the <literal>install</"
3129 #| "literal> target of the <filename>Makefile</filename> file. In order for "
3130 #| "Debian to provide binary packages, the build system installs programs to "
3131 #| "the file tree image created under a temporary directory instead to the "
3132 #| "actual destination."
3133 msgid ""
3134 "Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</"
3135 "manvolnum> </citerefentry> is used to automate building the program, and "
3136 "executing <literal>make install</literal> installs programs directly to the "
3137 "desired destination (following the <literal>install</literal> target in the "
3138 "<filename>Makefile</filename>). In order for Debian to provide pre-built "
3139 "installable packages, it modifies the build system to install programs into "
3140 "a file tree image created under a temporary directory instead of the actual "
3141 "destination."
3142 msgstr ""
3143 "通常在自动编译程序时使用 <citerefentry> <refentrytitle>make</refentrytitle> "
3144 "<manvolnum>1</manvolnum> </citerefentry> 程序,执行 <literal>make install</"
3145 "literal> 就把程序直接按照 <filename>Makefile</filename> 文件中的 "
3146 "<literal>install</literal> target 安装到指定的位置。为了使 Debian 能够提供二"
3147 "进制软件包,编译系统将文件安装到一个临时目录中创建的文件系统树的镜像中,而非"
3148 "直接安装到实际的目标位置。"
3149
3150 #. type: Content of: <book><chapter><section><para>
3151 #, fuzzy
3152 #| msgid ""
3153 #| "These 2 differences between (1) the normal program installation and (2) "
3154 #| "the Debian packaging can be transparently addressed by the <systemitem "
3155 #| "role=\"package\">debhelper</systemitem> package through the "
3156 #| "<command>dh_auto_configure</command> and <command>dh_auto_install</"
3157 #| "command> commands if the following conditions are met."
3158 msgid ""
3159 "These two differences between normal program installation on one hand and "
3160 "the Debian packaging system on the other can be transparently addressed by "
3161 "the <systemitem role=\"package\">debhelper</systemitem> package through the "
3162 "<command>dh_auto_configure</command> and <command>dh_auto_install</command> "
3163 "commands if the following conditions are met."
3164 msgstr ""
3165 "普通程序安装过程和 Debian 打包安装过程的区别可以由 <systemitem role=\"package"
3166 "\">debhelper</systemitem> 软件包中的 <command>dh_auto_configure</command> 和 "
3167 "<command>dh_auto_install</command> 透明地处理。但程序必须满足以下条件:"
3168
3169 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para>
3170 msgid ""
3171 "See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: "
3172 "Support for Staged Installs</ulink>."
3173 msgstr ""
3174
3175 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
3176 #, fuzzy
3177 #| msgid ""
3178 #| "The <filename>Makefile</filename> file follows the GNU conventions to "
3179 #| "support <literal>$(DESTDIR)</literal> variable (<filename>/usr/share/doc/"
3180 #| "gnu-standards/standards.html#Makefile-Conventions</filename>)."
3181 msgid ""
3182 "The <filename>Makefile</filename> must follow GNU conventions and support "
3183 "the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" "
3184 "id=\"0\"/>"
3185 msgstr ""
3186 "<filename>Makefile</filename> 文件遵循 GNU 的规定支持 <literal>$(DESTDIR)</"
3187 "literal> 变量(<filename>/usr/share/doc/gnu-standards/standards.html#Makefile-"
3188 "Conventions</filename>)。"
3189
3190 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
3191 #, fuzzy
3192 #| msgid "The source follows the Filesystem Hierarchy Standard (FHS)."
3193 msgid "The source must follow the Filesystem Hierarchy Standard (FHS)."
3194 msgstr "源代码遵循文件系统层级标准(FHS)。"
3195
3196 #. type: Content of: <book><chapter><section><para>
3197 #, fuzzy
3198 #| msgid ""
3199 #| "Programs that use GNU <command>autoconf</command> "
3200 #| "<emphasis>automatically</emphasis> follow the GNU conventions and their "
3201 #| "packaging is almost <emphasis>automatic</emphasis>. With this and other "
3202 #| "heuristics, the <systemitem role=\"package\">debhelper</systemitem> "
3203 #| "package estimates that it works for about 90% of packages without making "
3204 #| "any intrusive changes to their build system. So the packaging is not as "
3205 #| "complicated as it may seem."
3206 msgid ""
3207 "Programs that use GNU <command>autoconf</command> follow the GNU conventions "
3208 "automatically, so they can be trivial to package. On the basis of this and "
3209 "other heuristics, it is estimated that the <systemitem role=\"package"
3210 "\">debhelper</systemitem> package will work for about 90% of packages "
3211 "without making any intrusive changes to their build system. So packaging is "
3212 "not as complicated as it may seem."
3213 msgstr ""
3214 "使用 GNU <command>autoconf</command> 的程序 <emphasis>自动</emphasis> 遵守了 "
3215 "GNU 的规定,这些程序的打包也就 <emphasis>几乎是自动的</emphasis>。通过这项特"
3216 "点和其他启发式处理,<systemitem role=\"package\">debhelper</systemitem> 软件"
3217 "包可以直接打包约 90% 的软件包而不需对编译系统做出大的改变。所以打包也不是它看"
3218 "起来那样复杂。"
3219
3220 #. type: Content of: <book><chapter><section><para>
3221 #, fuzzy
3222 #| msgid ""
3223 #| "If you need to make changes in the <filename>Makefile</filename> file, "
3224 #| "you should make sure to support these <literal>$(DESTDIR)</literal> "
3225 #| "variable. The <literal>$(DESTDIR)</literal> variable is unset in it and "
3226 #| "is prepended to each file path used for the program installation. The "
3227 #| "packaging script will set <literal>$(DESTDIR)</literal> to the temporary "
3228 #| "directory."
3229 msgid ""
3230 "If you need to make changes in the <filename>Makefile</filename>, you should "
3231 "be careful to support the <literal>$(DESTDIR)</literal> variable. Although "
3232 "it is unset by default, the <literal>$(DESTDIR)</literal> variable is "
3233 "prepended to each file path used for the program installation. The "
3234 "packaging script will set <literal>$(DESTDIR)</literal> to the temporary "
3235 "directory."
3236 msgstr ""
3237 "如果你需要修改 <filename>Makefile</filename> 文件,要确保其支持 <literal>"
3238 "$(DESTDIR)</literal> 变量。默认情况下 <literal>$(DESTDIR)</literal> 变量没有"
3239 "设置并且默认使用程序选择的安装位置。打包脚本会将 <literal>$(DESTDIR)</"
3240 "literal> 设置为临时目录。"
3241
3242 #. type: Content of: <book><chapter><section><para><footnote><para>
3243 #, fuzzy
3244 #| msgid ""
3245 #| "For multiple binary packages, the <command>dh_auto_install</command> "
3246 #| "command uses <filename>debian/tmp</filename> as the temporary directory "
3247 #| "while the <command>dh_install</command> command with the help of "
3248 #| "<filename>debian/<replaceable>package-1</replaceable>.install</filename> "
3249 #| "and <filename>debian/<replaceable>package-2</replaceable>.install</"
3250 #| "filename> files will split contents of <filename>debian/tmp</filename> "
3251 #| "into <filename>debian/<replaceable>package-1</replaceable></filename> and "
3252 #| "<filename>debian/<replaceable>package-2</replaceable></filename> "
3253 #| "temporary directories to create multiple binary <filename>*.deb</"
3254 #| "filename> packages."
3255 msgid ""
3256 "For a source package generating multiple binary packages, the "
3257 "<command>dh_auto_install</command> command uses <filename>debian/tmp</"
3258 "filename> as the temporary directory while the <command>dh_install</command> "
3259 "command with the help of <filename>debian/<replaceable>package-1</"
3260 "replaceable>.install</filename> and <filename>debian/<replaceable>package-2</"
3261 "replaceable>.install</filename> files will split the contents of "
3262 "<filename>debian/tmp</filename> into <filename>debian/"
3263 "<replaceable>package-1</replaceable></filename> and <filename>debian/"
3264 "<replaceable>package-2</replaceable></filename> temporary directories, to "
3265 "create <filename><replaceable>package-1</replaceable>_*.deb</filename> and "
3266 "<filename><replaceable>package-2</replaceable>_*.deb</filename> binary "
3267 "packages."
3268 msgstr ""
3269 "对于多个二进制包,<command>dh_auto_install</command> 将临时目录设置为"
3270 "<filename>debian/tmp</filename>,而 <command>dh_install</command> 命令则将文"
3271 "件按照 <filename>debian/<replaceable>package-1</replaceable>.install</"
3272 "filename> 和 <filename>debian/<replaceable>package-2</replaceable>.install</"
3273 "filename> 等文件的描述将 <filename>debian/tmp</filename> 中的文件分别装入 "
3274 "<filename>debian/<replaceable>package-1</replaceable></filename> 和 "
3275 "<filename>debian/<replaceable>package-2</replaceable></filename> 等临时目录以"
3276 "创建 <filename>*.deb</filename> 软件包。"
3277
3278 #. type: Content of: <book><chapter><section><para>
3279 #, fuzzy
3280 #| msgid ""
3281 #| "The temporary directory used by the <command>dh_auto_install</command> "
3282 #| "command is chosen as <filename>debian/<replaceable>package</replaceable></"
3283 #| "filename> for single binary packages. <placeholder type=\"footnote\" id="
3284 #| "\"0\"/> Everything that is contained in the temporary directory will be "
3285 #| "installed on a user's system when they install your package, the only "
3286 #| "difference is that <command>dpkg</command> will be installing the files "
3287 #| "in the root directory."
3288 msgid ""
3289 "For a source package generating a single binary package, the temporary "
3290 "directory used by the <command>dh_auto_install</command> command will be set "
3291 "to <filename>debian/<replaceable>package</replaceable></filename>. "
3292 "<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in "
3293 "the temporary directory will be installed on users' systems when they "
3294 "install your package; the only difference is that <command>dpkg</command> "
3295 "will be installing the files to paths relative to the root directory rather "
3296 "than your working directory."
3297 msgstr ""
3298 "对于单个二进制包 <command>dh_auto_install</command> 将临时目录设置为 "
3299 "<filename>debian/<replaceable>package</replaceable></filename>。<placeholder "
3300 "type=\"footnote\" id=\"0\"/> 临时目录中的全部文件都将在用户安装软件包时被安装"
3301 "到用户系统,唯一的区别是 <command>dpkg</command> 会把文件安装到真实的根目录树"
3302 "中。"
3303
3304 #. type: Content of: <book><chapter><section><para>
3305 #, fuzzy
3306 #| msgid ""
3307 #| "Bear in mind that even though your program installs in <filename>debian/"
3308 #| "<replaceable>package</replaceable></filename>, it still needs to behave "
3309 #| "correctly when placed in the root directory, i.e. when installed from "
3310 #| "the <filename>.deb</filename> package. So you must not allow the build "
3311 #| "system to hardcode strings like <literal>/home/me/deb/"
3312 #| "<replaceable>package</replaceable>-<replaceable>version</replaceable>/usr/"
3313 #| "share/<replaceable>package</replaceable></literal> into the package file."
3314 msgid ""
3315 "Bear in mind that even though your program installs in <filename>debian/"
3316 "<replaceable>package</replaceable></filename>, it still needs to behave "
3317 "correctly when installed from the <filename>.deb</filename> package under "
3318 "the root directory. So you must not allow the build system to hardcode "
3319 "strings like <literal>/home/me/deb/<replaceable>package</replaceable>-"
3320 "<replaceable>version</replaceable>/usr/share/<replaceable>package</"
3321 "replaceable></literal> into files in the package."
3322 msgstr ""
3323 "请记住,即使你的程序正确安装到了<filename>debian/<replaceable>package</"
3324 "replaceable></filename>,仍然要考虑它可以在在实际的根目录中安装的情形,即从"
3325 "<filename>.deb</filename> 软件包文件安装的情形。所以绝对不允许将诸如 "
3326 "<literal>/home/me/deb/<replaceable>package</replaceable>-"
3327 "<replaceable>version</replaceable>/usr/share/<replaceable>package</"
3328 "replaceable></literal> 的内容硬编码到编译系统中并装入软件包文件。"
3329
3330 #. type: Content of: <book><chapter><section><para><footnote><para>
3331 #, fuzzy
3332 #| msgid ""
3333 #| "This is just an example to show how the <filename>Makefile</filename> "
3334 #| "file should look like. If the <filename>Makefile</filename> file is "
3335 #| "created by the <command>./configure</command> command, the correct way to "
3336 #| "fix this kind of <filename>Makefile</filename> is to executed the "
3337 #| "<command>./configure</command> command from the "
3338 #| "<command>dh_auto_configure</command> command with default options "
3339 #| "including <literal>--prefix=/usr</literal>."
3340 msgid ""
3341 "This is just an example to show what a <filename>Makefile</filename> should "
3342 "look like. If the <filename>Makefile</filename> is created by the "
3343 "<command>./configure</command> command, the correct way to fix this kind of "
3344 "<filename>Makefile</filename> is to execute <command>./configure</command> "
3345 "from the <command>dh_auto_configure</command> command with default options "
3346 "including <literal>--prefix=/usr</literal>."
3347 msgstr ""
3348 "这只是一个 <filename>Makefile</filename> 的例子。如果 <filename>Makefile</"
3349 "filename> 是通过 <command>./configure</command> 命令生成的,修复该类的 "
3350 "<filename>Makefile</filename> 的方法是通过 <command>dh_auto_configure</"
3351 "command> 执行 <command>./configure</command>,并带上如 <literal>--prefix=/"
3352 "usr</literal> 的默认选项。"
3353
3354 #. type: Content of: <book><chapter><section><para>
3355 #, fuzzy
3356 #| msgid ""
3357 #| "Here's the relevant part of <systemitem role=\"package\">gentoo</"
3358 #| "systemitem>'s <filename>Makefile</filename> file <placeholder type="
3359 #| "\"footnote\" id=\"0\"/>:"
3360 msgid ""
3361 "Here's the relevant part of <systemitem role=\"package\">gentoo</"
3362 "systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id="
3363 "\"0\"/>:"
3364 msgstr ""
3365 "以下是 <systemitem role=\"package\">gentoo</systemitem> 的 "
3366 "<filename>Makefile</filename> 文件中的相关部分<placeholder type=\"footnote\" "
3367 "id=\"0\"/>:"
3368
3369 #. type: Content of: <book><chapter><section><screen>
3370 #, fuzzy, no-wrap
3371 #| msgid ""
3372 #| "# Where to put binary on 'make install'?\n"
3373 #| "BIN = /usr/local/bin\n"
3374 #| "# Where to put icons on 'make install'?\n"
3375 #| "ICONS = /usr/local/share/gentoo\n"
3376 msgid ""
3377 "# Where to put executable commands on 'make install'?\n"
3378 "BIN = /usr/local/bin\n"
3379 "# Where to put icons on 'make install'?\n"
3380 "ICONS = /usr/local/share/gentoo\n"
3381 msgstr ""
3382 "# Where to put binary on 'make install'?\n"
3383 "BIN = /usr/local/bin\n"
3384 "# Where to put icons on 'make install'?\n"
3385 "ICONS = /usr/local/share/gentoo\n"
3386
3387 #. type: Content of: <book><chapter><section><para>
3388 #, fuzzy
3389 #| msgid ""
3390 #| "We see that the files are set to install under <filename>/usr/local</"
3391 #| "filename>. Change those paths to:"
3392 msgid ""
3393 "We see that the files are set to install under <filename>/usr/local</"
3394 "filename>. As explained above, that directory hierarchy is reserved for "
3395 "local use on Debian, so change those paths to:"
3396 msgstr ""
3397 "可以看到文件被放到了 <filename>/usr/local</filename> 下。把他们改变为:"
3398
3399 #. type: Content of: <book><chapter><section><screen>
3400 #, fuzzy, no-wrap
3401 #| msgid ""
3402 #| "# Where to put binary on 'make install'?\n"
3403 #| "BIN = $(DESTDIR)/usr/bin\n"
3404 #| "# Where to put icons on 'make install'?\n"
3405 #| "ICONS = $(DESTDIR)/usr/share/gentoo\n"
3406 msgid ""
3407 "# Where to put executable commands on 'make install'?\n"
3408 "BIN = $(DESTDIR)/usr/bin\n"
3409 "# Where to put icons on 'make install'?\n"
3410 "ICONS = $(DESTDIR)/usr/share/gentoo\n"
3411 msgstr ""
3412 "# Where to put binary on 'make install'?\n"
3413 "BIN = $(DESTDIR)/usr/bin\n"
3414 "# Where to put icons on 'make install'?\n"
3415 "ICONS = $(DESTDIR)/usr/share/gentoo\n"
3416
3417 #. type: Content of: <book><chapter><section><para>
3418 #, fuzzy
3419 #| msgid ""
3420 #| "The more exact locations for binaries, icons, documentation etc. are "
3421 #| "specified in the Filesystem Hierarchy Standard (see <filename>/usr/share/"
3422 #| "doc/debian-policy/fhs/</filename>). I recommend you browse it and read "
3423 #| "the sections that might concern your package."
3424 msgid ""
3425 "The exact locations that should be used for binaries, icons, documentation, "
3426 "etc. are specified in the Filesystem Hierarchy Standard (FHS). You should "
3427 "browse through it and read the sections relevant to your package."
3428 msgstr ""
3429 "二进制文件、图标和文档等的更详细位置均在文件层级标准(FHS,参看 <filename>/"
3430 "usr/share/doc/debian-policy/fhs/</filename>)中作出了详尽描述。我建议阅读相关"
3431 "章节以了解可能影响你软件包的内容。"
3432
3433 #. type: Content of: <book><chapter><section><para>
3434 #, fuzzy
3435 #| msgid ""
3436 #| "So, we should install the binary in <filename>/usr/bin</filename> instead "
3437 #| "of <filename>/usr/local/bin</filename>, the manual page in <filename>/usr/"
3438 #| "share/man/man1</filename> instead of <filename>/usr/local/man/man1</"
3439 #| "filename> etc. Notice how there's no manual page mentioned in "
3440 #| "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</"
3441 #| "filename>, but since the Debian Policy requires that every program has "
3442 #| "one, we'll make one later and install it in <filename>/usr/share/man/"
3443 #| "man1</filename>."
3444 msgid ""
3445 "So, we should install executable commands in <filename>/usr/bin</filename> "
3446 "instead of <filename>/usr/local/bin</filename>, the manual page in "
3447 "<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/"
3448 "man1</filename>, and so on. Notice how there's no manual page mentioned in "
3449 "<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</"
3450 "filename>, but since Debian Policy requires that every program has one, "
3451 "we'll make one later and install it in <filename>/usr/share/man/man1</"
3452 "filename>."
3453 msgstr ""
3454 "因此,我们应当把二进制文件安装到 <filename>/usr/bin</filename> 而非 "
3455 "<filename>/usr/local/bin</filename>,man 手册页则应放在 <filename>/usr/share/"
3456 "man/man1</filename> 而非 <filename>/usr/local/man/man1</filename> 等。注意到 "
3457 "<systemitem role=\"package\">gentoo</systemitem>的 <filename>Makefile</"
3458 "filename> 里没有提及手册页,而按照 Debian Policy 的要求,每个程序都应当有一个"
3459 "手册页,我们将在稍后制作一个并安装到 <filename>/usr/share/man/man1</filename>"
3460
3461 #. type: Content of: <book><chapter><section><para>
3462 msgid ""
3463 "Some programs don't use <filename>Makefile</filename> variables to define "
3464 "paths such as these. This means you might have to edit some real C sources "
3465 "in order to fix them to use the right locations. But where to search, and "
3466 "exactly what for? You can find this out by issuing:"
3467 msgstr ""
3468 "有些程序不使用 <filename>Makefile</filename> 变量定义路径,这意味着你可能需要"
3469 "去编辑 C 程序源代码来使他们使用正确的路径。但是到哪里去搜索,哪些才是呢?你可"
3470 "以通过以下的方法找到它们:"
3471
3472 #. type: Content of: <book><chapter><section><screen>
3473 #, fuzzy, no-wrap
3474 #| msgid "$ grep -nr -e 'usr/local/lib' --include='*.[c|h]' .\n"
3475 msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n"
3476 msgstr "$ grep -nr -e 'usr/local/lib' --include='*.[c|h]' .\n"
3477
3478 #. type: Content of: <book><chapter><section><para>
3479 msgid ""
3480 "<command>grep</command> will run recursively through the source tree and "
3481 "tell you the filename and the line number for all matches."
3482 msgstr ""
3483 "<command>grep</command> 会递归搜索整个源代码树并告诉你所有匹配项的文件名和行"
3484 "号。"
3485
3486 #. type: Content of: <book><chapter><section><para>
3487 #, fuzzy
3488 #| msgid ""
3489 #| "Edit those files and in those lines replace <literal>usr/local/lib</"
3490 #| "literal> with <literal>usr/lib</literal>."
3491 msgid ""
3492 "Edit those files and in those lines replace <literal>usr/local/lib</literal> "
3493 "with <literal>usr/lib</literal>. This can be done automatically as follows:"
3494 msgstr ""
3495 "编辑那些文件,用 <literal>usr/lib</literal> 替换 <literal>usr/local/lib</"
3496 "literal>。"
3497
3498 #. type: Content of: <book><chapter><section><screen>
3499 #, fuzzy, no-wrap
3500 #| msgid ""
3501 #| "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n"
3502 #| " $(find . -type f -name '*.[c|h]')\n"
3503 msgid ""
3504 "$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n"
3505 " $(find . -type f -name '*.[c|h]')\n"
3506 msgstr ""
3507 "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n"
3508 " $(find . -type f -name '*.[c|h]')\n"
3509
3510 #. type: Content of: <book><chapter><section><para>
3511 msgid ""
3512 "If you want to confirm each substitution instead, this can be done "
3513 "interactively as follows:"
3514 msgstr ""
3515
3516 #. type: Content of: <book><chapter><section><screen>
3517 #, fuzzy, no-wrap
3518 #| msgid ""
3519 #| "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n"
3520 #| " $(find . -type f -name '*.[c|h]')\n"
3521 msgid ""
3522 "$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n"
3523 " $(find . -type f -name '*.[c|h]')\n"
3524 msgstr ""
3525 "$ vim '+argdo %s/usr\\/local\\/lib/usr\\/lib/gce|update' +q \\\n"
3526 " $(find . -type f -name '*.[c|h]')\n"
3527
3528 #. type: Content of: <book><chapter><section><para>
3529 #, fuzzy
3530 #| msgid ""
3531 #| "After that you should find the install target (search for line that "
3532 #| "starts with <literal>install:</literal>, that will usually work) and "
3533 #| "rename all references to directories other than ones defined at the top "
3534 #| "of the <filename>Makefile</filename>."
3535 msgid ""
3536 "Next you should find the <literal>install</literal> target (searching for "
3537 "the line that starts with <literal>install:</literal> will usually work) and "
3538 "rename all references to directories other than ones defined at the top of "
3539 "the <filename>Makefile</filename>."
3540 msgstr ""
3541 "此后你应该找到 install target (通常搜索以 <literal>install:</literal> 开头的"
3542 "行即可),并把所有的相关目录以及在 <filename>Makefile</filename> 顶部定义变量"
3543 "均做修改。"
3544
3545 #. type: Content of: <book><chapter><section><para>
3546 #, fuzzy
3547 #| msgid ""
3548 #| "After your upstream bug fix, <systemitem role=\"package\">gentoo</"
3549 #| "systemitem>'s install target said:"
3550 msgid ""
3551 "Originally, <systemitem role=\"package\">gentoo</systemitem>'s "
3552 "<literal>install</literal> target said:"
3553 msgstr ""
3554 "在你修复了上游的 Bug 后,<systemitem role=\"package\">gentoo</systemitem> 的 "
3555 "install target 应是这样:"
3556
3557 #. type: Content of: <book><chapter><section><para>
3558 #, fuzzy
3559 #| msgid ""
3560 #| "Let's fix this and record this with the <command>quilt</command> command "
3561 #| "as <filename>debian/patches/install.patch</filename>."
3562 msgid ""
3563 "Let's fix this upstream bug and record it with the <command>dquilt</command> "
3564 "command as <filename>debian/patches/install.patch</filename>."
3565 msgstr ""
3566 "让我们把这些修改使用 <command>quilt</command> 记录到<filename>debian/patches/"
3567 "install.patch</filename>。"
3568
3569 #. type: Content of: <book><chapter><section><screen>
3570 #, fuzzy, no-wrap
3571 #| msgid ""
3572 #| "$ quilt new install.patch\n"
3573 #| "$ quilt add Makefile\n"
3574 msgid ""
3575 "$ dquilt new install.patch\n"
3576 "$ dquilt add Makefile\n"
3577 msgstr ""
3578 "$ quilt new install.patch\n"
3579 "$ quilt add Makefile\n"
3580
3581 #. type: Content of: <book><chapter><section><para>
3582 #, fuzzy
3583 #| msgid "Let's change this for Debian package as following using the editor:"
3584 msgid "In your editor, change this for the Debian package as follows:"
3585 msgstr "我们使用编辑器按照以下内容为 Debian 软件包做修改:"
3586
3587 #. type: Content of: <book><chapter><section><screen>
3588 #, no-wrap
3589 msgid ""
3590 "install: gentoo-target\n"
3591 " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n"
3592 " install ./gentoo $(BIN)\n"
3593 " install -m644 icons/* $(ICONS)\n"
3594 " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n"
3595 msgstr ""
3596 "install: gentoo-target\n"
3597 " install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n"
3598 " install ./gentoo $(BIN)\n"
3599 " install -m644 icons/* $(ICONS)\n"
3600 " install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n"
3601
3602 #. type: Content of: <book><chapter><section><para>
3603 #, fuzzy
3604 #| msgid ""
3605 #| "You've surely noticed that there's now a <literal>install -d</literal> "
3606 #| "command before the other commands in the rule. The original "
3607 #| "<filename>Makefile</filename> didn't have it because usually the "
3608 #| "<literal>/usr/local/bin</literal> and other directories already exist on "
3609 #| "the system where one runs <literal>make install</literal>. However, "
3610 #| "since we will install into our own empty (or even nonexistent) directory, "
3611 #| "we will have to create each and every one of those directories."
3612 msgid ""
3613 "You'll have noticed that there's now an <literal>install -d</literal> "
3614 "command before the other commands in the rule. The original "
3615 "<filename>Makefile</filename> didn't have it because usually <literal>/usr/"
3616 "local/bin</literal> and other directories already exist on the system where "
3617 "you are running <literal>make install</literal>. However, since we will be "
3618 "installing into a newly created private directory tree, we will have to "
3619 "create each and every one of those directories."
3620 msgstr ""
3621 "你一定会注意到在其他命令前有了一个 <literal>install -d</literal> 命令。原始"
3622 "的 <filename>Makefile</filename> 文件中没有它,因为通常情况下 <literal>/usr/"
3623 "local/bin</literal> 和用到的其他目录早已存在于系统,使用 <literal>make "
3624 "install</literal> 时不用对此处理。然而因为我们要向空目录或尚不存在的目录中安"
3625 "装,我们必须创建每一个目录。"
3626
3627 #. type: Content of: <book><chapter><section><para>
3628 msgid ""
3629 "We can also add in other things at the end of the rule, like the "
3630 "installation of additional documentation that the upstream authors sometimes "
3631 "omit:"
3632 msgstr "我们还可以在末尾添加上其他的内容,比如上游作者有时会省略的附加文档:"
3633
3634 #. type: Content of: <book><chapter><section><screen>
3635 #, no-wrap
3636 msgid ""
3637 " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n"
3638 " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n"
3639 msgstr ""
3640 " install -d $(DESTDIR)/usr/share/doc/gentoo/html\n"
3641 " cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n"
3642
3643 #. type: Content of: <book><chapter><section><para>
3644 #, fuzzy
3645 #| msgid ""
3646 #| "After careful check, if everything is fine, ask <command>quilt</command> "
3647 #| "to refresh the patch to create <filename>debian/patches/install.patch</"
3648 #| "filename> and add its description."
3649 msgid ""
3650 "Check carefully, and if everything is okay, ask <command>dquilt</command> to "
3651 "generate the patch to create <filename>debian/patches/install.patch</"
3652 "filename> and add its description."
3653 msgstr ""
3654 "仔细检查后如果没有问题,使用 <command>quilt</command> 刷新补丁以创建 "
3655 "<filename>debian/patches/install.patch</filename> 文件并添加对它的描述。"
3656
3657 #. type: Content of: <book><chapter><section><para>
3658 msgid "Now you have a series of patches."
3659 msgstr "现在你有了一格系列的补丁。"
3660
3661 #. type: Content of: <book><chapter><section><orderedlist><listitem><para>
3662 msgid ""
3663 "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>"
3664 msgstr ""
3665 "修复上游 Bug:<filename>debian/patches/fix-gentoo-target.patch</filename>"
3666
3667 #. type: Content of: <book><chapter><section><orderedlist><listitem><para>
3668 msgid ""
3669 "Debian specific packaging modification: <filename>debian/patches/install."
3670 "patch</filename>"
3671 msgstr ""
3672 "Debian 特有的打包修改:<filename>debian/patches/install.patch</filename>"
3673
3674 #. type: Content of: <book><chapter><section><para>
3675 #, fuzzy
3676 #| msgid ""
3677 #| "Whenever you make changes that are not specifically related to Debian "
3678 #| "package such as <filename>debian/patches/fix-gentoo-target.patch</"
3679 #| "filename>, be sure to send them to the upstream maintainer so they can be "
3680 #| "included in the next program revision and be useful to everyone else. "
3681 #| "Also remember to make your fixes not specific to Debian or Linux (or even "
3682 #| "Unix!) prior to sending them -- make them portable. This will make your "
3683 #| "fixes much easier to apply."
3684 msgid ""
3685 "Whenever you make changes that are not specific to the Debian package such "
3686 "as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to "
3687 "send them to the upstream maintainer so they can be included in the next "
3688 "version of the program and be useful to everyone else. Also remember to "
3689 "avoid making your fixes specific to Debian or Linux - or even Unix! Make "
3690 "them portable. This will make your fixes much easier to apply."
3691 msgstr ""
3692 "进行任何不是 Debian 特有的修改时,比如 <filename>debian/patches/fix-gentoo-"
3693 "target.patch</filename>,一定要向上游作者进行反馈,以便上游作者方便在下一版本"
3694 "中以使更多人受益。同时请记住在做不特别针对 Debian 或 Linux (甚至是 Unix!)的"
3695 "修改时要使其可以移植,这会使你的修改更容易被接受。"
3696
3697 #. type: Content of: <book><chapter><section><para>
3698 msgid ""
3699 "Note that you don't have to send the <filename>debian/*</filename> files "
3700 "upstream."
3701 msgstr "注意你不一定要把 <filename>debian/*</filename> 都提交到上游。"
3702
3703 #. type: Content of: <book><chapter><section><title>
3704 msgid "Differing libraries"
3705 msgstr "不一样的库名称"
3706
3707 #. type: Content of: <book><chapter><section><para>
3708 #, fuzzy
3709 #| msgid ""
3710 #| "There is one other common problem: libraries are often different from "
3711 #| "platform to platform. For example, a <filename>Makefile</filename> can "
3712 #| "contain a reference to a library which doesn't exist on Debian systems. "
3713 #| "In that case, we need to change it to a library which does exist in "
3714 #| "Debian, and serves the same purpose."
3715 msgid ""
3716 "There is one other common problem: libraries are often different from "
3717 "platform to platform. For example, a <filename>Makefile</filename> can "
3718 "contain a reference to a library which doesn't exist on the Debian system. "
3719 "In that case, we need to change it to a library which does exist in Debian, "
3720 "and serves the same purpose."
3721 msgstr ""
3722 "还有另外一个常见的问题:不同平台之间的库常常是不同的。例如一个 "
3723 "<filename>Makefile</filename> 中可能引了用一个不在 Debian 上存在的库。这种情"
3724 "况下我们需要将其修改为 Debian 中存在的、提供完全相同功能的库。"
3725
3726 #. type: Content of: <book><chapter><section><para>
3727 #, fuzzy
3728 #| msgid ""
3729 #| "So, if there is a line in your program's <filename>Makefile</filename> "
3730 #| "(or <filename>Makefile.in</filename>) that says something like this (and "
3731 #| "your program doesn't compile) <placeholder type=\"footnote\" id=\"0\"/>:"
3732 msgid ""
3733 "Let's assume a line in your program's <filename>Makefile</filename> (or "
3734 "<filename>Makefile.in</filename>) as the following."
3735 msgstr ""
3736 "如果你手中程序的 <filename>Makefile</filename>(或 <filename>Makefile.in</"
3737 "filename>)中有如下的行(且程序无法通过编译)<placeholder type=\"footnote\" id="
3738 "\"0\"/>:"
3739
3740 #. type: Content of: <book><chapter><section><screen>
3741 #, no-wrap
3742 msgid "LIBS = -lfoo -lbar\n"
3743 msgstr ""
3744
3745 #. type: Content of: <book><chapter><section><para><footnote><para>
3746 msgid ""
3747 "If there are API changes from the <literal>foo</literal> library to the "
3748 "<literal>foo2</literal> library, required changes to the source code need to "
3749 "be made to match the new API."
3750 msgstr ""
3751
3752 #. type: Content of: <book><chapter><section><para>
3753 msgid ""
3754 "If your program doesn't compile since the <literal>foo</literal> library "
3755 "doesn't exist and its equivalent is provided by the <literal>foo2</literal> "
3756 "library on the Debian system, you can fix this build problem as "
3757 "<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</"
3758 "literal> into <literal>foo2</literal>.<placeholder type=\"footnote\" id="
3759 "\"0\"/>"
3760 msgstr ""
3761
3762 #. type: Content of: <book><chapter><section><screen>
3763 #, fuzzy, no-wrap
3764 #| msgid ""
3765 #| "$ quilt new ncurse.patch\n"
3766 #| "$ quilt add Makefile\n"
3767 #| "$ sed -i -e s/-lcurses/-lncurses/g Makefile\n"
3768 #| "$ quilt refresh\n"
3769 #| "$ quilt header -e\n"
3770 #| "... describe patch\n"
3771 msgid ""
3772 "$ dquilt new foo2.patch\n"
3773 "$ dquilt add Makefile\n"
3774 "$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n"
3775 "$ dquilt refresh\n"
3776 "$ dquilt header -e\n"
3777 "... describe patch\n"
3778 msgstr ""
3779 "$ quilt new ncurse.patch\n"
3780 "$ quilt add Makefile\n"
3781 "$ sed -i -e s/-lcurses/-lncurses/g Makefile\n"
3782 "$ quilt refresh\n"
3783 "$ quilt header -e\n"
3784 "... 描述补丁\n"
3785
3786 #. type: Content of: <book><chapter><title>
3787 msgid "Required files under the <filename>debian</filename> directory"
3788 msgstr "<filename>debian</filename> 目录中的必须内容"
3789
3790 #. type: Content of: <book><chapter><para><footnote><para>
3791 msgid ""
3792 "In this chapter, files in the <filename>debian</filename> directory are "
3793 "referred to without the leading <filename>debian/</filename> for simplicity "
3794 "whenever the meaning is obvious."
3795 msgstr ""
3796
3797 #. type: Content of: <book><chapter><para>
3798 msgid ""
3799 "There is a new subdirectory under the program's source directory, called "
3800 "<filename>debian</filename>. There are a number of files in this directory "
3801 "that we should edit in order to customize the behavior of the package. The "
3802 "most important of them are <filename>control</filename>, "
3803 "<filename>changelog</filename>, <filename>copyright</filename>, and "
3804 "<filename>rules</filename>, which are required for all packages. "
3805 "<placeholder type=\"footnote\" id=\"0\"/>"
3806 msgstr ""
3807
3808 #. type: Content of: <book><chapter><section><title>
3809 #, fuzzy
3810 #| msgid "<filename>control</filename> file"
3811 msgid "<filename>control</filename>"
3812 msgstr "<filename>control</filename> 文件"
3813
3814 #. type: Content of: <book><chapter><section><para>
3815 #, fuzzy
3816 #| msgid ""
3817 #| "This file contains various values which <command>dpkg</command>, "
3818 #| "<command>dselect</command>, <command>apt-get</command>, <command>apt-"
3819 #| "cache</command>, <command>aptitude</command>, and other package "
3820 #| "management tools will use to manage the package. It is defined by the "
3821 #| "<ulink url=\"&policy-control;\">Debian Policy Manual, 5 'Control files "
3822 #| "and their fields'</ulink>."
3823 msgid ""
3824 "This file contains various values which <command>dpkg</command>, "
3825 "<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</"
3826 "command>, <command>aptitude</command>, and other package management tools "
3827 "will use to manage the package. It is defined by the <ulink url=\"&policy-"
3828 "control;\">Debian Policy Manual, 5 \"Control files and their fields\"</"
3829 "ulink>."
3830 msgstr ""
3831 "这个文件包含了很多供 <command>dpkg</command>、<command>dselect</command>、"
3832 "<command>apt-get</command>、<command>apt-cache</command>、<command>aptitude</"
3833 "command> 等软件包管理工具提取信息以进行管理时所使用的变量。这些变量均在 "
3834 "<ulink url=\"&policy-control;\">Debian Policy Manual, 5 'Control files and "
3835 "their fields'</ulink> 中定义。"
3836
3837 #. type: Content of: <book><chapter><section><para>
3838 msgid ""
3839 "Here is the <filename>control</filename> file <command>dh_make</command> "
3840 "created for us:"
3841 msgstr ""
3842
3843 #. type: Content of: <book><chapter><section><screen>
3844 #, no-wrap
3845 msgid ""
3846 " 1 Source: gentoo\n"
3847 " 2 Section: unknown\n"
3848 " 3 Priority: extra\n"
3849 " 4 Maintainer: Josip Rodin &lt;joy-mg@debian.org&gt;\n"
3850 " 5 Build-Depends: debhelper (&gt;= 7.0.50~)\n"
3851 " 6 Standards-Version: 3.8.4\n"
3852 " 7 Homepage: &lt;insert the upstream URL, if relevant&gt;\n"
3853 " 8\n"
3854 " 9 Package: gentoo\n"
3855 "10 Architecture: any\n"
3856 "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n"
3857 "12 Description: &lt;insert up to 60 chars description&gt;\n"
3858 "13 &lt;insert long description, indented with spaces&gt;\n"
3859 msgstr ""
3860 " 1 Source: gentoo\n"
3861 " 2 Section: unknown\n"
3862 " 3 Priority: extra\n"
3863 " 4 Maintainer: Josip Rodin &lt;joy-mg@debian.org&gt;\n"
3864 " 5 Build-Depends: debhelper (&gt;= 7.0.50~)\n"
3865 " 6 Standards-Version: 3.8.4\n"
3866 " 7 Homepage: &lt;insert the upstream URL, if relevant&gt;\n"
3867 " 8\n"
3868 " 9 Package: gentoo\n"
3869 "10 Architecture: any\n"
3870 "11 Depends: ${shlibs:Depends}, ${misc:Depends}\n"
3871 "12 Description: &lt;insert up to 60 chars description&gt;\n"
3872 "13 &lt;insert long description, indented with spaces&gt;\n"
3873
3874 #. type: Content of: <book><chapter><section><para>
3875 msgid "(I've added the line numbers.)"
3876 msgstr "(注:我为它添加了行号。)"
3877
3878 #. type: Content of: <book><chapter><section><para>
3879 #, fuzzy
3880 #| msgid "Lines 1-6 are the control information for the source package."
3881 msgid ""
3882 "Lines 1-7 are the control information for the source package. Lines 9-13 "
3883 "are the control information for the binary package."
3884 msgstr "第 1-6 行是源代码包的控制信息。"
3885
3886 #. type: Content of: <book><chapter><section><para>
3887 msgid "Line 1 is the name of the source package."
3888 msgstr "第 1 行是源代码包的名称。"
3889
3890 #. type: Content of: <book><chapter><section><para>
3891 msgid "Line 2 is the section of the distribution the source package goes into."
3892 msgstr "第 2 行是该源码包要进入发行版中的分类。"
3893
3894 #. type: Content of: <book><chapter><section><para><footnote><para>
3895 msgid ""
3896 "See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections"
3897 "\"</ulink> and <ulink url=\"&sections-unstable;\">List of sections in "
3898 "<literal>sid</literal></ulink>."
3899 msgstr ""
3900
3901 #. type: Content of: <book><chapter><section><para>
3902 #, fuzzy
3903 #| msgid ""
3904 #| "As you may have noticed, Debian archive is divided in sections: "
3905 #| "<literal>main</literal> (the free software), <literal>non-free</literal> "
3906 #| "(the not really free software) and <literal>contrib</literal> (free "
3907 #| "software that depends on non-free software). Under those, there are "
3908 #| "logical subsections that describe in short what packages are in. So we "
3909 #| "have <literal>admin</literal> for administrator-only programs, "
3910 #| "<literal>base</literal> for the basic tools, <literal>devel</literal> for "
3911 #| "programmer tools, <literal>doc</literal> for documentation, "
3912 #| "<literal>libs</literal> for libraries, <literal>mail</literal> for e-mail "
3913 #| "readers and daemons, <literal>net</literal> for network apps and daemons, "
3914 #| "<literal>x11</literal> for X11 programs that don't fit anywhere else, and "
3915 #| "many more. See the <ulink url=\"&policy-subsections;\">Debian Policy "
3916 #| "Manual, 2.4 'Sections'</ulink> and <ulink url=\"&sections-unstable;"
3917 #| "\">List of sections in 'sid'</ulink> for the guidance."
3918 msgid ""
3919 "As you may have noticed, the Debian archive is divided into multiple areas: "
3920 "<literal>main</literal> (the free software), <literal>non-free</literal> "
3921 "(the not really free software) and <literal>contrib</literal> (free software "
3922 "that depends on non-free software). Each of these is divided into sections "
3923 "that classify packages into rough categories. So we have <literal>admin</"
3924 "literal> for administrator-only programs, <literal>devel</literal> for "
3925 "programmer tools, <literal>doc</literal> for documentation, <literal>libs</"
3926 "literal> for libraries, <literal>mail</literal> for email readers and "
3927 "daemons, <literal>net</literal> for network apps and daemons, <literal>x11</"
3928 "literal> for X11 programs that don't fit anywhere else, and many more. "
3929 "<placeholder type=\"footnote\" id=\"0\"/>"
3930 msgstr ""
3931 "你可能已经注意到,Debian 仓库被分为几个类别:<literal>main</literal> (自由软"
3932 "件)、<literal>non-free</literal> (非自由软件)以及 <literal>contrib</literal> "
3933 "(依赖于非自由软件的自由软件)。在这些大的分类之下还有多个逻辑上的子分类,用以"
3934 "简短描述软件包的用途类别。<literal>admin</literal> 为仅供系统管理员使用的程"
3935 "序,<literal>base</literal> 为基本工具,<literal>devel</literal> 为开发工具,"
3936 "<literal>doc</literal> 为文档,<literal>libs</literal> 为库,<literal>mail</"
3937 "literal> 为电子邮件阅读器或邮件系统守护程序,<literal>net</literal> 为网络应"
3938 "用程序或网络服务守护进程,<literal>x11</literal> 为不属于其他分类的为 X11 程"
3939 "序。更多的子分类见 <ulink url=\"&policy-subsections;\">Debian Policy Manual, "
3940 "2.4 'Sections'</ulink> 和 <ulink url=\"&sections-unstable;\">List of "
3941 "sections in 'sid'</ulink>"
3942
3943 #. type: Content of: <book><chapter><section><para>
3944 msgid ""
3945 "Let's change it then to x11. (A <literal>main/</literal> prefix is implied "
3946 "so we can omit it.)"
3947 msgstr ""
3948 "我们将本例设置为 x11。( <literal>main/</literal> 前缀是默认值,可以省略。)"
3949
3950 #. type: Content of: <book><chapter><section><para><footnote><para>
3951 #, fuzzy
3952 #| msgid ""
3953 #| "Line 3 describes how important it is that the user installs this "
3954 #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy "
3955 #| "Manual, 2.5 'Priorities'</ulink> for the guidance."
3956 msgid ""
3957 "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities"
3958 "\"</ulink>."
3959 msgstr ""
3960 "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-"
3961 "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>"
3962
3963 #. type: Content of: <book><chapter><section><para>
3964 #, fuzzy
3965 #| msgid ""
3966 #| "Line 3 describes how important it is that the user installs this "
3967 #| "package. See the <ulink url=\"&policy-priorities;\">Debian Policy "
3968 #| "Manual, 2.5 'Priorities'</ulink> for the guidance."
3969 msgid ""
3970 "Line 3 describes how important it is that the user installs this package. "
3971 "<placeholder type=\"footnote\" id=\"0\"/>"
3972 msgstr ""
3973 "第 3 行描述了用户安装此软件包的优先级。具体说明参看 <ulink url=\"&policy-"
3974 "priorities;\">Debian Policy Manual, 2.5 'Priorities'</ulink>"
3975
3976 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
3977 #, fuzzy
3978 #| msgid ""
3979 #| "The <literal>optional</literal> priority will usually work for new "
3980 #| "packages that do not conflict with others with <literal>required</"
3981 #| "literal>, <literal>important</literal> or <literal>standard</literal> "
3982 #| "priorities."
3983 msgid ""
3984 "The <literal>optional</literal> priority will usually work for new packages "
3985 "that do not conflict with others claiming <literal>required</literal>, "
3986 "<literal>important</literal>, or <literal>standard</literal> priority."
3987 msgstr ""
3988 "<literal>optional</literal> 优先级适用于不与优先级为 <literal>required</"
3989 "literal>、<literal>important</literal> 或 <literal>standard</literal> 的软件"
3990 "包冲突的新软件包。"
3991
3992 #. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
3993 msgid ""
3994 "The <literal>extra</literal> priority will usually work for new packages "
3995 "that conflict with others with non-<literal>extra</literal> priorities."
3996 msgstr ""
3997 "<literal>extra</literal> 优先级适用于与其他非 <literal>extra</literal> 优先级"
3998 "软件包冲突的新软件包。"
3999
4000 #. type: Content of: <book><chapter><section><para>
4001 #, fuzzy
4002 #| msgid ""
4003 #| "Section and priority are used by the frontends like <command>aptitude</"
4004 #| "command> when they sort packages and select defaults. Once you upload "
4005 #| "the package to Debian, the value of these two fields can be overridden by "
4006 #| "the archive maintainers, in which case you will be notified by email."
4007 msgid ""
4008 "Section and priority are used by front-ends like <command>aptitude</command> "
4009 "when they sort packages and select defaults. Once you upload the package to "
4010 "Debian, the value of these two fields can be overridden by the archive "
4011 "maintainers, in which case you will be notified by email."
4012 msgstr ""
4013 "Section 和 Priority 常被如 <command>aptitude</command> 的前端所使用,以分类软"
4014 "件包并计算默认值。一旦你把软件包上传到 Debian,这两项的值可以被仓库维护人员修"
4015 "改,在被修改时你将收到邮件。"
4016
4017 #. type: Content of: <book><chapter><section><para>
4018 msgid ""
4019 "As this is a normal priority package and doesn't conflict with anything "
4020 "else, we will change the priority to <literal>optional</literal>."
4021 msgstr ""
4022 "由于这是一个常规优先级的软件,并不与其他软件包冲突,我们将优先级改为 "
4023 "<literal>optional</literal>。"
4024
4025 #. type: Content of: <book><chapter><section><para>
4026 #, fuzzy
4027 #| msgid ""
4028 #| "Line 4 is the name and email address of the maintainer. Make sure that "
4029 #| "this field includes a valid <literal>To</literal> header for an email, "
4030 #| "because after you upload it, the bug tracking system will use it to "
4031 #| "deliver bug emails to you. Avoid using commas, ampersands and "
4032 #| "parenthesis."
4033 msgid ""
4034 "Line 4 is the name and email address of the maintainer. Make sure that this "
4035 "field includes a valid <literal>To</literal> header for email, because after "
4036 "you upload it, the bug tracking system will use it to deliver bug emails to "
4037 "you. Avoid using commas, ampersands, or parentheses."
4038 msgstr ""
4039 "第 4 行是维护者的姓名和电子邮件地址。请确保此处的值可以直接用于电子邮件头的 "
4040 "<literal>To</literal> 项。因为一旦你将软件包上传至仓库,Bug 跟踪系统将使用其"
4041 "向你发送可能的 Bug 报告邮件。避免使用逗号、“&amp;”符号或括号。"
4042
4043 #. type: Content of: <book><chapter><section><para><footnote><para>
4044 msgid ""
4045 "See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy "
4046 "Manual, 7.7 \"Relationships between source and binary packages - Build-"
4047 "Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</"
4048 "ulink>."
4049 msgstr ""
4050
4051 #. type: Content of: <book><chapter><section><para>
4052 #, fuzzy
4053 #| msgid ""
4054 #| "The 5th line includes the list of packages required to build your package "
4055 #| "as the <literal>Build-Depends</literal> field. You can also have the "
4056 #| "<literal>Build-Depends-Indep</literal> field as an additional line, "
4057 #| "here. (see the <ulink url=\"&policy-relationships;#s-sourcebinarydeps"
4058 #| "\">Debian Policy Manual, 7.7 'Relationships between source and binary "
4059 #| "packages - Build-Depends, Build-Depends-Indep, Build-Conflicts, Build-"
4060 #| "Conflicts-Indep'</ulink>). Some packages like <systemitem role=\"package"
4061 #| "\">gcc</systemitem> and <systemitem role=\"package\">make</systemitem>