diff -Nru maint-guide-1.2.42/common.ent maint-guide-1.2.43/common.ent --- maint-guide-1.2.42/common.ent 2018-06-30 16:07:45.000000000 +0000 +++ maint-guide-1.2.43/common.ent 2019-03-04 13:48:46.000000000 +0000 @@ -85,8 +85,8 @@ - - + + diff -Nru maint-guide-1.2.42/Credits maint-guide-1.2.43/Credits --- maint-guide-1.2.42/Credits 2018-06-30 16:07:45.000000000 +0000 +++ maint-guide-1.2.43/Credits 2019-03-04 13:48:46.000000000 +0000 @@ -94,6 +94,9 @@ @ Михаил Соболев ! Алексей Выскубов +* Vietnamese: +@ Giap Tran , 2018 ** + * Chinese (zh_CN): @ Aron Xu - Boyuan Yang <073plan@gmail.com> diff -Nru maint-guide-1.2.42/debian/changelog maint-guide-1.2.43/debian/changelog --- maint-guide-1.2.42/debian/changelog 2018-07-23 14:54:13.000000000 +0000 +++ maint-guide-1.2.43/debian/changelog 2019-03-04 14:33:39.000000000 +0000 @@ -1,6 +1,21 @@ +maint-guide (1.2.43) unstable; urgency=medium + + [ Holger Wansing ] + * Add Vietnamese translation by Giap Tran. + * Update FHS links from version 2.3 to 3.0. Thanks to Sylvain Viart for hint + and patch origin. + + [ Ondřej Nový ] + * d/changelog: Remove trailing whitespaces + + [ Osamu Aoki ] + * Add vi to build. + + -- Osamu Aoki Mon, 04 Mar 2019 23:33:39 +0900 + maint-guide (1.2.42) unstable; urgency=medium - * Update translation: de, ja, it, zh-cn + * Update translation: de, ja, it, zh-cn -- Osamu Aoki Mon, 23 Jul 2018 23:54:13 +0900 diff -Nru maint-guide-1.2.42/debian/control maint-guide-1.2.43/debian/control --- maint-guide-1.2.42/debian/control 2018-06-30 16:07:45.000000000 +0000 +++ maint-guide-1.2.43/debian/control 2019-03-04 14:33:39.000000000 +0000 @@ -24,6 +24,7 @@ texlive-lang-german, texlive-lang-italian, texlive-lang-japanese, + texlive-lang-other, texlive-lang-spanish, texlive-xetex, w3m, @@ -320,6 +321,42 @@ . This is Russian translation. +Package: maint-guide-vi +Architecture: all +Multi-Arch: foreign +Depends: + ${misc:Depends}, +Suggests: + debian-policy, + developers-reference, + devscripts, + dh-make, + doc-base, + dupload | dput, + fakeroot, + lintian, + pbuilder, + quilt, +Description: Debian New Maintainers' Guide (Vietnamese) + This package contains the Debian New Maintainers' Guide. + . + This document tries to describe the building of a Debian package to ordinary + Debian users and prospective developers. It uses fairly non-technical + language, and it's well covered with working examples. + . + The document contains these chapters: + * 1 Getting started The Right Way + * 2 First steps + * 3 Modifying the source + * 4 Required files under debian directory + * 5 Other files under debian directory + * 6 Building the package + * 7 Checking the package for errors + * 8 Uploading the package + * 9 Updating the package + . + This is Vietnamese translation. + Package: maint-guide-zh-cn Architecture: all Multi-Arch: foreign diff -Nru maint-guide-1.2.42/debian/language maint-guide-1.2.43/debian/language --- maint-guide-1.2.42/debian/language 2018-06-30 16:07:45.000000000 +0000 +++ maint-guide-1.2.43/debian/language 2019-03-04 14:30:56.000000000 +0000 @@ -37,6 +37,9 @@ ru) echo -n "Russian" ;; + vi) + echo -n "Vietnamese" + ;; zh-cn) echo -n "Chinese(cn)" ;; diff -Nru maint-guide-1.2.42/debian/rules maint-guide-1.2.43/debian/rules --- maint-guide-1.2.42/debian/rules 2018-06-30 16:07:45.000000000 +0000 +++ maint-guide-1.2.43/debian/rules 2019-03-04 14:33:01.000000000 +0000 @@ -6,7 +6,7 @@ # Languages which generate DocBook XML files from PO files # (More conservative than the ones in Makefile) -LANGPO := ca de es fr it ja ru zh-cn zh-tw +LANGPO := ca de es fr it ja ru vi zh-cn zh-tw # Override main Makefile to build CJK under sid # No PDF build for these languages diff -Nru maint-guide-1.2.42/fuzzy.log maint-guide-1.2.43/fuzzy.log --- maint-guide-1.2.42/fuzzy.log 1970-01-01 00:00:00.000000000 +0000 +++ maint-guide-1.2.43/fuzzy.log 2019-03-04 14:29:18.000000000 +0000 @@ -0,0 +1,40 @@ +no-obsolete ca 1169 +untranslated ca 4 +fuzzy ca 109 + +no-obsolete de 1169 +untranslated de 0 +fuzzy de 0 + +no-obsolete es 1169 +untranslated es 4 +fuzzy es 110 + +no-obsolete fr 1169 +untranslated fr 1 +fuzzy fr 4 + +no-obsolete it 1169 +untranslated it 1 +fuzzy it 5 + +no-obsolete ja 1169 +untranslated ja 0 +fuzzy ja 0 + +no-obsolete ru 1169 +untranslated ru 4 +fuzzy ru 111 + +no-obsolete vi 1169 +untranslated vi 0 +fuzzy vi 0 + +no-obsolete zh-cn 1169 +untranslated zh-cn 0 +fuzzy zh-cn 0 + +no-obsolete zh-tw 1169 +untranslated zh-tw 3 +fuzzy zh-tw 109 + diff -Nru maint-guide-1.2.42/Makefile maint-guide-1.2.43/Makefile --- maint-guide-1.2.42/Makefile 2018-06-30 16:07:45.000000000 +0000 +++ maint-guide-1.2.43/Makefile 2019-03-04 13:48:46.000000000 +0000 @@ -7,7 +7,7 @@ # base file name excluding file extension MANUAL := maint-guide # languages translated with PO files -LANGPO := ca de es fr it ja ru zh-cn zh-tw +LANGPO := ca de es fr it ja ru vi zh-cn zh-tw # languages to skip generation of PDF files NOPDF := # languages to build document diff -Nru maint-guide-1.2.42/po/ja.po maint-guide-1.2.43/po/ja.po --- maint-guide-1.2.42/po/ja.po 2018-07-23 14:54:13.000000000 +0000 +++ maint-guide-1.2.43/po/ja.po 2019-03-04 14:08:43.000000000 +0000 @@ -7100,8 +7100,8 @@ "uscan 1 を参照してください。watch ファイルは、" "uscan ( devscriptsパッケージに含まれます) を設定し、最初ソースを入手しサイトを監視し" -"ます。Debian External Health Status (DEHS)に" +"systemitem>パッケージに含まれます) を設定し、最初ソースを入手したサイトを監視し" +"ます。これは Debian パッケージ トラッカー サービスに" "よっても使用されています。" #. type: Content of:
diff -Nru maint-guide-1.2.42/po/vi.ent maint-guide-1.2.43/po/vi.ent --- maint-guide-1.2.42/po/vi.ent 1970-01-01 00:00:00.000000000 +0000 +++ maint-guide-1.2.43/po/vi.ent 2019-03-04 13:48:46.000000000 +0000 @@ -0,0 +1,20 @@ + + +Vietnamese Localization Teamdebian-l10n-vietnamese@lists.debian.orgdịch bởi +'> + + + + + + + + + + + + diff -Nru maint-guide-1.2.42/po/vi.po maint-guide-1.2.43/po/vi.po --- maint-guide-1.2.42/po/vi.po 1970-01-01 00:00:00.000000000 +0000 +++ maint-guide-1.2.43/po/vi.po 2019-03-04 13:48:46.000000000 +0000 @@ -0,0 +1,10430 @@ +# Vietnamese translation of "Debian New Maintainers' Guide" +# Copyright (C) 2017 Free Software Foundation, Inc. +# This file is distributed under the same license as the maint-guide package. +# Giap Tran , 2017. +# Khang Nguyen , 2017 +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2018-05-07 11:32+0800\n" +"PO-Revision-Date: 2018-09-06 21:35+0700\n" +"Last-Translator: Giap Tran \n" +"Language-Team: Debian-VN \n" +"Language: vi_VN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" + +#. type: Attribute 'lang' of: +msgid "en" +msgstr "vi" + +#. type: Content of: +msgid "Debian New Maintainers' Guide" +msgstr "Debian New Maintainers' Guide" + +#. type: Content of: <book><bookinfo><authorgroup><author><personname> +msgid "Josip Rodin" +msgstr "Josip Rodin" + +#. type: Content of: <book><bookinfo><authorgroup><author><email> +msgid "joy-mg@debian.org" +msgstr "joy-mg@debian.org" + +#. type: Content of: <book><bookinfo><authorgroup><author><contrib> +msgid "original contents" +msgstr "nội dung ban đầu" + +#. type: Content of: <book><bookinfo><authorgroup><author><personname> +msgid "Osamu Aoki" +msgstr "Osamu Aoki" + +#. type: Content of: <book><bookinfo><authorgroup><author><email> +msgid "osamu@debian.org" +msgstr "osamu@debian.org" + +#. type: Content of: <book><bookinfo><authorgroup><author><contrib> +msgid "updated contents" +msgstr "nội dung cập nhật" + +#. type: Content of: <book><bookinfo><releaseinfo> +msgid "version &docversion;" +msgstr "phiên bản &docversion;" + +#. type: Content of: <book><bookinfo> +msgid "" +"<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> " +"<holder>Josip Rodin</holder></copyright> <copyright><year>2005-2015</year> " +"<holder>Osamu Aoki</holder></copyright> <copyright><year>2010</year> " +"<holder>Craig Small</holder></copyright> <copyright><year>2010</year> " +"<holder>Raphaël Hertzog</holder></copyright>" +msgstr "" +"<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> <holder>Josip Rodin</" +"holder></copyright> <copyright><year>2005-2015</year> <holder>Osamu Aoki</holder></" +"copyright> <copyright><year>2010</year> <holder>Craig Small</holder></copyright> " +"<copyright><year>2010</year> <holder>Raphaël Hertzog</holder></copyright>" + +#. type: Content of: <book><bookinfo><legalnotice><para> +msgid "" +"This document may be used under the terms of the GNU General Public License " +"version 2 or higher." +msgstr "" +"Nhận dịch (2017) bởi Giap Tran <txgvnn@gmail.com> và Khang Nguyen <khang.social@gmail.com>. " +"Tài liệu này có thể được sử dụng theo các điều khoản Giấy phép Công cộng GNU phiên bản 2 " +"trở lên." + +#. type: Content of: <book><bookinfo><legalnotice><para> +msgid "This document was made using these two documents as examples:" +msgstr "Tài liệu này được sử dụng hai tài liệu này làm ví dụ:" + +#. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> +msgid "" +"Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar " +"Vyas." +msgstr "Making a Debian Package (còn gọi Debmake Manual), bản quyền © 1997 Jaldhar Vyas." + +#. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para> +msgid "" +"The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe." +msgstr "The New-Maintainer's Debian Packaging Howto, bản quyền © 1997 Will Lowe." + +#. type: Content of: <book><chapter><title> +msgid "Getting started The Right Way" +msgstr "Bắt đầu Đúng cách" + +#. type: Content of: <book><chapter><para> +msgid "" +"This document tries to describe the building of a Debian package to ordinary " +"Debian users and prospective developers. It uses fairly non-technical " +"language, and it's well covered with working examples. There is an old " +"Latin saying: <emphasis>Longum iter est per praecepta, breve et efficax per " +"exempla</emphasis> (It's a long way by the rules, but short and efficient " +"with examples)." +msgstr "" +"Tài liệu này mô tả việc xây dựng một gói Debian cho người dùng Debian bình thường và " +"các nhà phát triển tiềm năng. Nó sử dụng ngôn ngữ khá phi kỹ thuật, và được mô tả với " +"các ví dụ. Có một câu nói Latin cổ đại: <emphasis>Longum iter est per praecepta, breve " +"et efficax per exempla</emphasis> (Đó là một chặng đường dài bởi các quy tắc, nhưng " +"ngắn và hiệu quả với các ví dụ)." + +#. type: Content of: <book><chapter><para> +msgid "" +"The rewrite of this tutorial document with updated contents and more " +"practical examples is available as <ulink url=\"&guidedeb;\">Guide for " +"Debian Maintainers</ulink>. Please use this new tutorial as the primary " +"tutorial document." +msgstr "" +"Việc viết lại tài liệu này với các nội dung cập nhật và nhiều các ví dụ " +"thực tế hơn đã có ở <ulink url=\"&guidedeb;\">Guide for Debian Maintainers" +"</ulink>. Vui lòng sử dụng tài liệu mới này như là tài liệu hướng dẫn chính." + +#. type: Content of: <book><chapter><para><footnote><para> +msgid "" +"The document assumes you are using a <literal>&base-release;</literal> or " +"newer system. If you need to follow this text in an older system (including " +"an older Ubuntu system etc.), you must install backported <systemitem role=" +"\"package\">dpkg</systemitem> and <systemitem role=\"package\">debhelper</" +"systemitem> packages, at least." +msgstr "" +"Tài liệu giả định bạn đang sử dụng <literal>&base-release;</literal> hoặc hệ thống mới " +"hơn. Nếu bạn cần phải làm theo các văn bản này trong một hệ thống cũ hơn (bao gồm cả " +"một hệ thống Ubuntu cũ hơn vv), bạn phải cài đặt ít nhất các gói <systemitem role=" +"\"package\">dpkg</systemitem> và <systemitem role=\"package\">debhelper</systemitem>." + +#. type: Content of: <book><chapter><para> +msgid "" +"This document is made available for the Debian <literal>Buster</literal> " +"release since this offers many translations. This document will be dropped " +"in the following releases since contents are getting outdated. <placeholder " +"type=\"footnote\" id=\"0\"/>" +msgstr "" +"Tài liệu này đã được cập nhật cho bản phát hành Debian <literal>&base-release;</" +"literal>. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><para><footnote><para> +msgid "" +"You can learn about the basic handling of a Debian system from the <ulink " +"url=\"&debref;\">Debian Reference</ulink>. It contains some pointers to " +"learn about Unix programming, too." +msgstr "" +"Bạn có thể tìm hiểu về cách xử lý cơ bản của một hệ thống Debian từ <ulink url=" +"\"&debref;\">Debian Reference</ulink>. Nó cũng chứa một số gợi ý để tìm hiểu về lập " +"trình Unix." + +#. type: Content of: <book><chapter><para> +msgid "" +"One of the things that makes Debian such a top-notch distribution is its " +"package system. While there is a vast quantity of software already in the " +"Debian format, sometimes you need to install software that isn't. You may " +"be wondering how you can make your own packages; and perhaps you think it is " +"a very difficult task. Well, if you are a real novice on Linux, it is hard, " +"but if you were a rookie, you wouldn't be reading this document " +"now :-) You do need to know a little about Unix programming but you " +"certainly don't need to be a wizard. <placeholder type=\"footnote\" id=" +"\"0\"/>" +msgstr "" +"Một trong những điều làm cho Debian trở thành một hệ thống gói phần mềm hàng đầu. Mặc " +"dù có một lượng lớn phần mềm đã có trong định dạng Debian, đôi khi bạn cần phải cài đặt " +"phần mềm mà nó không có. Bạn tự hỏi làm thế nàođể bạn có thể tạo gói cho riêng bạn; " +"Và có lẽ bạn nghĩ đó là một nhiệm vụ rất khó khăn. Vâng, nếu bạn là người mới làm quen " +"trên Linux, thật khó, nhưng nếu bạn là một tân binh, bạn sẽ không đọc tài liệu này bây " +"giờ  :-) Bạn cần biết một chút về lập trình Unix nhưng bạn chắc chắn không cần " +"phải là một cao thủ. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><para> +msgid "" +"One thing is certain, though: to properly create and maintain Debian " +"packages takes many hours. Make no mistake, for our system to work the " +"maintainers need to be both technically competent and diligent." +msgstr "" +"Tuy nhiên một điều chắc chắn là: để tạo và duy trì đúng các gói Debian phải mất nhiều " +"giờ. Không mắc sai lầm, vì hệ thống của chúng tôi làm việc bảo trì cần phải có cả kỹ " +"thuật có thẩm quyền và cả sự siêng năng." + +#. type: Content of: <book><chapter><para> +msgid "" +"If you need some help with packaging, please read <xref linkend=\"helpme\"/>." +msgstr "Nếu bạn cần trợ giúp về đóng gói, vui lòng đọc <xref linkend=\"helpme\"/>." + +#. type: Content of: <book><chapter><para> +msgid "" +"Newer versions of this document should always be available online at <ulink " +"url=\"&maint-guide;\"/> and in the <systemitem role=\"package\">maint-guide</" +"systemitem> package. The translations may be available in packages such as " +"<systemitem role=\"package\">maint-guide-es</systemitem>. Please note that " +"this documentation may be slightly outdated." +msgstr "" +"Các phiên bản mới hơn của tài liệu này luôn sẵn sàng trực tuyến tại <ulink url=" +"\"&maint-guide;\"/> và trong gói <systemitem role=\"package\">maint-guide</" +"systemitem>. Bản dịch có thể có sẵn trong các gói như <systemitem role=\"package" +"\">maint-guide-es</systemitem>. Xin lưu ý rằng tài liệu này có thể đã lỗi thời." + +#. type: Content of: <book><chapter><para> +msgid "" +"Since this is a tutorial, I choose to explain each detailed step for some " +"important topics. Some of them may look irrelevant to you. Please be " +"patient. I have also intentionally skipped some corner cases and provided " +"only pointers to keep this document simple." +msgstr "" +"Vì đây là một hướng dẫn, tôi chọn để giải thích từng bước chi tiết cho một số chủ đề " +"quan trọng. Một số người trong số họ có thể không có liên quan đến bạn. Làm ơn hãy " +"kiên nhẫn. Tôi cũng đã cố ý bỏ qua một số trường hợp góc và chỉ cung cấp con trỏ để " +"giữ tài liệu này đơn giản." + +#. type: Content of: <book><chapter><section><title> +msgid "Social dynamics of Debian" +msgstr "Động lực xã hội của Debian" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Here are some observations of Debian's social dynamics, presented in the " +"hope that it will prepare you for interactions with Debian:" +msgstr "" +"Dưới đây là một số quan sát về động lực xã hội của Debian, được trình bày với hy vọng " +"rằng nó sẽ chuẩn bị cho bạn tương tác với Debian:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "We all are volunteers." +msgstr "Tất cả chúng ta đều là tình nguyện viên." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "You cannot impose on others what to do." +msgstr "Bạn không thể áp đặt lên những người khác phải làm gì." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "You should be motivated to do things by yourself." +msgstr "Bạn nên có động cơ để làm việc một mình." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "Friendly cooperation is the driving force." +msgstr "Hợp tác thân thiện là động lực." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Your contribution should not overstrain others." +msgstr "Đóng góp của bạn không nên quá căng thẳng người khác." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Your contribution is valuable only when others appreciate it." +msgstr "Đóng góp của bạn chỉ có giá trị khi những người khác đánh giá cao nó." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Debian is not your school where you get automatic attention of teachers." +msgstr "" +"Debian không phải là trường học của bạn mà bạn nhận được sự chú ý tự động của giáo viên." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "You should be able to learn many things by yourself." +msgstr "Bạn sẽ có thể tự học hỏi nhiều điều." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Attention from other volunteers is a very scarce resource." +msgstr "Sự chú ý của các tình nguyện viên khác là một nguồn lực khan hiếm." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "Debian is constantly improving." +msgstr "Debian đang không ngừng cải tiến." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "You are expected to make high quality packages." +msgstr "Bạn sẽ phải tạo ra các gói chất lượng cao." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "You should adapt yourself to change." +msgstr "Bạn nên thích nghi với chính mình để thay đổi." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"There are several types of people interacting around Debian with different " +"roles:" +msgstr "Có nhiều người tương tác với Debian với các vai trò khác nhau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<emphasis role=\"strong\">upstream author</emphasis>: the person who made " +"the original program." +msgstr "" +"<emphasis role=\"strong\">upstream author</emphasis>: người đã tạo ra chương trình gốc." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who " +"currently maintains the program." +msgstr "" +"<emphasis role=\"strong\">upstream maintainer</emphasis>: người hiện đang duy trì bảo " +"trì chương trình gốc." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<emphasis role=\"strong\">maintainer</emphasis>: the person making the " +"Debian package of the program." +msgstr "" +"<emphasis role=\"strong\">maintainer</emphasis>: người tạo ra gói Debian cho chương " +"trình." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<emphasis role=\"strong\">sponsor</emphasis>: a person who helps maintainers " +"to upload packages to the official Debian package archive (after checking " +"their contents)." +msgstr "" +"<emphasis role=\"strong\">sponsor</emphasis>: một người giúp đỡ người bảo trì tải các " +"gói lên kho lưu trữ Debian chính thức (sau khi kiểm tra nội dung của chúng)." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<emphasis role=\"strong\">mentor</emphasis>: a person who helps novice " +"maintainers with packaging etc." +msgstr "" +"<emphasis role=\"strong\">mentor</emphasis>: người giúp những người mới làm quen với " +"bảo trì gói vv" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<emphasis role=\"strong\">Debian Developer</emphasis> (DD): a member of the " +"Debian project with full upload rights to the official Debian package " +"archive." +msgstr "" +"<emphasis role=\"strong\">Debian Developer</emphasis> (DD): thành viên của dự án Debian " +"với quyền tải đầy đủ lên kho lưu trữ Debian chính thức." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): a person with " +"limited upload rights to the official Debian package archive." +msgstr "" +"<emphasis role=\"strong\">Debian Maintainer</emphasis> (DM): người có quyền tải lên " +"giới hạn về kho lưu trữ gói Debian chính thức." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Please note that you cannot become an official <emphasis role=\"strong" +"\">Debian Developer</emphasis> (DD) overnight, because it takes more than " +"technical skill. Please do not be discouraged by this. If it is useful to " +"others, you can still upload your package either as a <emphasis role=\"strong" +"\">maintainer</emphasis> through a <emphasis role=\"strong\">sponsor</" +"emphasis> or as a <emphasis role=\"strong\">Debian Maintainer</emphasis>." +msgstr "" +"Xin lưu ý rằng bạn không thể trở thành một <emphasis role=\"strong\">Debian Developer</" +"emphasis> (DD) chính thức qua 1 đêm, vì nó đòi hỏi nhiều kỹ năng hơn. Xin đừng nản " +"lòng vì điều này. Nếu nó là hữu ích cho người khác, bạn vẫn có thể tải gói của bạn " +"hoặc như là một <emphasis role=\"strong\">maintainer</emphasis> thông qua một <emphasis " +"role=\"strong\">sponsor</emphasis> hoặc như một <emphasis role=\"strong\">Debian " +"Maintainer</emphasis>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Please note that you do not need to create any new package to become an " +"official Debian Developer. Contributing to the existing packages can " +"provide a path to becoming an official Debian Developer too. There are many " +"packages waiting for good maintainers (see <xref linkend=\"choose\"/>)." +msgstr "" +"Xin lưu ý rằng bạn không cần tạo bất kỳ gói mới nào để trở thành Nhà phát triển Debian " +"chính thức. Đóng góp cho các gói hiện có cũng có thể cung cấp một con đường để trở " +"thành Nhà phát triển Debian chính thức. Có nhiều gói đang chờ người bảo dưỡng tốt (xem " +"<xref linkend=\"choose\"/>)." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Since we focus only on technical aspects of packaging in this document, " +"please refer to the following to learn how Debian functions and how you can " +"get involved:" +msgstr "" +"Vì chúng ta chỉ tập trung vào các khía cạnh kỹ thuật của đóng gói trong tài liệu này, " +"vui lòng tham khảo những điều dưới đây để tìm hiểu cách các chức năng của Debian và " +"cách bạn có thể tham gia:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&logiciellibre;\">Debian: 17 years of Free Software, \"do-ocracy" +"\", and democracy</ulink> (Introductory slides)" +msgstr "" +"<ulink url=\"&logiciellibre;\"> Debian: 17 năm của Phần mềm Tự do,\"do-ocracy\", và dân " +"chủ </ulink> (Các trang giới thiệu)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)" +msgstr "" +"<ulink url=\"&debianorghelp;\">Làm thế nào bạn có thể giúp Debian? </ulink> (chính thức)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&debianfaqhelp;\">The Debian GNU/Linux FAQ, Chapter 13 - " +"\"Contributing to the Debian Project\"</ulink> (semi-official)" +msgstr "" +"<ulink url=\"&debianfaqhelp;\">Câu hỏi Thường Gặp về Debian GNU / Linux, Chương 13 -" +"\"Góp phần Dự án Debian\"</ulink> (bán chính thức)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> " +"(supplemental)" +msgstr "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian </ulink> (bổ sung)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<ulink url=\"&nm-do;\">Debian New Member site</ulink> (official)" +msgstr "<ulink url=\"&nm-do;\">Trang web thành viên của Debian </ulink> (chính thức)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)" +msgstr "" +"<ulink url=\"&debianmentorfaq;\">Câu hỏi thường gặp của trợ giảng của Debian </ulink> " +"(bổ sung)" + +#. type: Content of: <book><chapter><section><title> +msgid "Programs needed for development" +msgstr "Các chương trình cần thiết cho sự phát triển" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Before you start anything, you should make sure that you have properly " +"installed some additional packages needed for development. Note that the " +"list doesn't contain any packages marked <literal>essential</literal> or " +"<literal>required</literal> - we expect that you have those installed " +"already." +msgstr "" +"Trước khi bạn bắt đầu bất cứ điều gì, bạn nên chắc chắn rằng bạn đã cài đặt đúng một số " +"gói bổ sung cần thiết cho sự phát triển. Lưu ý rằng danh sách không chứa bất kỳ gói " +"nào được đánh dấu <literal>essential</literal> hoặc <literal>required</literal> - " +"chúng tôi mong rằng bạn đã cài đặt xong." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The following packages come with the standard Debian installation, so you " +"probably have them already (along with any additional packages they depend " +"on). Still, you should check them with <literal>aptitude show " +"<replaceable>package</replaceable></literal> or with <literal>dpkg -s " +"<replaceable>package</replaceable></literal>." +msgstr "" +"Các gói sau đi kèm với cài đặt Debian tiêu chuẩn, do đó có lẽ bạn đã có chúng rồi (cùng " +"với bất kỳ gói bổ sung nào mà chúng phụ thuộc). Tuy nhiên, bạn nên kiểm tra chúng bằng " +"gói <literal>aptitude show <replaceable>pakage</replaceable></literal> hoặc với " +"<literal>dpkg -s <replaceable>package</replaceable></literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The most important package to install on your development system is the " +"<systemitem role=\"package\">build-essential</systemitem> package. Once you " +"try to install that, it will <emphasis>pull in</emphasis> other packages " +"required to have a basic build environment." +msgstr "" +"Gói phần quan trọng nhất để cài đặt trên hệ thống phát triển của bạn là gói <systemitem " +"role=\"package\">build-essential</systemitem>. Một khi bạn cố gắng cài đặt nó, nó sẽ " +"<emphasis>pull in</emphasis> gói khác cần thiết để có một môi trường xây dựng cơ bản." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For some types of packages, that is all you will require; however, there is " +"another set of packages that while not essential for all package builds are " +"useful to have installed or may be required by your package:" +msgstr "" +"Đối với một số loại bao bì, đó là tất cả những gì bạn cần; Tuy nhiên, có một bộ gói " +"khác mà mặc dù không cần thiết cho tất cả các gói được xây dựng rất hữu ích để cài đặt " +"hoặc có thể được yêu cầu bởi gói của bạn:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=" +"\"package\">automake</systemitem>, and <systemitem role=\"package" +"\">autotools-dev</systemitem> - many newer programs use configure scripts " +"and <filename>Makefile</filename> files preprocessed with the help of " +"programs like these (see <literal>info autoconf</literal>, <literal>info " +"automake</literal>). <systemitem role=\"package\">autotools-dev</" +"systemitem> keeps up-to-date versions of certain auto files and has " +"documentation about the best way to use those files." +msgstr "" +"<systemitem role=\"package\">autoconf</systemitem>, <systemitem role=\"package" +"\">automake</systemitem>, và <systemitem role=\"package\">autotools-dev</systemitem> - " +"nhiều chương trình mới hơn sử dụng các tập lệnh cấu hình và <filename>Makefile </" +"filename> các tệp tin được xử lý trước với sự trợ giúp của các chương trình như thế này " +"(xem <literal>info autoconf</literal>, <literal>info automake</literal>). <systemitem " +"role=\"package\">autotools-dev</systemitem> giữ các phiên bản cập nhật của các tệp tin " +"tự động nhất định và có tài liệu về cách tốt nhất để sử dụng các tệp đó." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"There are also some more specialized but similar packages such as " +"<systemitem role=\"package\">dh-make-perl</systemitem>, <systemitem role=" +"\"package\">dh-make-php</systemitem>, etc." +msgstr "" +"Ngoài ra còn có một số gói chuyên dụng hơn nhưng tương tự như <systemitem role=\"package" +"\">dh-make-perl</systemitem>, <systemitem role=\"package\">dh-make-php</systemitem>, v." +"v." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">debhelper</systemitem> and <systemitem role=" +"\"package\">dh-make</systemitem> - <systemitem role=\"package\">dh-make</" +"systemitem> is necessary to create the skeleton of our example package, and " +"it will use some of the <systemitem role=\"package\">debhelper</systemitem> " +"tools for creating packages. They are not essential for this purpose, but " +"are <emphasis>highly</emphasis> recommended for new maintainers. It makes " +"the whole process very much easier to start, and to control afterwards. " +"(See <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" +"manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=" +"\"footnote\" id=\"0\"/>" +msgstr "" +"<systemitem role=\"package\">debhelper</systemitem> và <systemitem role=\"package\">dh-" +"make</systemitem> - <systemitem role=\"package\">dh-make</systemitem> là cần thiết để " +"tạo ra bộ xương của gói ví dụ của chúng tôi, Và nó sẽ sử dụng một số công cụ " +"<systemitem role=\"package\">debhelper</systemitem> để tạo các gói. Chúng không cần " +"thiết cho mục đích này, nhưng được <emphasis>đánh giá cao</emphasis> được đề xuất cho " +"người bảo trì mới. Nó làm cho toàn bộ quá trình rất dễ dàng để bắt đầu, và để kiểm " +"soát sau đó. (Xem <citerefentry> <refentrytitle>dh_make</refentrytitle> <manvolnum>8</" +"manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"The new <systemitem role=\"package\">debmake</systemitem> may be used as the " +"alternative to the standard <systemitem role=\"package\">dh-make</" +"systemitem>. It does more and comes with HTML documentation with extensive " +"packaging examples in <systemitem role=\"package\">debmake-doc</systemitem>." +msgstr "Công cụ mới <systemitem role=\"package\">debmake</systemitem> có thể sử dụng thay thế cho tiêu chuẩn <systemitem role=\"package\">dh-make</systemitem>. Nó làm nhiều hơn và đi kèm thêm tài liệu HTML với các mẫu ví dụ đóng gói thêm trong <systemitem role=\"package\">debmake-doc</systemitem>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">devscripts</systemitem> - this package contains " +"some useful scripts that can be helpful for maintainers, but they are also " +"not necessary for building packages. Packages recommended and suggested by " +"this package are worth looking into. (See <filename>&devscripts-readme;</" +"filename>.)" +msgstr "<systemitem role=\"package\"> devscripts </systemitem> - gói này chứa một số " +"kịch bản hữu ích có thể giúp ích cho người bảo trì, nhưng chúng cũng không cần thiết cho việc " +" xây dựng các gói. Các gói đề nghị và đề xuất bởi gói này rất đáng để xem xét. (Xem <filename>&devscripts-readme;</filename>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">fakeroot</systemitem> - this utility lets you " +"emulate being root, which is necessary for some parts of the build process. " +"(See <citerefentry> <refentrytitle>fakeroot</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>.)" +msgstr "<systemitem role=\"package\">fakeroot</systemitem> - công cụ tiện ích này cho phép bạn " +" giả lập root khi cần thiết cho một số phần của quá trình xây dựng. (Xem <citerefentry> " +"<refentrytitle>fakeroot</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">file</systemitem> - this handy program can " +"determine what type a file is. (See <citerefentry> <refentrytitle>file</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" +msgstr "" +"<systemitem role=\"package\">file</systemitem> - chương trình tiện ích này có thể xác định loại tập tin là gì. (Xem <citerefentry> <refentrytitle>file</refentrytitle> <manvolnum>1</manvolnum></citerefentry>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">gfortran</systemitem> - the GNU Fortran 95 " +"compiler, necessary if your program is written in Fortran. (See " +"<citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>.)" +msgstr "<systemitem role=\"package\">gfortran</systemitem> - trình biên dịch GNU Fortran 95, sẽ là cần thiết nếu chương trình của bạn được viết bằng Fortran. (Xem <citerefentry> <refentrytitle>gfortran</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">git</systemitem> - this package provides a " +"popular version control system designed to handle very large projects with " +"speed and efficiency; it is used for many high profile open source projects, " +"most notably the Linux kernel. (See <citerefentry> <refentrytitle>git</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, git Manual " +"(<filename>&git-doc;</filename>).)" +msgstr "<systemitem role=\"package\">git</systemitem> - gói này cung cấp một hệ thống quản lý phiên bản phổ biến được thiết kế để xử lý các dự án rất lớn với tốc độ và hiệu quả; Nó được sử dụng cho nhiều dự án mã nguồn mở lớn, nhất là nhân Linux. (Xem <citerefentry> <refentrytitle>git</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, Tài liệu git (<filename>&git-doc;</filename>).)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">gnupg</systemitem> - a tool that enables you to " +"digitally <emphasis>sign</emphasis> packages. This is especially important " +"if you want to distribute packages to other people, and you will certainly " +"be doing that when your work gets included in the Debian distribution. (See " +"<citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>.)" +msgstr "<systemitem role=\"package\">gnupg</systemitem> - một công cụ cho phép bạn dùng chữ ký số để <emphasis>ký</emphasis> gói. Điều này đặc biệt quan trọng nếu bạn muốn phân phối các gói cho người khác, và chắc chắn bạn sẽ làm điều đó khi tác phẩm của bạn được đưa vào phân phối Debian. (Xem <citerefentry> <refentrytitle>gpg</refentrytitle> <manvolnum>1</manvolnum></citerefentry>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">gpc</systemitem> - the GNU Pascal compiler, " +"necessary if your program is written in Pascal. Worthy of note here is " +"<systemitem role=\"package\">fp-compiler</systemitem>, the Free Pascal " +"Compiler, which is also good at this task. (See <citerefentry> " +"<refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " +"<citerefentry> <refentrytitle>ppc386</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>.)" +msgstr "<systemitem role=\"package\"> gpc </systemitem> - trình biên dịch Pascal GNU, cần thiết " +"nếu chương trình của bạn được viết bằng Pascal. Đáng lưu ý ở đây là <systemitem role=\"package\">fp-compiler</systemitem>, Free Pascal Compiler, cũng tốt trong nhiệm vụ này. (Xem <citerefentry> <refentrytitle>gpc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>ppc386</refentrytitle><manvolnum>1</manvolnum></citerefentry>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">lintian</systemitem> - this is the Debian " +"package checker, which lets you know of any common mistakes after you build " +"the package and explains the errors found. (See <citerefentry> " +"<refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>, <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink>.)" +msgstr "<systemitem role=\"package\">lintian</systemitem> - đây là trình kiểm tra gói Debian, để cho bạn biết về bất kỳ lỗi phổ biến nào sau khi bạn xây dựng gói và giải thích các lỗi được tìm thấy. (Xem <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <ulink url=\"&lintian-doc;\"> Hướng dẫn sử dụng Lintian </ulink>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">patch</systemitem> - this very useful utility " +"will take a file containing a difference listing (produced by the " +"<command>diff</command> program) and apply it to the original file, " +"producing a patched version. (See <citerefentry> <refentrytitle>patch</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" +msgstr "<systemitem role=\"package\"> patch </systemitem> - tiện ích hữu ích này sẽ lấy một tệp có chứa sự thay đổi (được sản sinh bởi chương trình <command>diff</command>) và áp dụng nó vào tệp gốc, tạo ra một phiên bản vá. (Xem <citerefentry> <refentrytitle>patch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">patchutils</systemitem> - this package contains " +"some utilities to work with patches such as the <command>lsdiff</command>, " +"<command>interdiff</command> and <command>filterdiff</command> commands." +msgstr "<systemitem role=\"package\">patchutils</systemitem> - gói này chứa một số tiện ích " +" để làm việc với các bản vá như <command>lsdiff</command>, <command>interdiff</command> và lệnh <command>filterdiff </command>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">pbuilder</systemitem> - this package contains " +"programs which are used for creating and maintaining a <command>chroot</" +"command> environment. Building a Debian package in this <command>chroot</" +"command> environment verifies the proper build dependency and avoids FTBFS " +"(Fails To Build From Source) bugs. (see <citerefentry> " +"<refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </" +"citerefentry> and <citerefentry> <refentrytitle>pdebuild</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>)" +msgstr "<systemitem role=\"package\">pbuilder</systemitem> - gói này chứa các chương trình được sử dụng để tạo và duy trì môi trường <command>chroot</command>. Xây dựng gói Debian trong môi trường <command>chroot </command> này sẽ kiểm tra sự phụ thuộc thư viện phù hợp và tránh lỗi FTBFS (Fails To Build From Source). (Xem <citerefentry><refentrytitle>pbuilder </refentrytitle><manvolnum> 8</manvolnum></citerefentry> và <citerefentry> <refentrytitle>pdebuild </refentrytitle> <manvolnum> 1 </manvolnum> </citerefentry>)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">perl</systemitem> - Perl is one of the most " +"used interpreted scripting languages on today's Unix-like systems, often " +"referred to as Unix's Swiss Army Chainsaw. (See <citerefentry> " +"<refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>.)" +msgstr "" +"<systemitem role=\"package\">perl</systemitem> - Perl là một trong những ngôn ngữ lập trình được sử dụng phổ biến nhất trên các hệ thống Unix ngày nay, thường được gọi là Unix's Swiss Army Chainsaw. (Xem <citerefentry> <refentrytitle>perl</refentrytitle> <manvolnum>1</manvolnum></citerefentry>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">python</systemitem> - Python is another of the " +"most used interpreted scripting languages on the Debian system, combining " +"remarkable power with very clear syntax. (See <citerefentry> " +"<refentrytitle>python</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>.)" +msgstr "<systemitem role=\"package\">python</systemitem> - Python là một trong những ngôn ngữ kịch bản thông dịch được sử dụng nhiều nhất trên hệ thống Debian, kết hợp sức mạnh vượt trội với cú pháp rất rõ ràng. (Xem <citerefentry> <refentrytitle>python</refentrytitle> <manvolnum> 1 </manvolnum> </citerefentry>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">quilt</systemitem> - this package helps you to " +"manage large numbers of patches by keeping track of the changes each patch " +"makes. Patches can be applied, un-applied, refreshed, and more. (See " +"<citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" +"manvolnum></citerefentry>, and <filename>&quilt-pdf;</filename>.)" +msgstr "<systemitem role=\"package\"> quilt </systemitem> - gói này giúp bạn quản lý một số lượng lớn các bản vá lỗi bằng cách theo dõi những thay đổi mà mỗi bản vá lỗi tạo ra. Các bản vá lỗi có thể được áp dụng, không áp dụng, làm mới và nhiều hơn nữa. (Xem <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> và <filename>&quilt-pdf;</filename> .)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">xutils-dev</systemitem> - some programs, " +"usually those made for X11, also use these programs to generate " +"<filename>Makefile</filename> files from sets of macro functions. (See " +"<citerefentry> <refentrytitle>imake</refentrytitle> <manvolnum>1</manvolnum> " +"</citerefentry>, <citerefentry> <refentrytitle>xmkmf</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>.)" +msgstr "" +"<systemitem role=\"package\">xutils-dev</systemitem> - một vài chương trình, thường xây dựng cho X11, " +"sử dụng chương trình này để tạo ra các tệp tin <filename>Makefile</filename> từ các cài đặt của các hàm macro. (Xem <citerefentry> <refentrytitle>imake</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>xmkmf</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.)" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The short descriptions that are given above only serve to introduce you to " +"what each package does. Before continuing please read the documentation of " +"each relevant program including ones installed through the package " +"dependency such as <command>make</command>, at least, for the standard " +"usage. It may seem like heavy going now, but later on you'll be " +"<emphasis>very</emphasis> glad you read it. If you have specific questions " +"later, I would suggest re-reading the documents mentioned above." +msgstr "Các mô tả ngắn được đưa ra ở trên chỉ phục vụ để giới thiệu cho bạn những gì mỗi gói " +"thực hiện. Trước khi tiếp tục, hãy đọc tài liệu của mỗi chương trình có liên quan, bao gồm cả " +"những chương trình được cài đặt thông qua sự phụ thuộc gói như <command>make</command>, ít " +"nhất, cho việc sử dụng tiêu chuẩn. Có vẻ như bây giờ kiến thức khá nặng, nhưng sau đó bạn sẽ " +"<emphasis>rất</emphasis> vui vì bạn đã đọc nó. Nếu bạn có câu hỏi cụ thể sau này, tôi sẽ đề " +"nghị đọc lại các tài liệu đã đề cập ở trên." + +#. type: Content of: <book><chapter><section><title> +msgid "Documentation needed for development" +msgstr "Tài liệu cần thiết cho sự phát triển" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The following is the <emphasis>very important</emphasis> documentation which " +"you should read along with this document:" +msgstr "" +"Sau đây là tài liệu <emphasis>rất quan trọng</emphasis> mà bạn nên đọc cùng " +"với tài liệu này:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">debian-policy</systemitem> - the <ulink url=" +"\"&debian-policy;\">Debian Policy Manual</ulink> includes explanations of " +"the structure and contents of the Debian archive, several OS design issues, " +"the <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, which " +"says where each file and directory should be), etc. For you, the most " +"important thing is that it describes requirements that each package must " +"satisfy to be included in the distribution. (See the local copies of " +"<filename>&policy-pdf;</filename> and <filename>&fhs-pdf;</filename>.)" +msgstr "" +"<systemitem role=\"package\">debian-policy</systemitem> - <ulink url=\"&debian-policy;\">Debian Policy Manual</ulink> bao gồm các giải thích về " +"cấu trúc và nội dung của kho lưu trữ Debian, một số vấn đề thiết kế hệ điều " +"hành, <ulink url=\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS, nơi " +"mà mỗi tập tin và thư mục phải là),vv .Đối với bạn, điều quan trọng nhất là " +"nó mô tả các yêu cầu mà mỗi gói phải đáp ứng để được đưa vào trong phân " +"phối. (Xem bản sao địa phương của <filename>&policy-pdf;</filename> and " +"<filename>&fhs-pdf;</filename>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">developers-reference</systemitem> - the <ulink " +"url=\"&developers-reference;\">Debian Developer's Reference</ulink> " +"describes all matters not specifically about the technical details of " +"packaging, like the structure of the archive, how to rename, orphan, or " +"adopt packages, how to do NMUs, how to manage bugs, best packaging " +"practices, when and where to upload, etc. (See the local copy of " +"<filename>&developers-refpdf;</filename>.)" +msgstr "" +"<systemitem role=\"package\">developer-reference</systemitem> - <ulink url=" +"\"&developers-reference;\">Debian Developer's Refrence</ulink> mô tả tất cả " +"các vấn đề không cụ thể về các chi tiết kỹ thuật của gói, như cấu trúc của " +"kho lưu trữ, cách đổi tên, mồ côi, hoặc nhận các gói, làm thế nào để làm " +"NMUs, làm thế nào để quản lý lỗi, cách thức đóng gói tốt nhất, khi nào và ở " +"đâu để tải lên vv (Xem bản sao của địa phương của <filename>&developers-" +"refpdf;</filename>.)" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The following is the <emphasis>important</emphasis> documentation which you " +"should read along with this document:" +msgstr "" +"Sau đây là tài liệu <emphasis>quan trọng</emphasis> mà bạn nên đọc cùng với " +"tài liệu này:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> provides a " +"very good tutorial for <ulink url=\"&gnu-build-system;\">the GNU Build " +"System known as the GNU Autotools</ulink>, whose most important components " +"are Autoconf, Automake, Libtool, and gettext." +msgstr "" +"<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> cung cấp một " +"huớng dẫn rất tốt cho <ulink url=\"&gnu-build-system;\">GNU Build System " +"được biết như là GNU Autotools</ulink> là thành phần quan trọng nhất cho " +"Autoconf, Automake, Libtool, and gettext." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">gnu-standards</systemitem> - this package " +"contains two pieces of documentation from the GNU project: <ulink url=\"&gnu-" +"standard;\">GNU Coding Standards</ulink>, and <ulink url=\"&gnu-maintainer;" +"\">Information for Maintainers of GNU Software</ulink>. Although Debian " +"does not require these to be followed, these are still helpful as guidelines " +"and common sense. (See the local copies of <filename>&gnu-standard-pdf;</" +"filename> and <filename>&gnu-maintainer-pdf;</filename>.)" +msgstr "" +"<systemitem role=\"package\">gnu-standards</systemitem> - gói này chứa hai " +"phần tài liệu từ dự án GNU: <ulink url=\"&gnu-standard;\">GNU Coding " +"Standards</ulink>, và <ulink url=\"&gnu-maintainer;\">Information for " +"Maintainers of GNU Software</ulink>. Mặc dù Debian không yêu cầu những điều " +"này được tuân theo, những điều này vẫn còn hữu ích như các hướng dẫn và " +"thông thường. (Xem bản sao địa phương của <filename> &gnu-standard-pdf;</" +"filename> và <filename>&gnu-maintainer-pdf;</filename>.)" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If this document contradicts any of the documents mentioned above, they are " +"correct. Please file a bug report on the <systemitem role=\"package\">maint-" +"guide</systemitem> package using <command>reportbug</command>." +msgstr "" +"Nếu tài liệu này mâu thuẫn với bất kỳ tài liệu nào được đề cập ở trên, nếu chúng " +"là đúng. Vui lòng gửi một báo cáo lỗi trên <systemitem role=\"package" +"\">maint-guide</systemitem> gói bằng cách sử dụng <command>reportbug</" +"command>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The following is an alternative tutorial document that you may read along " +"with this document:" +msgstr "" +"Sau đây là một tài liệu hướng dẫn thay thế mà bạn có thể đọc cùng với tài " +"liệu này:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" +msgstr "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>" + +#. type: Content of: <book><chapter><section><title> +msgid "Where to ask for help" +msgstr "Nơi để yêu cầu trợ giúp" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Before you decide to ask your question in some public place, please read " +"this fine documentation:" +msgstr "" +"Trước khi bạn quyết định đặt câu hỏi của mình ở nơi công cộng, vui lòng đọc " +"tài liệu tốt" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"files in <filename>/usr/share/doc/<replaceable>package</replaceable></" +"filename> for all pertinent packages" +msgstr "" +"Các tệp trong gói <filename>/usr/share/doc/<replaceable>package</" +"replaceable></filename> cho tất cả các gói phù hợp" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"contents of <literal><command>man</command> <replaceable>command</" +"replaceable></literal> for all pertinent commands" +msgstr "" +"Nội dung của lệnh <literal><command>man</command> <replaceable>command</" +"replaceable> </literal> cho tất cả các lệnh thích hợp" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"contents of <literal><command>info</command> <replaceable>command</" +"replaceable></literal> for all pertinent commands" +msgstr "" +"Nội dung của lệnh <literal> <command>info</command> <replaceable>command</" +"replaceable> </literal> cho tất cả các lệnh thích hợp" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"contents of <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian." +"org mailing list archive</ulink>" +msgstr "" +"các nội dung tại <ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " +"list archive</ulink>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"contents of <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org " +"mailing list archive</ulink>" +msgstr "" +"các nội dung tại <ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian." +"org mailing list archive</ulink>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can use web search engines more effectively by including search strings " +"such as <literal>site:lists.debian.org</literal> to limit the domain." +msgstr "" +"Bạn có thể sử dụng công cụ tìm kiếm web hiệu quả hơn bằng cách bao gồm các " +"chuỗi tìm kiếm như <literal>site:lists.debian.org</literal> để hạn chế tên " +"miền." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Making a small test package is a good way to learn details of packaging. " +"Inspecting existing well maintained packages is the best way to learn how " +"other people make packages." +msgstr "" +"Làm một gói thử nghiệm nhỏ là một cách hay để tìm hiểu chi tiết về đóng " +"gói. Kiểm tra các gói đã được duy trì tốt hiện tại là cách tốt nhất để tìm " +"hiểu làm thế nào người khác đóng các gói" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you still have questions about packaging that you couldn't find answers " +"to in the available documentation and web resources, you can ask them " +"interactively:" +msgstr "" +"Nếu bạn vẫn có câu hỏi về đóng gói mà bạn không thể tìm thấy câu trả lời " +"trong tài liệu sẵn có và tài nguyên web, bạn có thể nhờ họ tương tác:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " +"list</ulink>. (This mailing list is for the novice.)" +msgstr "" +"<ulink url=\"&debian-mentors-ldo;\">debian-mentors@lists.debian.org mailing " +"list</ulink>. (Danh sách gửi thư này dành cho người mới bắt đầu.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " +"list</ulink>. (This mailing list is for the expert.)" +msgstr "" +"<ulink url=\"&debian-devel-ldo;\">debian-devel@lists.debian.org mailing " +"list</ulink>. (Danh sách gửi thư dành cho chuyên gia)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</" +"literal>." +msgstr "" +"<ulink url=\"&irc-debian;\">IRC</ulink> ví dụ như <literal>#debian-mentors</" +"literal>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Teams focusing on a specific set of packages. (Full list at <ulink url=" +"\"&wikiteams;\">https://wiki.debian.org/Teams</ulink>)" +msgstr "" +"Các đội tập trung vào một bộ gói cụ thể. (Danh sách đầy đủ tại <ulink url=" +"\"&wikiteams;\">https://wiki.debian.org/Teams</ulink>)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Language-specific mailing lists such as debian-devel-{french,italian," +"portuguese,spanish}@lists.debian.org or debian-devel@debian.or.jp. (Full " +"listing at <ulink url=\"&listdevel;\">https://lists.debian.org/devel.html</" +"ulink> and <ulink url=\"&listusers;\">https://lists.debian.org/users.html</" +"ulink>)" +msgstr "" +"Danh sách gửi thư cụ thể theo ngôn ngữ ví dụ như debian-devel-{french," +"italian,portuguese,spanish}@lists.debian.org hoặc debian-devel@debian.or.jp. " +"(Danh sách đầy đủ tại <ulink url=\"&listdevel;\">https://lists.debian.org/" +"devel.html</ulink> và <ulink url=\"&listusers;\">https://lists.debian.org/" +"users.html</ulink>)" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The more experienced Debian developers will gladly help you, if you ask " +"properly after making your required efforts." +msgstr "" +"Các nhà phát triển giàu kinh nghiệm của Debian sẽ sẵn sàng giúp bạn, nếu bạn " +"hỏi đúng cách sau khi thực hiện những nỗ lực bắt buộc của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"When you receive a bug report (yes, actual bug reports!), you will know that " +"it is time for you to dig into the <ulink url=\"&bts;\">Debian Bug Tracking " +"System</ulink> and read the documentation there, to be able to deal with the " +"reports efficiently. I highly recommend reading the <ulink url=\"&devref-" +"bug-handling;\">Debian Developer's Reference, 5.8. \"Handling bugs\"</" +"ulink>." +msgstr "" +"Khi bạn nhận được báo cáo lỗi (vâng, lỗi thực sự!), Bạn sẽ biết rằng đã đến " +"lúc bạn phải khai thác vào <ulink url=\"&bts;\">Debian Bug Tracking System</" +"ulink> và đọc tài liệu ở đó, để được có khả năng giải quyết các báo cáo hiệu " +"quả. Tôi rất khuyên bạn nên đọc <ulink url=\"&devref-bug-handling;\">Debian " +"Developer's Reference, 5.8. \"Handling bugs\"</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Even if it all worked well, it's time to start praying. Why? Because in " +"just a few hours (or days) users from all around the world will start to use " +"your package, and if you made some critical error you'll get mailbombed by " +"numerous angry Debian users… Just kidding. :-)" +msgstr "" +"Ngay cả khi tất cả đều hoạt động tốt, đó là thời gian để bắt đầu cầu " +"nguyện. Tại sao? Bởi vì chỉ trong vài giờ (hoặc ngày) người dùng từ khắp " +"nơi trên thế giới sẽ bắt đầu sử dụng gói của bạn và nếu bạn mắc một số lỗi " +"nghiêm trọng, bạn sẽ nhận được mailbombed bởi nhiều người dùng Debian tức " +"giận …... Đùa thôi :-)" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Relax and be ready for bug reports, because there is a lot more work to be " +"done before your package will be fully in line with Debian policies and its " +"best practice guidelines (once again, read the <emphasis>real documentation</" +"emphasis> for details). Good luck!" +msgstr "" +"Hãy thư giãn và sẵn sàng cho các báo cáo lỗi, vì còn rất nhiều việc phải làm " +"trước khi gói của bạn hoàn toàn phù hợp với các chính sách của Debian và các " +"hướng dẫn thực hành tốt nhất của nó (một lần nữa đọc <emphasis>tài liệu</" +"emphasis> thật chi tiết). Chúc may mắn!" + +#. type: Content of: <book><chapter><title> +msgid "First steps" +msgstr "Những bước đầu tiên" + +#. type: Content of: <book><chapter><para> +msgid "" +"Let's start by creating a package of your own (or, even better, adopting an " +"existing one)." +msgstr "" +"Hãy bắt đầu bằng cách tạo một gói riêng của bạn (hoặc, thậm chí tốt hơn, chấp nhận một cái hiện tại)." + +#. type: Content of: <book><chapter><section><title> +msgid "Debian package building workflow" +msgstr "Luồng làm việc tạo ra gói Debian" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you are making a Debian package with an upstream program, the typical " +"workflow of Debian package building involves generating several specifically " +"named files for each step as follows:" +msgstr "Nếu bạn đang tạo ra một gói Debian từ một chương trình thượng nguồn, quy trình làm việc điển hình của việc xây dựng gói Debian liên quan đến việc tạo ra một số tệp được đặt tên cụ thể cho từng bước như sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Get a copy of the upstream software, usually in a compressed tar format." +msgstr "Lấy một bản sao của phần mềm thượng nguồn, thường ở dạng nén tar." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> +msgid "" +"<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" +msgstr "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Add Debian-specific packaging modifications to the upstream program under " +"the <filename>debian</filename> directory, and create a non-native source " +"package (that is, the set of input files used for Debian package building) " +"in <literal>3.0 (quilt)</literal> format." +msgstr "" +"Thêm các sửa đổi đóng gói cụ thể của Debian vào chương trình thượng nguồn trong thư mục <filename>debian</filename> và tạo một gói mã nguồn mới (non-native) (tức là bộ tập tin đầu vào sử dụng cho việc xây dựng gói Debian) với định dạng <literal>3.0 (quilt)</literal>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> +msgid "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig." +"tar.gz" +msgstr "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig.tar.gz" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> +msgid "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>-" +"<replaceable>revision</replaceable>.debian.tar.gz" +msgstr "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>-" +"<replaceable>revision</replaceable>.debian.tar.gz" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><footnote><para> +msgid "" +"For the older style of non-native Debian source packages in <literal>1.0</" +"literal> format, <literal><replaceable>package</" +"replaceable>_<replaceable>version</replaceable>-<replaceable>revision</" +"replaceable>.diff.gz</literal> is used instead." +msgstr "" +"Đối với các gói mã nguồn Debian kiểu cũ với định dạng <literal>1.0</literal>, <literal><replaceable>package</replaceable>_<replaceable>version</replaceable>-" +"<replaceable>revision</replaceable>.diff.gz</literal> được sử dụng để thay thế." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> +msgid "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>-" +"<replaceable>revision</replaceable>.dsc" +msgstr "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>-" +"<replaceable>revision</replaceable>.dsc" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Build Debian binary packages, which are ordinary installable package files " +"in <literal>.deb</literal> format (or <literal>.udeb</literal> format, used " +"by the Debian Installer) from the Debian source package." +msgstr "" +"Xây dựng các gói nhị phân Debian, là những gói có thể cài đặt bình thường trong định dạng " +"<literal>.deb </literal> (hoặc định dạng <literal>.udeb</literal>, được sử dụng bởi " +"Trình cài đặt Debian) từ gói nguồn Debian." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal> +msgid "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>-" +"<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" +msgstr "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>-" +"<replaceable>revision</replaceable>_<replaceable>arch</replaceable>.deb" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Please note that the character separating <literal><replaceable>package</" +"replaceable></literal> and <literal><replaceable>version</replaceable></" +"literal> was changed from <literal>-</literal> (hyphen) in the tarball name " +"to <literal>_</literal> (underscore) in the Debian package filenames." +msgstr "" +"Xin lưu ý rằng ký tự phân tách <literal><replaceable>package</replaceable></literal>" +" và <literal><replaceable>version</replaceable></literal> đã thay đổi từ " +"<literal>-</literal> (dấu trừ) trong tên tệp nén thành <literal>_</literal> (gạch dưới) " +" ở trong tên của gói Debian" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=" +"\"&policy-package;\">5.6.7 \"Package\"</ulink>, and <ulink url=\"&policy-" +"version;\">5.6.12 \"Version\"</ulink>. The <emphasis role=\"strong" +"\">package architecture</emphasis> follows the <ulink url=\"&policy-" +"architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</ulink> and is " +"automatically assigned by the package build process." +msgstr "" +"Xem <ulink url=\"&policy-source;\">5.6.1 \"Source\"</ulink>, <ulink url=\"&policy-" +"package;\">5.6.7 \"Package\"</ulink>, và <ulink url=\"&policy-version;\">5.6.12 " +"\"Version\"</ulink>.<emphasis role=\"strong\">kiến trúc gói</emphasis> " +"theo <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " +"\"Architecture\"</ulink> và đuợc tự động ký bởi tiến trình xây dựng gói." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"In the file names above, replace the <literal><replaceable>package</" +"replaceable></literal> part with the <emphasis role=\"strong\">package name</" +"emphasis>, the <literal><replaceable>version</replaceable></literal> part " +"with the <emphasis role=\"strong\">upstream version</emphasis>, the " +"<literal><replaceable>revision</replaceable></literal> part with the " +"<emphasis role=\"strong\">Debian revision</emphasis>, and the " +"<literal><replaceable>arch</replaceable></literal> part with the <emphasis " +"role=\"strong\">package architecture</emphasis>, as defined in the Debian " +"Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Trong tên tệp ở trên, hãy thay thế <literal><replaceable>package</replaceable></" +"literal> bằng <emphasis role=\"strong\">package name</emphasis>, tên " +"<literal><replaceable>version</replaceable></literal> bằng <emphasis role=" +"\"strong\">upstream version</emphasis>, <literal><replaceable>revision</" +"replaceable></literal> thành <emphasis role=\"strong\">Debian revision</" +"emphasis>, và <literal><replaceable>arch</replaceable></literal> thành " +"<emphasis role=\"strong\">package architecture</emphasis>, như đã định nghĩa trong " +"Debian Policy Manual. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Each step of this outline is explained with detailed examples in later " +"sections." +msgstr "Mỗi bước của phác thảo này được giải thích với các ví dụ chi tiết trong các phần sau." + +#. type: Content of: <book><chapter><section><title> +msgid "Choose your program" +msgstr "Chọn chương trình của bạn" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You have probably chosen the package you want to create. The first thing " +"you need to do is check if the package is in the distribution archive " +"already by using the following:" +msgstr "Có thể bạn đã chọn gói bạn muốn tạo. Điều đầu tiên bạn cần làm là " +"kiểm tra xem gói có trong kho lưu trữ đã được phân phối bằng cách sử dụng như sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "the <command>aptitude</command> command" +msgstr "lệnh <command>aptitude</command>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page" +msgstr "trang web <ulink url=\"&packages-do;\">Debian packages</ulink>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "the <ulink url=\"&debtrack;\">Debian Package Tracker</ulink> web page" +msgstr "" +"trang web <ulink url=\"&debtrack;\">Debian Package Tracker</ulink>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5 " +"\"Adopting a package\"</ulink>." +msgstr "" +"Xem phần <ulink url=\"&devref-adopt;\">Debian Developer's Reference 5.9.5. \"Adopting a " +"package\"</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If the package already exists, well, install it! :-) If it happens to be " +"<emphasis role=\"strong\">orphaned</emphasis> (that is, if its maintainer is " +"set to <ulink url=\"&qa-do;\">Debian QA Group</ulink>), you may be able to " +"pick it up if it's still available. You may also adopt a package whose " +"maintainer has filed a Request for Adoption (<emphasis role=\"strong\">RFA</" +"emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Nếu một gói đã tồn tại, tốt, hãy cài đặt nó! :-) Nếu lúc cài đặt xuất hiện từ <emphasis role=" +"\"strong\">orphaned</emphasis> (điều đó có nghĩa người bảo trì gói đấy đã thiết lập tại <ulink url=\"&qa-" +"do;\">Debian QA Group</ulink>), bạn có thể chọn nó nếu nó vẫn có sẵn. " +"Bạn cũng có thể giúp một gói nếu người bảo trị của gói đó đã tạo một \"Request for Adoption\" " +"(<emphasis role=\"strong\">RFA</emphasis>).<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "There are several package ownership status resources:" +msgstr "Có một số tài nguyên trạng thái quyền sở hữu gói:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"The <command>wnpp-alert</command> command from the <systemitem role=\"package" +"\">devscripts</systemitem> package" +msgstr "" +"Lệnh <command>wnpp-alert</command> từ gói <systemitem role=\"package\">devscripts</systemitem>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>" +msgstr "<ulink url=\"&wnpp-do;\">Các gói công việc Cần thiết và Triển vọng</ulink>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package " +"<systemitem role=\"package\">wnpp</systemitem> in <literal>unstable</" +"literal></ulink>" +msgstr "" +"<ulink url=\"&wnpp-bts;\">Debian Bug report logs: Bugs in pseudo-package <systemitem " +"role=\"package\">wnpp</systemitem> in <literal>unstable</literal></ulink>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" +msgstr "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</" +"systemitem> bugs based on debtags</ulink>" +msgstr "" +"<ulink url=\"&wnpp-debtags;\">Browse <systemitem role=\"package\">wnpp</systemitem> " +"bugs based on debtags</ulink>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Having said that, there will of course always be new programs that are worth " +"packaging." +msgstr "" +"Có thể nói rằng, sẽ luôn có những chương trình mới sẽ thật sự cần đóng gói mới" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"As a side note, it's important to point out that Debian already has packages " +"for most kinds of programs, and the number of packages already in the Debian " +"archive is much larger than that of contributors with upload rights. Thus, " +"contributions to packages already in the archive are far more appreciated " +"(and more likely to receive sponsorship) by other developers <placeholder " +"type=\"footnote\" id=\"0\"/>. You can contribute in various ways:" +msgstr "" +"Một lưu ý quan trọng là Debian đã có các gói cho hầu hết các loại chương trình, " +"và số lượng các gói đã có trong kho lưu trữ Debian lớn hơn nhiều so với các cộng tác " +"viên có quyền tải lên. Do đó, đóng góp cho các gói đã có sẵn trong kho lưu trữ luôn " +"được đánh giá cao hơn (và nhiều khả năng nhận tài trợ) bởi các nhà phát triển khác " +"<placeholder type=\"footnote\" id=\"0\"/>. Bạn có thể đóng góp bằng nhiều cách:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "taking over orphaned, yet actively used, packages" +msgstr "Tiếp nhận gói mồ côi, nhưng vẫn đang được sử dụng" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>" +msgstr "tham gia vào <ulink url=\"&teams;\">packaging teams</ulink>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "triaging bugs of very popular packages" +msgstr "xử lý lỗi của các gói phổ biến" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" +msgstr "chuẩn bị <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you are able to adopt the package, get the sources (with something like " +"<literal>apt-get source <replaceable>packagename</replaceable></literal>) " +"and examine them. This document unfortunately doesn't include comprehensive " +"information about adopting packages. Thankfully you shouldn't have a hard " +"time figuring out how the package works since someone has already done the " +"initial setup for you. Keep reading, though; a lot of the advice below will " +"still be applicable to your case." +msgstr "" +"Nếu bạn có thể nhận bảo trì gói nào, hãy lấy nguồn (bằng các công cụ như <literal>apt-get " +"source <replaceable>packagename</replaceable></literal>) và kiểm tra chúng. Tài liệu này tiếc " +"là không bao gồm thông tin toàn diện về việc nhận bảo trì gói. Rất may, bạn không cần phải " +"mất nhiều thời gian khó khăn để tìm hiểu cách gói làm việc, khi đã có ai đó trước đây thực " +"hiện các thiết lập ban đầu cho bạn. Hãy tiếp tục đọc, và; Rất nhiều lời khuyên dưới đây " +"vẫn sẽ được áp dụng cho trường hợp của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If the package is new, and you decide you'd like to see it in Debian, " +"proceed as follows:" +msgstr "" +"Nếu là một gói mới, và bạn quyết định muốn xem nó trong Debian, thực hiện theo " +"các bước sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"First, you must know that the program works, and have tried it for some time " +"to confirm its usefulness." +msgstr "" +"Trước tiên, bạn phải biết rằng chương trình hoạt động như thế nào, và đã thử nó một thời " +"gian để xác nhận tính hữu dụng của nó." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"You must check that no one else is already working on the package on the " +"<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink> " +"site. If no one else is working on it, file an ITP (Intent To Package) bug " +"report to the <systemitem role=\"package\">wnpp</systemitem> pseudo-package " +"using <command>reportbug</command>. If someone's already on it, contact " +"them if you feel you need to. If not — find another interesting " +"program that nobody is maintaining." +msgstr "" +"Bạn phải kiểm tra xem có ai khác đang làm việc trên gói trên trang <ulink url=\"&wnpp-do;\">" +"Work-Needing và Prospective Packages </ulink>. Nếu không có ai khác đang làm việc trên nó, " +"hãy gửi báo cáo lỗi ITP (Intent To Package) đến gói <systemitem role=" +"\"package\">wnpp</systemitem> bằng cách sử dụng lệnh <command>reportbug</command>. Nếu ai " +"đó đã làm việc đó rồi, hãy liên hệ với họ nếu bạn cảm thấy cần. Nếu không — hãy tìm một " +"chương trình thú vị mà chưa ai đang duy trì." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "The software <emphasis role=\"strong\">must have a license</emphasis>." +msgstr "Phần mềm <emphasis role=\"strong\">phải có một giấy phép</emphasis>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"For the <literal>main</literal> section, Debian Policy requires it <emphasis " +"role=\"strong\">to be fully compliant with the Debian Free Software " +"Guidelines</emphasis> (<ulink url=\"&dfsg;\">DFSG</ulink>) and <emphasis " +"role=\"strong\">not to require a package outside of <literal>main</literal></" +"emphasis> for compilation or execution. This is the desired case." +msgstr "" +"Đối với mục <literal>main</literal>, Chính sách Debian yêu cầu các gói phải <emphasis " +"role=\"strong\">tuân thủ hoàn toàn Nguyên tắc về Phần mềm Tự do Debian </emphasis> (<ulink " +"url=\"&dfsg;\"> DFSG </ulink> và <emphasis role=\"strong\">không yêu cầu một gói nào " +"bên ngoài mục <literal>main</literal></emphasis> để biên dịch hay thực thi. " +"Đây là trường hợp bắt buộc." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"For the <literal>contrib</literal> section, it must comply with the DFSG but " +"it may require a package outside of <literal>main</literal> for compilation " +"or execution." +msgstr "" +"Đối với mục <literal>contrib</literal>, nó phải tuân thủ DFSG nhưng nó có thể yêu " +"cầu một gói bên ngoài mục <literal>main</literal> để biên dịch hoặc thực thi." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"For the <literal>non-free</literal> section, it may be non-compliant with " +"the DFSG but it <emphasis role=\"strong\">must be distributable</emphasis>." +msgstr "" +"Còn mục <literal>non-free</literal>, nó có thể không tương thích với DFSG nhưng <emphasis role=\"strong\"> cần được phân phối </emphasis>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"If you are unsure about where it should go, post the license text on <ulink " +"url=\"&debian-legal-ldo;\">debian-legal@lists.debian.org</ulink> and ask for " +"advice." +msgstr "" +"Nếu bạn không chắc chắn về vị trí của gói đó, hãy đăng hỏi về giấy phép trên " +"<ulink url=\"&debian-legal-ldo;\"> debian-legal@lists.debian.org </ulink> và " +"xin tư vấn." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"The program should <emphasis role=\"strong\">not</emphasis> introduce " +"security and maintenance concerns into the Debian system." +msgstr "Chương trình <emphasis role=\"strong\">không nên</emphasis> tác động tới " +"mối quan tâm bảo mật và bảo trì cho hệ thống Debian." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"The program should be well documented and its code needs to be " +"understandable (i.e., not obfuscated)." +msgstr "" +"Chương trình nên được ghi chép đầy đủ và mã của nó cần phải có thể hiểu được (không làm rối)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"You should contact the program's author(s) to check if they agree with " +"packaging it and are amicable to Debian. It is important to be able to " +"consult with the author(s) in case of any problems with the program, so " +"don't try to package unmaintained software." +msgstr "" +"Bạn nên liên hệ với tác giả của chương trình để kiểm tra nếu họ đồng ý với việc đóng gói " +"nó trở nên thân thiện với Debian. Điều quan trọng là có thể tham khảo ý kiến ​​của tác giả " +"trong trường hợp có bất kỳ vấn đề với chương trình, do đó, không cố gắng với gói phần mềm " +"không còn phát triển/bảo trì từ thượng nguồn" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"The program certainly should <emphasis role=\"strong\">not</emphasis> run " +"setuid root, or even better, it shouldn't need to be setuid or setgid to " +"anything." +msgstr "" +"Chương trình chắc chắn <emphasis role=\"strong\"> không nên </emphasis> chạy setuid root, hoặc thậm " +"chí cao hơn, nó không cần phải setuid hoặc setgid để làm bất cứ điều gì." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"The program should not be a daemon, or go in an <filename>*/sbin</filename> " +"directory, or open a port as root." +msgstr "" +"Chương trình không nên là một daemon, hoặc cho vào trong thư mục <filename>*/sbin</filename>, hoặc mở " +"một cổng như là root." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Of course, the last one is just a safety measure, and is intended to save " +"you from enraging users if you do something wrong in some setuid " +"daemon… When you gain more experience in packaging, you'll be able to " +"package such software." +msgstr "" +"Tất nhiên, cuối cùng chỉ là một biện pháp an toàn, và nhằm cứu bạn khỏi sự kích động của " +"người dùng nếu bạn làm điều gì đó sai trái trong một số daemon setuid… Khi bạn có nhiều " +"kinh nghiệm hơn trong trong gói, bạn sẽ có thể gói phần mềm kiểu như vậy." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"As a new maintainer, you are encouraged to get some experience in packaging " +"with easier packages and discouraged from creating complicated packages." +msgstr "" +"Là một người bảo trì mới, bạn được khuyến khích để có được một số kinh nghiệm trong đóng gói " +"với các gói đơn giản và không khuyến khích từ việc tạo ra các gói phức tạp." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "Simple packages" +msgstr "Gói đơn giản" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"single binary package, arch = all (collection of data such as wallpaper " +"graphics)" +msgstr "gói nhị phân duy nhất, arch = all (bộ sưu tập dữ liệu như hình nền)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"single binary package, arch = all (executables written in an interpreted " +"language such as POSIX shell)" +msgstr "" +"gói nhị phân duy nhất, arch = all (các tệp thực thi được viết bằng ngôn " +"thông dịch như POSIX shell)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "Intermediate complexity packages" +msgstr "Gói phức tạp trung bình" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"single binary package, arch = any (ELF binary executables compiled from " +"languages such as C and C++)" +msgstr "" +"gói nhị phân duy nhất, arch = all (tệp tin thực thi nhị phân của ELF được biên dịch " +"từ các ngôn ngữ như C và C ++)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"multiple binary packages, arch = any + all (packages for ELF binary " +"executables + documentation)" +msgstr "" +"nhiều gói nhị phân, arch = any + all (các gói cho các tập tin thực thi nhị phân ELF + tài liệu)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"upstream source in a format other than <filename>tar.gz</filename> or " +"<filename>tar.bz2</filename>" +msgstr "" +"thượng nguồn ở định dạng khác với <filename>tar.gz</filename> hoặc <filename>tar.bz2</filename>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "upstream source containing undistributable contents" +msgstr "thượng nguồn chứa nội dung không thể giải quyết" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "High complexity packages" +msgstr "Gói phức tạp cao" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "interpreter module package used by other packages" +msgstr "gói chứa các kịch bản được sử dụng bởi các gói khác" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "generic ELF library package used by other packages" +msgstr "gói thư viện ELF chung được sử dụng bởi các gói khác" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "multiple binary packages including an ELF library package" +msgstr "nhiều gói nhị phân bao gồm gói thư viện ELF" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "source package with multiple upstream sources" +msgstr "gói nguồn có nhiều thượng nguồn" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "kernel module packages" +msgstr "gói module hạt nhân" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "kernel patch packages" +msgstr "các gói bản vá cho hạt nhân" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "any package with non-trivial maintainer scripts" +msgstr "bất kỳ gói nào kịch bản người bảo trì không tầm thường" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Packaging high complexity packages is not too hard, but it requires a bit " +"more knowledge. You should seek specific guidance for every complex feature. " +"For example, some languages have their own sub-policy documents:" +msgstr "" +"Đóng gói gói phức tạp cao không phải là quá khó, nhưng nó đòi hỏi một chút kiến ​​thức. " +"Bạn nên tìm kiếm hướng dẫn cụ thể cho từng tính năng phức tạp. Ví dụ, một số ngôn ngữ " +"có tài liệu chính sách phụ của riêng mình:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>" +msgstr "<ulink url=\"&policy-perl;\">Perl policy</ulink>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<ulink url=\"&policy-python;\">Python policy</ulink>" +msgstr "<ulink url=\"&policy-python;\">Python policy</ulink>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<ulink url=\"&policy-java;\">Java policy</ulink>" +msgstr "<ulink url=\"&policy-java;\">Java policy</ulink>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Do not worry about the missing <filename>Makefile</filename>. You can " +"install the <command>hello</command> command by simply using " +"<command>debhelper</command> as in <xref linkend=\"install\"/>, or by " +"modifying the upstream source to add a new <filename>Makefile</filename> " +"with the <literal>install</literal> target as in <xref linkend=\"modify\"/>." +msgstr "" +"Đừng lo lắng về việc thiếu tệp <filename> Makefile </filename>. Bạn có thể cài đặt lệnh " +"<command> hello </command> bằng cách sử dụng <command>debhelper</command> như trong <xref " +"linkend=\"install\"/>, hoặc bằng cách sửa đổi nguồn thượng nguồn để thêm tệp <filename>" +"Makefile</filename> với mục install như trong <xref linkend=\"modify\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"There is another old Latin saying: <emphasis>fabricando fit faber</emphasis> " +"(practice makes perfect). It is <emphasis>highly</emphasis> recommended to " +"practice and experiment with all the steps of Debian packaging with simple " +"packages while reading this tutorial. A trivial upstream tarball, " +"<filename>hello-sh-1.0.tar.gz</filename>, created as follows may offer a " +"good starting point:<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Có một câu trong tiếng Latinh nói rằng: <emphasis>fabricando fit faber</emphasis> " +"(thực hành làm cho hoàn hảo). Đó là <emphasis> tính cao nhất </emphasis> được đề " +"nghị để thực hành và thử nghiệm với tất cả các bước của gói Debian với các gói đơn " +"giản trong khi đọc hướng dẫn này. Một tarball thượng nguồn đơn giản <filename>hello" +"-sh-1.0.tar.gz</filename> được tạo như sau có thể cung cấp một điểm khởi đầu tốt: " +"<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" +"$ cat > hello <<EOF\n" +"#!/bin/sh\n" +"# (C) 2011 Foo Bar, GPL2+\n" +"echo \"Hello!\"\n" +"EOF\n" +"$ chmod 755 hello\n" +"$ cd ..\n" +"$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" +msgstr "" +"$ mkdir -p hello-sh/hello-sh-1.0; cd hello-sh/hello-sh-1.0\n" +"$ cat > hello <<EOF\n" +"#!/bin/sh\n" +"# (C) 2011 Foo Bar, GPL2+\n" +"echo \"Hello!\"\n" +"EOF\n" +"$ chmod 755 hello\n" +"$ cd ..\n" +"$ tar -cvzf hello-sh-1.0.tar.gz hello-sh-1.0\n" + +#. type: Content of: <book><chapter><section><title> +msgid "Get the program, and try it out" +msgstr "Lấy chương trình, và hãy thử nó" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"So the first thing to do is to find and download the original source code. " +"Presumably you already have the source file that you picked up at the " +"author's homepage. Sources for free Unix programs usually come in " +"<command>tar</command>+<command>gzip</command> format with the extension " +"<filename>.tar.gz</filename>, <command>tar</command>+<command>bzip2</" +"command> format with the extension <filename>.tar.bz2</filename>, or " +"<command>tar</command>+<command>xz</command> format with the extension " +"<filename>.tar.xz</filename>. These usually contain a directory called " +"<filename><replaceable>package</replaceable>-<replaceable>version</" +"replaceable></filename> with all the sources inside." +msgstr "" +"Vì vậy, điều đầu tiên cần làm là tìm và tải về mã nguồn gốc. Có lẽ bạn đã có tập tin nguồn mà " +"bạn đã chọn ở trang chủ của tác giả. Mã nguồn của các chương trình Unix tự do thường có trong " +"<command>tar</command>+<command>gzip</command> định dạng với phần mở rộng là <filename>.tar.gz" +"</filename>, <command>tar</command>+<command>bzip2 </command> định dạng với phần mở rộng là " +"<filename>.tar.bz2 </filename>, hoặc <command>tar</command>+<command>xz</command> định dạng " +"với phần mở rộng là <filename>.tar.xz </filename>. Các bản nén này thường chứa một thư mục gọi " +"là <filename><replaceable>package </replaceable>-<replaceable>version</replaceable></filename> với tất cả " +"các nguồn bên trong." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If the latest version of the source is available through a Version Control " +"System (VCS) such as Git, Subversion, or CVS, you need to get it with " +"<literal>git clone</literal>, <literal>svn co</literal>, or <literal>cvs co</" +"literal> and repack it into <command>tar</command>+<command>gzip</command> " +"format yourself by using the <literal>--exclude-vcs</literal> option." +msgstr "" +"Nếu phiên bản mới nhất của mã nguồn có sẵn thông qua Version Control System(VCS) như Git, Subversion hoặc CVS, bạn " +"cần phải lấy nó với <literal>git clone</literal>, <literal>svn co</literal> hoặc <literal>" +"cvs co</literal> và đóng gói lại nó vào <command>tar</command>+<command>gzip</command> định " +"dạng cho mình bằng cách sử dụng tuỳ chọn <literal>--exclude-vcs</literal>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"You can identify the archive format using the <command>file</command> " +"command when the file extension is not enough." +msgstr "" +"Bạn có thể xác định định dạng lưu trữ bằng sử dụng lệnh <command>file</command> khi phần " +"mở rộng tệp là không đủ thông tin." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your program's source comes as some other sort of archive (for instance, " +"the filename ends in <filename>.Z</filename> or <filename>.zip</" +"filename><placeholder type=\"footnote\" id=\"0\"/>), you should also unpack " +"it with the appropriate tools and repack it." +msgstr "" +"Nếu mã nguồn chương trình của bạn xuất hiện dưới dạng một số loại lưu trữ khác (ví dụ: tên " +"tập tin kết thúc bằng <filename>Z</filename> hoặc <filename>.zip </filename> <placeholder " +"type=\"footnote\" id=\"0\"/>), Bạn cũng nên giải nén nó bằng các công cụ thích hợp và đóng gói lại nó." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your program's source comes with some contents which do not comply with " +"DFSG, you should also unpack it to remove such contents and repack it with a " +"modified upstream version containing <literal>dfsg</literal>." +msgstr "" +"Nếu mã nguồn chương trình của bạn đi kèm với một số nội dung không tuơng thích DFSG, bạn " +"cũng nên giải nén nó để loại bỏ các nội dung đó và đóng gói lại nó bằng một phiên bản chỉnh sửa của thượng nguồn có chứa <literal>dfsg</literal>." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"This program is already packaged. The <ulink url=\"&gentoo-package;" +"\">current version</ulink> uses Autotools as its build structure and is " +"substantially different from the following examples, which were based on " +"version 0.9.12." +msgstr "" +"Chương trình này đã được đóng gói. <ulink url=\"&gentoo-package;\"> phiên bản hiện tại </ulink> sử dụng Autotools làm cấu trúc xây dựng nên sẽ khác với các ví dụ sau dựa trên phiên bản 0.9.12." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"As an example, I'll use a program called <command>gentoo</command>, a GTK+ " +"file manager. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Với một ví dụ: Tôi sẽ sử dụng chương trình được gọi là <command> gentoo </command>, " +"trình quản lý tệp GTK+. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Create a subdirectory under your home directory named <filename>debian</" +"filename> or <filename>deb</filename> or anything you find appropriate (e." +"g. just <filename>~/gentoo</filename> would do fine in this case). Place " +"the downloaded archive in it, and extract it (with <literal>tar xzf " +"gentoo-0.9.12.tar.gz</literal>). Make sure there are no warning messages, " +"even <emphasis>irrelevant</emphasis> ones, because other people's unpacking " +"tools may or may not ignore these anomalies, so they may have problems " +"unpacking them. Your shell command line may look something like this:" +msgstr "" +"Tạo một thư mục con trong thư mục home của bạn có tên là <filename>debian</filename> hoặc " +"<filename>deb</filename> hoặc bất cứ thứ gì bạn thấy thích hợp (ví dụ như <filename>~/gentoo " +"</filename> sẽ là tốt trong trường hợp này). Đặt tệp nén mã nguồn đã tải xuống vào trong đó " +"và giải nén (với <literal> tar xzf gentoo-0.9.12.tar.gz </literal>). Đảm bảo không có thông " +"báo cảnh báo lỗi, thậm chí <emphasis>irrelevant</emphasis>, bởi vì các công cụ giải nén của " +"người khác có thể hoặc không thể bỏ qua những dị thường này, vì vậy họ có thể gặp sự cố khi " +"giải nén chúng. Dòng lệnh trình báo của bạn có thể giống như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ mkdir ~/gentoo ; cd ~/gentoo\n" +"$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" +"$ tar xvzf gentoo-0.9.12.tar.gz\n" +"$ ls -F\n" +"gentoo-0.9.12/\n" +"gentoo-0.9.12.tar.gz\n" +msgstr "" +"$ mkdir ~/gentoo ; cd ~/gentoo\n" +"$ wget http://<replaceable>www.example.org</replaceable>/gentoo-0.9.12.tar.gz\n" +"$ tar xvzf gentoo-0.9.12.tar.gz\n" +"$ ls -F\n" +"gentoo-0.9.12/\n" +"gentoo-0.9.12.tar.gz\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Now you have another subdirectory, called <filename>gentoo-0.9.12</" +"filename>. Change to that directory and <emphasis>thoroughly</emphasis> " +"read the provided documentation. Usually there are files named " +"<filename>README*</filename>, <filename>INSTALL*</filename>, <filename>*." +"lsm</filename> or <filename>*.html</filename>. You must find instructions " +"on how to compile and install the program (most probably they'll assume you " +"want to install to the <filename>/usr/local/bin</filename> directory; you " +"won't be doing that, but more on that later in <xref linkend=\"destdir\"/>)." +msgstr "" +"Bây giờ bạn có một thư mục con khác, gọi là <filename> gentoo-0.9.12 </filename>. " +"Đi vào thư mục đó và <emphasis> cẩn trọng </emphasis> đọc tài liệu được cung cấp. " +"Thường có các tệp có <filename> README*</filename>, <filename>INSTALL*</filename>, " +"<filename>*.lsm</filename> hoặc <filename>*.html </filename>. Bạn phải tìm hướng dẫn " +"về cách biên dịch và cài đặt chương trình (có lẽ họ giả sử rằng bạn sẽ muốn cài đặt " +"chương trình vào thư mục <filename>/usr/local/bin</filename>), bạn sẽ không làm " +"điều đó, nhưng còn nhiều thứ về sau trong <xref linkend=\"destdir\"/>)." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You should start packaging with a completely clean (pristine) source " +"directory, or simply with freshly unpacked sources." +msgstr "" +"Bạn nên bắt đầu đóng gói với một thư mục mã nguồn hoàn toàn sạch sẽ (nguyên sơ)" +", hoặc chỉ đơn giản với mã nguồn mới được giải nén" + +#. type: Content of: <book><chapter><section><title> +msgid "Simple build systems" +msgstr "Xây dựng hệ thống đơn giản" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Many modern programs come with a script named <filename>configure</" +"filename>, which when executed creates a <filename>Makefile</filename> " +"customized for your system." +msgstr "" +"Nhiều chương trình hiện đại đi kèm với một kịch bản <filename>configure</filename> " +"mà khi thực hiện tạo tệp <filename>Makefile</filename> tùy chỉnh linh hoạt đối với " +"hệ thống của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Simple programs usually come with a <filename>Makefile</filename> and can be " +"compiled just by invoking <literal>make</literal>.<placeholder type=" +"\"footnote\" id=\"0\"/> Some of them support <literal>make check</literal>, " +"which runs included self-tests. Installation to the destination directories " +"is usually done with <literal>make install</literal>." +msgstr "" +"Các chương trình đơn giản thường có một <filename>Makefile</filename> và có thể được " +"biên dịch chỉ bằng cách chạy lệnh <literal>make</literal>. <placeholder type=\"footnote" +"\" id=\"0\"/> Một số còn hỗ trợ <literal>make check</literal>, nhằm tự kiểm tra điều kiện " +"biên dịch. Để cài đặt chương trình vào thư mục đích thường được thực hiện với <literal>" +"make install</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Now try to compile and run your program, to make sure it works properly and " +"doesn't break something else while it's installing or running." +msgstr "" +"Bây giờ hãy thử biên dịch và chạy chương trình của bạn, để đảm bảo nó hoạt động đúng " +"và không làm hỏng cái gì khác trong khi cài đặt hoặc chạy." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Also, you can usually run <literal>make clean</literal> (or better " +"<literal>make distclean</literal>) to clean up the build directory. " +"Sometimes there's even a <literal>make uninstall</literal> which can be used " +"to remove all the installed files." +msgstr "" +"Ngoài ra, bạn có thể chạy <literal>make clean</literal> (hoặc tốt hơn nữa là <literal>make " +"distclean</literal>) để dọn dẹp thư mục build. Đôi khi thậm chí còn hỗ trợ kịch bản gỡ " +"cài đặt, <literal>make uninstall</literal> được sử dụng để xóa tất cả các tập tin đã cài đặt." + +#. type: Content of: <book><chapter><section><title> +msgid "Popular portable build systems" +msgstr "Xây dựng hệ thống phổ biến" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"A lot of free software programs are written in the <ulink url=\"&c-program;" +"\">C</ulink> and <ulink url=\"&cxx;\">C++</ulink> languages. Many of these " +"use Autotools or CMake to make them portable across different platforms. " +"These build tools need to be used to generate the <filename>Makefile</" +"filename> and other required source files first. Then, such programs are " +"built using the usual <literal>make; make install</literal>." +msgstr "" +"Rất nhiều chương trình phần mềm tự do được viết bằng ngôn ngữ <ulink url=\"&c-program;\">" +"C</ulink> và <ulink url=\"&cxx;\">C++</ulink>. Nhiều trong số đó sử dụng Autotools hoặc CMake " +"để làm cho chúng dễ dàng biên dịch đối với các nền tảng khác nhau. Các công cụ xây dựng này cần được sử " +"dụng để tạo tệp <filename>Makefile</filename> từ tệp nguồn bắt buộc khác. Sau đó, các chương " +"trình dễ dàng được xây dựng bằng cách sử dụng <literal>make; make install </literal>." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Autotools is too big to deal with in this small tutorial. This section is " +"meant to provide keywords and references only. Please make sure to read the " +"<ulink url=\"&autotools-tutorial;\">Autotools Tutorial</ulink> and the local " +"copy of <filename>&autotools-readme;</filename>, if you need to use it." +msgstr "" +"Autotools là công cụ quá lớn để giải quyết trong hướng dẫn nhỏ này. Phần này chỉ nhằm " +"cung cấp các từ khoá và tham khảo. Hãy đảm bảo đọc <ulink url=\"&autotools-tutorial;\">" +" Autotools Tutorial </ulink> và bản sao cục bộ của <filename>&autotools-readme;</filename>" +", nếu bạn cần sử dụng nó." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<ulink url=\"&gnu-build-system;\">Autotools</ulink> is the GNU build system " +"comprising <ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=" +"\"&automake;\">Automake</ulink>, <ulink url=\"&libtool;\">Libtool</ulink>, " +"and <ulink url=\"&gettext;\">gettext</ulink>. You can recognize such " +"sources by the <filename>configure.ac</filename>, <filename>Makefile.am</" +"filename>, and <filename>Makefile.in</filename> files. <placeholder type=" +"\"footnote\" id=\"0\"/>" +msgstr "" +"<ulink url=\"&gnu-build-system;\">Autotools</ulink> là hệ thống xây dựng GNU bao gồm " +"<ulink url=\"&autoconf;\">Autoconf</ulink>, <ulink url=\"&automake;\">Automake</ulink>, " +"<ulink url=\"&libtool;\">Libtool</ulink>, và <ulink url=\"&gettext;\">gettext</" +"ulink>. Bạn có thể nhận ra các nguồn như vậy bằng các tệp <filename>configure.ac</filename>, " +"<filename>Makefile.am</filename>, và <filename>Makefile.in</filename>." +"<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The first step of the Autotools workflow is usually that upstream runs " +"<literal>autoreconf -i -f</literal> in the source directory and distributes " +"the generated files along with the source." +msgstr "" +"Bước đầu tiên của quy trình làm việc với Autotools thường là chạy với bản thượng nguồn " +"<literal>autoreconf -i -f</literal> trong thư mục nguồn và các tệp được tạo ra cùng với" +" mã nguồn." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"configure.ac-----+-> autoreconf -+-> configure\n" +"Makefile.am -----+ | +-> Makefile.in\n" +"src/Makefile.am -+ | +-> src/Makefile.in\n" +" | +-> config.h.in\n" +" automake\n" +" aclocal\n" +" aclocal.m4\n" +" autoheader\n" +msgstr "" +"configure.ac-----+-> autoreconf -+-> configure\n" +"Makefile.am -----+ | +-> Makefile.in\n" +"src/Makefile.am -+ | +-> src/Makefile.in\n" +" | +-> config.h.in\n" +" automake\n" +" aclocal\n" +" aclocal.m4\n" +" autoheader\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Editing <filename>configure.ac</filename> and <filename>Makefile.am</" +"filename> files requires some knowledge of <command>autoconf</command> and " +"<command>automake</command>. See <literal>info autoconf</literal> and " +"<literal>info automake</literal>." +msgstr "" +"Việc chỉnh sửa các tệp <filename>configure.ac</filename> và <filename>Makefile.am</filename> " +"yêu cầu vài kiên thức về <command>autoconf</command> và <command>automake</command>. " +"Xem <literal>info autoconf</literal> và <literal>info automake</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The second step of the Autotools workflow is usually that the user obtains " +"this distributed source and runs <literal>./configure && make</" +"literal> in the source directory to compile the program into an executable " +"command <command><replaceable>binary</replaceable></command>." +msgstr "" +"Bước thứ hai của quy trình làm việc Autotools thường là chúng ta sẽ có được các tệp mới sinh ra " +" và chỉ cần chạy <literal>./configure && make</literal> trong thư mục nguồn để biên dịch " +"thành chương trình <command><replaceable>binary</replaceable></command>." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" +"src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" +"config.h.in -----+ +-> config.h -----+\n" +" |\n" +" config.status -+\n" +" config.guess --+\n" +msgstr "" +"Makefile.in -----+ +-> Makefile -----+-> make -> <replaceable>binary</replaceable>\n" +"src/Makefile.in -+-> ./configure -+-> src/Makefile -+\n" +"config.h.in -----+ +-> config.h -----+\n" +" |\n" +" config.status -+\n" +" config.guess --+\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can change many things in the <filename>Makefile</filename>; for " +"instance you can change the default location for file installation using the " +"option <literal>./configure --prefix=/usr</literal>." +msgstr "" +"Bạn có thể thay đổi nhiều thứ trong <filename>Makefile</filename>; ví dụ bạn có thể thay đổi thư " +"mục mặc định để cài đặt tệp bằng cách sử dụng tùy chọn <literal>./configure --prefix=/usr</literal>." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"You can automate this by using <systemitem role=\"package\">dh-autoreconf</" +"systemitem> package. See <xref linkend=\"customrules\"/>." +msgstr "" +"Bạn có thể tự động hoá việc này bằng cách sử dụng gói <systemitem role=\"package\">" +"dh-autoreconf</systemitem>. Xem <xref linkend=\"customrules\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Although it is not required, updating the <filename>configure</filename> and " +"other files with <literal>autoreconf -i -f</literal> may improve the " +"compatibility of the source. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Mặc dù không bắt buộc, việc cập nhật cấu hình <filename>configure</filename> và các tệp " +"khác với <literal>autoreconf -i -f</literal> có thể cải thiện tính tương thích của mã nguồn" +". <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<ulink url=\"&cmake;\">CMake</ulink> is an alternative build system. You " +"can recognize such sources by the <filename>CMakeLists.txt</filename> file." +msgstr "" +"<ulink url=\"&cmake;\">CMake</ulink> là một hệ thống xây dựng thay thế. Bạn có thể nhận ra " +"các nguồn như vậy bằng tệp <filename>CMakeLists.txt</filename>." + +#. type: Content of: <book><chapter><section><title> +msgid "Package name and version" +msgstr "Tên và phiên bản gói" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If the upstream source comes as <filename>gentoo-0.9.12.tar.gz</filename>, " +"you can take <literal>gentoo</literal> as the (source) <emphasis role=" +"\"strong\">package name</emphasis> and <literal>0.9.12</literal> as the " +"<emphasis role=\"strong\">upstream version</emphasis>. These are used in " +"the <filename>debian/changelog</filename> file described later in <xref " +"linkend=\"changelog\"/>, too." +msgstr "" +"Nếu mã nguồn thượng nguồn là <filename>gentoo-0.9.12.tar.gz</filename>, bạn có thể dùng " +"<literal>gentoo</literal> làm nguồn (source) <emphasis role=\"strong\">tên gói</emphasis> " +"và <literal>0.9.12</literal> là <emphasis role=\"strong\">phiên bản thượng nguồn</emphasis>" +". Chúng được mô tả trong tệp <filename>debian/changelog</filename> chi tiết tại " +"<xref linkend=\"changelog\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Although this simple approach works most of the time, you may need to adjust " +"<emphasis role=\"strong\">package name</emphasis> and <emphasis role=\"strong" +"\">upstream version</emphasis> by renaming the upstream source to follow " +"Debian Policy and existing convention." +msgstr "" +"Mặc dù phương pháp tiếp cận đơn giản này là chủ yếu, bạn có thể cần phải " +"điều chỉnh <emphasis role=\"strong\">tên gói</emphasis> và <emphasis role=" +"\"strong\">phiên bản thượng nguồn</emphasis> bằng cách đổi tên thượng nguồn " +"theo Chính sách Debian và quy ước hiện hành." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"The default package name field length of <command>aptitude</command> is 30. " +"For more than 90% of packages, the package name is less than 24 characters." +msgstr "" +"Độ dài của trường tên gói mặc định trong <command> aptitude </command> là 30. Và có hơn" +" 90% gói có độ dài tên dưới 24 ký tự." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You must choose the <emphasis role=\"strong\">package name</emphasis> to " +"consist only of lower case letters (<literal>a-z</literal>), digits " +"(<literal>0-9</literal>), plus (<literal>+</literal>) and minus (<literal>-</" +"literal>) signs, and periods (<literal>.</literal>). It must be at least two " +"characters long, must start with an alphanumeric character, and must not be " +"the same as existing packages. It is a good idea to keep its length within " +"30 characters. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Bạn phải chọn <emphasis role=\"strong\">tên gói</emphasis> chỉ bao gồm các chữ thường " +"(<literal>a-z</literal>), chữ số (<literal>0-9</literal>, dấu cộng (<literal>+</literal>)" +" dấu trừ (<literal>-</literal>), và dấu chấm (<literal>.</literal>). Phải có ít nhất hai " +"ký tự, phải bắt đầu bằng một ký tự chữ hoặc số, và không được giống với tên đã tồn tại. " +"Bạn nên giữ chiều dài của nó trong vòng 30 ký tự. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"If you follow the <ulink url=\"&devref-newpackage;\">Debian Developer's " +"Reference 5.1. \"New packages\"</ulink>, the ITP process will usually catch " +"this kind of issue." +msgstr "" +"Nếu bạn theo dõi <ulink url=\"&devref-newpackage;\">Debian Developer's Reference 5.1. " +"\"New packages\"</ulink>, quá trình ITP thường sẽ bắt lỗi loại vấn đề này." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If upstream uses some generic term such as <literal>test-suite</literal> for " +"its name, it is a good idea to rename it to identify its contents explicitly " +"and avoid namespace pollution. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Nếu thượng nguồn sử dụng một số thuật ngữ chung chung như <literal>test-suite</literal> " +"cho tên của nó, bạn nên đổi tên nó để xác định rõ ràng nội dung của nó và cũng tránh làm rối " +"không gian tên. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "This stricter rule should help you avoid confusing file names." +msgstr "Quy tắc chặt chẽ hơn này sẽ giúp bạn tránh nhầm lẫn tên tập tin." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"The default version field length of <command>aptitude</command> is 10. The " +"Debian revision with preceding hyphen usually consumes 2. For more than 80% " +"of packages, the upstream version is less than 8 characters and the Debian " +"revision is less than 2 characters. For more than 90% of packages, the " +"upstream version is less than 10 characters and the Debian revision is less " +"than 3 characters." +msgstr "" +"Độ dài của trường phiên bản mặc định trong <command>aptitude</command> là 10. Phiên bản" +" Debian với dấu gạch nối trước thường tiêu tốn 2. Đối với hơn 80% gói, phiên bản thượng " +"nguồn ít hơn 8 ký tự và phiên bản Debian có ít hơn 2 ký tự. Đối với hơn 90% gói, " +"phiên bản thượng nguồn ít hơn 10 ký tự và phiên bản Debian ít hơn 3 ký tự." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You should choose the <emphasis role=\"strong\">upstream version</emphasis> " +"to consist only of alphanumerics (<literal>0-9A-Za-z</literal>), plus signs " +"(<literal>+</literal>), tildes (<literal>~</literal>), and periods " +"(<literal>.</literal>). It must start with a digit (<literal>0-9</" +"literal>). <placeholder type=\"footnote\" id=\"0\"/> It is good idea to " +"keep its length within 8 characters if possible. <placeholder type=" +"\"footnote\" id=\"1\"/>" +msgstr "" +"Bạn nên chọn <emphasis role=\"strong\">phiên bản thượng nguồn</emphasis> chỉ bao gồm " +"alphanumerics (<literal>0-9A-Za-z</literal>), dấu cộng (<literal> + </literal>), dấu " +"ngã (<literal> ~ </literal>), và dấu chấm (<literal>. </literal>). Nó phải bắt đầu " +"bằng một chữ số (<literal>0-9</literal>). <placeholder type=\"footnote\" id=\"0\"/>" +"Tốt nhất nên giữ chiều dài của nó trong vòng 8 ký tự nếu có thể. " +" <placeholder type=\"footnote\" id=\"1\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If upstream does not use a normal versioning scheme such as " +"<literal>2.30.32</literal> but uses some kind of date such as " +"<literal>11Apr29</literal>, a random codename string, or a VCS hash value as " +"part of the version, make sure to remove them from the <emphasis role=" +"\"strong\">upstream version</emphasis>. Such information can be recorded in " +"the <filename>debian/changelog</filename> file. If you need to invent a " +"version string, use the <literal>YYYYMMDD</literal> format such as " +"<literal>20110429</literal> as upstream version. This ensures that " +"<command>dpkg</command> interprets later versions correctly as upgrades. If " +"you need to ensure smooth transition to the normal version scheme such as " +"<literal>0.1</literal> in the future, use the <literal>0~YYMMDD</literal> " +"format such as <literal>0~110429</literal> as the upstream version." +msgstr "" +"Nếu thượng nguồn không sử dụng cấu trúc phiên bản bình thường như <literal>2.30.32" +"</literal> mà lại sử dụng một số kiểu như <literal>11Apr29</literal>, một chuỗi tên " +"mã ngẫu nhiên, hoặc một giá trị băm VCS như một phần của phiên bản, hãy chắc chắn " +"loại bỏ chúng khỏi <emphasis role=\"strong\">phiên bản thượng nguồn</emphasis>. " +"Thông tin này có thể được ghi lại trong tệp <filename>debian/changelog</filename>. " +"Nếu bạn cần tạo mới ra một chuỗi phiên bản, nên sử dụng định dạng <literal>YYYYMMDD" +"</literal> như là <literal> 20110429 </literal> cho phiên bản thượng nguồn. Điều này " +"đảm bảo rằng <command>dpkg</command> hiểu các phiên bản sau này chính xác như cho việc " +"nâng cấp phiên bản. Nếu bạn cần đảm bảo chuyển đổi suôn sẻ sang cấu trúc phiên bản bình " +"thường như <literal>0.1</literal> trong tương lai, hãy sử dụng định dạng <literal>0~YYMMDD" +"</literal> như <literal>0~110429</literal> cho phiên bản thượng nguồn." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Version strings may be <emphasis role=\"strong\">upstream version</emphasis> " +"(<literal><replaceable>version</replaceable></literal>), <emphasis role=" +"\"strong\">Debian revision</emphasis> (<literal><replaceable>revision</" +"replaceable></literal>), or <emphasis role=\"strong\">version</emphasis> " +"(<literal><replaceable>version</replaceable>-<replaceable>revision</" +"replaceable></literal>). See <xref linkend=\"newrevision\"/> for how the " +"<emphasis role=\"strong\">Debian revision</emphasis> is incremented." +msgstr "" +"Các chuỗi tên phiên bản có thể là <emphasis role=\"strong\">upstream version</emphasis> " +"(<literal><replaceable>version</replaceable></literal>), <emphasis role=\"strong" +"\">Debian revision</emphasis> (<literal><replaceable>revision</replaceable></literal>), " +"hoặc <emphasis role=\"strong\">version</emphasis> (<literal><replaceable>version</" +"replaceable>-<replaceable>revision</replaceable></literal>). Xem <xref linkend=" +"\"newrevision\"/> để biết cách mà <emphasis role=\"strong\">Debian revision" +"</emphasis> hoạt động" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Version strings <placeholder type=\"footnote\" id=\"0\"/> can be compared " +"using <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> as follows:" +msgstr "" +"Các tên phiên bản <placeholder type=\"footnote\" id=\"0\"/> có thể được so sánh bằng " +"cách sử dụng <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" +msgstr "$ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n" + +#. type: Content of: <book><chapter><section><para> +msgid "The version comparison rule can be summarized as:" +msgstr "Quy tắc so sánh phiên bản có thể được tóm tắt như sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "Strings are compared from the head to the tail." +msgstr "Chuỗi được so sánh từ đầu đến cuối chuỗi." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "Letters are larger than digits." +msgstr "Các chữ cái lớn hơn chữ số." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "Numbers are compared as integers." +msgstr "Số được so sánh như số nguyên." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "Letters are compared in ASCII code order." +msgstr "Các chữ cái được so sánh theo thứ tự mã ASCII." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"There are special rules for period (<literal>.</literal>), plus (<literal>+</" +"literal>), and tilde (<literal>~</literal>) characters, as follows:" +msgstr "Có các quy tắc đặc biệt cho các dấu chấm (<literal>.</literal>), cộng " +"(<literal>+</literal>), ngã (<literal>~</literal>), như sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</" +"literal> < <literal>0.99</literal> < <literal>1</literal> < " +"<literal>1.0~rc1</literal> < <literal>1.0</literal> < <literal>1.0+b1</" +"literal> < <literal>1.0+nmu1</literal> < <literal>1.1</literal> < " +"<literal>2.0</literal>" +msgstr "" +"<literal>0.0</literal> < <literal>0.5</literal> < <literal>0.10</literal> < " +"<literal>0.99</literal> < <literal>1</literal> < <literal>1.0~rc1</literal> < " +"<literal>1.0</literal> < <literal>1.0+b1</literal> < <literal>1.0+nmu1</literal> " +"< <literal>1.1</literal> < <literal>2.0</literal>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"One tricky case occurs when upstream releases <filename>gentoo-0.9.12-" +"ReleaseCandidate-99.tar.gz</filename> as the pre-release of " +"<filename>gentoo-0.9.12.tar.gz</filename>. You need to make sure that the " +"upgrade works properly by renaming the upstream source to " +"<filename>gentoo-0.9.12~rc99.tar.gz</filename>." +msgstr "" +"Một trường hợp có thể xảy ra khi các bản phát hành thượng nguồn có phiên bản là " +"<filename>gentoo-0.9.12-ReleaseCandidate-99.tar.gz</filename> nó là phiên " +"bản trước của <filename>gentoo-0.9.12.tar.gz</filename>. Bạn cần đảm bảo rằng " +"việc nâng cấp vẫn hoạt động bằng cách đổi tên nguồn thượng nguồn thành " +"<filename>gentoo-0.9.12~rc99.tar.gz</filename>." + +#. type: Content of: <book><chapter><section><title> +msgid "Setting up <command>dh_make</command>" +msgstr "Thiết lập <command>dh_make</command>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"The following text assumes you are using Bash as your login shell. If you " +"use some other login shell such as Z shell, use their corresponding " +"configuration files instead of <filename>~/.bashrc</filename>." +msgstr "" +"Ví dụ dưới đây giả định bạn đang sử dụng Bash là shell đăng nhập mặc định của bạn. " +"Nếu bạn sử dụng một số shell đăng nhập khác như Z shell, hãy sử dụng các file cấu " +"hình tương ứng thay vì <filename>~/.bashrc</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Set up the shell environment variables <literal>$DEBEMAIL</literal> and " +"<literal>$DEBFULLNAME</literal> so that various Debian maintenance tools " +"recognize your email address and name to use for packages. <placeholder type=" +"\"footnote\" id=\"0\"/>" +msgstr "" +"Thiết lập các biến môi trường shell <literal>$DEBEMAIL</literal> và <literal>" +"$DEBFULLNAME</literal> để các công cụ bảo trì Debian nhận biết địa chỉ email " +"và tên của bạn cho việc sử dụng cho các gói .<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ cat >>~/.bashrc <<EOF\n" +"DEBEMAIL=\"your.email.address@example.org\"\n" +"DEBFULLNAME=\"Firstname Lastname\"\n" +"export DEBEMAIL DEBFULLNAME\n" +"EOF\n" +"$ . ~/.bashrc\n" +msgstr "" +"$ cat >>~/.bashrc <<EOF\n" +"DEBEMAIL=\"your.email.address@example.org\"\n" +"DEBFULLNAME=\"Firstname Lastname\"\n" +"export DEBEMAIL DEBFULLNAME\n" +"EOF\n" +"$ . ~/.bashrc\n" + +#. type: Content of: <book><chapter><section><title> +msgid "Initial non-native Debian package" +msgstr "Khởi tạo gói Debian mới" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Normal Debian packages are non-native Debian packages made from upstream " +"programs. If you wish to create a non-native Debian package of an upstream " +"source <filename>gentoo-0.9.12.tar.gz</filename>, you can create an initial " +"non-native Debian package for it by issuing the <command>dh_make</command> " +"command as follows:" +msgstr "" +"Các gói Debian thường là các gói non-native Debian được tạo từ các chương trình " +"thượng nguồn. Nếu bạn muốn tạo gói Debian mới từ nguồn của một nguồn thượng nguồn " +"<filename>gentoo-0.9.12.tar.gz</filename>, bạn có thể tạo một gói Debian đầu tiên " +" bằng cách sử dụng lệnh <command>dh_make</command> như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ cd ~/gentoo\n" +"$ wget http://example.org/gentoo-0.9.12.tar.gz\n" +"$ tar -xvzf gentoo-0.9.12.tar.gz\n" +"$ cd gentoo-0.9.12\n" +"$ dh_make -f ../gentoo-0.9.12.tar.gz\n" +msgstr "" +"$ cd ~/gentoo\n" +"$ wget http://example.org/gentoo-0.9.12.tar.gz\n" +"$ tar -xvzf gentoo-0.9.12.tar.gz\n" +"$ cd gentoo-0.9.12\n" +"$ dh_make -f ../gentoo-0.9.12.tar.gz\n" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"If the upstream source provides the <filename>debian</filename> directory " +"and its contents, run the <command>dh_make</command> command with the extra " +"option <literal>--addmissing</literal>. The new source <literal>3.0 " +"(quilt)</literal> format is robust enough not to break even for these " +"packages. You may need to update the contents provided by the upstream " +"version for your Debian package." +msgstr "" +"Nếu thượng nguồn đã cung cấp thư mục <filename>debian</filename> và cả nội dung của nó, " +"hãy chạy lệnh <command>dh_make</command> với tùy chọn thêm <literal>--addmissing</literal>" +". Định dạng nguồn <literal>3.0 (quilt)</literal> là đủ mạnh để không làm hỏng các gói này. " +" Bạn có thể cần phải cập nhật các nội dung được cung cấp bởi phiên bản thượng nguồn cho gói Debian của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Of course, replace the filename with the name of your original source " +"archive. <placeholder type=\"footnote\" id=\"0\"/> See <citerefentry> " +"<refentrytitle>dh_make</refentrytitle> <manvolnum>8</manvolnum> </" +"citerefentry> for details." +msgstr "" +"Tất nhiên, hãy thay tên tệp bằng tên của bản lưu trữ gốc của bạn. <placeholder " +"type=\"footnote\" id=\"0\"/> Xem <citerefentry> <refentrytitle>dh_make</refentrytitle> " +"<manvolnum>8</manvolnum> </citerefentry> để biết chi tiết." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"There are several choices here: <literal>s</literal> for Single binary " +"package, <literal>i</literal> for arch-Independent package, <literal>m</" +"literal> for Multiple binary packages, <literal>l</literal> for Library " +"package, <literal>k</literal> for Kernel module package, <literal>n</" +"literal> for kernel patch package, and <literal>b</literal> for <systemitem " +"role=\"package\">cdbs</systemitem> package. This document focuses on the " +"use of the <command>dh</command> command (from the package <systemitem role=" +"\"package\">debhelper</systemitem>) to create a single binary package, but " +"also touches on how to use it for arch-independent or multiple binary " +"packages. The package <systemitem role=\"package\">cdbs</systemitem> offers " +"an alternative packaging script infrastructure to the <command>dh</command> " +"command and is outside the scope of this document." +msgstr "" +"Có vài sự lựa chọn bao gồm: <literal>s</literal> cho Single binary package, " +"<literal>i</literal> cho arch-Independent package, <literal>m</literal> cho Multiple " +"binary packages, <literal>l</literal> cho Library package, <literal>k</literal> cho " +"Kernel module package, <literal>n</literal> cho kernel patch package, và <literal>b</" +"literal> cho <systemitem role=\"package\">cdbs</systemitem> package. Tài liệu này " +"tập trung vào sử dụng câu lệnh <command>dh</command> (từ gói <systemitem " +"role=\"package\">debhelper</systemitem>) để tạo một single binary package, nhưng cũng " +"nói tới làm sao sử dụng nó cho arch-independent hay multiple binary packages. Gói " +"<systemitem role=\"package\">cdbs</systemitem> cung cấp các nền tảng kịch bản khác nhau " +"cho lệnh <command>dh</command> và cả nằm ngoài phạm vi tài liệu này." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You should see some output asking you what sort of package you want to " +"create. Gentoo is a single binary package — it creates only one " +"binary package, i.e., one <filename>.deb</filename> file — so we will " +"select the first option (with the <literal>s</literal> key), check the " +"information on the screen, and confirm by pressing " +"<literal><replaceable>ENTER</replaceable></literal>. <placeholder type=" +"\"footnote\" id=\"0\"/>" +msgstr "" +"Bạn sẽ thấy một số câu hỏi về loại gói bạn muốn tạo. Gentoo là một gói nhị phân " +"duy nhất — nó chị tạo ra một gói nhị phân, tức chỉ cần một tập tin <filename>.deb</filename>" +"— vì vậy chúng ta sẽ chọn tùy chọn đầu tiên (với <literal>s</literal>), kiểm tra thông " +"tin trên màn hình và xác nhận bằng cách nhấn <literal><replaceable>ENTER</replaceable>." +" <placeholder type=\"footnote\" id=\"0\"/></literal>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This execution of <command>dh_make</command> creates a copy of the upstream " +"tarball as <filename>gentoo_0.9.12.orig.tar.gz</filename> in the parent " +"directory to accommodate the creation of the non-native Debian source " +"package with the name <filename>debian.tar.gz</filename> later:" +msgstr "" +"Việc thực hiện <command>dh_make</command> sẽ tạo một bản sao của tarball thượng nguồn " +"<filename>gentoo_0.9.12.orig.tar.gz</filename> trong thư mục cha để phù hợp với việc tạo " +"ra gói nguồn non-native Debian với tên <filename> debian.tar.gz </filename> sau này:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ cd ~/gentoo ; ls -F\n" +"gentoo-0.9.12/\n" +"gentoo-0.9.12.tar.gz\n" +"gentoo_0.9.12.orig.tar.gz\n" +msgstr "" +"$ cd ~/gentoo ; ls -F\n" +"gentoo-0.9.12/\n" +"gentoo-0.9.12.tar.gz\n" +"gentoo_0.9.12.orig.tar.gz\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Please note two key features of this filename <filename>gentoo_0.9.12.orig." +"tar.gz</filename>:" +msgstr "" +"Vui lòng lưu ý hai điểm chính của tên tệp tin này <filename>gentoo_0.9.12.orig.tar.gz</filename>:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Package name and version are separated by the character <literal>_</literal> " +"(underscore)." +msgstr "" +"Tên gói và phiên bản phân cách nhau bởi kí tự <literal>_</literal> (gạch dưới)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"The string <filename>.orig</filename> is inserted before the <filename>.tar." +"gz</filename>." +msgstr "" +"Thành phần <filename>.orig</filename> được chèn trước <filename>.tar.gz</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You should also notice that many template files are created in the source " +"under the <filename>debian</filename> directory. These will be explained in " +"<xref linkend=\"dreq\"/> and <xref linkend=\"dother\"/>. You should also " +"understand that packaging cannot be a fully automated process. You will " +"need to modify the upstream source for Debian (see <xref linkend=\"modify\"/" +">). After this, you need to use the proper methods for building Debian " +"packages (<xref linkend=\"build\"/>), testing them (<xref linkend=\"checkit" +"\"/>), and uploading them (<xref linkend=\"upload\"/>). All the steps will " +"be explained." +msgstr "" +"Bạn cũng nên lưu ý rằng nhiều tệp mẫu đã được tạo ra trong thư mục <filename>debian</filename> " +"Chúng được giải thích ở <xref linkend=\"dreq\"/> và <xref linkend=\"dother\"/>. " +"Bạn cũng nên hiểu rằng việc đóng gói không thể là một quá trình tự động hoàn toàn. " +"Bạn sẽ cần phải chỉnh sửa thượng nguồn cho Debian (xem <xref linkend=\"modify\"/>). " +"Sau đó, bạn phải cần sử dụng phương pháp thích hợp cho công việc xây dựng gói Debian " +"(<xref linkend=\"build\"/>), kiểm thử chúng (<xref linkend=\"checkit\"/>), vả đẩy chúng " +"lên máy chủ (<xref linkend=\"upload\"/>). Tất cả các bước sẽ được giải thích." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you accidentally erased some template files while working on them, you " +"can recover them by running <command>dh_make</command> with the <literal>--" +"addmissing</literal> option again in a Debian package source tree." +msgstr "" +"Nếu bạn vô tình xoá một số tệp khuôn mẫu trong khi đang làm việc với chúng, bạn có thể " +"khôi phục chúng bằng cách chạy <command>dh_make</command> với tùy chọn <literal>" +"--addmissing</literal> trong thư mục mã nguồn đang làm việc" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Updating an existing package may get complicated since it may be using older " +"techniques. While learning the basics, please stick to creating a fresh " +"package; further explanations are given in <xref linkend=\"update\"/>." +msgstr "" +"Cập nhật cho một gói hiện sẽ có thể phức tạp vì nó có thể sử dụng các kỹ thuật cũ. " +"Khi học những điều cơ bản, vui lòng gắn bó với việc tạo ra một gói theo kỹ thuật mới; " +" Giải thích thêm được đưa ra trong <xref linkend=\"update\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Please note that the source file does not need to contain any build system " +"discussed in <xref linkend=\"simplemake\"/> and <xref linkend=\"portable\"/" +">. It could be just a collection of graphical data, etc. Installation of " +"files may be carried out using only <systemitem role=\"package\">debhelper</" +"systemitem> configuration files such as <filename>debian/install</filename> " +"(see <xref linkend=\"install\"/>)." +msgstr "" +"Vui lòng lưu ý rằng mã nguồn không cần chứa bất kỳ hệ thống xây dựng nào đã thảo " +"luận trong <xref linkend=\"simplemake\"/> và <xref linkend=\"portable\"/>. Nó có thể " +"chỉ là một tập hợp các dữ liệu đồ hoạ,... Việc cài đặt các tệp có thể được chỉ thực hiện " +"bằng các tập tin cấu hình <systemitem role=\"package\">debhelper</systemitem> " +" như là <filename>debian/install</filename> (xem <xref linkend=\"install\"/>)." + +#. type: Content of: <book><chapter><title> +msgid "Modifying the source" +msgstr "Sửa đổi mã nguồn" + +#. type: Content of: <book><chapter><para> +msgid "" +"Please note that there isn't space here to go into <emphasis>all</emphasis> " +"the details of fixing upstream sources, but here are some basic steps and " +"problems people often run across." +msgstr "" +"Xin lưu ý rằng không có nhiều thời gian để đi vào <emphasis>tất cả</emphasis> các chi " +"tiết để khắc phục tất cả thượng nguồn, nhưng đây sẽ là một số bước cơ bản và vài vấn đề " +"mà mọi người thường xuyên gặp phải." + +#. type: Content of: <book><chapter><section><title> +msgid "Setting up <command>quilt</command>" +msgstr "Cài đặt <command>quilt</command>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The program <command>quilt</command> offers a basic method for recording " +"modifications to the upstream source for Debian packaging. It's useful to " +"have a slightly customized default, so let's create an alias " +"<command>dquilt</command> for Debian packaging by adding the following lines " +"to <filename>~/.bashrc</filename>. The second line provides the same shell " +"completion feature of the <command>quilt</command> command to the " +"<command>dquilt</command> command:" +msgstr "" +"Chương trình <command>quilt</command> cung cấp phương pháp cơ bản để ghi lại các sửa đổi " +"đối với mã nguồn thượng nguồn cho gói Debian. Rất hữu ích khi có một mặc định hơi tùy chỉnh, " +"vì vậy hãy tạo một alias <command>dquilt</command> cho gói Debian bằng cách thêm các dòng " +"sau vào <filename>~/.bashrc</filename>. Dòng thứ hai là tính năng bash-completion gợi ý của " +"của lệnh <command>quilt</command> vào lệnh <command>dquilt</command>:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" +"complete -F _quilt_completion -o filenames dquilt\n" +msgstr "" +"alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n" +"complete -F _quilt_completion -o filenames dquilt\n" + +#. type: Content of: <book><chapter><section><para> +msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows:" +msgstr "Sau đó hãy tạo tệp <filename>~/.quiltrc-dpkg</filename> như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"d=. ; while [ ! -d $d/debian -a $(readlink -e $d) != / ]; do d=$d/..; done\n" +"if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" +" # if in Debian packaging tree with unset $QUILT_PATCHES\n" +" QUILT_PATCHES=\"debian/patches\"\n" +" QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" +" QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" +" QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" +" 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" +" if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" +"fi\n" +msgstr "" +"d=. ; while [ ! -d $d/debian -a $(readlink -e $d) != / ]; do d=$d/..; done\n" +"if [ -d $d/debian ] && [ -z $QUILT_PATCHES ]; then\n" +" # if in Debian packaging tree with unset $QUILT_PATCHES\n" +" QUILT_PATCHES=\"debian/patches\"\n" +" QUILT_PATCH_OPTS=\"--reject-format=unified\"\n" +" QUILT_DIFF_ARGS=\"-p ab --no-timestamps --no-index --color=auto\"\n" +" QUILT_REFRESH_ARGS=\"-p ab --no-timestamps --no-index\"\n" +" 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" +" if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi\n" +"fi\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> and <filename>&quilt-pdf;</filename> on how to " +"use <command>quilt</command>." +msgstr "" +"Xem <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> và <filename>&quilt-pdf;</filename> để biết cách sử dụng <command>quilt</" +"command>." + +#. type: Content of: <book><chapter><section><title> +msgid "Fixing upstream bugs" +msgstr "Sửa lỗi ở thượng nguồn" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Let's assume you find an error in the upstream <filename>Makefile</filename> " +"as follows, where <literal>install: gentoo</literal> should have been " +"<literal>install: gentoo-target</literal>." +msgstr "" +"Hãy giả sử bạn đã tìm thấy một lỗi trong thượng nguồn <filename>Makefile</filename> " +"như sau, dòng <literal>install: gentoo</literal> nên được sửa lại thành " +"<literal>install: gentoo-target</literal>." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"install: gentoo\n" +" install ./gentoo $(BIN)\n" +" install icons/* $(ICONS)\n" +" install gentoorc-example $(HOME)/.gentoorc\n" +msgstr "" +"install: gentoo\n" +" install ./gentoo $(BIN)\n" +" install icons/* $(ICONS)\n" +" install gentoorc-example $(HOME)/.gentoorc\n" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"The <filename>debian/patches</filename> directory should exist now if you " +"ran <command>dh_make</command> as described before. This example operation " +"creates it just in case you are updating an existing package." +msgstr "" +"Thư mục <filename>debian/patches</filename> sẽ tồn tại nếu bạn đã chạy <command>dh_make" +"</command> như đã mô tả trước. Thao tác ví dụ này cũng tạo ra nhưng chỉ trong trường hợp " +"bạn đang cập nhật một gói hiện có." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Let's fix this and record it with the <command>dquilt</command> command as " +"<filename>fix-gentoo-target.patch</filename>: <placeholder type=\"footnote\" " +"id=\"0\"/>" +msgstr "" +"Hãy sửa và ghi lại nó bằng lệnh <command>dquilt</command> với bản vá mới là " +"<filename>fix-gentoo-target.patch</filename>: <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ mkdir debian/patches\n" +"$ dquilt new fix-gentoo-target.patch\n" +"$ dquilt add Makefile\n" +msgstr "" +"$ mkdir debian/patches\n" +"$ dquilt new fix-gentoo-target.patch\n" +"$ dquilt add Makefile\n" + +#. type: Content of: <book><chapter><section><para> +msgid "You change the <filename>Makefile</filename> file as follows:" +msgstr "Bạn thay đổi tệp tin <filename>Makefile</filename> như sau" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"install: gentoo-target\n" +" install ./gentoo $(BIN)\n" +" install icons/* $(ICONS)\n" +" install gentoorc-example $(HOME)/.gentoorc\n" +msgstr "" +"install: gentoo-target\n" +" install ./gentoo $(BIN)\n" +" install icons/* $(ICONS)\n" +" install gentoorc-example $(HOME)/.gentoorc\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Ask <command>dquilt</command> to generate the patch to create " +"<filename>debian/patches/fix-gentoo-target.patch</filename> and add its " +"description following <ulink url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</" +"ulink>:" +msgstr "" +"Lệnh <command>dquilt</command> sẽ tạo ra bản vá <filename>debian/patches/" +"fix-gentoo-target.patch</filename> và thêm mô tả của nó như sau <ulink " +"url=\"&dep3;\">DEP-3: Patch Tagging Guidelines</ulink>:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ dquilt refresh\n" +"$ dquilt header -e\n" +"... describe patch\n" +msgstr "" +"$ dquilt refresh\n" +"$ dquilt header -e\n" +"... mô tả bản vá\n" + +#. type: Content of: <book><chapter><section><title> +msgid "Installation of files to their destination" +msgstr "Cài đặt các tệp tin đến đích của chúng" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Most third-party software installs itself in the <filename>/usr/local</" +"filename> directory hierarchy. On Debian this is reserved for private use " +"by the system administrator, so packages must not use directories such as " +"<filename>/usr/local/bin</filename> but should instead use system " +"directories such as <filename>/usr/bin</filename>, obeying the <ulink url=" +"\"&fhs;\">Filesystem Hierarchy Standard</ulink> (FHS)." +msgstr "" +"Hầu hết các phần mềm của bên thứ ba cài đặt chính nó vào hệ thống phân cấp thư mục " +"<filename>/usr/local</filename>. Với Debian, người quản trị hệ thống nên dành riêng " +"cho việc sử dụng cá nhân, vì vậy các gói không được sử dụng các thư mục như <filename>" +"/usr/local/bin</filename> nhưng nên sử dụng thư mục hệ thống như <filename>/usr/bin</filename>, " +"tuân theo <ulink url=\"&fhs;\">Tiêu chuẩn Phân cấp Hệ thống Tập tin(Filesystem Hierarchy Standard)" +"</ulink> (FHS)." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Normally, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> is used to automate building the program, and " +"executing <literal>make install</literal> installs programs directly to the " +"desired destination (following the <literal>install</literal> target in the " +"<filename>Makefile</filename>). In order for Debian to provide pre-built " +"installable packages, it modifies the build system to install programs into " +"a file tree image created under a temporary directory instead of the actual " +"destination." +msgstr "" +"Thông thường, <citerefentry> <refentrytitle>make</refentrytitle> <manvolnum>1</manvolnum>" +"</citerefentry> được sử dụng để tự động xây dựng chương trình và thực hiện <literal>" +"make install</literal> để cài đặt các chương trình trực tiếp tới đích mong muốn " +"(sau phần <literal>install</literal> là target trong <filename>Makefile</filename>). " +"Để Debian tạo ra các gói trước khi cài đặt, nó sẽ sửa đổi hệ thống xây dựng để " +"cài đặt các chương trình vào cây thư mục giả định dưới một thư mục tạm thay vì một đích thực." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"These two differences between normal program installation on one hand and " +"the Debian packaging system on the other can be transparently addressed by " +"the <systemitem role=\"package\">debhelper</systemitem> package through the " +"<command>dh_auto_configure</command> and <command>dh_auto_install</command> " +"commands if the following conditions are met:" +msgstr "" +"Hai khác biệt giữa cài đặt chương trình bình thường và hệ thống đóng gói Debian " +" có thể được hiểu rõ bởi gói <systemitem role=\"package\">debhelper</systemitem>" +"qua lệnh <command>dh_auto_configure</command> và <command>dh_auto_install</command> nếu " +"đáp ứng các điều kiện sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"See <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: " +"Support for Staged Installs</ulink>." +msgstr "" +"Xem <ulink url=\"&gnu-destdir;\">GNU Coding Standards: 7.2.4 DESTDIR: Support for " +"Staged Installs</ulink>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"The <filename>Makefile</filename> must follow GNU conventions and support " +"the <literal>$(DESTDIR)</literal> variable. <placeholder type=\"footnote\" " +"id=\"0\"/>" +msgstr "" +"Tệp <filename>Makefile</filename> phải tuân theo các quy ước GNU và hỗ trợ biến <literal>" +"$(DESTDIR)</literal> . <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "The source must follow the Filesystem Hierarchy Standard (FHS)." +msgstr "Mã nguồn phải tuân theo Filesystem Hierarchy Standard (FHS)" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Programs that use GNU <command>autoconf</command> follow the GNU conventions " +"automatically, so they can be trivial to package. On the basis of this and " +"other heuristics, it is estimated that the <systemitem role=\"package" +"\">debhelper</systemitem> package will work for about 90% of packages " +"without making any intrusive changes to their build system. So packaging is " +"not as complicated as it may seem." +msgstr "" +"Các chương trình sử dụng GNU <command>autoconf</command> tuân theo các quy ước " +"của GNU một cách tự động, do đó chúng rất dễ đóng gói. Trên cơ sở điều này cùng " +"các phương pháp chẩn đoán khác, người ta ước tính rằng <systemitem role=\"package\">" +"debhelper</systemitem> sẽ hoạt động với khoảng 90% gói mà không làm thay đổi gì đối " +"hệ thống xây dựng của thượng nguồn. Vì vậy, việc đóng gói không phải là phức tạp như bạn thấy" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you need to make changes in the <filename>Makefile</filename>, you should " +"be careful to support the <literal>$(DESTDIR)</literal> variable. Although " +"it is unset by default, the <literal>$(DESTDIR)</literal> variable is " +"prepended to each file path used for the program installation. The " +"packaging script will set <literal>$(DESTDIR)</literal> to the temporary " +"directory." +msgstr "" +"Nếu bạn cần thực hiện thay đổi tệp <filename>Makefile</filename>, bạn nên cẩn thận hỗ trợ " +"biến <literal>$(DESTDIR)</literal>. Mặc dù nó bị bỏ bởi mặc định, biến <literal>$(DESTDIR)" +"</literal> được thêm vào cho mỗi đường dẫn tập tin dể cài đặt chương trình. Kịch bản " +"đóng gói sẽ đặt <literal>$(DESTDIR)</literal> là thư mục tạm thời." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"For a source package generating multiple binary packages, the " +"<command>dh_auto_install</command> command uses <filename>debian/tmp</" +"filename> as the temporary directory while the <command>dh_install</command> " +"command with the help of <filename>debian/<replaceable>package-1</" +"replaceable>.install</filename> and <filename>debian/<replaceable>package-2</" +"replaceable>.install</filename> files will split the contents of " +"<filename>debian/tmp</filename> into <filename>debian/" +"<replaceable>package-1</replaceable></filename> and <filename>debian/" +"<replaceable>package-2</replaceable></filename> temporary directories, to " +"create <filename><replaceable>package-1</replaceable>_*.deb</filename> and " +"<filename><replaceable>package-2</replaceable>_*.deb</filename> binary " +"packages." +msgstr "" +"Với một gói mã nguồn tạo ra nhiều gói nhị phân, lệnh <command>dh_auto_install</" +"command> sử dụng thư mục <filename>debian/tmp</filename> như là thư mục tạm thời trong " +"khi lệnh <command>dh_install</command> sẽ tạo ra các kịch bản <filename>debian/" +"<replaceable>package-1</replaceable>.install</filename> và <filename>debian/" +"<replaceable>package-2</replaceable>.install</filename> sẽ chia nội dung " +"của <filename>debian/tmp</filename> vào thư mục tạm thời là <filename>" +"debian/<replaceable>package-1</replaceable></filename> và <filename>debian/<replaceable>" +"package-2</replaceable></filename>, để tạo gói nhị phân <filename><replaceable>package-1</" +"replaceable>_*.deb</filename> và <filename><replaceable>package-2</replaceable>_*.deb</" +"filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For a source package generating a single binary package, the temporary " +"directory used by the <command>dh_auto_install</command> command will be set " +"to <filename>debian/<replaceable>package</replaceable></filename>. " +"<placeholder type=\"footnote\" id=\"0\"/> Everything that is contained in " +"the temporary directory will be installed on users' systems when they " +"install your package; the only difference is that <command>dpkg</command> " +"will be installing the files to paths relative to the root directory rather " +"than your working directory." +msgstr "" +"Đối với một gói nguồn tạo ra một gói nhị phân duy nhất, thư mục tạm thời được sử dụng " +"bởi lệnh <command>dh_auto_install</command> sẽ được cài đặt vào <filename>debian/" +"<replaceable>package</replaceable></filename>. <placeholder type=\"footnote\" id=\"0\"/" +"> Tất cả mọi thứ có trong thư mục tạm thời sẽ được cài đặt trên hệ thống của người dùng " +"khi họ cài đặt gói của bạn; Khác biệt duy nhất là <command>dpkg</command> sẽ cài đặt " +"các tập tin vào đường dẫn liên quan đến thư mục gốc thay vì thư mục làm việc của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Bear in mind that even though your program installs in <filename>debian/" +"<replaceable>package</replaceable></filename>, it still needs to behave " +"correctly when installed from the <filename>.deb</filename> package under " +"the root directory. So you must not allow the build system to hardcode " +"strings like <literal>/home/me/deb/<replaceable>package</replaceable>-" +"<replaceable>version</replaceable>/usr/share/<replaceable>package</" +"replaceable></literal> into files in the package." +msgstr "" +"Lưu ý rằng ngay cả khi chương trình của bạn cài đặt trong <filename>debian/" +"<replaceable>package</replaceable></filename>, nó vẫn cần phải hoạt động chính xác " +"khi cài đặt từ tệp <filename>.deb</filename> vào thư mục gốc. Vì vâỵ bạn không được " +"tạo hệ thống xây dựng cài đặt vào như đường dẫn tuyệt đối như <literal>/home/me/deb/" +"<replaceable>package</replaceable>-<replaceable>version</replaceable>/usr/share/" +"<replaceable>package</replaceable></literal> ở các tệp tin trong gói." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"This is just an example to show what a <filename>Makefile</filename> should " +"look like. If the <filename>Makefile</filename> is created by the " +"<command>./configure</command> command, the correct way to fix this kind of " +"<filename>Makefile</filename> is to execute <command>./configure</command> " +"from the <command>dh_auto_configure</command> command with default options " +"including <literal>--prefix=/usr</literal>." +msgstr "" +"Đây chỉ là một ví dụ để xem <filename>Makefile</filename> trông như thế nào. Nếu " +"<filename>Makefile</filename> được tạo bởi lệnh <command>./configure</command>, " +"cách chính xác để sửa lỗi trên <filename>Makefile </filename> là thực thi " +"<command>./configure</command> từ lệnh <command>dh_auto_configure</command> " +"với các tùy chọn mặc định bao gồm <literal>--prefix =/usr </literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Here's the relevant part of <systemitem role=\"package\">gentoo</" +"systemitem>'s <filename>Makefile</filename><placeholder type=\"footnote\" id=" +"\"0\"/>:" +msgstr "" +"Đây là một phần tệp tin <filename>Makefile</filename> của <systemitem " +"role=\"package\">gentoo</systemitem><placeholder type=\"footnote\" id=\"0\"/>:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"# Where to put executable commands on 'make install'?\n" +"BIN = /usr/local/bin\n" +"# Where to put icons on 'make install'?\n" +"ICONS = /usr/local/share/gentoo\n" +msgstr "" +"# Where to put executable commands on 'make install'?\n" +"BIN = /usr/local/bin\n" +"# Where to put icons on 'make install'?\n" +"ICONS = /usr/local/share/gentoo\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"We see that the files are set to install under <filename>/usr/local</" +"filename>. As explained above, that directory hierarchy is reserved for " +"local use on Debian, so change those paths as follows:" +msgstr "" +"Chúng ta thấy rằng các tệp được cài đặt vào <filename>/usr/local</filename>. Như đã " +"giải thích ở trên, cây thư mục đó được dành riêng cho việc sử dụng cục bộ trên " +"Debian, do đó cần thay đổi những đường dẫn đó như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"# Where to put executable commands on 'make install'?\n" +"BIN = $(DESTDIR)/usr/bin\n" +"# Where to put icons on 'make install'?\n" +"ICONS = $(DESTDIR)/usr/share/gentoo\n" +msgstr "" +"# Where to put executable commands on 'make install'?\n" +"BIN = $(DESTDIR)/usr/bin\n" +"# Where to put icons on 'make install'?\n" +"ICONS = $(DESTDIR)/usr/share/gentoo\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The exact locations that should be used for binaries, icons, documentation, " +"etc. are specified in the Filesystem Hierarchy Standard (FHS). You should " +"browse through it and read the sections relevant to your package." +msgstr "" +"Vị trí chính xác cần được sử dụng cho các tệp nhị phân, icons, tài liệu, v.v. " +"được xác định trong Filesystem Hierarchy Standard (FHS). Bạn nên đọc qua nó và các " +"phần có liên quan đến gói của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"So, we should install executable commands in <filename>/usr/bin</filename> " +"instead of <filename>/usr/local/bin</filename>, the manual page in " +"<filename>/usr/share/man/man1</filename> instead of <filename>/usr/local/man/" +"man1</filename>, and so on. Notice how there's no manual page mentioned in " +"<systemitem role=\"package\">gentoo</systemitem>'s <filename>Makefile</" +"filename>, but since Debian Policy requires that every program has one, " +"we'll make one later and install it in <filename>/usr/share/man/man1</" +"filename>." +msgstr "" +"Vậy, chúng ta nên cài đặt chương trình vào <filename>/usr/bin</filename> thay vì " +"<filename>/usr/local/bin</filename>, trang hướng dẫn vào <filename>/usr/share/man/man1</" +"filename> thay vì <filename>/usr/local/man/man1</filename>, và vân vân. Chú ý là không " +"có trang hướng dẫn trong <filename>Makefile</filename> của <systemitem role=\"package\">" +"gentoo</systemitem>, nhưng vì Debian Policy đòi hỏi mọi chương trình phải có, chúng ta sẽ " +"làm sau và sẽ cài đặt nó trong <filename>/usr/share/man/man1</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Some programs don't use <filename>Makefile</filename> variables to define " +"paths such as these. This means you might have to edit some real C sources " +"in order to fix them to use the right locations. But where to search, and " +"exactly what for? You can find this out by issuing:" +msgstr "" +"Một số chương trình không sử dụng biến trong <filename>Makefile</filename> để xác định " +"các đường dẫn như vậy. Điều này có nghĩa là bạn có thể phải chỉnh sửa một số mã nguồn C " +"để khắc phục chúng giúp sử dụng đúng vị trí. Nhưng tìm kiếm ở đâu, và chính xác những gì? " +"Bạn có thể tìm ra điều này bằng cách thực hiện:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" +msgstr "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<command>grep</command> will run recursively through the source tree and " +"tell you the filename and the line number for all matches." +msgstr "" +"lệnh <command>grep</command> này sẽ tìm đệ quy trong cây mã nguồn và cho bạn tên " +"tập tin và vị trí dòng chứa cụm từ <literal>usr/local/lib</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Edit those files and in those lines replace <literal>usr/local/lib</literal> " +"with <literal>usr/lib</literal>. This can be done automatically as follows:" +msgstr "" +"Sửa đổi các tệp và thay thế <literal>usr/local/lib</literal> bằng " +"<literal>usr/lib</literal>. Điều này có thể thực hiện tự động như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" +" $(find . -type f -name '*.[c|h]')\n" +msgstr "" +"$ sed -i -e 's#usr/local/lib#usr/lib#g' \\\n" +" $(find . -type f -name '*.[c|h]')\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you want to confirm each substitution instead, this can be done " +"interactively as follows:" +msgstr "" +"Nếu bạn muốn xác nhận của mỗi lần thay thế thay, điều này có thể được thực hiện như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" +" $(find . -type f -name '*.[c|h]')\n" +msgstr "" +"$ vim '+argdo %s#usr/local/lib#usr/lib#gce|update' +q \\\n" +" $(find . -type f -name '*.[c|h]')\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Next you should find the <literal>install</literal> target (searching for " +"the line that starts with <literal>install:</literal> will usually work) and " +"rename all references to directories other than ones defined at the top of " +"the <filename>Makefile</filename>." +msgstr "" +"Tiếp theo, bạn nên tìm mục <literal>install</literal> (tìm kiếm dòng bắt đầu bằng " +"<literal>install:</literal> thường sẽ có) và đổi tên tất cả các tham chiếu tới các " +"thư mục khác. Được xác định ở trên cùng của <filename>Makefile</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Originally, <systemitem role=\"package\">gentoo</systemitem>'s " +"<literal>install</literal> target said:" +msgstr "" +"Bản gốc ban đầu, mục <literal>install</literal> của <systemitem role=\"package\">" +"gentoo</systemitem> như sau:" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Let's fix this upstream bug and record it with the <command>dquilt</command> " +"command as <filename>debian/patches/install.patch</filename>." +msgstr "" +"Hãy sửa lỗi thượng nguồn này và ghi lại nó bằng lệnh <command>dquilt</command> dưới dạng " +"<filename>debian/patches/install.patch</filename>." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ dquilt new install.patch\n" +"$ dquilt add Makefile\n" +msgstr "" +"$ dquilt new install.patch\n" +"$ dquilt add Makefile\n" + +#. type: Content of: <book><chapter><section><para> +msgid "In your editor, change this for the Debian package as follows:" +msgstr "Trong trình soạn thảo của bạn, thay đổi này cho gói Debian như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"install: gentoo-target\n" +" install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" +" install ./gentoo $(BIN)\n" +" install -m644 icons/* $(ICONS)\n" +" install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" +msgstr "" +"install: gentoo-target\n" +" install -d $(BIN) $(ICONS) $(DESTDIR)/etc\n" +" install ./gentoo $(BIN)\n" +" install -m644 icons/* $(ICONS)\n" +" install -m644 gentoorc-example $(DESTDIR)/etc/gentoorc\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You'll have noticed that there's now an <literal>install -d</literal> " +"command before the other commands in the rule. The original " +"<filename>Makefile</filename> didn't have it because usually <literal>/usr/" +"local/bin</literal> and other directories already exist on the system where " +"you are running <literal>make install</literal>. However, since we will be " +"installing into a newly created private directory tree, we will have to " +"create each and every one of those directories." +msgstr "" +"Bạn sẽ nhận thấy rằng hiện có một lệnh <literal>install -d</literal> trước các lệnh " +"khác trong quy tắc. Tệp <filename>Makefile</filename> ban đầu không có nó bởi vì " +"thường thư mục <literal>/usr/local/bin</literal> và các thư mục khác đã tồn tại " +"trên hệ thống mà bạn đang chạy <literal>make install</literal>. Tuy nhiên, khi " +"chúng ta sẽ cài đặt vào một cây thư mục cá nhân mới, chúng ta sẽ phải tạo ra một " +"trong những thư mục đó." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"We can also add in other things at the end of the rule, like the " +"installation of additional documentation that the upstream authors sometimes " +"omit:" +msgstr "" +"Chúng ta cũng có thể thêm vào những thứ khác ở cuối quy tắc, như việc cài đặt " +"các tài liệu bổ sung mà các tác giả thượng nguồn đôi khi bỏ qua:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +" install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" +" cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" +msgstr "" +" install -d $(DESTDIR)/usr/share/doc/gentoo/html\n" +" cp -a docs/* $(DESTDIR)/usr/share/doc/gentoo/html\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Check carefully, and if everything is okay, ask <command>dquilt</command> to " +"generate the patch to create <filename>debian/patches/install.patch</" +"filename> and add its description:" +msgstr "" +"Kiểm tra cẩn thận, và nếu mọi thứ đều ổn, hãy yêu cầu <command>dquilt</command> tạo ra " +"bản vá vào <filename>debian/patches/install.patch</filename> và thêm mô tả cho nó:" + +#. type: Content of: <book><chapter><section><para> +msgid "Now you have a series of patches." +msgstr "Bây giờ bạn có một loạt các bản vá." + +#. type: Content of: <book><chapter><section><orderedlist><listitem><para> +msgid "" +"Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>" +msgstr "Bản vá thượng nguồn: <filename>debian/patches/fix-gentoo-target.patch" +"</filename>" + +#. type: Content of: <book><chapter><section><orderedlist><listitem><para> +msgid "" +"Debian specific packaging modification: <filename>debian/patches/install." +"patch</filename>" +msgstr "" +"Bản vá việc đóng gói riêng cho Debian: <filename>debian/patches/install.patch</" +"filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Whenever you make changes that are not specific to the Debian package such " +"as <filename>debian/patches/fix-gentoo-target.patch</filename>, be sure to " +"send them to the upstream maintainer so they can be included in the next " +"version of the program and be useful to everyone else. Also remember to " +"avoid making your fixes specific to Debian or Linux — or even Unix! " +"Make them portable. This will make your fixes much easier to apply." +msgstr "" +"Bất cứ khi nào bạn thực hiện các thay đổi không phải đặc trưng cho gói Debian như " +"<filename>debian/patches/fix-gentoo-target.patch</filename>, hãy chắc chắn gửi chúng " +"đến người bảo trì thượng nguồn để có thể được áp dụng vào trong phiên bản kế tiếp của " +"chương trình, sẽ là hữu ích cho mọi người khác. Đồng thời nhớ tránh tạo các bản sửa lỗi " +"cụ thể cứng nhắc cho Debian hoặc Linux — hoặc thậm chí là Unix! Hãy làm cho chúng di động. " +"Điều này sẽ làm cho các bản sửa lỗi của bạn dễ dàng hơn để áp dụng." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Note that you don't have to send the <filename>debian/*</filename> files " +"upstream." +msgstr "Nhớ rằng bạn không phải gửi toàn bộ tệp <filename>debian/*</filename> tới thượng nguồn." + +#. type: Content of: <book><chapter><section><title> +msgid "Differing libraries" +msgstr "Thư viện khác" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"There is one other common problem: libraries are often different from " +"platform to platform. For example, a <filename>Makefile</filename> can " +"contain a reference to a library that doesn't exist on the Debian system. " +"In that case, we need to change it to a library that does exist in Debian, " +"and serves the same purpose." +msgstr "" +"Có một vấn đề phổ biến khác: các thư viện thường khác nhau từ nền tảng này đến nền tảng khác. " +"Ví dụ, một tệp <filename>Makefile</filename> có thể chứa một tham chiếu đến thư viện không " +"tồn tại trên hệ thống Debian. Trong trường hợp đó, chúng ta cần thay đổi nó thành một thư viện " +"tồn tại trong Debian nhưng phục vụ cùng một mục đích." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Let's assume a line in your program's <filename>Makefile</filename> (or " +"<filename>Makefile.in</filename>) as the following." +msgstr "" +"Hãy giả sử một dòng trong <filename>Makefile</filename> của chương trình của bạn " +"(hoặc <filename>Makefile.in</filename>) như sau." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "LIBS = -lfoo -lbar\n" +msgstr "LIBS = -lfoo -lbar\n" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"If there are API changes from the <literal>foo</literal> library to the " +"<literal>foo2</literal> library, required changes to the source code need to " +"be made to match the new API." +msgstr "" +"Nếu có sự thay đổi API từ thư viện <literal>foo</literal> sang thư viện <literal>foo2</literal>" +", yêu cầu thay đổi mã nguồn để khớp với API mới." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your program doesn't compile since the <literal>foo</literal> library " +"doesn't exist and its equivalent is provided by the <literal>foo2</literal> " +"library on the Debian system, you can fix this build problem as " +"<filename>debian/patches/foo2.patch</filename> by changing <literal>foo</" +"literal> into <literal>foo2</literal>:<placeholder type=\"footnote\" id=" +"\"0\"/>" +msgstr "" +"Nếu chương trình không biên dịch được khi thư viện <literal>foo</literal> không tồn tại " +"và nó tương đương với thư viện <literal>foo2</literal> được cung cấp trên hệ thống Debian " +", bạn có thể sửa vấn đề này với <filename>debian/patches/foo2.patch</filename> bằng cách " +"thay đổi từ <literal>foo</literal> sang <literal>foo2</literal>:<placeholder type=" +"\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ dquilt new foo2.patch\n" +"$ dquilt add Makefile\n" +"$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" +"$ dquilt refresh\n" +"$ dquilt header -e\n" +"... describe patch\n" +msgstr "" +"$ dquilt new foo2.patch\n" +"$ dquilt add Makefile\n" +"$ sed -i -e 's/-lfoo/-lfoo2/g' Makefile\n" +"$ dquilt refresh\n" +"$ dquilt header -e\n" +"... mô tả bản vá\n" + +#. type: Content of: <book><chapter><title> +msgid "Required files under the <filename>debian</filename> directory" +msgstr "Các tệp yêu cầu trong thư mục <filename>debian</filename>" + +#. type: Content of: <book><chapter><para><footnote><para> +msgid "" +"In this chapter, files in the <filename>debian</filename> directory are " +"referred to without the leading <filename>debian/</filename> for simplicity " +"whenever the meaning is obvious." +msgstr "" +"Trong chương này, các tệp tin trong thư mục <filename>debian</filename> được đề cập đến " +"mà không có <filename>debian/</filename> để đơn giản hóa bất cứ khi nhắc tới." + +#. type: Content of: <book><chapter><para> +msgid "" +"There is a new subdirectory under the program's source directory, called " +"<filename>debian</filename>. There are a number of files in this directory " +"that we should edit in order to customize the behavior of the package. The " +"most important of them are <filename>control</filename>, " +"<filename>changelog</filename>, <filename>copyright</filename>, and " +"<filename>rules</filename>, which are required for all packages. " +"<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Có một thư mục con mới trong thư mục nguồn của chương trình được gọi là " +"<filename>debian</filename>. Có một số tệp tin trong thư mục này mà chúng ta nên " +"sửa đổi để các tuỳ chỉnh hành vi của gói. Các tệp quan trọng trong số chúng là " +"<filename>control</filename>, <filename>changelog</filename>, " +"<filename>copyright</filename>, và <filename>rules</filename>, chúng là những tệp " +"yêu cầu đối với tất cả các gói <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>control</filename>" +msgstr "<filename>control</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This file contains various values which <command>dpkg</command>, " +"<command>dselect</command>, <command>apt-get</command>, <command>apt-cache</" +"command>, <command>aptitude</command>, and other package management tools " +"will use to manage the package. It is defined by the <ulink url=\"&policy-" +"control;\">Debian Policy Manual, 5 \"Control files and their fields\"</" +"ulink>." +msgstr "" +"Tập tin này chứa các giá trị khác nhau mà <command>dpkg</command>, <command>dselect" +"</command>, <command>apt-get</command>, <command>apt-cache</command>, <command>aptitude" +"</command>, và các công cụ quản lý gói khác sẽ sử dụng để quản lý gói. Nó được xác định " +"bởi <ulink url=\"&policy-control;\">Debian Policy Manual, 5 \"Control files and their fields\"</ulink>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Here is the <filename>control</filename> file <command>dh_make</command> " +"created for us:" +msgstr "" +"Đây là tệp <filename>control</filename> mà <command>dh_make</command> tạo ra cho chúng ta:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +" 1 Source: gentoo\n" +" 2 Section: unknown\n" +" 3 Priority: optional\n" +" 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" +" 5 Build-Depends: debhelper (>=10)\n" +" 6 Standards-Version: 4.0.0\n" +" 7 Homepage: <insert the upstream URL, if relevant>\n" +" 8\n" +" 9 Package: gentoo\n" +"10 Architecture: any\n" +"11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" +"12 Description: <insert up to 60 chars description>\n" +"13 <insert long description, indented with spaces>\n" +msgstr "" +" 1 Source: gentoo\n" +" 2 Section: unknown\n" +" 3 Priority: optional\n" +" 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" +" 5 Build-Depends: debhelper (>=10)\n" +" 6 Standards-Version: 4.0.0\n" +" 7 Homepage: <insert the upstream URL, if relevant>\n" +" 8\n" +" 9 Package: gentoo\n" +"10 Architecture: any\n" +"11 Depends: ${shlibs:Depends}, ${misc:Depends}\n" +"12 Description: <insert up to 60 chars description>\n" +"13 <insert long description, indented with spaces>\n" + +#. type: Content of: <book><chapter><section><para> +msgid "(I've added the line numbers.)" +msgstr "(Tôi đã thêm các số dòng.)" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Lines 1–7 are the control information for the source package. Lines " +"9–13 are the control information for the binary package." +msgstr "" +"Dòng 1–7 là thông tin điều khiển cho gói nguồn. " +"Dòng 9–13 là thông tin điều khiển cho gói nhị phân." + +#. type: Content of: <book><chapter><section><para> +msgid "Line 1 is the name of the source package." +msgstr "Dòng 1 là tên của gói nguồn" + +#. type: Content of: <book><chapter><section><para> +msgid "Line 2 is the section of the distribution the source package goes into." +msgstr "Dòng 2 là các mục loại mục chương trình" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections" +"\"</ulink> and <ulink url=\"§ions-unstable;\">List of sections in " +"<literal>sid</literal></ulink>." +msgstr "" +"Xem <ulink url=\"&policy-subsections;\">Debian Policy Manual, 2.4 \"Sections\"</ulink> " +"và <ulink url=\"§ions-unstable;\">List of sections in <literal>sid</literal></" +"ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"As you may have noticed, the Debian archive is divided into multiple areas: " +"<literal>main</literal> (the free software), <literal>non-free</literal> " +"(the not really free software) and <literal>contrib</literal> (free software " +"that depends on non-free software). Each of these is divided into sections " +"that classify packages into rough categories. So we have <literal>admin</" +"literal> for administrator-only programs, <literal>devel</literal> for " +"programmer tools, <literal>doc</literal> for documentation, <literal>libs</" +"literal> for libraries, <literal>mail</literal> for email readers and " +"daemons, <literal>net</literal> for network apps and daemons, <literal>x11</" +"literal> for X11 programs that don't fit anywhere else, and many more. " +"<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Như bạn có thể nhận thấy, kho phần mềm Debian được chia làm nhiều khu vục: " +"<literal>main</literal> (phần mềm tự do), <literal>non-free</literal> (thật sự không phải " +"phẩn mềm tự do) and <literal>contrib</literal> (phần mềm tự do phụ thuộc vào phần mềm không " +"tự do). Mỗi loại được chi thánh các phần danh mục. Vậy chúng ta có <literal>admin</literal> " +"cho các chương trình quản trị, <literal>devel</literal> cho các công cụ phát triển, <literal>" +"doc</literal> cho tài liệu, <literal>libs</literal> cho thư viện, <literal>mail</literal> cho " +"chương trình liên quan thư điện tử, <literal>net</literal> cho ứng dụng mạng và chaỵ nền, " +"<literal>x11</literal> cho các chương trình X11 khác, và nhiều nữa. <placeholder " +"type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Let's change it then to x11. (A <literal>main/</literal> prefix is implied " +"so we can omit it.)" +msgstr "" +"Chúng ta hãy thay đổi nó thành x11. (Tiền tố <literal>main/</literal> với ngụ ý là chúng " +"ta có thể bỏ qua nó)." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities" +"\"</ulink>." +msgstr "" +"Xem <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities\"</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 3 describes how important it is that the user installs this package. " +"<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Dòng 3 miêu tả mức độ quan trọng của việc ngươì dùng cài đặt gói này. <placeholder " +"type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"The <literal>optional</literal> priority will usually work for new packages " +"that do not conflict with others claiming <literal>required</literal>, " +"<literal>important</literal>, or <literal>standard</literal> priority." +msgstr "" +"Ưu tiên <literal>optional</literal> thường sẽ làm việc với gói mới mà không xung đột với " +"các gói chứa ưu tiên <literal>required</literal>, <literal>important</literal>, " +"hay <literal>standard</literal> ." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Section and priority are used by front-ends like <command>aptitude</command> " +"when they sort packages and select defaults. Once you upload the package to " +"Debian, the value of these two fields can be overridden by the archive " +"maintainers, in which case you will be notified by email." +msgstr "" +"Trường Section và Priority được sử dụng bởi các chương trình front-ends như <command>" +"aptitude</command> khi họ sắp xếp gói và chọn mặc định. Khi bạn tải gói lên Debian, " +"giá trị của hai trường này có thể bị ghi đè bởi các nhà bảo trì kho lưu trữ, " +"trong trường hợp đó bạn sẽ được thông báo bằng email." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"As this is a normal priority package and doesn't conflict with anything " +"else, we will change the priority to <literal>optional</literal>." +msgstr "" +"Vì đây là gói ưu tiên thông thường và không xung đột với bất kỳ điều gì khác, " +"chúng tôi sẽ thay đổi mức độ ưu tiên thành <literal>optional</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 4 is the name and email address of the maintainer. Make sure that this " +"field includes a valid <literal>To</literal> header for email, because after " +"you upload it, the bug tracking system will use it to deliver bug emails to " +"you. Avoid using commas, ampersands, or parentheses." +msgstr "" +"Dòng 4 là tên và địa chỉ email của người bảo trì. Hãy đảm bảo rằng trường này có tiêu đề " +"<literal>To</literal> hợp lệ cho email, bởi vì sau khi tải lên, hệ thống theo dõi lỗi sẽ " +"sử dụng chính trường này để gửi email lỗi cho bạn. Tránh sử dụng dấu phẩy, ký hiệu, hoặc " +"dấu ngoặc đơn." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy " +"Manual, 7.7 \"Relationships between source and binary packages - Build-" +"Depends, Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep\"</" +"ulink>." +msgstr "" +"Xem <ulink url=\"&policy-relationships;#s-sourcebinarydeps\">Debian Policy Manual, 7.7 " +"\"Relationships between source and binary packages - Build-Depends, Build-Depends-" +"Indep, Build-Conflicts, Build-Conflicts-Indep\"</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 5 includes the list of packages required to build your package as the " +"<literal>Build-Depends</literal> field. You can also have the " +"<literal>Build-Depends-Indep</literal> field as an additional line here. " +"<placeholder type=\"footnote\" id=\"0\"/> Some packages like <systemitem " +"role=\"package\">gcc</systemitem> and <systemitem role=\"package\">make</" +"systemitem> which are required by the <systemitem role=\"package\">build-" +"essential</systemitem> package are implied. If you need to have other tools " +"to build your package, you should add them to these fields. Multiple " +"entries are separated with commas; read on for the explanation of binary " +"package dependencies to find out more about the syntax of these lines." +msgstr "" +"Dòng 5 là trưởng <literal>Build-Depends</literal> bao gồm danh sách của các gói yêu cầu " +"để xây dựng gói của bạn. Bạn cũng có thể có thêm trường <literal>Build-Depends-Indep" +"</literal> bổ sung. <placeholder type=\"footnote\" id=\"0\"/>. Một số gói như " +"<systemitem role=\"package\">gcc</systemitem> và <systemitem role=\"package\">make</systemitem> " +"là yêu cầu ngầm định bởi gói <systemitem role=\"package\">build-essential</systemitem> " +"Nếu bạn cần có các công cụ khác để xây dựng gói của mình, bạn nên thêm chúng vào các trường này. " +"Nhiều mục được phân cách bằng dấu phẩy; Hãy đọc tiếp để hiểu rõ hơn về các phụ thuộc gói nhị phân." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"For all packages packaged with the <command>dh</command> command in the " +"<filename>debian/rules</filename> file, you must have <literal>debhelper " +"(>=9)</literal> in the <literal>Build-Depends</literal> field to satisfy " +"the Debian Policy requirement for the <literal>clean</literal> target." +msgstr "" +"Đối với tất cả các gói đóng gói với lệnh <command>dh</command> trong tệp tin " +"<filename>debian/rules</filename>, bạn phải có <literal>debhelper(>=9)</literal> " +"trong trường <literal>Build-Depends</literal> để thỏa mãn yêu cầu Chính sách Debian đối " +"với mục <literal>clean</literal>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Source packages which have binary packages with <literal>Architecture: any</" +"literal> are rebuilt by the autobuilder. Since this autobuilder procedure " +"installs only the packages listed in the <literal>Build-Depends</literal> " +"field before running <literal>debian/rules build</literal> (see <xref " +"linkend=\"autobuilder\"/>), the <literal>Build-Depends</literal> field needs " +"to list practically all the required packages, and <literal>Build-Depends-" +"Indep</literal> is rarely used." +msgstr "" +"Gói nguồn có gói nhị phân với <literal>Architecture: any</literal> được " +"xây dựng lại bởi autobuilder. Vì thủ tục autobuilder này chỉ cài đặt các gói được " +"liệt kê trong trường <literal>Build-Depends</literal> trước khi chạy " +"<literal>debian/rules build</literal> (see <xref linkend=\"autobuilder\"/>), " +"Trường <literal>Build-Depends</literal> rất cần thiết để liệt kê tất cả các gói " +"cần thiết còn <literal>Build-Depends-Indep</literal> hiếm khi được sử dụng." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"For source packages with binary packages all of which are " +"<literal>Architecture: all</literal>, the <literal>Build-Depends-Indep</" +"literal> field may list all the required packages unless they are already " +"listed in the <literal>Build-Depends</literal> field to satisfy the Debian " +"Policy requirement for the <literal>clean</literal> target." +msgstr "" +"Đối với các gói nguồn với các gói nhị phân có kiến trúc <literal>Architecture: all</literal>, " +"trường <literal>Build-Depends-Indep</literal> có thể liệt kê tất cả các gói cần thiết trừ khi " +"chúng đã được liệt kê trong trường <literal>Build-Depends</literal> để thỏa mãn yêu cầu " +"của Chính sách Debian đối với mục <literal>clean</literal>." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"This somewhat strange situation is a feature well documented in the <ulink " +"url=\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</" +"ulink>. This is not due to the use of the <command>dh</command> command in " +"the <filename>debian/rules</filename> file but due to how the <command>dpkg-" +"buildpackage</command> works. The same situation applies to the <ulink url=" +"\"https://bugs.launchpad.net/launchpad-buildd/+bug/238141\">auto build " +"system for Ubuntu</ulink>." +msgstr "" +"Tình huống này hơi lạ là một tính năng được ghi lại trong <ulink url=" +"\"&policy-build-depends-indep;\">Debian Policy Manual, Footnotes 55</ulink>. " +"Đây không phải là do sử dụng lệnh <command>dh</command> trong tệp tin " +"<filename>debian/rules</filename> nhưng do cách <command>dpkg-buildpackage</command> làm việc. " +"Tình huống tương tự cũng áp dụng cho <ulink url=\"https://bugs.launchpad.net/launchpad-buildd/" +"+bug/238141\">hệ thống xây dựng tự động cho Ubuntu</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you are not sure which one should be used, use the <literal>Build-" +"Depends</literal> field to be on the safe side. <placeholder type=\"footnote" +"\" id=\"0\"/>" +msgstr "" +"Nếu bạn không chắc chắn nên sử dụng trường nào, hãy sử dụng trường " +"<literal>Build-Depends</literal> để an toàn. <placeholder type=\"footnote\" " +"id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"To find out what packages your package needs to be built run the command:" +msgstr "Để tìm ra những gói nào cần để xây dựng chương trình của bạn:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ dpkg-depcheck -d ./configure\n" +msgstr "$ dpkg-depcheck -d ./configure\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"To manually find exact build dependencies for <command><replaceable>/usr/bin/" +"foo</replaceable></command>, execute" +msgstr "" +"Để tự tìm chính xác các phụ thuộc khi xây dựng <command><replaceable>/usr/" +"bin/foo</replaceable></command>, thực hiện" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" +msgstr "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"and for each library listed (e.g., <command>libfoo.so.6</command>), execute" +msgstr "" +"và cho mỗi thư viện được liệt kê (ví dụ: <command>libfoo.so.6</command>), " +"thực hiện" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ dpkg -S libfoo.so.6\n" +msgstr "$ dpkg -S libfoo.so.6\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Then just take the <literal>-dev</literal> version of every package as a " +"<literal>Build-Depends</literal> entry. If you use <command>ldd</command> " +"for this purpose, it will report indirect lib dependencies as well, " +"resulting in the problem of excessive build dependencies." +msgstr "" +"Sau đó chỉ cần lấy phiên bản <literal>-dev </literal> của mỗi gói như một " +"mục nhập <literal>Build-Depends</literal>. Nếu bạn sử dụng <command>ldd</" +"command> cho mục đích này, nó sẽ báo cáo phụ thuộc lib gián tiếp, kết quả là " + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<systemitem role=\"package\">gentoo</systemitem> also happens to require " +"<systemitem role=\"package\">xlibs-dev</systemitem>, <systemitem role=" +"\"package\">libgtk1.2-dev</systemitem> and <systemitem role=\"package" +"\">libglib1.2-dev</systemitem> to build, so we'll add them here next to " +"<systemitem role=\"package\">debhelper</systemitem>." +msgstr "" +"<systemitem role=\"package\">gentoo</systemitem> yêu cầu <systemitem role=" +"\"package\">xlibs-dev</systemitem>, <systemitem role=\"package\">libgtk1.2-" +"dev</systemitem> and <systemitem role=\"package\">libglib1.2-dev</" +"systemitem> để xây dựng, vâỵ nên chúng ta sẽ thêm chúng vào vị trí tiếp theo " +"<systemitem role=\"package\">debhelper</systemitem>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 6 is the version of the <ulink url=\"&debian-policy;\">Debian Policy " +"Manual</ulink> standards this package follows, the one you read while making " +"your package." +msgstr "" +"Dòng 6 là phiên bản của <ulink url=\"&debian-policy;\">Debian Policy Manual</" +"ulink>mà phần mềm này tuân theo, một trong tài liệu bạn đọc trong khi xây " +"dựng gói của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "On line 7 you can put the URL of the software's upstream homepage." +msgstr "Trên dòng 7, bạn có thể đặt URL của trang chủ thượng nguồn của phần mềm" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 9 is the name of the binary package. This is usually the same as the " +"name of the source package, but it doesn't necessarily have to be that way." +msgstr "" +"Dòng 9 là tên của gói nhị phân. Nó thường giống với tên của gói nguồn, " +"nhưng nó không nhất thiết phải giống nhau." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 " +"\"Architecture\"</ulink> for exact details." +msgstr "" +"Xem <ulink url=\"&policy-architecture;\">Debian Policy Manual, 5.6.8 \"Architecture\"</" +"ulink> để biết chi tiết." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 10 describes the architectures the binary package can be compiled for. " +"This value is usually one of the following depending on the type of the " +"binary package: <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Dòng 10 mô tả các kiến ​​trúc mà gói nhị phân có thể được biên dịch. Giá trị này thường " +"là một trong các tùy chọn sau, tùy thuộc vào loại gói nhị phân: <placeholder type=\"" +"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Architecture: any</literal>" +msgstr "<literal>Architecture: any</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"The generated binary package is an architecture dependent one usually in a " +"compiled language." +msgstr "" +"Gói nhị phân được tạo ra là một kiến ​​trúc phụ thuộc thường là các chương trình xây dựng bằng " +"ngôn ngữ biên dịch." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Architecture: all</literal>" +msgstr "<literal>Architecture: all</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"The generated binary package is an architecture independent one usually " +"consisting of text, images, or scripts in an interpreted language." +msgstr "" +"Gói nhị phân được tạo ra là một kiến ​​trúc độc lập thường bao gồm các văn bản, hình ảnh " +"hoặc các tập lệnh theo ngôn ngữ kịch bản." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"We leave line 10 as is since this is written in C. " +"<citerefentry><refentrytitle>dpkg-gencontrol</refentrytitle><manvolnum>1</" +"manvolnum></citerefentry> will fill in the appropriate architecture value " +"for any machine this source package gets compiled on." +msgstr "" +"Chúng ta để lại dòng 10 vì nó được viết bằng C. <citerefentry><refentrytitle>dpkg-gencontrol" +"</refentrytitle><manvolnum>1</manvolnum></citerefentry> sẽ tự điền vào trường Architecture " +"một cách thích hợp cho bất kỳ máy nào gói nguồn này được biên soạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your package is architecture independent (for example, a shell or Perl " +"script, or a document), change this to <literal>all</literal>, and read " +"later in <xref linkend=\"rules\"/> about using the <literal>binary-indep</" +"literal> rule instead of <literal>binary-arch</literal> for building the " +"package." +msgstr "" +"Nếu gói của bạn là kiến ​​trúc độc lập (ví dụ: mã shell hoặc kịch bản Perl, hoặc tài liệu), " +"hãy thay đổi điều này thành <literal>all</literal> và đọc <xref linkend=\"" +"rules\"/> về <literal>binary-indep</literal> thay vì <literal>binary-arch</literal> để xây dựng gói." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 11 shows one of the most powerful features of the Debian packaging " +"system. Packages can relate to each other in various ways. Apart from " +"<literal>Depends</literal>, other relationship fields are " +"<literal>Recommends</literal>, <literal>Suggests</literal>, <literal>Pre-" +"Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " +"<literal>Provides</literal>, and <literal>Replaces</literal>." +msgstr "" +"Dòng 11 cho thấy một trong những tính năng mạnh mẽ nhất của hệ thống đóng gói Debian. " +"Gói có thể liên quan đến nhau theo nhiều cách khác nhau. Ngoài <literal>Depends</literal>, " +"các trường mối quan hệ khác là <literal>Recommends</literal>, <literal>Suggests</literal>, " +"<literal>Pre-Depends</literal>, <literal>Breaks</literal>, <literal>Conflicts</literal>, " +"<literal>Provides</literal> và <literal>Replaces</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The package management tools usually behave the same way when dealing with " +"these relations; if not, it will be explained. (See <citerefentry> " +"<refentrytitle>dpkg</refentrytitle> <manvolnum>8</manvolnum> </" +"citerefentry>, <citerefentry> <refentrytitle>dselect</refentrytitle> " +"<manvolnum>8</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>apt</" +"refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " +"<refentrytitle>aptitude</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>, etc.)" +msgstr "" +"Các công cụ quản lý gói thường có chung hành vi khi đọc các mối quan hệ này; " +"Nếu không, nó sẽ được giải thích. (See <citerefentry> <refentrytitle>dpkg</" +"refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, <citerefentry> " +"<refentrytitle>dselect</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>, " +"<citerefentry> <refentrytitle>apt</refentrytitle> <manvolnum>8</manvolnum> </" +"citerefentry>, <citerefentry> <refentrytitle>aptitude</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>, etc.)" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 " +"\"Declaring relationships between packages\"</ulink>." +msgstr "" +"Xem <ulink url=\"&policy-relationships;\">Debian Policy Manual, 7 \"Declaring " +"relationships between packages\"</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Here is a simplified description of package relationships: <placeholder type=" +"\"footnote\" id=\"0\"/>" +msgstr "" +"Đây là mô tả đơn giản về các mối quan hệ của gói: <placeholder type=\"footnote" +"\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Depends</literal>" +msgstr "<literal>Depends</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"The package will not be installed unless the packages it depends on are " +"installed. Use this if your program absolutely will not run (or will cause " +"severe breakage) unless a particular package is present." +msgstr "" +"Gói của bạn sẽ không được cài đặt trừ khi các gói phụ thuộc được cài đặt. Sử dụng trường này nếu " +"chương trình của bạn hoàn toàn không chạy (hoặc sẽ gây ra sự cố nghiêm trọng) trừ khi một " +"gói cụ thể có mặt." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Recommends</literal>" +msgstr "<literal>Recommends</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Use this for packages that are not strictly necessary but are typically used " +"with your program. When a user installs your program, all front-ends will " +"probably prompt them to install the recommended packages. " +"<command>aptitude</command> and <command>apt-get</command> install " +"recommended packages along with your package by default (but the user can " +"disable this behavior). <command>dpkg</command> will ignore this field." +msgstr "" +"Sử dụng trường này cho cho các gói không bắt buộc nhưng thường được sử dụng kèm với chương trình " +"của bạn. Khi người dùng cài đặt chương trình của bạn, các công cụ quản lý gói có thể sẽ nhắc " +"cài đặt gói đề xuất. <command>aptitude</command> và <command>apt-get</command> cài đặt " +"các gói được đề xuất cùng với gói của bạn theo mặc định (nhưng người dùng có thể " +"vô hiệu hóa hành vi này). <command>dpkg</command> sẽ bỏ qua trường này." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Suggests</literal>" +msgstr "<literal>Suggests</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Use this for packages which will work nicely with your program but are not " +"at all necessary. When a user installs your program, they will probably not " +"be prompted to install suggested packages. <command>aptitude</command> can " +"be configured to install suggested packages along with your package but this " +"is not its default. <command>dpkg</command> and <command>apt-get</command> " +"will ignore this field." +msgstr "" +"Sử dụng trường này cho các gói sẽ hoạt động tốt với chương trình của bạn nhưng không " +"cần thiết. Khi người dùng cài đặt chương trình của bạn, họ sẽ không được nhắc nhở để " +"cài đặt gói đề xuất. <command>aptitude</command> có thể được cấu hình để cài đặt các " +"gói đề xuất cùng với gói của bạn nhưng đây không phải là mặc định. " +"<command>dpkg</command> và <command>apt-get</command> sẽ bỏ qua trường này." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Pre-Depends</literal>" +msgstr "<literal>Pre-Depends</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"This is stronger than <literal>Depends</literal>. The package will not be " +"installed unless the packages it pre-depends on are installed and " +"<emphasis>correctly configured</emphasis>. Use this <emphasis>very</" +"emphasis> sparingly and only after discussing it on the <ulink url=\"&debian-" +"devel-ldo;\">debian-devel@lists.debian.org</ulink> mailing list. Read: " +"don't use it at all. :-)" +msgstr "" +"Trường này mạnh hơn <literal>Depends</literal>. Gói sẽ không được cài đặt trừ khi " +"các gói mà nó được phụ thuộc trước được cài đặt và <emphasis>được cấu hình chính xác" +"</emphasis>. Sử dụng điều này một cách <emphasis>rất</emphasis> tỉ mỉ và chỉ sau khi " +"thảo luận về nó trên danh sách gửi thư <ulink url=\"&debian-devel-ldo;\">" +"debian-devel@lists.debian.org </ulink>. Đọc: đừng sử dụng nó.:-)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Conflicts</literal>" +msgstr "<literal>Conflicts</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"The package will not be installed until all the packages it conflicts with " +"have been removed. Use this if your program absolutely will not run or will " +"cause severe problems if a particular package is present." +msgstr "" +"Gói sẽ không được cài đặt cho đến khi tất cả các gói xung đột đã được gỡ bỏ. Sử dụng " +"này nếu chương trình của bạn hoàn toàn không chạy hoặc sẽ gây ra những vấn đề " +"nghiêm trọng nếu một gói cụ thể có mặt." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Breaks</literal>" +msgstr "<literal>Breaks</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"When installed the package will break all the listed packages. Normally a " +"<literal>Breaks</literal> entry specifies that it applies to versions " +"earlier than a certain value. The resolution is generally to use higher-" +"level package management tools to upgrade the listed packages." +msgstr "" +"Khi cài đặt gói nó sẽ phá vỡ tất cả các gói được liệt kê. Thông thường trường <literal>" +"Breaks</literal> chỉ định áp dụng các phiên bản sớm hơn một giá trị nhất định. " +"Nói chung là sử dụng các công cụ quản lý gói cấp cao để nâng cấp các gói được liệt kê." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Provides</literal>" +msgstr "<literal>Provides</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"For some types of packages where there are multiple alternatives, virtual " +"names have been defined. You can get the full list in the <ulink url=" +"\"&virtual-package;\">virtual-package-names-list.txt.gz</ulink> file. Use " +"this if your program provides a function of an existing virtual package." +msgstr "" +"Đối với một số loại gói có nhiều tên ảo khác đã được xác định. Bạn có thể có một danh sách " +"đầy đủ trong tệp <ulink url=\"&virtual-package;\">virtual-package-names-list.txt.gz </ulink>." +" Sử dụng điều này nếu chương trình của bạn cung cấp một chức năng của một gói ảo hiện có." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>Replaces</literal>" +msgstr "<literal>Replaces</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Use this when your program replaces files from another package, or " +"completely replaces another package (used in conjunction with " +"<literal>Conflicts</literal>). Files from the named packages will be " +"overwritten with the files from your package." +msgstr "" +"Sử dụng điều này khi chương trình của bạn thay thế các tệp từ một gói khác hoặc thay thế " +"hoàn toàn một gói khác (được sử dụng kết hợp với <literal>Conflicts</literal>). " +"Các tệp từ các gói có tên sẽ được ghi đè bằng các tệp từ gói của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"All these fields have uniform syntax. They are a list of package names " +"separated by commas. These package names may also be lists of alternative " +"package names, separated by vertical bar symbols <literal>|</literal> (pipe " +"symbols)." +msgstr "" +"Tất cả các trường này có cú pháp thống nhất. Họ là một danh sách các tên gói được " +"phân cách bằng dấu phẩy. Các tên gói này cũng có thể là danh sách các tên gói thay thế, " +"được phân cách bằng ký hiệu thanh dọc <literal>|</literal> (biểu tượng ống)." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The fields may restrict their applicability to particular versions of each " +"named package. The restriction of each individual package is listed in " +"parentheses after its name, and should contain a relation from the list " +"below followed by a version number value. The relations allowed are: " +"<literal><<</literal>, <literal><=</literal>, <literal>=</literal>, " +"<literal>>=</literal>, and <literal>>></literal> for strictly " +"lower, lower or equal, exactly equal, greater or equal, and strictly " +"greater, respectively. For example," +msgstr "" +"Các trường có thể hạn chế khả năng áp dụng của chúng đối với các phiên bản cụ thể của " +"từng gói có tên. Hạn chế của từng gói riêng lẻ được liệt kê trong dấu ngoặc đơn sau tên " +"của nó và phải có một mối quan hệ từ danh sách dưới đây và theo sau là một giá trị số " +"phiên bản. Các mối quan hệ được cho phép là: <literal><<</literal>, <literal><=</" +"literal>, <literal>=</literal>, <literal>>=</literal>, và <literal>>></" +"literal> tương ứng với bé hơn, bé hơn hoặc bằng, chính xác bằng, lớn hơn hoặc bằng, " +"và lớn hơn. Ví dụ," + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" +"Conflicts: baz\n" +"Recommends: libbaz4 (>> 4.0.7)\n" +"Suggests: quux\n" +"Replaces: quux (<< 5), quux-foo (<= 7.6)\n" +msgstr "" +"Depends: foo (>= 1.2), libbar1 (= 1.3.4)\n" +"Conflicts: baz\n" +"Recommends: libbaz4 (>> 4.0.7)\n" +"Suggests: quux\n" +"Replaces: quux (<< 5), quux-foo (<= 7.6)\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The last feature you need to know about is <literal>${shlibs:Depends}</" +"literal>, <literal>${perl:Depends}</literal>, <literal>${misc:Depends}</" +"literal>, etc." +msgstr "" +"Tính năng cuối cùng bạn cần biết là về <literal>${shlibs:Depends}</literal>, " +"<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, vân vân." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> calculates shared library dependencies for binary " +"packages. It generates a list of <ulink url=\"&elf;\">ELF</ulink> " +"executables and shared libraries it has found for each binary package. This " +"list is used for substituting <literal>${shlibs:Depends}</literal>." +msgstr "" +"<citerefentry> <refentrytitle>dh_shlibdeps</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> tính toán sự phụ thuộc vào các thư viện chia sẻ cho các gói nhị phân. " +"Nó sinh ra một danh sách củả tệp thực thi <ulink url=\"&elf;\">ELF</ulink> và thư viện " +"chia sẻ mà nó đã tìm cho mỗi gói nhị phân. Danh sách này được sử dụng để thay thế " +"<literal>${shlibs:Depends}</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> calculates Perl dependencies. It generates a " +"list of a dependencies on <literal>perl</literal> or <literal>perlapi</" +"literal> for each binary package. This list is used for substituting " +"<literal>${perl:Depends}</literal>." +msgstr "" +"<citerefentry> <refentrytitle>dh_perl</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> tính toán sự phụ thuộc Perl. Nó sinh ra một danh sách của các phụ thuộc " +"trong <literal>perl</literal> hoặc <literal>perlapi</literal> cho mỗi gói nhị phân. " +"Danh sách này được sử dụng thay thế cho <literal>${perl:Depends}</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Some <systemitem role=\"package\">debhelper</systemitem> commands may cause " +"the generated package to depend on some additional packages. All such " +"commands generate a list of required packages for each binary package. This " +"list is used for substituting <literal>${misc:Depends}</literal>." +msgstr "" +"Một vài lệnh <systemitem role=\"package\">debhelper</systemitem> có thể làm cho gói được " +"sinh ra phụ thuộc vào vài gói mở rộng thêm. Tất cả các lệnh như vậy sinh ra một danh sách " +"của các gói cho mỗi gói nhị phân. Danh sách này được sử dụng để thay thế cho " +"<literal>${misc:Depends}</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> generates <filename>DEBIAN/control</filename> for " +"each binary package while substituting <literal>${shlibs:Depends}</literal>, " +"<literal>${perl:Depends}</literal>, <literal>${misc:Depends}</literal>, etc." +msgstr "" +"<citerefentry> <refentrytitle>dh_gencontrol</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> tạo ra <filename>DEBIAN/control</filename> cho mỗi gói nhị phân trong khi " +"thay thế <literal>${shlibs:Depends}</literal>, <literal>${perl:Depends}</literal>, " +"<literal>${misc:Depends}</literal>, vân vân." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Having said all that, we can leave the <literal>Depends</literal> field " +"exactly as it is now, and insert another line after it saying " +"<literal>Suggests: file</literal>, because <systemitem role=\"package" +"\">gentoo</systemitem> can use some features provided by the <systemitem " +"role=\"package\">file</systemitem> package." +msgstr "" +"Có tất cả những điều đó, chúng ta có thể để trường <literal>Depends</literal> chính xác " +"như bây giờ và chèn một dòng sau là <literal>Suggests: file</literal>, bởi vì " +"<systemitem role=\"package\">gentoo</systemitem> có thể sử dụng một số tính năng được " +"cung cấp bởi gói <systemitem role=\"package\">file</systemitem> ." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 9 is the Homepage URL. Let's assume this to be at <ulink url=\"&gentoo;" +"\"/>." +msgstr "Dòng 9 là URL Trang chủ. Giả sử rằng đây là <ulink url=\"&gentoo;\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 12 is the short description. Terminals are conventionally 80 columns " +"wide so this shouldn't be longer than about 60 characters. I'll change it " +"to <literal>fully GUI-configurable, two-pane X file manager</literal>." +msgstr "" +"Dòng 12 là mô tả ngắn. Thiết bị đầu cuối thông thường có 80 cột nên không được dài hơn " +"60 ký tự. Tôi sẽ thay đổi nó thành <literal>fully GUI-configurable, two-pane X file " +"manager</literal>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"These descriptions are in English. Translations of these descriptions are " +"provided by <ulink url=\"&ddtp;\">The Debian Description Translation Project " +"- DDTP</ulink>." +msgstr "" +"Những mô tả này bằng tiếng Anh. Các bản dịch về các mô tả này được cung cấp bởi " +"<ulink url=\"&ddtp;\">The Debian Description Translation Project - DDTP</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 13 is where the long description goes. This should be a paragraph " +"which gives more details about the package. Column 1 of each line should be " +"empty. There must be no blank lines, but you can put a single <literal>.</" +"literal> (dot) in a column to simulate that. Also, there must be no more " +"than one blank line after the long description. <placeholder type=\"footnote" +"\" id=\"0\"/>" +msgstr "" +"Dòng 13 là nơi diễn tả dài. Đây sẽ là một đoạn cho biết thêm chi tiết về gói. Cột 1 " +"của mỗi dòng nên để trống. Không có dòng trắng, nhưng bạn có thể đặt một <literal>. " +"</literal> (dấu chấm) trong một cột để mô phỏng. Ngoài ra, không có nhiều dòng trống " +"sau mô tả dài. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. " +"\"Version Control System location\"</ulink>." +msgstr "" +"Xem <ulink url=\"&devref-bpp-vcs;\">Debian Developer's Reference, 6.2.5. \"Version " +"Control System location\"</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"We can insert <literal>Vcs-*</literal> fields to document the Version " +"Control System (VCS) location between lines 6 and 7. <placeholder type=" +"\"footnote\" id=\"0\"/> Let's assume that the <systemitem role=\"package" +"\">gentoo</systemitem> package has its VCS located in the Debian Alioth Git " +"Service at <literal>git://git.debian.org/git/collab-maint/gentoo.git</" +"literal>." +msgstr "" +"Chúng ta có thể chèn các trường <literal>Vcs-*</literal> để ghi lại thông tin của VCS " +"trong các dòng 6 và 7. <placeholder type=\"footnote\" id=\"0\"/> Hãy giả sử rằng " +"gói <systemitem role=\"package\">gentoo</systemitem> có VCS của nó nằm trong Debian " +"Alioth Git Service ở <literal>git://git.debian.org/git/collab-maint/gentoo.git</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "Finally, here is the updated <filename>control</filename> file:" +msgstr "Cuối cùng, đây là tệp <filename>control</filename> đã được cập nhật" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +" 1 Source: gentoo\n" +" 2 Section: x11\n" +" 3 Priority: optional\n" +" 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" +" 5 Build-Depends: debhelper (>=10), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" +" 6 Standards-Version: 4.0.0\n" +" 7 Vcs-Git: https://anonscm.debian.org/git/collab-maint/gentoo.git\n" +" 8 Vcs-browser: https://anonscm.debian.org/git/collab-maint/gentoo.git\n" +" 9 Homepage: &gentoo;\n" +"10\n" +"11 Package: gentoo\n" +"12 Architecture: any\n" +"13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" +"14 Suggests: file\n" +"15 Description: fully GUI-configurable, two-pane X file manager\n" +"16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" +"17 user do (almost) all of the configuration and customizing from within the\n" +"18 program itself. If you still prefer to hand-edit configuration files,\n" +"19 they're fairly easy to work with since they are written in an XML format.\n" +"20 .\n" +"21 gentoo features a fairly complex and powerful file identification system,\n" +"22 coupled to an object-oriented style system, which together give you a lot\n" +"23 of control over how files of different types are displayed and acted upon.\n" +"24 Additionally, over a hundred pixmap images are available for use in file\n" +"25 type descriptions.\n" +"26 .\n" +"29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" +"30 for its interface.\n" +msgstr "" +" 1 Source: gentoo\n" +" 2 Section: x11\n" +" 3 Priority: optional\n" +" 4 Maintainer: Josip Rodin <joy-mg@debian.org>\n" +" 5 Build-Depends: debhelper (>=10), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n" +" 6 Standards-Version: 4.0.0\n" +" 7 Vcs-Git: https://anonscm.debian.org/git/collab-maint/gentoo.git\n" +" 8 Vcs-browser: https://anonscm.debian.org/git/collab-maint/gentoo.git\n" +" 9 Homepage: &gentoo;\n" +"10\n" +"11 Package: gentoo\n" +"12 Architecture: any\n" +"13 Depends: ${shlibs:Depends}, ${misc:Depends}\n" +"14 Suggests: file\n" +"15 Description: fully GUI-configurable, two-pane X file manager\n" +"16 gentoo is a two-pane file manager for the X Window System. gentoo lets the\n" +"17 user do (almost) all of the configuration and customizing from within the\n" +"18 program itself. If you still prefer to hand-edit configuration files,\n" +"19 they're fairly easy to work with since they are written in an XML format.\n" +"20 .\n" +"21 gentoo features a fairly complex and powerful file identification system,\n" +"22 coupled to an object-oriented style system, which together give you a lot\n" +"23 of control over how files of different types are displayed and acted upon.\n" +"24 Additionally, over a hundred pixmap images are available for use in file\n" +"25 type descriptions.\n" +"26 .\n" +"29 gentoo was written from scratch in ANSI C, and it utilizes the GTK+ toolkit\n" +"30 for its interface.\n" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>copyright</filename>" +msgstr "<filename>copyright</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This file contains information about the copyright and license of the " +"upstream sources. <ulink url=\"&policy-copyright;\">Debian Policy Manual, " +"12.5 \"Copyright information\"</ulink> dictates its content and <ulink url=" +"\"&dep5;\">DEP-5: Machine-parseable <filename>debian/copyright</filename></" +"ulink> provides guidelines for its format." +msgstr "" +"Tập tin này chứa thông tin về bản quyền và giấy phép của các nguồn thượng nguồn " +" <ulink url=\"&policy-copyright;\">Debian Policy Manual, 12.5 \"Copyright " +"information\"</ulink> kiểm soát nội dung của nó và <ulink url=\"&dep5;\">DEP-5: Machine-" +"parseable <filename>debian/copyright</filename></ulink> cung cấp các chỉ dẫn cho " +"định dạng của nó" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<command>dh_make</command> can give you a template <filename>copyright</" +"filename> file. Let's use the <literal>--copyright gpl2</literal> option " +"here to get a template file for the <systemitem role=\"package\">gentoo</" +"systemitem> package released under GPL-2." +msgstr "" +"<command>dh_make</command> có thể cho bạn một tệp mẫu <filename>copyright</filename> " +". Hãy sử dụng tuỳ chọn <literal>--copyright gpl2</literal> để lấy tệp mẫu cho " +"gói <systemitem role=\"package\">gentoo</systemitem> phát hành dưói giấy phép " +"GPL-2." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You must fill in missing information to complete this file, such as the " +"place you got the package from, the actual copyright notice, and the " +"license. For certain common free software licenses (GNU GPL-1, GNU GPL-2, " +"GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU FDL-1.2, GNU FDL-1.3, Apache-2.0, " +"or the Artistic license), you can just refer to the appropriate file in the " +"<filename>/usr/share/common-licenses/</filename> directory that exists on " +"every Debian system. Otherwise, you must include the complete license." +msgstr "" +"Bạn phải điền thông tin còn thiếu để hoàn thành tệp này, chẳng hạn như nơi tạo ra gói ," +"thông báo bản quyền thực tế, và giấy phép. Đối với một số giấy phép phần mềm tự do " +"thông thường (GNU GPL-1, GNU GPL-2, GNU GPL-3, LGPL-2, LGPL-2.1, LGPL-3, GNU " +"FDL-1.2, GNU FDL-1.3, Apache-2.0, hoặc Artistic license), bạn chỉ cần tham khảo " +"các tệp thích hợp trong thư mục <filename>/usr/share/common-licenses/</filename> " +"tồn tại trên bất kỳ hệ thống Debian. Nếu không, bạn phải bao gồm giấy phép đầy đủ." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"In short, here's what <systemitem role=\"package\">gentoo</systemitem>'s " +"<filename>copyright</filename> file should look like:" +msgstr "" +"Tóm lại, tệp <filename>copyright</filename> của gói " +"<systemitem role=\"package\">gentoo</systemitem> trông sẽ như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +" 1 Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\n" +" 2 Upstream-Name: gentoo\n" +" 3 Upstream-Contact: Emil Brink <emil@obsession.se>\n" +" 4 Source: http://sourceforge.net/projects/gentoo/files/\n" +" 5\n" +" 6 Files: *\n" +" 7 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" +" 8 License: GPL-2+\n" +" 9\n" +"10 Files: icons/*\n" +"11 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" +"12 License: GPL-2+\n" +"13\n" +"14 Files: debian/*\n" +"15 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" +"16 License: GPL-2+\n" +"17\n" +"18 License: GPL-2+\n" +"19 This program is free software; you can redistribute it and/or modify\n" +"20 it under the terms of the GNU General Public License as published by\n" +"21 the Free Software Foundation; either version 2 of the License, or\n" +"22 (at your option) any later version. \n" +"23 .\n" +"24 This program is distributed in the hope that it will be useful,\n" +"25 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"26 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"27 GNU General Public License for more details.\n" +"28 .\n" +"29 You should have received a copy of the GNU General Public License along\n" +"30 with this program; if not, write to the Free Software Foundation, Inc.,\n" +"31 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" +"32 .\n" +"33 On Debian systems, the full text of the GNU General Public\n" +"34 License version 2 can be found in the file\n" +"35 '/usr/share/common-licenses/GPL-2'.\n" +msgstr "" +" 1 Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\n" +" 2 Upstream-Name: gentoo\n" +" 3 Upstream-Contact: Emil Brink <emil@obsession.se>\n" +" 4 Source: http://sourceforge.net/projects/gentoo/files/\n" +" 5\n" +" 6 Files: *\n" +" 7 Copyright: 1998-2010 Emil Brink <emil@obsession.se>\n" +" 8 License: GPL-2+\n" +" 9\n" +"10 Files: icons/*\n" +"11 Copyright: 1998 Johan Hanson <johan@tiq.com>\n" +"12 License: GPL-2+\n" +"13\n" +"14 Files: debian/*\n" +"15 Copyright: 1998-2010 Josip Rodin <joy-mg@debian.org>\n" +"16 License: GPL-2+\n" +"17\n" +"18 License: GPL-2+\n" +"19 This program is free software; you can redistribute it and/or modify\n" +"20 it under the terms of the GNU General Public License as published by\n" +"21 the Free Software Foundation; either version 2 of the License, or\n" +"22 (at your option) any later version. \n" +"23 .\n" +"24 This program is distributed in the hope that it will be useful,\n" +"25 but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"26 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"27 GNU General Public License for more details.\n" +"28 .\n" +"29 You should have received a copy of the GNU General Public License along\n" +"30 with this program; if not, write to the Free Software Foundation, Inc.,\n" +"31 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" +"32 .\n" +"33 On Debian systems, the full text of the GNU General Public\n" +"34 License version 2 can be found in the file\n" +"35 '/usr/share/common-licenses/GPL-2'.\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Please follow the HOWTO provided by the ftpmasters and sent to debian-devel-" +"announce: <ulink url=\"&howto-copyright;\"/>." +msgstr "" +"Hãy làm theo HOWTO cung cấp bởi ftpmasters và gửi tới debian-devel-announce: " +"<ulink url=\"&howto-copyright;\"/>." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>changelog</filename>" +msgstr "<filename>changelog</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This is a required file, which has a special format described in <ulink url=" +"\"&policy-dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</" +"ulink>. This format is used by <command>dpkg</command> and other programs " +"to obtain the version number, revision, distribution, and urgency of your " +"package." +msgstr "" +"Đây là tệp yêu cầu, có định dạng đặc biệt được mô tả trong <ulink url=\"&policy-" +"dpkgchangelog;\">Debian Policy Manual, 4.4 \"debian/changelog\"</ulink>. Định dạng này " +"được sử dụng bởi <command>dpkg</command> và các chương trình khác để đọc số phiên bản, " +"số sửa đổi, bản phân phối và tính khẩn cấp của gói" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For you, it is also important, since it is good to have documented all " +"changes you have done. It will help people downloading your package to see " +"whether there are issues with the package that they should know about. It " +"will be saved as <filename>/usr/share/doc/gentoo/changelog.Debian.gz</" +"filename> in the binary package." +msgstr "" +"Đối với bạn, điều này cũng rất quan trọng vì bạn nên ghi lại tất cả những thay đổi bạn đã làm. " +"Nó sẽ giúp mọi người tải gói của bạn và xem liệu có vấn đề gì với gói mà họ cần biết hay không. " +"Nó sẽ được lưu lại như <filename>/usr/share/doc/gentoo/changelog.Debian.gz</filename> trong gói " +"nhị phân." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<command>dh_make</command> created a default one, and this is what it looks " +"like:" +msgstr "<command>dh_make</command> tạo ra tệp mặc định, và nó sẽ trông như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"1 gentoo (0.9.12-1) unstable; urgency=medium\n" +"2\n" +"3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" +"4\n" +"5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" +"6\n" +msgstr "" +"1 gentoo (0.9.12-1) unstable; urgency=medium\n" +"2\n" +"3 * Initial release (Closes: #<replaceable>nnnn</replaceable>) <<replaceable>nnnn</replaceable> is the bug number of your ITP>\n" +"4\n" +"5 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" +"6\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Line 1 is the package name, version, distribution, and urgency. The name " +"must match the source package name; distribution should be " +"<literal>unstable</literal>, and urgency should be set to medium unless " +"there is any particular reason for other values." +msgstr "" +"Dòng 1 là tên gói, phiên bản, phân phối và mức độ khẩn cấp. Tên phải khớp với " +"tên gói nguồn; Phân phối nên là <literal>unstable</literal>, và nên cài " +"mức độ khẩn cấp lên medidum (trung bình) trừ khi có bất kỳ lý do cụ thể nào " +"cho giá trị khác." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Lines 3-5 are a log entry, where you document changes made in this package " +"revision (not the upstream changes — there is a special file for that " +"purpose, created by the upstream authors, which you will later install as " +"<filename>/usr/share/doc/gentoo/changelog.gz</filename>). Let's assume your " +"ITP (Intent To Package) bug report number was <literal>12345</literal>. New " +"lines must be inserted just below the uppermost line that begins with " +"<literal>*</literal> (asterisk). You can do it with <citerefentry> " +"<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>. You can edit this manually with a text editor as long as you " +"follow the formatting convention used by the <citerefentry> " +"<refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." +msgstr "" +"Dòng 3-5 là một mục thông tin, nơi bạn ghi lại những thay đổi được thực hiện trong bản " +"sửa đổi gói này (không phải là những thay đổi ở thượng nguồn — có một tệp tin đặc biệt " +"cho mục đích đó được tạo ra bởi các tác giả thượng nguồn, mà sau này bạn sẽ cài đặt " +"dưới dạng <filename>/usr/share/doc/gentoo/changelog.gz</filename>). Hãy giả sử báo lỗi " +"ITP (Intent To Package) của bạn có số là <literal>12345</literal>. Các dòng mới chèn trên " +"dòng trên cùng nhất của mục nội dung này và bắt đầu với <literal>*</literal> (dấu sao). " +"Bạn có thể thực hiện điều này với <citerefentry><refentrytitle>dch</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>, bạn có thể chỉnh sửa bằng tay " +"với một trình soạn thảo văn bản theo quy ước định dạng được sử dụng bởi " +"<citerefentry><refentrytitle>dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"In order to prevent a package being accidentally uploaded before completing " +"the package, it is a good idea to change the distribution value to an " +"invalid distribution value of <literal>UNRELEASED</literal>." +msgstr "" +"Để ngăn chặn một gói bị vô tình tải lên trước khi hoàn thành gói, bạn nên thay đổi " +"giá trị phân phối thành chưa phát hành <literal>UNRELEASED</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "You will end up with something like this:" +msgstr "Bạn sẽ kết thúc với một cái gì đó như thế này:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" +"2\n" +"3 * Initial Release. Closes: #12345\n" +"4 * This is my first Debian package.\n" +"5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" +"6\n" +"7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" +"8\n" +msgstr "" +"1 gentoo (0.9.12-1) UNRELEASED; urgency=low\n" +"2\n" +"3 * Initial Release. Closes: #12345\n" +"4 * This is my first Debian package.\n" +"5 * Adjusted the Makefile to fix $(DESTDIR) problems.\n" +"6\n" +"7 -- Josip Rodin <joy-mg@debian.org> Mon, 22 Mar 2010 00:37:31 +0100\n" +"8\n" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"If you use the <literal>dch -r</literal> command to make this last change, " +"please make sure to save the <filename>changelog</filename> file explicitly " +"by the editor." +msgstr "" +"Nếu bạn sử dụng lệnh <literal>dch -r</literal> để tạo thay đổi cuối này, vui lòng " +"đảm bảo bạn đã lưu tệp <filename>changelog</filename> một cách rõ ràng bởi trình " +"soạn thảo" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Once you are satisfied with all the changes and documented them in " +"<filename>changelog</filename>, you should change the distribution value " +"from <literal>UNRELEASED</literal> to the target distribution value " +"<literal>unstable</literal> (or even <literal>experimental</literal>). " +"<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Khi bạn đã hài lòng với tất cả các thay đổi và ghi lại chúng trong <filename>changelog</" +"filename>, bạn nên thay đổi giá trị phân phối từ <literal>UNRELEASED</literal> sang " +" <literal>unstable</literal> (hoặc ngay cả <literal>experimental</literal>). " +"<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can read more about updating the <filename>changelog</filename> file " +"later in <xref linkend=\"update\"/>." +msgstr "" +"Bạn có thể đọc về cập nhật tệp <filename>changelog</filename> tại <xref linkend=\"update\"/>." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>rules</filename>" +msgstr "<filename>rules</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Now we need to take a look at the exact rules that <citerefentry> " +"<refentrytitle>dpkg-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> will use to actually create the package. This file is in fact " +"another <filename>Makefile</filename>, but different from the one(s) in the " +"upstream source. Unlike other files in <filename>debian</filename>, this " +"one is marked as executable." +msgstr "" +"Bây giờ chúng ta cần phải xem xét các quy tắc chính xác mà <citerefentry> <refentrytitle>dpkg-" +"buildpackage</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> sẽ thực sự sử dụng " +"để tạo gói. Tệp này thật sự là tệp <filename>Makefile</filename>, nhưng nó khác với (các) tệp " +"Makefile trong nguồn của thượng nguồn. Và không giống các tệp khác trong thư mục " +"<filename>debian</filename>, đây là tệp thực thi" + +#. type: Content of: <book><chapter><section><section><title> +msgid "Targets of the <filename>rules</filename> file" +msgstr "Các target của tệp <filename>rules</filename>" + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"You can start learning how to write a <filename>Makefile</filename> from " +"<ulink url=\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. The " +"full documentation is available as <ulink url=\"&gnu-make;\"></ulink> or as " +"the <systemitem role=\"package\">make-doc</systemitem> package in the " +"<literal>non-free</literal> archive area." +msgstr "" +"Bạn có thể bắt đầu học cách viết <filename>Makefile</filename> từ <ulink url=" +"\"&debref-make;\">Debian Reference, 12.2. \"Make\"</ulink>. Tài liệu khả dụng " +"như <ulink url=\"&gnu-make;\"></ulink> hoặc như gói <systemitem role=\"package" +"\">make-doc</systemitem> trong <literal>non-free</literal>." + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main " +"building script: debian/rules\"</ulink> explains the details." +msgstr "" +"<ulink url=\"&policy-debianrules;\">Debian Policy Manual, 4.9 \"Main building script: " +"debian/rules\"</ulink> giải thích chi tiết." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"Every <filename>rules</filename> file, like any other <filename>Makefile</" +"filename>, consists of several rules, each of which defines a target and how " +"it is carried out. <placeholder type=\"footnote\" id=\"0\"/> A new rule " +"begins with its target declaration in the first column. The following lines " +"beginning with the TAB code (ASCII 9) specify the recipe for carrying out " +"that target. Empty lines and lines beginning with <literal>#</literal> " +"(hash) are treated as comments and ignored. <placeholder type=\"footnote\" " +"id=\"1\"/>" +msgstr "" +"Mọi tệp <filename>rules</filename>, giống bất kỳ <filename>Makefile</filename> khác, " +"bao gồm một vài quy tắc, địng nghĩa nên target và cách nó thực hiện như thế nào. " +"<placeholder type=\"footnote\" id=\"0\"/> Một quy tắc mới bắt đầu với tuyên bố tên " +"target của nó trong cột đầu tiên. Các dòng theo sau bắt đầu với phím TAB (ASCII 9) để " +"chỉ định công thức thực hiện target đó. Các dòng trống và các dòng bắt đầu với <literal>#" +"</literal> (thăng) được xem là nhận xét và bị bỏ qua. <placeholder type=" +"\"footnote\" id=\"1\"/>" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"A rule that you want to execute is invoked by its target name as a command " +"line argument. For example, <literal>debian/rules <replaceable>build</" +"replaceable></literal> and <literal>fakeroot make -f debian/rules " +"<replaceable>binary</replaceable></literal> execute rules for " +"<literal><replaceable>build</replaceable></literal> and " +"<literal><replaceable>binary</replaceable></literal> targets, respectively." +msgstr "" +"Một quy tắc mà bạn muốn thực hiện được gọi bởi tên target của nó như là một đối số " +"dòng lệnh. Ví dụ, <literal>debian/rules <replaceable>build</replaceable></" +"literal> và <literal>fakeroot make -f debian/rules <replaceable>binary</replaceable></" +"literal> thực hiện các quy tắc cho các target là <literal><replaceable>build" +"</replaceable></literal> và <literal><replaceable>binary</replaceable></literal>." + +#. type: Content of: <book><chapter><section><section><para> +msgid "Here is a simplified explanation of the targets:" +msgstr "Đây là một giải thích đơn giản của các target" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>clean</literal> target: to clean all compiled, generated, and " +"useless files in the build-tree. (Required)" +msgstr "" +"<literal>clean</literal>: làm sạch tất cả các tệp đã biên dịch, sinh ra và " +"vô ích trong build-tree(Yêu cầu)" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>build</literal> target: to build the source into compiled programs " +"and formatted documents in the build-tree. (Required)" +msgstr "" +"<literal>build</literal>: xây dựng từ mã nguồn thành các chương trình và " +"sinh các tài liệu trong build-tree. (Bắt buộc)" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>build-arch</literal> target: to build the source into arch-" +"dependent compiled programs in the build-tree. (Required)" +msgstr "" +"<literal>build-arch</literal>: xây dựng mã nguồn thành các chuơng trình phụ thuộc " +"vào kiến trúc trong build-tree. (Bắt buộc)" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>build-indep</literal> target: to build the source into arch-" +"independent formatted documents in the build-tree. (Required)" +msgstr "" +"<literal>build-indep</literal>: xây dựng mã nguổn thành các tài liệu không phụ " +"thuộc và kiến trúc trong build-tree. (Bắt buộc)" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>install</literal> target: to install files into a file tree for " +"each binary package under the <filename>debian</filename> directory. If " +"defined, <literal>binary*</literal> targets effectively depend on this " +"target. (Optional)" +msgstr "" +"<literal>install</literal>: cài đặt các tệp tin vào hệ thống giả cho mỗi gói nhị phần " +"dưới thư mục <filename>debian</filename>. Nếu địng nghĩa target <literal>binary*</" +"literal> sẽ có hiệu quả phụ thuộc vào target này. (Tuỳ chọn)" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"This target is used by <literal>dpkg-buildpackage</literal> as in <xref " +"linkend=\"completebuild\"/>." +msgstr "" +"Target này được sử dụng bởi <literal>dpkg-buildpackage</literal> như trong <xref linkend=" +"\"completebuild\"/>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>binary</literal> target: to create all binary packages (effectively " +"a combination of <literal>binary-arch</literal> and <literal>binary-indep</" +"literal> targets). (Required)<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"<literal>binary</literal>: tạo tất cả gói nhị phân ( sẽ hiểu quả khi là sự kết hợp " +"của <literal>binary-arch</literal> và <literal>binary-indep</literal> . (Bắt buộc)" +"<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"This target is used by <literal>dpkg-buildpackage -B</literal> as in <xref " +"linkend=\"autobuilder\"/>." +msgstr "" +"Target này được sử dụng bởi <literal>dpkg-buildpackage -B</literal> như trọng <xref linkend=" +"\"autobuilder\"/>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>binary-arch</literal> target: to create arch-dependent " +"(<literal>Architecture: any</literal>) binary packages in the parent " +"directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"<literal>binary-arch</literal>: tạo các gói nhị phân phụ thuộc (<literal>Architecture: " +"any</literal>) trong thụ mục cha. (Bắt buộc)<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> +msgid "This target is used by <literal>dpkg-buildpackage -A</literal>." +msgstr "Target này được sử dụng bởi <literal>dpkg-buildpackage -A</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>binary-indep</literal> target: to create arch-independent " +"(<literal>Architecture: all</literal>) binary packages in the parent " +"directory. (Required)<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"<literal>binary-indep</literal>: để tạo ra các gói nhị phân không phụ thuộc " +"(arch-independent)(<literal>Architecture: all</literal>) trong thu mục cha. " +"(Bắt buộc)<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>get-orig-source</literal> target: to obtain the most recent version " +"of the original source package from an upstream archive. (Optional)" +msgstr "" +"<literal>get-orig-source</literal>: để lấy phiên bản gần nhất của gói nguồn gốc " +"từ một bản lưu trữ thượng nguồn. (Tuỳ chọn)" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"You are probably overwhelmed by now, but things are much simpler upon " +"examination of the <filename>rules</filename> file that <command>dh_make</" +"command> gives us as a default." +msgstr "" +"Bạn bây giờ có thể bị choáng ngợp, nhưng mọi thứ đơn giản hơn nhiều khi kiểm tra " +"tệp <filename>rules</filename> mà <command>dh_make</command> sử dụng làm mặc định." + +#. type: Content of: <book><chapter><section><section><title> +msgid "Default <filename>rules</filename> file" +msgstr "Tệp <filename>rules</filename> mặc định" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"Newer <command>dh_make</command> generates a very simple but powerful " +"default <filename>rules</filename> file using the <command>dh</command> " +"command:" +msgstr "" +"Phiên bản <command>dh_make</command> mới nhất tạo một tệp <filename>rules" +"</filename> đơn giản nhưng mạnh mẽ bằng sử dụng lệnh <command>dh</command>:" + +#. type: Content of: <book><chapter><section><section><screen> +#, no-wrap +msgid "" +" 1 #!/usr/bin/make -f\n" +" 2 # See debhelper(7) (uncomment to enable)\n" +" 3 # output every command that modifies files on the build system.\n" +" 4 #DH_VERBOSE = 1\n" +" 5 \n" +" 6 # see FEATURE AREAS in dpkg-buildflags(1)\n" +" 7 #export DEB_BUILD_MAINT_OPTIONS = hardening=+all\n" +" 8\n" +" 9 # see ENVIRONMENT in dpkg-buildflags(1)\n" +"10 # package maintainers to append CFLAGS\n" +"11 #export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic\n" +"12 # package maintainers to append LDFLAGS\n" +"13 #export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed\n" +"14 \n" +"15\n" +"16 %:\n" +"17 dh $@ \n" +msgstr "" +" 1 #!/usr/bin/make -f\n" +" 2 # See debhelper(7) (uncomment to enable)\n" +" 3 # output every command that modifies files on the build system.\n" +" 4 #DH_VERBOSE = 1\n" +" 5 \n" +" 6 # see FEATURE AREAS in dpkg-buildflags(1)\n" +" 7 #export DEB_BUILD_MAINT_OPTIONS = hardening=+all\n" +" 8\n" +" 9 # see ENVIRONMENT in dpkg-buildflags(1)\n" +"10 # package maintainers to append CFLAGS\n" +"11 #export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic\n" +"12 # package maintainers to append LDFLAGS\n" +"13 #export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed\n" +"14 \n" +"15\n" +"16 %:\n" +"17 dh $@ \n" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"(I've added the line numbers and trimmed some comments. In the actual " +"<filename>rules</filename> file, the leading spaces are a TAB code.)" +msgstr "" +"(Tôi đã thêm các số dòng và thêm một số chú thích. Trong tệp tin <filename>rules</filename>" +" thực tế, các ký tự khoảng cách là một mã TAB.)" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"You are probably familiar with lines like line 1 from shell and Perl " +"scripts. It tells the operating system that this file is to be processed " +"with <filename>/usr/bin/make</filename>." +msgstr "" +"Có thể bạn đã quen thuộc với các dòng như dòng 1 từ kịch bản shell hay Perl. " +"Nó nói với hệ điều hành rằng tập tin này sẽ được xử lý với <filename>/usr/bin/make</filename>." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"Line 4 can be uncommented to set the <literal>DH_VERBOSE</literal> variable " +"to 1, so that the <command>dh</command> command outputs which <command>dh_*</" +"command> commands it is executing. You can also add a line <literal>export " +"DH_OPTIONS=-v</literal> here, so that each <command>dh_*</command> command " +"outputs which commands it is executing. This helps you to understand " +"exactly what is going on behind this simple <filename>rules</filename> file " +"and to debug its problems. This new <command>dh</command> is designed to " +"form a core part of the <systemitem role=\"package\">debhelper</systemitem> " +"tools, and not to hide anything from you." +msgstr "" +"Dòng 4 có thể bỏ ghi chú để đặt biến <literal>DH_VERBOSE</literal> thành 1, sao cho các " +"lệnh <command>dh</command> hiển thị các lệnh <command>dh_*</command> được thực hiện. " +" Bạn cũng có thể thêm một dòng <literal>export DH_OPTIONS=-v</literal> ở đây, để mỗi " +"<command>dh_*</command> hiển thị thêm nhiểu kết quả đầu ra mà lệnh được thực hiện như " +"thế nào. Điều này giúp bạn hiểu chính xác điều gì đang xảy ra đằng sau tệp tin đơn giản " +"<filename>rules</filename> này và để gỡ lỗi các vấn đề gặp phải. <command>dh</command> " +"là công cụ mới được thiết kế để trở thành một phần cốt lõi của công cụ " +"<systemitem role=\"package\">debhelper</systemitem>, và không che giấu bất cứ điều gì từ bạn." + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"This uses the new <systemitem role=\"package\">debhelper</systemitem> v7+ " +"features. Its design concepts are explained in <ulink url=\"&debhelper-" +"slides;\">Not Your Grandpa's Debhelper</ulink> presented at DebConf9 by the " +"<systemitem role=\"package\">debhelper</systemitem> upstream. Under " +"<literal>lenny</literal>, <command>dh_make</command> created a much more " +"complicated <filename>rules</filename> file with explicit rules and many " +"<command>dh_*</command> scripts listed for each one, most of which are now " +"unnecessary (and show the package's age). The new <command>dh</command> " +"command is simpler and frees us from doing the routine work \"manually\". " +"You still have full power to customize the process with " +"<literal>override_dh_*</literal> targets. See <xref linkend=\"customrules\"/" +">. It is based only on the <systemitem role=\"package\">debhelper</" +"systemitem> package and does not obfuscate the package building process as " +"the <systemitem role=\"package\">cdbs</systemitem> package tends to do." +msgstr "" +"Thao tác này sử dụng tính năng mới của <systemitem role=\"package\">debhelper" +"</systemitem> v7+. Các khái niệm thiết kế của nó được giải thích tại <ulink " +"url=\"&debhelper-slides;\">Not Your Grandpa's Debhelper</ulink> được trình bày " +"ở DebConf9 bởi tác giả <systemitem role=\"package\">debhelper</systemitem>. " +"Từ phiên bản <literal>lenny</literal>, <command>dh_make</command> đã tạo ra một tệp " +"<filename>rules</filename> phức tạp hơn nhiều với các quy tắc và nhiều kịch bản " +"<command>dh_*</command> cho mỗi quy tắc, hầu hết trong số chúng hiện không cần thiết " +" (và hiểu thị tuổi của gói). Lệnh <command>dh</command> mới đơn giản và giải phóng " +"chúng ta khỏi các công việc thường xuyên làm \"thủ công\". Bạn vẫn có đủ sức mạnh " +"để tùy biến quá trình với các target là <literal>override_dh_*</literal>. Xem <xref " +"linkend=\"customrules\"/>. Nó chỉ dựa trên gói <systemitem role=\"package\">debhelper" +"</systemitem> và không làm xáo trộn tiến trình xây dựng gói như cách mà gói <systemitem " +"role=\"package\">cdbs</systemitem> có xu hướng." + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"You can verify the actual sequences of <command>dh_*</command> programs " +"invoked for a given <literal><replaceable>target</replaceable></literal> " +"without really running them by invoking <literal>dh --no-act " +"<replaceable>target</replaceable></literal> or <literal>debian/rules -- '--" +"no-act <replaceable>target</replaceable>'</literal>." +msgstr "" +"Bạn có thể xác minh trình tự thực tế của các chương trình <command>dh_*</command> bằng " +"gọi một <literal><replaceable>target</replaceable></literal> mà không thật sự chạy chúng " +"bởi gọi <literal>dh --no-act <replaceable>target</replaceable></literal> hoặc " +"<literal>debian/rules -- '--no-act <replaceable>target</replaceable>'</literal>." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"Lines 16 and 17 are where all the work is done with an implicit rule using " +"the pattern rule. The percent sign means \"any targets\", which then call a " +"single program, <command>dh</command>, with the target name. <placeholder " +"type=\"footnote\" id=\"0\"/> The <command>dh</command> command is a wrapper " +"script that runs appropriate sequences of <command>dh_*</command> programs " +"depending on its argument. <placeholder type=\"footnote\" id=\"1\"/>" +msgstr "" +"Các dòng 16 và 17 là nơi mà tất cả công việc được thực hiện với một quy tắc ngầm định " +"sử dụng quy tắc mẫu. Dấu hiệu phần trăm có nghĩa là\"bất kỳ mục tiêu\" nào, sau đó " +"gọi một chương trình duy nhất, <command>dh</command>, với tên mục tiêu. <placeholder " +"type=\"footnote\" id=\"0\"/> Lệnh <command>dh</command> là một gói tập lệnh bao gồm " +"các trình tự thích hợp của các chương trình <command>dh_*</command> tùy thuộc vào " +"đối số của nó. <placeholder type=\"footnote\" id=\"1\"/>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>debian/rules clean</literal> runs <literal>dh clean</literal>, " +"which in turn runs the following:" +msgstr "" +"<literal>debian/rules clean</literal> chạy <literal>dh clean</literal>, chúng bao gồm " +"chạy các lệnh sau:" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"dh_testdir\n" +"dh_auto_clean\n" +"dh_clean\n" +msgstr "" +"dh_testdir\n" +"dh_auto_clean\n" +"dh_clean\n" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>debian/rules build</literal> runs <literal>dh build</literal>, " +"which in turn runs the following:" +msgstr "" +"<literal>debian/rules build</literal> chạy <literal>dh build</literal>; chúng bao gồm " +"chạy các lệnh sau:" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"dh_testdir\n" +"dh_auto_configure\n" +"dh_auto_build\n" +"dh_auto_test\n" +msgstr "" +"dh_testdir\n" +"dh_auto_configure\n" +"dh_auto_build\n" +"dh_auto_test\n" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"The following example assumes your <filename>debian/compat</filename> has a " +"value equal or more than 9 to avoid invoking any python support commands " +"automatically." +msgstr "" +"Ví dụ sau đây giả định tệp <filename>debian/compat</filename> của bạn có một giá trị " +"bằng hoặc lớn hơn 9 để tránh gọi bất kỳ câu lệnh hỗ trợ từ python tự động." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>fakeroot debian/rules binary</literal> runs <literal>fakeroot dh " +"binary</literal>, which in turn runs the following<placeholder type=" +"\"footnote\" id=\"0\"/>:" +msgstr "" +"<literal>fakeroot debian/rules binary</literal> chạy <literal>fakeroot dh binary</" +"literal>; chúng bao gồm chạy các lệnh sau<placeholder type=\"footnote\" id=\"0\"/>:" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"dh_testroot\n" +"dh_prep\n" +"dh_installdirs\n" +"dh_auto_install\n" +"dh_install\n" +"dh_installdocs\n" +"dh_installchangelogs\n" +"dh_installexamples\n" +"dh_installman\n" +"dh_installcatalogs\n" +"dh_installcron\n" +"dh_installdebconf\n" +"dh_installemacsen\n" +"dh_installifupdown\n" +"dh_installinfo\n" +"dh_installinit\n" +"dh_installmenu\n" +"dh_installmime\n" +"dh_installmodules\n" +"dh_installlogcheck\n" +"dh_installlogrotate\n" +"dh_installpam\n" +"dh_installppp\n" +"dh_installudev\n" +"dh_installwm\n" +"dh_installxfonts\n" +"dh_bugfiles\n" +"dh_lintian\n" +"dh_gconf\n" +"dh_icons\n" +"dh_perl\n" +"dh_usrlocal\n" +"dh_link\n" +"dh_compress\n" +"dh_fixperms\n" +"dh_strip\n" +"dh_makeshlibs\n" +"dh_shlibdeps\n" +"dh_installdeb\n" +"dh_gencontrol\n" +"dh_md5sums\n" +"dh_builddeb\n" +msgstr "" +"dh_testroot\n" +"dh_prep\n" +"dh_installdirs\n" +"dh_auto_install\n" +"dh_install\n" +"dh_installdocs\n" +"dh_installchangelogs\n" +"dh_installexamples\n" +"dh_installman\n" +"dh_installcatalogs\n" +"dh_installcron\n" +"dh_installdebconf\n" +"dh_installemacsen\n" +"dh_installifupdown\n" +"dh_installinfo\n" +"dh_installinit\n" +"dh_installmenu\n" +"dh_installmime\n" +"dh_installmodules\n" +"dh_installlogcheck\n" +"dh_installlogrotate\n" +"dh_installpam\n" +"dh_installppp\n" +"dh_installudev\n" +"dh_installwm\n" +"dh_installxfonts\n" +"dh_bugfiles\n" +"dh_lintian\n" +"dh_gconf\n" +"dh_icons\n" +"dh_perl\n" +"dh_usrlocal\n" +"dh_link\n" +"dh_compress\n" +"dh_fixperms\n" +"dh_strip\n" +"dh_makeshlibs\n" +"dh_shlibdeps\n" +"dh_installdeb\n" +"dh_gencontrol\n" +"dh_md5sums\n" +"dh_builddeb\n" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>fakeroot debian/rules binary-arch</literal> runs <literal>fakeroot " +"dh binary-arch</literal>, which in turn runs the same sequence as " +"<literal>fakeroot dh binary</literal> but with the <literal>-a</literal> " +"option appended for each command." +msgstr "" +"<literal>fakeroot debian/rules binary-arch</literal> chạy <literal>fakeroot dh binary-" +"arch</literal>; chúng bao gồm chạy các lệnh tương tự như <literal>fakeroot dh binary</" +"literal> nhưng với tuỳ chọn <literal>-a</literal> cho mỗi câu lệnh." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<literal>fakeroot debian/rules binary-indep</literal> runs <literal>fakeroot " +"dh binary-indep</literal>, which in turn runs almost the same sequence as " +"<literal>fakeroot dh binary</literal> but excluding <command>dh_strip</" +"command>, <command>dh_makeshlibs</command>, and <command>dh_shlibdeps</" +"command> with the <literal>-i</literal> option appended for each remaining " +"command." +msgstr "" +"<literal>fakeroot debian/rules binary-indep</literal> chạy <literal>fakeroot dh binary-" +"indep</literal>; chúng bao gồm hầu hết các lệnh tương tự như <literal>fakeroot dh " +"binary</literal> nhưng trừ các lệnh <command>dh_strip</command>, <command>dh_makeshlibs" +"</command>, và <command>dh_shlibdeps</command> và với tuỳ chọn -i cho mỗi lệnh còn lại." + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"For complete information on what all these <command>dh_*</command> scripts " +"do exactly, and what their other options are, please read their respective " +"manual pages and the <systemitem role=\"package\">debhelper</systemitem> " +"documentation." +msgstr "" +"Để có thông tin đầy đủ về những gì các tập lệnh <command>dh_*</command> thực hiện " +"chính xác, và các tùy chọn khác của chúng là gì, vui lòng đọc các trang hướng dẫn " +"tương ứng và tài liệu <systemitem role=\"package\">debhelper</systemitem>." + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"These commands support other build environments, such as <filename>setup.py</" +"filename>, which can be listed by executing <literal>dh_auto_build --list</" +"literal> in a package source directory." +msgstr "" +"Các lệnh hỗ trợ các môi trường xây dựng khác như <filename>setup.py</filename> có thể " +"được liệt kê bằng cách thực thi <literal>dh_auto_build --list</literal> trong thư mục " +"mã nguồn gói." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"The functions of <command>dh_*</command> commands are largely self-evident " +"from their names. <placeholder type=\"footnote\" id=\"0\"/> There are a few " +"notable ones that are worth giving (over)simplified explanations here " +"assuming a typical build environment based on a <filename>Makefile</" +"filename>: <placeholder type=\"footnote\" id=\"1\"/>" +msgstr "" +"Các chức năng của lệnh <command>dh_*</command> phần lớn chính là tên của chúng " +" <placeholder type=\"footnote\" id=\"0\"/> Có một vài điểm nổi bật có thể giải thích " +"một cách đơn giản ở đây là giả sử một môi trường xây dựng điển hình dựa trên một <filename>" +"Makefile</filename>: <placeholder type=\"footnote\" id=\"1\"/>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"It actually looks for the first available target in the <filename>Makefile</" +"filename> out of <literal>distclean</literal>, <literal>realclean</literal>, " +"or <literal>clean</literal>, and executes that." +msgstr "" +"Nó thực sự tìm kiếm target có sẵn đầu tiên trong <filename>Makefile</filename> " +"trong số <literal>distclean</literal>, <literal>realclean</literal>, hoặc <literal>clean</" +"literal>, và thực hiện điều đó." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<command>dh_auto_clean</command> usually executes the following if a " +"<filename>Makefile</filename> exists with the <literal>distclean</literal> " +"target. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"<command>dh_auto_clean</command> thường thực hiện như sau nếu một tệp " +"<filename>Makefile</filename> tồn tại với target là <literal>distclean</literal>. " +"<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "make distclean\n" +msgstr "make distclean\n" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<command>dh_auto_configure</command> usually executes the following if " +"<filename>./configure</filename> exists (arguments abbreviated for " +"readability)." +msgstr "" +"<command>dh_auto_configure</command> thường thực hiện như sau nếu <filename>./" +"configure</filename> tồn tại (các đối số được viết tắt cho dễ đọc)." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" +msgstr "/configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<command>dh_auto_build</command> usually executes the following to execute " +"the first target of <filename>Makefile</filename> if it exists." +msgstr "" +"<command>dh_auto_build</command> thường thực hiện target đầu tiền của tệp " +" <filename>Makefile</filename> nếu nó tồn tại." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "make\n" +msgstr "make\n" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"It actually looks for the first available target in the <filename>Makefile</" +"filename> out of <literal>test</literal> or <literal>check</literal>, and " +"executes that." +msgstr "" +"Nó thực sự tìm kiếm target đầu tiên có sẵn trong tệp <filename>Makefile</filename> " +"trong số <literal>test</literal> hoặc <literal>check</literal>, và thực hiện nó." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<command>dh_auto_test</command> usually executes the following if a " +"<filename>Makefile</filename> exists with the <literal>test</literal> " +"target. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"<command>dh_auto_test</command> thường thực hiện như sau nếu <filename>Makefile</" +"filename> tồn tại target <literal>test</literal>. <placeholder type=\"footnote" +"\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "make test\n" +msgstr "make test\n" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"<command>dh_auto_install</command> usually executes the following if a " +"<filename>Makefile</filename> exists with the <literal>install</literal> " +"target (line folded for readability)." +msgstr "" +"<command>dh_auto_install</command>thường thực hiện như sau nếu <filename>Makefile" +"</filename> tồn tại với target <literal>install</literal> (dòng căn chỉnh cho dễ đọc) " + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"make install \\\n" +" DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" +msgstr "" +"make install \\\n" +" DESTDIR=<replaceable>/path/to</replaceable>/<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>/debian/<replaceable>package</replaceable>\n" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"All targets which require the <command>fakeroot</command> command will " +"contain <command>dh_testroot</command>, which exits with an error if you are " +"not using this command to pretend to be root." +msgstr "" +"Tất cả các target yêu cầu lệnh <command>fakeroot</command> sẽ được chứa <command>" +"dh_testroot</command>, nó sẽ xuất hiện lỗi nếu bạn không sử dụng lệnh này để giả vờ là root." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"The important part to know about the <filename>rules</filename> file created " +"by <command>dh_make</command> is that it is just a suggestion. It will work " +"for most packages but for more complicated ones, don't be afraid to " +"customize it to fit your needs." +msgstr "" +"Phần quan trọng cần biết là tệp <filename>rules</filename> được tạo bởi <command>" +"dh_make</command> và nó chỉ là một đề xuất. Nó sẽ làm việc cho hầu hết các gói " +"nhưng đối với những thứ phức tạp hơn, đừng ngại tùy chỉnh nó để phù hợp với nhu cầu " +"của bạn." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"Although <literal>install</literal> is not a required target, it is " +"supported. <literal>fakeroot dh install</literal> behaves like " +"<literal>fakeroot dh binary</literal> but stops after <command>dh_fixperms</" +"command>." +msgstr "" +"Mặc dù <literal>install</literal> không phải là target bắt buộc, nó hỗ trợ. " +"<literal>fakeroot dh install</literal> hành động như <literal>fakeroot dh binary</" +"literal> nhưng dừng lại sau <command>dh_fixperms</command>." + +#. type: Content of: <book><chapter><section><section><title> +msgid "Customization of <filename>rules</filename> file" +msgstr "Tuỳ chỉnh tệp <filename>rules</filename>" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"There are many ways to customize the <filename>rules</filename> file created " +"with the new <command>dh</command> command." +msgstr "" +"Có nhiều cách để tuỳ chỉnh tệp <filename>rules</filename> đã được tạo ra bởi " +"lệnh <command>dh</command>" + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"If a package installs the <filename>/usr/share/perl5/Debian/Debhelper/" +"Sequence/<replaceable>custom_name</replaceable>.pm</filename> file, you " +"should activate its customization function by <literal>dh $@ --with " +"<replaceable>custom-name</replaceable></literal>." +msgstr "" +"Nếu một gói cài đặt tệp với đường dẫn <filename>/usr/share/perl5/Debian/" +"Debhelper/Sequence/<replaceable>custom_name</replaceable>.pm</filename>, bạn " +"nên kích hoạt chức năng tuỳ chỉnh của nó bằng <literal>dh $@ --with " +"<replaceable>custom-name</replaceable></literal>." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"The <literal>dh $@</literal> command can be customized as follows: " +"<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Lệnh <literal>dh $@</literal> có thể được tuỳ chỉnh như sau: <placeholder " +"type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"Use of the <command>dh_python2</command> command is preferred over use of " +"<command>dh_pysupport</command> or <command>dh_pycentral</command> " +"commands. Do not use the <command>dh_python</command> command." +msgstr "" +"Việc sử dụng <command>dh_python2</command> được yêu thích hơn là sử dụng " +"<command>dh_pysupport</command> và <command>dh_pycentral</command>. Đừng sử " +"dụng <command>dh_python</command>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"Add support for the <command>dh_python2</command> command. (The best choice " +"for Python.) <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Thêm lệnh hỗ trợ <command>dh_python2</command>. (Tuỳ chọn tốt nhất cho " +"Python.) <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Include the <systemitem role=\"package\">python</systemitem> package in " +"<literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">python</systemitem> trong trường " +"<literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with python2</literal>." +msgstr "Sử dụng <literal>dh $@ --with python2</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This handles Python modules using the <systemitem role=\"package\">python</" +"systemitem> framework." +msgstr "" +"Việc này xử lý các mô-đun Python sử dụng framework <systemitem role=\"package" +"\">python</systemitem>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"Add support for the <command>dh_pysupport</command> command. (deprecated)" +msgstr "Thêm lệnh hỗ trợ <command>dh_pysupport</command>. " + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Include the <systemitem role=\"package\">python-support</systemitem> package " +"in <literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">python-support</systemitem> trong " +"trường <literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with pysupport</literal>." +msgstr "Sử dụng <literal>dh $@ --with pysupport</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This handles Python modules using the <systemitem role=\"package\">python-" +"support</systemitem> framework." +msgstr "" +"Việc này xử lý các mô-đun Python sử dụng framework <systemitem role=\"package" +"\">python-support</systemitem>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"Add support for the <command>dh_pycentral</command> command. (deprecated)" +msgstr "" +"Thêm lệnh hỗ trợ <command>dh_pycentral</command>. (không dùng nữa)" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Include the <systemitem role=\"package\">python-central</systemitem> package " +"in <literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">python-central</systemitem> trong " +"trường <literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with python-central</literal> instead." +msgstr "Sử dụng <literal>dh $@ --with python-central</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "This also deactivates the <command>dh_pysupport</command> command." +msgstr "Nó cũng bỏ kích hoạt lệnh <command>dh_pysupport</command>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This handles Python modules using the <systemitem role=\"package\">python-" +"central</systemitem> framework." +msgstr "" +"Việc này xử lý các mô-đun Python sử dụng framework <systemitem role=\"package" +"\">python-central</systemitem>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "Add support for the <command>dh_installtex</command> command." +msgstr "Thêm lệnh hỗ trợ <command>dh_installtex</command>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Include the <systemitem role=\"package\">tex-common</systemitem> package in " +"<literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">tex-common</systemitem> trong " +"trường <literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with tex</literal> instead." +msgstr "Sử dụng <literal>dh $@ --with tex</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This registers Type 1 fonts, hyphenation patterns, and formats with TeX." +msgstr "" +"Thao tác này sẽ đăng ký các phông chữ Loại 1, các mẫu phân đoạn và các định " +"dạng với TeX." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"Add support for the <command>dh_quilt_patch</command> and " +"<command>dh_quilt_unpatch</command> commands." +msgstr "" +"Thêm 2 lệnh hỗ trợ <command>dh_quilt_patch</command> và " +"<command>dh_quilt_unpatch</command>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Include the <systemitem role=\"package\">quilt</systemitem> package in " +"<literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">quilt</systemitem> trong trường " +"<literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with quilt</literal> instead." +msgstr "Sử dụng <literal>dh $@ --with quilt</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This applies and un-applies patches to the upstream source from files in the " +"<filename>debian/patches</filename> directory for a source package in the " +"<literal>1.0</literal> format." +msgstr "" +"Nó áp dụng và bỏ áp dụng các bản vá cho mã nguồn ở thượng nguồn từ các tệp " +"tin trong thư mục <filename>debian/patches</filename> cho gói nguồn với " +"định dạng <literal>1.0</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This is not needed if you use the new <literal>3.0 (quilt)</literal> source " +"package format." +msgstr "" +"Điều này là không cần thiết nếu bạn sử dụng định dạng gói nguồn mới " +"<literal>3.0 (quilt)</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "Add support for the <command>dh_dkms</command> command." +msgstr "Thêm lệnh hỗ trợ <command>dh_dkms</command>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Include the <systemitem role=\"package\">dkms</systemitem> package in " +"<literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">dkms</systemitem> trong trường " +"<literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with dkms</literal> instead." +msgstr "Sử dụng <literal>dh $@ --with dkms</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "This correctly handles DKMS usage by kernel module packages." +msgstr "Điều này xử lý chính xác việc sử dụng DKMS của gói mô-đun hạt nhân." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"Add support for the <command>dh_autotools-dev_updateconfig</command> and " +"<command>dh_autotools-dev_restoreconfig</command> commands." +msgstr "" +"Thêm lệnh hỗ trợ <command>dh_autotools-dev_updateconfig</command> " +"và <command>dh_autotools-dev_restoreconfig</command>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Include the <systemitem role=\"package\">autotools-dev</systemitem> package " +"in <literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">autotools-dev</systemitem> trong " +"trường <literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with autotools-dev</literal> instead." +msgstr "Sử dụng <literal>dh $@ --with autotools-dev</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This updates and restores <filename>config.sub</filename> and " +"<filename>config.guess</filename>." +msgstr "" +"Việc này cập nhật và khôi phục tệp <filename>config.sub</filename> và " +"<filename>config.guess</filename>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"Add support for the <command>dh_autoreconf</command> and " +"<command>dh_autoreconf_clean</command> commands." +msgstr "" +"Thêm lệnh hỗ trợ <command>dh_autoreconf</command> và " +"<command>dh_autoreconf_clean</command>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Include the <systemitem role=\"package\">dh-autoreconf</systemitem> package " +"in <literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">dh-autoreconf</systemitem> package " +"in <literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with autoreconf</literal> instead." +msgstr "Sử dụng <literal>dh $@ --with autoreconf</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This updates the GNU Build System files and restores them after the build." +msgstr "" +"Nó cập nhật các tệp GNU Build System và khôi phục chúng sau khi xây dựng." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "Add support for the <command>dh_girepository</command> command." +msgstr "Thêm lệnh hỗ trợ <command>dh_girepository</command>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Includes the <systemitem role=\"package\">gobject-introspection</systemitem> " +"package in <literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">gobject-introspection</systemitem> " +"trong trường <literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with gir</literal> instead." +msgstr "Use <literal>dh $@ --with gir</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This computes dependencies for packages shipping GObject introspection data " +"and generates the <literal>${gir:Depends}</literal> substitution variable " +"for the package dependency." +msgstr "" +"Điều này tính toán các gói phụ thuộc cho các gói truyền dữ liệu đối tượng GObject và tạo ra " +"tên các gói thay thế cho <literal>${gir:Depends}</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "Add support for the <command>bash</command> completion feature." +msgstr "Thêm hỗ trợ cho tính năng gõ nhanh trong <command>bash</command>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Includes the <systemitem role=\"package\">bash-completion</systemitem> " +"package in <literal>Build-Depends</literal>." +msgstr "" +"Bao gồm gói <systemitem role=\"package\">bash-completion</systemitem> trong trường " +"<literal>Build-Depends</literal>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Use <literal>dh $@ --with bash-completion</literal> instead." +msgstr "Sử dụng <literal>dh $@ --with bash-completion</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"This installs <command>bash</command> completions using a configuration file " +"at <filename>debian/<replaceable>package</replaceable>.bash-completion</" +"filename>." +msgstr "" +"Cài đặt <command>bash</command> completions sử dụng một tệp cấu hình tại " +"<filename>debian/<replaceable>package</replaceable>.bash-completion</filename>." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"Many <command>dh_*</command> commands invoked by the new <command>dh</" +"command> command can be customized by the corresponding configuration files " +"in the <filename>debian</filename> directory. See <xref linkend=\"dother\"/" +"> and the manpage of each command for the customization of such features." +msgstr "" +"Nhiều lệnh <command>dh_*</command> được gọi từ <command>dh</command> mới " +"có thể tuỳ chỉnh các tệp cấu hình tương ứng trong thư mục <filename>debian</" +"filename>. Xem <xref linkend=\"dother\"/> và sách hướng dẫn của mỗi lệnh " +"cho việc tùy chỉnh tính năng như vậy." + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"Under <literal>lenny</literal>, if you wanted to change the behavior of a " +"<command>dh_*</command> script you found the relevant line in the " +"<filename>rules</filename> file and adjusted it." +msgstr "" +"Trong phiên bản <literal>lenny</literal>, nếu bạn muốn thay đổi hành vi của một tập lệnh " +"<command>dh_*</command>, bạn sẽ phải tìm thấy dòng liên quan trong <filename>rules</" +"filename> và tự điều chỉnh nó." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"You may need to run <command>dh_*</command> commands invoked via the new " +"<command>dh</command> with added arguments, or to run additional commands " +"with them, or to skip them. For such cases, you create an " +"<literal>override_dh_<replaceable>foo</replaceable></literal> target with " +"its rule in the <filename>rules</filename> file defining an " +"<literal>override_dh_<replaceable>foo</replaceable></literal> target for the " +"<command>dh_<replaceable>foo</replaceable></command> command you want to " +"change. It basically says <emphasis>run me instead</emphasis>. " +"<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Bạn có thể cần phải chạy lệnh <command>dh_*</command> được gọi qua <command>dh</command> " +"mới với các đối số được thêm vào, hoặc để chạy các lệnh bổ sung với chúng, hoặc bỏ qua " +"chúng. Đối với các trường hợp như vậy, bạn tạo một target mới là <literal>override_dh_" +"<replaceable>foo</replaceable></literal> bằng quy tắc của nó trong tệp <filename>rules" +"</filename> địng nghĩa một target <literal>override_dh_<replaceable>foo</replaceable>" +"</literal> cho lệnh <command>dh_<replaceable>foo</replaceable></command> bạn muốn thay đổi. " +"Về cơ bản có nghĩa là <emphasis>chạy tôi thay vì mặc định</emphasis>. <placeholder type=" +"\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"Please note that the <command>dh_auto_*</command> commands tend to do more " +"than what has been discussed in this (over)simplified explanation to take " +"care of all the corner cases. It is a bad idea to use " +"<literal>override_dh_*</literal> targets to substitute simplified equivalent " +"commands (except for the <literal>override_dh_auto_clean</literal> target) " +"since it may bypass such smart <systemitem role=\"package\">debhelper</" +"systemitem> features." +msgstr "" +"Xin lưu ý rằng các lệnh <command>dh_auto_*</command> có xu hứng làm nhiều hơn những gì " +"đã giải thích một cách đơn giản ở đây nhằm có thể quản lý toàn bộ trường hợp có thể xảy ra. " +"Nó sẽ là một ý tưởng tồi để sử dụng các target <literal>override_dh_*</literal> để thay thế " +"các lệnh tương đương đã đơn giản hoá (ngoại trừ target <literal>override_dh_auto_clean</" +"literal> target) vì nó có thể bỏ qua những tính năng thông minh từ gói <systemitem role=" +"\"package\">debhelper</systemitem> features." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"So, for instance, if you want to store system configuration data in the " +"<filename>/etc/gentoo</filename> directory instead of the usual <filename>/" +"etc</filename> directory for the recent <systemitem role=\"package\">gentoo</" +"systemitem> package using Autotools, you can override the default <literal>--" +"sysconfig=/etc</literal> argument given by the <command>dh_auto_configure</" +"command> command to the <command>./configure</command> command by the " +"following:" +msgstr "" +"Ví dụ: Nếu bạn muốn lưu dữ liệu cấu hình hệ thống vào thư mục <filename>/etc/" +"gentoo</filename> thay vì thư mục cha <filename>/etc</filename> cho gói <systemitem role=" +"\"package\">gentoo</systemitem> hãy sử dụng Autotools, bạn có thể viết đè đối số mặc định " +"<literal>--sysconfig=/etc</literal> được sử dụng bởi lệnh <command>dh_auto_configure</command>" +"để chaỵ lệnh <command>./configure</command> như sau:" + +#. type: Content of: <book><chapter><section><section><screen> +#, no-wrap +msgid "" +"override_dh_auto_configure:\n" +" dh_auto_configure -- --sysconfig=/etc/gentoo\n" +msgstr "" +"override_dh_auto_configure:\n" +" dh_auto_configure -- --sysconfig=/etc/gentoo\n" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"The arguments given after <literal>--</literal> are appended to the default " +"arguments of the auto-executed program to override them. Using the " +"<command>dh_auto_configure</command> command is better than directly " +"invoking the <command>./configure</command> command here since it will only " +"override the <literal>--sysconfig</literal> argument and retain any other, " +"benign arguments to the <command>./configure</command> command." +msgstr "" +"Các đối số được truyền vào <literal>--</literal> sẽ được nối vào đối số mặc định của " +"chương trình \"tự động-thực hiện\" để ghi đè chúng. Sử dụng lệnh <command>dh_auto_" +"configure</command> sẽ tốt hơn so với việc trực tiếp gọi lệnh <command>./configure" +"</command> ở đây vì nó sẽ chỉ ghi đè đối số <literal>--sysconfig</literal> mà giữ " +"lại bất kỳ đối số hữu ích nào khác cho lệnh <command>./configure </command>." + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"<command>dh_auto_build</command> without any arguments will execute the " +"first target in the <filename>Makefile</filename>." +msgstr "" +"<command>dh_auto_build</command> với không có đối số sẽ thực hiện target đầu tiên trong " +"tệp <filename>Makefile</filename>." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"If the <filename>Makefile</filename> in the source for <systemitem role=" +"\"package\">gentoo</systemitem> requires you to specify <literal>build</" +"literal> as its target to build it <placeholder type=\"footnote\" id=\"0\"/" +">, you create an <literal>override_dh_auto_build</literal> target to enable " +"this." +msgstr "" +"Nếu tệp <filename>Makefile</filename> trong mã nguồn của gói <systemitem role=\"package" +"\">gentoo</systemitem> yêu cầu bạn chỉ định target <literal>build</literal> là target " +"để xây dựng chương trình đó <placeholder type=\"footnote\" id=\"0\"/>, bạn có thể tạo " +"một target <literal>override_dh_auto_build</literal> để kích hoạt điều này." + +#. type: Content of: <book><chapter><section><section><screen> +#, no-wrap +msgid "" +"override_dh_auto_build:\n" +" dh_auto_build -- build\n" +msgstr "" +"override_dh_auto_build:\n" +" dh_auto_build -- build\n" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"This ensures <literal>$(MAKE)</literal> is run with all the default " +"arguments given by the <command>dh_auto_build</command> command plus the " +"<literal>build</literal> argument." +msgstr "" +"Điều này đảm bảo <literal>$(MAKE)</literal> được chạy với tất cả các đối số mặc định được " +"cung cấp bởi lệnh <command>dh_auto_build</command> cộng với đối số <literal>build</literal>." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"If the <filename>Makefile</filename> in the source for <systemitem role=" +"\"package\">gentoo</systemitem> requires you to specify the " +"<literal>packageclean</literal> target to clean it for the Debian package " +"instead of using <literal>distclean</literal> or <literal>clean</literal> " +"targets, you can create an <literal>override_dh_auto_clean</literal> target " +"to enable it." +msgstr "" +"Nếu tệp <filename>Makefile</filename> trong mã nguồn cho <systemitem role=\"package" +"\">gentoo</systemitem> yêu cầu bạn chỉ định target <literal>packageclean</literal> để " +"làm sạch môi trường xây dựng cho gói Debian package thay vì sử dụng <literal>distclean</literal> " +"hoặc <literal>clean</literal>, bạn có thể tạo một target <literal>override_dh_auto_clean</" +"literal> để kích hoạt chúng." + +#. type: Content of: <book><chapter><section><section><screen> +#, no-wrap +msgid "" +"override_dh_auto_clean:\n" +" $(MAKE) packageclean\n" +msgstr "" +"override_dh_auto_clean:\n" +" $(MAKE) packageclean\n" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"If the <filename>Makefile</filename> in the source for <systemitem role=" +"\"package\">gentoo</systemitem> contains a <literal>test</literal> target " +"which you do not want to run for the Debian package building process, you " +"can use an empty <literal>override_dh_auto_test</literal> target to skip it." +msgstr "" +"Nếu tệp <filename>Makefile</filename> trong mã nguồn cho <systemitem role=\"package" +"\">gentoo</systemitem> chứa một target <literal>test</literal> mà bạn không muốn " +"chạy nó trong quá trình xây dựng gói Debian, bạn có thể sử dụng một target " +"<literal>override_dh_auto_test</literal> trống để bỏ qua nó." + +#. type: Content of: <book><chapter><section><section><screen> +#, no-wrap +msgid "override_dh_auto_test:\n" +msgstr "override_dh_auto_test:\n" + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"The <filename>debian/changelog</filename> and <filename>debian/NEWS</" +"filename> files are always automatically installed. The upstream changelog " +"is found by converting filenames to lower case and matching them against " +"<filename>changelog</filename>, <filename>changes</filename>, " +"<filename>changelog.txt</filename>, and <filename>changes.txt</filename>." +msgstr "" +"Các tệp tin <filename>debian/changelog</filename> và <filename>debian/NEWS</filename> " +"luôn luôn được cài đặt tự động. Lịch sử sửa đổi của thượng nguồn được tìm thấy được chuyển " +"thành tệp chữ thường <filename>changelog</filename>, <filename>changes</filename>, <filename>changelog.txt</filename>, và <filename>changes." +"txt</filename>." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"If <systemitem role=\"package\">gentoo</systemitem> has an unusual upstream " +"changelog file called <filename>FIXES</filename>, " +"<command>dh_installchangelogs</command> will not install that file by " +"default. The <command>dh_installchangelogs</command> command requires " +"<filename>FIXES</filename> as its argument to install it. <placeholder type=" +"\"footnote\" id=\"0\"/>" +msgstr "" +"Nếu <systemitem role=\"package\">gentoo</systemitem> có chứa changelog từ thượng nguồn " +"khác thường như tệp <filename>FIXES</filename>, <command>dh_installchangelogs</command> " +"mặc định sẽ không cài đặt tệp này. Lệnh <command>dh_installchangelogs</command> yêu cầu " +"<filename>FIXES</filename> như là đối số của nó để cài đặt tệp này. <placeholder type=" +"\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><screen> +#, no-wrap +msgid "" +"override_dh_installchangelogs:\n" +" dh_installchangelogs FIXES\n" +msgstr "" +"override_dh_installchangelogs:\n" +" dh_installchangelogs FIXES\n" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"When you use the new <command>dh</command> command, use of explicit targets " +"such as the ones listed in <xref linkend=\"targets\"/>, other than the " +"<literal>get-orig-source</literal> target, may make it difficult to " +"understand their exact effects. Please limit explicit targets to " +"<literal>override_dh_*</literal> targets and completely independent ones, if " +"possible." +msgstr "" +"Khi bạn sử dụng lệnh <command>dh</command> mới, hãy sử dụng các target rõ ràng được liệt " +"kê trong <xref linkend=\"targets\"/>, khác với target <literal>get-orig-source</literal> " +", có thể khó khăn để hiểu được chính xác hiệu quả. Vui lòng hạn chế target rõ ràng đối với " +"các target <literal>override_dh_*</literal> và các target độc lập, nếu có thể." + +#. type: Content of: <book><chapter><title> +msgid "Other files under the <filename>debian</filename> directory" +msgstr "Các tệp khác trong thư mục <filename>debian</filename>" + +#. type: Content of: <book><chapter><para> +msgid "" +"To control most of what <systemitem role=\"package\">debhelper</systemitem> " +"does while building the package, you put optional configuration files under " +"the <filename>debian</filename> directory. This chapter will provide an " +"overview of what each of these does and its format. Please read the <ulink " +"url=\"&debian-policy;\">Debian Policy Manual</ulink> and <ulink url=" +"\"&developers-reference;\">Debian Developer's Reference</ulink> for " +"guidelines for packaging." +msgstr "" +"Để kiểm soát hầu hết những gì <systemitem role=\"package\">debhelper</systemitem> thực " +"hiện khi xây dựng gói, bạn thêm các tệp cấu hình tuỳ chọn trong thư mục <filename>debian" +"</filename>. Chương này sẽ cung cấp một cái nhìn tổng quan về những tệp tin này và định " +"dạng của nó. Vui lòng tham khảo thêm <ulink url=\"&debian-policy;\">Debian Policy Manual</" +"ulink> và <ulink url=\"&developers-reference;\">Debian Developer's Reference</ulink>." + +#. type: Content of: <book><chapter><para> +msgid "" +"The <command>dh_make</command> command will create some template " +"configuration files under the <filename>debian</filename> directory. Most " +"of them come with filenames suffixed by <literal>.ex</literal>. Some of " +"them come with filenames prefixed by the binary package name such as " +"<literal><replaceable>package</replaceable></literal>. Take a look at all " +"of them. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Lệnh <command>dh_make</command> sẽ tạo một số tệp cấu hình mẫu dưới thư mục <filename>" +"debian</filename>. Hầu hết tên các tập tin có hậu tố là <literal>.ex</literal>. " +"Một số chúng có các tên tệp bắt đầu bằng tên gói nhị phân như <literal><replaceable>" +"package</replaceable></literal>. Hãy xem tất cả tại. <placeholder type=\"footnote\" " +"id=\"0\"/>" + +#. type: Content of: <book><chapter><para> +msgid "" +"Some template configuration files for <systemitem role=\"package" +"\">debhelper</systemitem> may not be created by the <command>dh_make</" +"command> command. In such cases, you need to create them with an editor." +msgstr "" +"Một số tệp cấu hình mẫu cho <systemitem role=\"package\">debhelper</systemitem> " +"có thể không được tạo bởi lệnh <command>dh_make</command>. Trong các trường hợp này, " +"bạn cần phải tự tạo chúng bằng trình soạn thảo." + +#. type: Content of: <book><chapter><para> +msgid "If you wish or need to activate any of these, please do the following:" +msgstr "Nếu bạn muốn hoặc cần kích hoạt bất kỳ tệp nào, hãy làm như sau:" + +#. type: Content of: <book><chapter><itemizedlist><listitem><para> +msgid "" +"rename template files by removing the <literal>.ex</literal> or <literal>." +"EX</literal> suffix if they have one;" +msgstr "" +"Đổi tên các tệp mẫu bằng cách xoá bỏ hậu tố <literal>.ex</literal> hoặc <literal>.EX" +"</literal> nếu có;" + +#. type: Content of: <book><chapter><itemizedlist><listitem><para> +msgid "" +"rename the configuration files to use the actual binary package name in " +"place of <literal><replaceable>package</replaceable></literal>;" +msgstr "" +"Đổi tên các tệp cấu hình để sử dụng tên gói thực sự của thay cho <literal>" +"<replaceable>package</replaceable></literal>;" + +#. type: Content of: <book><chapter><itemizedlist><listitem><para> +msgid "modify template file contents to suit your needs;" +msgstr "sửa đổi nội dung tệp mẫu theo ý bạn muốn;" + +#. type: Content of: <book><chapter><itemizedlist><listitem><para> +msgid "remove template files which you do not need;" +msgstr "loại bỏ các tập tin mẫu mà bạn không cần;" + +#. type: Content of: <book><chapter><itemizedlist><listitem><para> +msgid "" +"modify the <filename>control</filename> file (see <xref linkend=\"control\"/" +">), if necessary;" +msgstr "" +"sửa đổi tệp <filename>control</filename> (xem <xref linkend=\"control\"/>), nếu bạn cần;" + +#. type: Content of: <book><chapter><itemizedlist><listitem><para> +msgid "" +"modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), " +"if necessary." +msgstr "" +"chỉnh sửa tệp <filename>rules</filename> (xem <xref linkend=\"rules\"/>), nếu bạn " +"cần." + +#. type: Content of: <book><chapter><para> +msgid "" +"Any <systemitem role=\"package\">debhelper</systemitem> configuration files " +"without a <filename><replaceable>package</replaceable></filename> prefix, " +"such as <filename>install</filename>, apply to the first binary package. " +"When there are many binary packages, their configurations can be specified " +"by prefixing their name to their configuration filenames such as " +"<filename><replaceable>package-1</replaceable>.install</filename>, " +"<filename><replaceable>package-2</replaceable>.install</filename>, etc." +msgstr "" +"Bất kỳ tệp tin cấu hình <systemitem role=\"package\">debhelper</systemitem> nào mà không " +"có tiền tố <filename><replaceable>package</replaceable></filename>, chẳng hạn như <filename> " +"install </filename>, sẽ áp dụng cho gói nhị phân đầu tiên. Khi có nhiều gói nhị phân, các " +"cấu hình của chúng được xác định bằng các tệp chứa tiền tố là tên gói nhị phân đấy như " +"<filename><replaceable>package-1</replaceable>.install</filename>, <filename><replaceable>" +"package-2</replaceable>.install</filename>, vân vân." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>README.Debian</filename>" +msgstr "<filename>README.Debian</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Any extra details or discrepancies between the original package and your " +"Debian version should be documented here." +msgstr "" +"Bất kỳ chi tiết bổ sung hoặc sự khác biệt giữa gói gốc ban đầu và phiên bản Debian của " +"bạn nên được ghi lại ở đây" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<command>dh_make</command> created a default one; this is what it looks like:" +msgstr "<command>dh_make</command> đã tạo ra một tệp mặc định, giống như thế này:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"gentoo for Debian\n" +"-----------------\n" +"<possible notes regarding this package - if none, delete this file>\n" +" -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" +msgstr "" +"gentoo for Debian\n" +"-----------------\n" +"<possible notes regarding this package - if none, delete this file>\n" +" -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you have nothing to be documented, remove this file. See <citerefentry> " +"<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>." +msgstr "" +"Nếu bạn không có gì để ghi chú, hãy xoá tệp này. Xem <citerefentry><refentrytitle>" +"dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>compat</filename>" +msgstr "<filename>compat</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <filename>compat</filename> file defines the <systemitem role=\"package" +"\">debhelper</systemitem> compatibility level. Currently, you should set it " +"to the <systemitem role=\"package\">debhelper</systemitem> v10 as follows:" +msgstr "" +"Tệp <filename>compat</filename> định nghĩa mức độ tương thích với <systemitem role=\"package" +"\">debhelper</systemitem>. Hiện tại, bạn nên để nó là " +"<systemitem role=\"package\">debhelper</systemitem> v10 như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ echo 10 > debian/compat\n" +msgstr "$ echo 10 > debian/compat\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You may use compat level v9 in certain circumstances for compatibility with " +"older systems. However, using any level below v9 is not recommended and " +"should be avoided for new packages." +msgstr "" +"Bạn có thể sử dụng mức v9 trong trường hợp nhất định sự tương thích với các " +"hệ thống cũ. Tuy nhiên, sử dụng bất kỳ mức nào dưới 9 là không khuyến kích " +"và nên là bị chặn cho các gói mới." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>conffiles</filename>" +msgstr "<filename>conffiles</filename>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> and <ulink url=\"&policy-conffiles;\">Debian " +"Policy Manual, \"D.2.5 Conffiles\"</ulink>." +msgstr "" +"Xem <citerefentry> <refentrytitle>dpkg</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> và <ulink url=\"&policy-conffiles;\">Debian Policy Manual, \"D.2.5 " +"Conffiles\"</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"One of the most annoying things about software is when you spend a great " +"deal of time and effort customizing a program, only to have an upgrade stomp " +"all over your changes. Debian solves this problem by marking such " +"configuration files as conffiles. <placeholder type=\"footnote\" id=\"0\"/> " +"When you upgrade a package, you'll be asked whether you want to keep your " +"old configuration files or not." +msgstr "" +"Một trong những điều gây phiền phức nhất về phần mềm là khi bạn đã dành rất nhiều thời gian " +"và nỗ lực để cấu hình một chương trình, và khi nâng cấp phần mềm thì mọi thay đổi của bạn " +"bị đè. Debian giải quyết vấn đề này bằng cách gọi các tập tin cấu hình trong gói là " +"conffiles. <placeholder type=\"footnote\" id=\"0\"/> Khi bạn nâng cấp một gói, bạn sẽ được " +"hỏi rằng bạn có muốn giữ các tệp cấu hình cũ (hiện tại) hay không." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> <emphasis>automatically</emphasis> flags any " +"files under the <filename>/etc</filename> directory as conffiles, so if your " +"program only has conffiles there you do not need to specify them in this " +"file. For most package types, the only place conffiles should ever be is " +"under <filename>/etc</filename>, and so this file doesn't need to exist." +msgstr "" +"<citerefentry><refentrytitle>dh_installdeb</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> <emphasis>tự động</emphasis> đánh dâu bất kỳ tệp nào trong thư mục <filename>/" +"etc</filename> là conffiles, vậy nếu chương trình của bạn có conffiles ở đây, bạn không cần " +"thiết phải thêm chúng vào trong tệp này. Hầu hết các loại gói, nơi lưu trữ conffiles duy nhất nên " +"là <filename>/etc</filename>, và vì thế tệp này không cần thiết phải tồn tại" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your program uses configuration files but also rewrites them on its own, " +"it's best not to make them conffiles because <command>dpkg</command> will " +"then prompt users to verify the changes all the time." +msgstr "" +"Nếu chương trình của bạn sử dụng các tệp cấu hình nhưng cũng viết lại chúng như là cơ sở dư liệu, " +"tốt nhất bạn không nên định nghĩa chúng là conffiles vì ​​<command>dpkg</command> sẽ nhắc " +"nhở người dùng xác minh các thay đổi mọi lúc." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If the program you're packaging requires every user to modify the " +"configuration files in the <filename>/etc</filename> directory, there are " +"two popular ways to arrange for them to not be conffiles, keeping " +"<command>dpkg</command> quiet:" +msgstr "" +"Nếu chương trình bạn đang đóng gói đòi hỏi mỗi người dùng chỉnh sửa các tập tin " +"cấu hình trong thư mục <filename>/etc</filename>, có hai cách phổ biến để định nghĩ chúng " +"không phải là conffiles, giữ <command>dpkg</command> yên tĩnh:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Create a symlink under the <filename>/etc</filename> directory pointing to a " +"file under the <filename>/var</filename> directory generated by the " +"maintainer scripts." +msgstr "" +"Tạo một liêt kết tượng trưng trong thư mục <filename>/etc</filename> trỏ tới tệp ở thư mục " +"<filename>/var</filename> được sinh ra bởi maintainer scripts." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Create a file generated by the maintainer scripts under the <filename>/etc</" +"filename> directory." +msgstr "" +"Tạo một tệp bở maintainer scripts dưới thư mục <filename>/etc</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>." +msgstr "Để biêt thêm thông tin về maintainer scripts, xem <xref linkend=\"maintscripts\"/>." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename><replaceable>package</replaceable>.cron.*</filename>" +msgstr "<filename><replaceable>package</replaceable>.cron.*</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your package requires regularly scheduled tasks to operate properly, you " +"can use these files to set that up. You can set up regular tasks that " +"either happen hourly, daily, weekly, or monthly, or alternatively happen at " +"any other time that you wish. The filenames are:" +msgstr "" +"Nếu gói của bạn yêu cầu các tác vụ được lên lịch thường xuyên để hoạt động đúng, " +"bạn có thể sử dụng các tệp này để làm điều đó. Bạn có thể thiết lập các tác " +"vụ thường xuyên hoặc xảy ra hàng giờ, hàng ngày, hàng tuần, hàng tháng, hoặc " +"bất cứ lúc nào bạn muốn. Các tên tập tin là:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<filename><replaceable>package</replaceable>.cron.hourly</filename> - " +"Installed as <filename>/etc/cron.hourly/<replaceable>package</replaceable></" +"filename>; run once an hour." +msgstr "" +"<filename><replaceable>package</replaceable>.cron.hourly</filename> - Được cài đặt tại " +"<filename>/etc/cron.hourly/<replaceable>package</replaceable></filename>; chạy mỗi giờ một lần." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<filename><replaceable>package</replaceable>.cron.daily</filename> - " +"Installed as <filename>/etc/cron.daily/<replaceable>package</replaceable></" +"filename>; run once a day." +msgstr "" +"<filename><replaceable>package</replaceable>.cron.daily</filename> - Được cài đặt tại " +"<filename>/etc/cron.daily/<replaceable>package</replaceable></filename>; chạy mỗi ngày một lần." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<filename><replaceable>package</replaceable>.cron.weekly</filename> - " +"Installed as <filename>/etc/cron.weekly/<replaceable>package</replaceable></" +"filename>; run once a week." +msgstr "" +"<filename><replaceable>package</replaceable>.cron.weekly</filename> - Được cài đặt tại " +"<filename>/etc/cron.weekly/<replaceable>package</replaceable></filename>; chạy mỗi tuần một lần." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<filename><replaceable>package</replaceable>.cron.monthly</filename> - " +"Installed as <filename>/etc/cron.monthly/<replaceable>package</replaceable></" +"filename>: run once a month." +msgstr "" +"<filename><replaceable>package</replaceable>.cron.monthly</filename> - Được cài đặt tại " +"<filename>/etc/cron.monthly/<replaceable>package</replaceable></filename>: chạy mỗi tháng một lần." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<filename><replaceable>package</replaceable>.cron.d</filename> - Installed " +"as <filename>/etc/cron.d/<replaceable>package</replaceable></filename>: for " +"any other time." +msgstr "" +"<filename><replaceable>package</replaceable>.cron.d</filename> - Được cài đặt tại " +"<filename>/etc/cron.d/<replaceable>package</replaceable></filename>: cho bất kỳ thời gian khác." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Most of these files are shell scripts, with the exception of " +"<filename><replaceable>package</replaceable>.cron.d</filename> which follows " +"the format of <citerefentry> <refentrytitle>crontab</refentrytitle> " +"<manvolnum>5</manvolnum> </citerefentry>." +msgstr "" +"Hầu hết các tệp này là kịch bản shell, ngoại trừ tệp trong <filename><replaceable>" +"package</replaceable>.cron.d</filename> tuân thủ theo định dạng của <citerefentry> " +"<refentrytitle>crontab</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"No explicit <filename>cron.*</filename> file is needed to set up log " +"rotation; for that, see <citerefentry><refentrytitle>dh_installlogrotate</" +"refentrytitle> <manvolnum>1</manvolnum></citerefentry> and " +"<citerefentry><refentrytitle>logrotate</refentrytitle><manvolnum>8</" +"manvolnum></citerefentry>." +msgstr "" +"Không cần chỉ định tệp <filename>cron.*</filename> cho cài đặt ghi chép nhật ký (log rotation); " +"để làm điều này, xem <citerefentry><refentrytitle>dh_installlogrotate</refentrytitle> " +"<manvolnum>1</manvolnum></citerefentry> and <citerefentry><refentrytitle>logrotate</" +"refentrytitle><manvolnum>8</manvolnum></citerefentry>." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>dirs</filename>" +msgstr "<filename>dirs</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This file specifies any directories which we need but which are not created " +"by the normal installation procedure (<literal>make install DESTDIR=...</" +"literal> invoked by <literal>dh_auto_install</literal>). This generally " +"means there is a problem with the <filename>Makefile</filename>." +msgstr "" +"Tệp này chỉ định bất kỳ thư mục nào chúng ta cần nhưng không tạo theo quy trình cài đặt thông thường " +"(<literal>make install DESTDIR=...</literal> được gọi bởi <literal>dh_auto_install</literal>). " +"Điều này có nghĩa sẽ có vấn đề với <filename>Makefile</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Files listed in an <filename>install</filename> file don't need their " +"directories created first. See <xref linkend=\"install\"/>." +msgstr "" +"Các tệp này được liệt kê trong tệp <filename>install</filename> không cần thư mục " +"của chúng đuợc tạo trước. Xem <xref linkend=\"install\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"It is best to try to run the installation first and only use this if you run " +"into trouble. There is no preceding slash on the directory names listed in " +"the <filename>dirs</filename> file." +msgstr "" +"Tốt nhất là thử cài đặt trước và chỉ sửa dụng điều này nếu bạn gặp rắc rối. Không có " +"dấu gạch chéo trước tên thư mục được liệt kê trong <filename>dirs</filename>" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename><replaceable>package</replaceable>.doc-base</filename>" +msgstr "<filename><replaceable>package</replaceable>.doc-base</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your package has documentation other than manual and info pages, you " +"should use the <systemitem role=\"package\">doc-base</systemitem> file to " +"register it, so the user can find it with e.g. <citerefentry> " +"<refentrytitle>dhelp</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>, <citerefentry> <refentrytitle>dwww</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>, or <citerefentry> " +"<refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>." +msgstr "" +"Nếu gói của bạn có tài liệu khác với trang hướng dẫn sử dụng và thông tin (man, info), " +"bạn nên sử dụng tệp <systemitem role=\"package\">doc-base</systemitem> để đăng ký, " +"để người dùng có thể tìm thấy nó bằng như: <citerefentry> <refentrytitle>dhelp" +"</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " +"<refentrytitle>dwww</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, " +"or <citerefentry> <refentrytitle>doccentral</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This usually includes HTML, PS and PDF files, shipped in <filename>/usr/" +"share/doc/<replaceable>packagename</replaceable>/</filename>." +msgstr "" +"Thường bao gồm các tệp HTML, PS và PDF, được đặt tại <filename>/usr/share/doc/" +"<replaceable>packagename</replaceable>/</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This is what <systemitem role=\"package\">gentoo</systemitem>'s doc-base " +"file <filename>gentoo.doc-base</filename> looks like:" +msgstr "" +"Đây là tệp doc-base của gói <systemitem role=\"package\">gentoo</systemitem> " +"<filename>gentoo.doc-base</filename> trong giống như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"Document: gentoo\n" +"Title: Gentoo Manual\n" +"Author: Emil Brink\n" +"Abstract: This manual describes what Gentoo is, and how it can be used.\n" +"Section: File Management\n" +"Format: HTML\n" +"Index: /usr/share/doc/gentoo/html/index.html\n" +"Files: /usr/share/doc/gentoo/html/*.html\n" +msgstr "" +"Document: gentoo\n" +"Title: Gentoo Manual\n" +"Author: Emil Brink\n" +"Abstract: This manual describes what Gentoo is, and how it can be used.\n" +"Section: File Management\n" +"Format: HTML\n" +"Index: /usr/share/doc/gentoo/html/index.html\n" +"Files: /usr/share/doc/gentoo/html/*.html\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For information on the file format, see <citerefentry> " +"<refentrytitle>install-docs</refentrytitle> <manvolnum>8</manvolnum> </" +"citerefentry> and the Debian <systemitem role=\"package\">doc-base</" +"systemitem> manual at the local copy <filename>&doc-base;</filename> " +"provided by the <systemitem role=\"package\">doc-base</systemitem> package." +msgstr "" +"Thông tin về định dạng tệp tin này, xem <citerefentry> <refentrytitle>install-docs</" +"refentrytitle> <manvolnum>8</manvolnum> </citerefentry> và the Debian <systemitem role=" +"\"package\">doc-base</systemitem> manual ở bản copy <filename>&doc-base;</filename> trên máy của bạn " +" được cung cấp bởi gói <systemitem role=\"package\">doc-base</systemitem> ." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For more details on installing additional documentation, look in <xref " +"linkend=\"destdir\"/>." +msgstr "" +"Để biết thêm chi tiết về cài đặt tài liệu bổ sung, vui lòng xem <xref linkend=\"destdir\"/>" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>docs</filename>" +msgstr "<filename>docs</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This file specifies the file names of documentation files we can have " +"<citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> install into the temporary directory for us." +msgstr "" +"Tệp này chỉ định tên tệp của các tệp tài liệu mà chúng ta có thể <citerefentry> " +"<refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " +"cài đặt vào thư mục tạm thời cho chúng." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"By default, it will include all existing files in the top-level source " +"directory that are called <filename>BUGS</filename>, <filename>README*</" +"filename>, <filename>TODO</filename> etc." +msgstr "" +"Mặc định, nó sẽ bao gồm tất cả các tệp tồn tại ở trong thư mục top-level (không tính " +"thư mục con) của mã nguồn bao gồm <filename>BUGS</filename>, <filename>README*</filename>, " +"<filename>TODO</filename> vân vân." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For <systemitem role=\"package\">gentoo</systemitem>, some other files are " +"also included:" +msgstr "" +"Cho <systemitem role=\"package\">gentoo</systemitem>, vài tệp tin cũng được bao gồm:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"BUGS\n" +"CONFIG-CHANGES\n" +"CREDITS\n" +"NEWS\n" +"README\n" +"README.gtkrc\n" +"TODO\n" +msgstr "" +"BUGS\n" +"CONFIG-CHANGES\n" +"CREDITS\n" +"NEWS\n" +"README\n" +"README.gtkrc\n" +"TODO\n" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>emacsen-*</filename>" +msgstr "<filename>emacsen-*</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your package supplies Emacs files that can be bytecompiled at package " +"installation time, you can use these files to set it up." +msgstr "" +"Nếu gói của bạn cung cấp các tệp Emacs có thể được cài tại thời điểm cài đặt gói, " +"bạn có thể sử dụng những tệp này để thiết lập nó." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"They are installed into the temporary directory by <citerefentry> " +"<refentrytitle>dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>." +msgstr "" +"Chúng được cài đặt vào thư mục tạm thời bởi <citerefentry> <refentrytitle>" +"dh_installemacsen</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><para> +msgid "If you don't need these, remove them." +msgstr "Nếu bạn không cần, hãy xoá chúng đi" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename><replaceable>package</replaceable>.examples</filename>" +msgstr "<filename><replaceable>package</replaceable>.examples</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry> command installs files and " +"directories listed in this file as example files." +msgstr "" +"Lệnh <citerefentry> <refentrytitle>dh_installexamples</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> cài các tệp và thư mục được liệt kê trong tệp này như là " +"các tệp mẫu." + +#. type: Content of: <book><chapter><section><title> +msgid "" +"<filename><replaceable>package</replaceable>.init</filename> and " +"<filename><replaceable>package</replaceable>.default</filename>" +msgstr "" +"<filename><replaceable>package</replaceable>.init</filename> và " +"<filename><replaceable>package</replaceable>.default</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your package is a daemon that needs to be run at system start-up, you've " +"obviously disregarded my initial recommendation, haven't you? :-)" +msgstr "" +"Nếu gói của bạn là một daemon cần được chạy tại thời điểm start-up của hệ thống, bạn bỏ qua " +"đề xuất ban đầu của mình, phải không ? " + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <filename><replaceable>package</replaceable>.init</filename> file is " +"installed as the <filename>/etc/init.d/<replaceable>package</replaceable></" +"filename> script which starts and stops the daemon. Its fairly generic " +"skeleton template is provided by the <command>dh_make</command> command as " +"<filename>init.d.ex</filename>. You'll likely have to rename and edit it, a " +"lot, while making sure to provide <ulink url=\"&lsb;\">Linux Standard Base</" +"ulink> (LSB) compliant headers. It gets installed into the temporary " +"directory by <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>." +msgstr "" +"Tệp <filename><replaceable>package</replaceable>.init</filename> được cài đặt vào " +"kịch bản <filename>/etc/init.d/<replaceable>package</replaceable></filename> mà có thể " +"starts và stops tiếng trình daemon. Một bộ khung mẫu được cung cấp bởi lệnh " +"<command>dh_make</command> là <filename>init.d.ex</filename>. Bạn sẽ có thể phải " +"đổi tên và chỉnh sửa nó, khá nhiều, trong khi đảm bảo cung cấp header phù hợp với " +"<ulink url=\"&lsb;\">Linux Standard Base</ulink> (LSB). Nó được cài đặt vào thư mục " +"tạm thời bởi <citerefentry> <refentrytitle>dh_installinit</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <filename><replaceable>package</replaceable>.default</filename> file " +"will be installed as <filename>/etc/default/<replaceable>package</" +"replaceable></filename>. This file sets defaults that are sourced by the " +"init script. This <filename><replaceable>package</replaceable>.default</" +"filename> file is most often used to disable running a daemon, or to set " +"some default flags or timeouts. If your init script has certain " +"configurable features, you can set them in the " +"<filename><replaceable>package</replaceable>.default</filename> file, " +"instead of in the init script itself." +msgstr "" +"Tệp <filename><replaceable>package</replaceable>.default</filename> sẽ được cài đặt " +"vào <filename>/etc/default/<replaceable>package</replaceable></filename>. " +"Tệp này cài đặt mặc định được sử dụng bởi kịch bản init. Tệp " +"<filename><replaceable>package</replaceable>.default</filename> thường được sử dụng để " +"vô hiệu hoá một daemon đang chạy, hoặc cài đặt vài tuỳ chọn mặc định hoặc độ trê. Nếu " +"kịch bản init của bạn có các tính năng cấu hình nhất định, bạn có thể cài chúng vào tệp" +"<filename><replaceable>package</replaceable>.default</filename>, thay vì viết trực tiếp " +"vào chính kịch bản init." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your upstream program provides a file for the init script, you can either " +"use it or not. If you don't use their init script then create a new one in " +"<filename><replaceable>package</replaceable>.init</filename>. However if " +"the upstream init script looks fine and installs in the right place you " +"still need to set up the <filename>rc*</filename> symlinks. To do this you " +"will need to override <command>dh_installinit</command> in the " +"<filename>rules</filename> file with the following lines:" +msgstr "" +"Nếu chương trình của bạn cung cấp một tệp cho kịch bản init, bạn cũng có thể sử dụng nó " +"hoặc không. Nếu bạn không sử dụng kịch bản init của họ thì hãy tạo một tệp là " +"<filename><replaceable>package</replaceable>.init</filename>. Tuy nhiên nếu kịch bản " +"init của thượng nguồn trông ổn và để đúng vị trí, bạn vẫn cần cài đặt liên kết tượng trưng " +"<filename>rc*</filename>. Để làm điểu này bạn cần phải ghi đè <command>dh_installinit" +"</command> trong tệp <filename>rules</filename> với các dòng sau: " + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"override_dh_installinit:\n" +" dh_installinit --onlyscripts\n" +msgstr "" +"override_dh_installinit:\n" +" dh_installinit --onlyscripts\n" + +#. type: Content of: <book><chapter><section><para> +msgid "If you don't need this, remove the files." +msgstr "Nếu bạn không cần nó, hãy xoá những tệp này." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>install</filename>" +msgstr "<filename>install</filename>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"This replaces the deprecated <citerefentry> <refentrytitle>dh_movefiles</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command which is " +"configured by the <filename>files</filename> file." +msgstr "" +"Tệp này sẽ thay thế lệnh <citerefentry> <refentrytitle>dh_movefiles</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry> không được dùng nữa, được cấu hình bởi tệp " +"<filename>files</filename> ." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If there are files that need to be installed into your package but your " +"standard <literal>make install</literal> won't do it, put the filenames and " +"destinations into this <filename>install</filename> file. They are " +"installed by <citerefentry> <refentrytitle>dh_install</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>.<placeholder type=\"footnote\" id=" +"\"0\"/> You should first check that there is not a more specific tool to " +"use. For example, documents should be in the <filename>docs</filename> file " +"and not in this one." +msgstr "" +"Nếu những tệp tin này cần được cài đặt vào trong gói của bạn nhưng <literal>make install" +"</literal> của bạn sẽ không làm điều đó. Vậy hãy đặt các tên tập tin và đích của nó vào tệp " +"<filename>install</filename> này, chúng sẽ được cài đặt bởi <citerefentry><refentrytitle>" +"dh_install</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." +"<placeholder type=\"footnote\" id=\"0\"/> Bạn nên kiểm tra có hay không cách khác cụ thể hơn " +"để sử dụng trước. Ví dụ, các tài liệu nên đặt ở <filename>docs</filename> chứ không phải " +"trong tệp này." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This <filename>install</filename> file has one line per file installed, with " +"the name of the file (relative to the top build directory) then a space then " +"the installation directory (relative to the install directory). One example " +"of where this is used is if a binary <filename>src/<replaceable>bar</" +"replaceable></filename> is left uninstalled; the <filename>install</" +"filename> file might look like:" +msgstr "" +"Mỗi dòng trong tệp <filename>install</filename> thể hiện cho mỗi tệp được cài đặt, mỗi dòng " +"bắt đầu với tên của tệp nguồn (tương đối với thư mục build) sao đó một dấu cách (phím space) " +"và tiếp theo là vị trí thư mục đích sẽ được cài đặt (tương đối với thư mục cài đặt). Một ví dụ " +"như tệp nhị phân <filename>src/<replaceable>bar</replaceable></filename> muốn cài đặt; " +"tệp <filename>install</filename> trông giống như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "src/<replaceable>bar</replaceable> usr/bin\n" +msgstr "src/<replaceable>bar</replaceable> usr/bin\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This means when this package is installed, there will be an executable " +"command <filename>/usr/bin/<replaceable>bar</replaceable></filename>." +msgstr "" +"Nghĩa là khi gói này được cài đặt, sẽ có một lệnh thực thi ở " +"<filename>/usr/bin/<replaceable>bar</replaceable></filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Alternatively, this <filename>install</filename> can have the name of the " +"file only without the installation directory when the relative directory " +"path does not change. This format is usually used for a large package that " +"splits the output of its build into multiple binary packages using " +"<filename><replaceable>package-1</replaceable>.install</filename>, " +"<filename><replaceable>package-2</replaceable>.install</filename>, etc." +msgstr "" +"Ngoài ra, tệp <filename>install</filename> có thể chứa tên của tệp tin mà không có " +"thư mục đích để cài đặt khi thư mục tương đối không thay đổi. Định dạng này thường " +"được sử dụng cho một gói lớn phân chia đầu ra của gói của nó thành nhiều gói nhị phân " +"bằng cách sử dụng <filename><replaceable>package-1</replaceable>.install</filename>, " +"<filename><replaceable>package-2</replaceable>.install</filename>, vân vân." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <command>dh_install</command> command will fall back to looking in " +"<filename>debian/tmp</filename> for files, if it doesn't find them in the " +"current directory (or wherever you've told it to look using <literal>--" +"sourcedir</literal>)." +msgstr "" +"Lệnh <command>dh_install</command> sẽ tìm laị trong thư mục <filename>debian/tmp</filename>" +", nếu nó không tìm thấy chúng trong thư mục hiện tại, (hoặc bạn đã nói với nó qua tuỳ chọn " +"<literal>--sourcedir</literal>)." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename><replaceable>package</replaceable>.info</filename>" +msgstr "<filename><replaceable>package</replaceable>.info</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your package has info pages, you should install them using <citerefentry> " +"<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> by listing them in a <filename><replaceable>package</" +"replaceable>.info</filename> file." +msgstr "" +"Nếu gói của bạn có các trang thông tin, bạn nên cài chúng bởi <citerefentry> " +"<refentrytitle>dh_installinfo</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " +"bằng cách liệt kê chúng trong tệp <filename><replaceable>package</replaceable>.info</filename>." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename><replaceable>package</replaceable>.links</filename>" +msgstr "<filename><replaceable>package</replaceable>.links</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you need to create additional symlinks in package build directories as " +"package maintainer, you should install them using <citerefentry> " +"<refentrytitle>dh_link</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> by listing their full paths of source and destination files in " +"a <filename><replaceable>package</replaceable>.links</filename> file." +msgstr "" +"Nếu bạn cần tạo các liên kết tượng trưng trong thư mục gói như người bảo trì gói, bạn nên " +"cài chúng bởi <citerefentry> <refentrytitle>dh_link</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry> bằng cách liệt kê đường dẫn đầy đủ " +"của nguồn và đích trong tệp <filename><replaceable>package</replaceable>.links</filename>." + +#. type: Content of: <book><chapter><section><title> +msgid "" +"<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</" +"filename>" +msgstr "" +"<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If <systemitem role=\"package\">lintian</systemitem> reports an erroneous " +"diagnostic for a case where Debian policy allows exceptions to some rule, " +"you can use <filename><replaceable>package</replaceable>.lintian-overrides</" +"filename> or <filename>source/lintian-overrides</filename> to quieten it. " +"Please read the Lintian User's Manual (<filename>&lintian-doc;</filename>) " +"and refrain from abusing this." +msgstr "" +"Nếu chương trình <systemitem role=\"package\">lintian</systemitem> báo có một chuẩn đoán " +"về lỗi cho trường hợp khi Debian policy chấp nhận ngoại lệ cho một số quy tắc, bạn có thể " +"sử dụng tệp <filename><replaceable>package</replaceable>.lintian-overrides</filename> hoặc " +"<filename>source/lintian-overrides</filename> để không còn báo lỗi từ lintian. Vui lòng đọc " +"Lintian User's Manual (<filename>&lintian-doc;</filename>) và tránh lạm dụng điều này." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<filename><replaceable>package</replaceable>.lintian-overrides</filename> is " +"for the binary package named <systemitem role=\"package" +"\"><replaceable>package</replaceable></systemitem> and is installed into " +"<filename>usr/share/lintian/overrides/<replaceable>package</replaceable></" +"filename> by the <command>dh_lintian</command> command." +msgstr "" +"<filename><replaceable>package</replaceable>.lintian-overrides</filename> cho gói nhị phân " +"có tên là <systemitem role=\"package\"><replaceable>package</replaceable></systemitem> " +"và được cài đặt vào <filename>usr/share/lintian/overrides/<replaceable>package</replaceable>" +"</filename> bởi lệnh <command>dh_lintian</command>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<filename>source/lintian-overrides</filename> is for the source package. " +"This is not installed." +msgstr "" +"<filename>source/lintian-overrides</filename> là cho gói nguồn. Nó không phải cho cài đặt." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>manpage.*</filename>" +msgstr "<filename>manpage.*</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Your program(s) should have a manual page. If they don't, you should create " +"them. The <command>dh_make</command> command creates some template files " +"for manual pages. These need to be copied and edited for each command " +"missing its manual page. Please make sure to remove unused templates." +msgstr "" +"Các chương trình của bạn nên có một trang hướng dẫn (manual page). Nếu không có, bạn " +" có thể tạo mới chúng. Lệnh <command>dh_make</command> tạo vài mẫu tệp cho các trang " +"hướng dẫn. Chúng cần được sao chép và chỉnh sửa cho mỗi lệnh thiếu trong trang hưỡng dẫn. " +"Vui lòng đảm bảo xoá các mẫu không sử dụng." + +#. type: Content of: <book><chapter><section><section><title> +msgid "<filename>manpage.1.ex</filename>" +msgstr "<filename>manpage.1.ex</filename>" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"Manual pages are normally written in <citerefentry> <refentrytitle>nroff</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. The " +"<filename>manpage.1.ex</filename> template is written in <command>nroff</" +"command>, too. See the <citerefentry> <refentrytitle>man</refentrytitle> " +"<manvolnum>7</manvolnum> </citerefentry> manual page for a brief description " +"of how to edit such a file." +msgstr "" +"Các trang hướng dẫn thường viết bằng <citerefentry> <refentrytitle>nroff</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Mẫu <filename>manpage.1.ex</" +"filename> cũng được viết bằng <command>nroff</command>. Xem trang hướng dẫn <citerefentry> " +"<refentrytitle>man</refentrytitle> <manvolnum>7</manvolnum> </citerefentry> để biết mô tả ngắn gọn " +"về cách chỉnh sửa tệp đó." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"The final manual page file name should give the name of the program it is " +"documenting, so we will rename it from <literal>manpage</literal> to " +"<literal>gentoo</literal>. The file name also includes <literal>.1</" +"literal> as the first suffix, which means it's a manual page for a user " +"command. Be sure to verify that this section is indeed the correct one. " +"Here's a short list of manual page sections:" +msgstr "" +"Cuối cùng, tên của tệp trang hướng dẫn nên là tên của chương trình mà tệp đó mô tả, " +"vậy chúng ta sẽ đổi tên nó từ <literal>manpage</literal> thành <literal>gentoo</literal>. " +"Tên tệp cũng bao gồm <literal>.1</literal> là đuôi cho loại một, điều đó có nghĩa là một " +"trang hướng dẫn cho lệnh của người dùng. Hãy chắc chắn xác minh rằng mục này chính xác." +"Đây là một danh sách ngắn của các mục:" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> +msgid "Section" +msgstr "Mục" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> +msgid "Description" +msgstr "Mô tả" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry> +msgid "Notes" +msgstr "Ghi chú" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "1" +msgstr "1" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "User commands" +msgstr "Các lệnh người dùng" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Executable commands or scripts" +msgstr "Lệnh hoặc kịch bản thực thi" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "2" +msgstr "2" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "System calls" +msgstr "Lời gọi Hệ thống" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Functions provided by the kernel" +msgstr "Chức năng được cung cấp từ nhân" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "3" +msgstr "3" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Library calls" +msgstr "Lời gọi Thư viện" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Functions within system libraries" +msgstr "Chức năng trong thư viện hệ thống" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "4" +msgstr "4" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Special files" +msgstr "Các tệp đặc biệt" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Usually found in <filename>/dev</filename>" +msgstr "Thường xuyên là tệp tại <filename>/dev</filename>" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "5" +msgstr "5" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "File formats" +msgstr "Định dạng tệp" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "E.g. <filename>/etc/passwd</filename>'s format" +msgstr "Ví dụ định dạng <filename>/etc/passwd</filename>" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "6" +msgstr "6" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Games" +msgstr "Các trò chơi" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Games or other frivolous programs" +msgstr "Trò chơi hoặc chương trình giải trí" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "7" +msgstr "7" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Macro packages" +msgstr "Gói Macro" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Such as <command>man</command> macros" +msgstr "Ví dụ như macros <command>man</command>" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "8" +msgstr "8" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "System administration" +msgstr "Quản trị hệ thống" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Programs typically only run by root" +msgstr "Các chương trình chỉ thực thi bởi root" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "9" +msgstr "9" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Kernel routines" +msgstr "Chương trình của nhân" + +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry> +msgid "Non-standard calls and internals" +msgstr "Các lời gọi không theo chuẩn" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"So <systemitem role=\"package\">gentoo</systemitem>'s man page should be " +"called <filename>gentoo.1</filename>. If there was no <filename>gentoo.1</" +"filename> man page in the original source, you should create it by renaming " +"the <filename>manpage.1.ex</filename> template to <filename>gentoo.1</" +"filename> and editing it using information from the example and from the " +"upstream docs." +msgstr "Vì vậy trang man của <systemitem role=\"package\">gentoo</systemitem> nên được " +"gọi là <filename>gentoo.1</filename>. Nếu không có tệp <filename>gentoo.1</filename> trong " +"thượng nguồn, bạn nên tạo nó bằng cách đổi tên template <filename>manpage.1.ex</filename> " +"thành <filename>gentoo.1</filename> và chỉnh sửa nó bằng cách sử dụng thông tin từ " +"các ví dụ và tài liệu thượng nguồn." + +#. type: Content of: <book><chapter><section><section><para><footnote><para> +msgid "" +"Note that <command>help2man</command>'s placeholder man page will claim that " +"more detailed documentation is available in the info system. If the command " +"is missing an <command>info</command> page, you should manually edit the man " +"page created by the <command>help2man</command> command." +msgstr "" +"Lưu ý rằng lệnh <command>help2man</command>sẽ yêu cầu nhiều tài liệu chi tiết hơn có " +"sẵn trong hệ thống info. Nếu thiếu lệnh này trong trang <command>info</command>, " +"bạn nên tạo nó bằng cách sử dụng lệnh <command>help2man</command>." + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"You can use the <command>help2man</command> command to generate a man page " +"out of the <literal>--help</literal> and <literal>--version</literal> output " +"of each program, too. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Bạn có thể sử dụng lệnh <command>help2man</command> để tạo một manpage mới, help2man" +" sử dụng các dữ liệu từ tuỳ chọn <literal>--help</literal> và <literal>--version</literal> " +"của chương trình để tạo ra manpage. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><section><title> +msgid "<filename>manpage.sgml.ex</filename>" +msgstr "<filename>manpage.sgml.ex</filename>" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"If on the other hand you prefer writing SGML instead of <command>nroff</" +"command>, you can use the <filename>manpage.sgml.ex</filename> template. If " +"you do this, you have to:" +msgstr "" +"Mặt khác, nếu bạn thích viết SGML thay vì <command>nroff</command>, bạn có thể sử dụng tệp mẫu " +"<filename>manpage.sgml.ex</filename>. Nếu bạn làm điều này, bạn phải:" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "rename the file to something like <filename>gentoo.sgml</filename>." +msgstr "đổi tên tệp tin thành <filename>gentoo.sgml</filename>." + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"install the <systemitem role=\"package\">docbook-to-man</systemitem> package" +msgstr "cài đặt gói <systemitem role=\"package\">docbook-to-man</systemitem>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"add <literal>docbook-to-man</literal> to the <literal>Build-Depends</" +"literal> line in the <filename>control</filename> file" +msgstr "" +"thêm <literal>docbook-to-man</literal> vào dòng <literal>Build-Depends</literal> của tệp " +"<filename>control</filename>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"add an <literal>override_dh_auto_build</literal> target to your " +"<filename>rules</filename> file:" +msgstr "" +"thêm mục target <literal>override_dh_auto_build</literal> vào tệp <filename>rules</" +"filename>:" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"override_dh_auto_build:\n" +" docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" +" dh_auto_build\n" +msgstr "" +"override_dh_auto_build:\n" +" docbook-to-man debian/gentoo.sgml > debian/gentoo.1\n" +" dh_auto_build\n" + +#. type: Content of: <book><chapter><section><section><title> +msgid "<filename>manpage.xml.ex</filename>" +msgstr "<filename>manpage.xml.ex</filename>" + +#. type: Content of: <book><chapter><section><section><para> +msgid "" +"If you prefer XML over SGML, you can use the <literal>manpage.xml.ex</" +"literal> template. If you do this, you have to:" +msgstr "" +"Hoặc nếu bạn yêu thích XML hơn là SGML, bạn có thể sử dụng mẫu <literal>manpage.xml.ex</literal> " +". Nếu bạn làm điều này, bạn phải:" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"rename the source file to something like <literal>gentoo.1.xml</literal>" +msgstr "đổi tên thành <literal>gentoo.1.xml</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"install the <systemitem role=\"package\">docbook-xsl</systemitem> package " +"and an XSLT processor like <systemitem role=\"package\">xsltproc</" +"systemitem> (recommended)" +msgstr "" +"cài đặt gói <systemitem role=\"package\">docbook-xsl</systemitem> và một XSLT " +"processor như <systemitem role=\"package\">xsltproc</systemitem> (khuyên dùng)" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para> +msgid "" +"add the <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, and " +"<literal>xsltproc</literal> packages to the <literal>Build-Depends</literal> " +"line in the <literal>control</literal> file" +msgstr "" +"thêm tên các gói <literal>docbook-xsl</literal>, <literal>docbook-xml</literal>, và " +"<literal>xsltproc</literal> vào dòng <literal>Build-Depends</literal> trong tệp " +"<literal>control</literal>" + +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"override_dh_auto_build:\n" +" xsltproc --nonet \\\n" +" --param make.year.ranges 1 \\\n" +" --param make.single.year.ranges 1 \\\n" +" --param man.charmap.use.subset 0 \\\n" +" -o debian/ \\\n" +"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" +" debian/gentoo.1.xml\n" +" dh_auto_build\n" +msgstr "" +"override_dh_auto_build:\n" +" xsltproc --nonet \\\n" +" --param make.year.ranges 1 \\\n" +" --param make.single.year.ranges 1 \\\n" +" --param man.charmap.use.subset 0 \\\n" +" -o debian/ \\\n" +"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\\\n" +" debian/gentoo.1.xml\n" +" dh_auto_build\n" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename><replaceable>package</replaceable>.manpages</filename>" +msgstr "<filename><replaceable>package</replaceable>.manpages</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your package has manual pages, you should install them using " +"<citerefentry> <refentrytitle>dh_installman</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> by listing them in a " +"<filename><replaceable>package</replaceable>.manpages</filename> file." +msgstr "" +"Nếu gói của bạn có các trang hướng dẫn, bạn nên cài đặt chúng bởi <citerefentry> " +"<refentrytitle>dh_installman</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " +"bằng cách liệt kê chúng trong tệp <filename><replaceable>package</replaceable>.manpages</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"To install <filename>docs/gentoo.1</filename> as a manpage for the " +"<systemitem role=\"package\">gentoo</systemitem> package, create a " +"<filename>gentoo.manpages</filename> file as follows:" +msgstr "" +"Để cài đặt <filename>docs/gentoo.1</filename> như một tệp manpage cho gói <systemitem role=" +"\"package\">gentoo</systemitem>, hãy tạo tệp <filename>gentoo.manpages</filename> như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "docs/gentoo.1\n" +msgstr "docs/gentoo.1\n" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>NEWS</filename>" +msgstr "<filename>NEWS</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry> command installs this." +msgstr "" +"Lệnh <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> sẽ cài đặt điều này." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>{pre,post}{inst,rm}</filename>" +msgstr "<filename>{pre,post}{inst,rm}</filename>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Despite this use of the <command>bash</command> shorthand expression " +"<filename>{pre,post}{inst,rm}</filename> to indicate these filenames, you " +"should use pure POSIX syntax for these maintainer scripts for compatibility " +"with <command>dash</command> as the system shell." +msgstr "" +"Mặc dù việc sử dụng biểu thức viết tắt <command>bash</command> <filename>{pre," +"post}{inst,rm}</filename> để chỉ ra các tệp này, bạn nên sử dụng cú pháp POSIX cho " +"các maintainer scripts tương thích với dash như trình shell của hệ thống" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"These <filename>postinst</filename>, <filename>preinst</filename>, " +"<filename>postrm</filename>, and <filename>prerm</filename> files " +"<placeholder type=\"footnote\" id=\"0\"/> are called <emphasis>maintainer " +"scripts</emphasis>. They are scripts which are put in the control area of " +"the package and run by <command>dpkg</command> when your package is " +"installed, upgraded, or removed." +msgstr "" +"Các tệp <filename>postinst</filename>, <filename>preinst</filename>, " +"<filename>postrm</filename> và <filename>prerm</filename> <placeholder type=\"footnote\" " +"id=\"0\"/> được gọi là <emphasis>maintainer scripts</emphasis>. Chúng là các kịch bản " +"được đặt trong vùng điều khiển của gói và sẽ được chạy bởi <command>dpkg</command> khi " +"gói của bạn được cài đặt, nâng cấp hoặc xóa." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"As a novice maintainer, you should avoid any manual editing of maintainer " +"scripts because they are problematic. For more information refer to the " +"<ulink url=\"&policy-mantainerscripts;\">Debian Policy Manual, 6 \"Package " +"maintainer scripts and installation procedure\"</ulink>, and take a look at " +"the example files provided by <command>dh_make</command>." +msgstr "" +"Là một chuyên gia bảo trì, bạn nên tránh bất kỳ chỉnh sửa thủ công các tập lệnh bảo trì " +"vì chúng dễ xảy ra vấn đề. Để biết thêm thông tin, hãy tham khảo <ulink url=\"&policy-" +"mantainerscripts;\">Debian Policy Manual, 6 \"Package maintainer scripts and " +"installation procedure\"</ulink>, và xem các tệp ví dụ được cung cấp bởi " +"<command>dh_make</command>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you did not listen to me and have created custom maintainer scripts for a " +"package, you should make sure to test them not only for <emphasis role=" +"\"strong\">install</emphasis> and <emphasis role=\"strong\">upgrade</" +"emphasis> but also for <emphasis role=\"strong\">remove</emphasis> and " +"<emphasis role=\"strong\">purge</emphasis>." +msgstr "" +"Nếu bạn không lắng nghe tôi và đã tạo ra tập lệnh bảo trì tuỳ chỉnh cho một gói, bạn " +"nên chắc chắn kiểm tra chúng không chỉ với <emphasis role=\"strong\">install</" +"emphasis> và <emphasis role=\"strong\">upgrade</emphasis> mà còn <emphasis role=" +"\"strong\">remove</emphasis> và <emphasis role=\"strong\">purge</emphasis>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Upgrades to the new version should be silent and non-intrusive (existing " +"users should not notice the upgrade except by discovering that old bugs have " +"been fixed and perhaps that there are new features)." +msgstr "" +"Nâng cấp lên phiên bản mới nên silent (lặng lẽ, ổn định) và không phá vỡ (để các " +"người dùng không cần chú ý nâng cấp ngoại trừ việc phát hiện ra rằng lỗi cũ đã được khắc " +"phục và có thể có các tính năng mới)." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"When the upgrade is necessarily intrusive (eg., config files scattered " +"through various home directories with totally different structure), you may " +"consider as the last resort switching the package to a safe fallback state " +"(e.g., disabling a service) and providing the proper documentation required " +"by policy (<filename>README.Debian</filename> and <filename>NEWS.Debian</" +"filename>). Don't bother the user with <command>debconf</command> notes " +"invoked from these maintainer scripts for upgrades." +msgstr "" +"Khi sự nâng cấp cần thiết việc xâm nhập (ví dụ: các tập tin cấu hình rải rác thông qua các " +"thư mục chính của người dùng với cấu trúc hoàn toàn khác), và bạn có thể coi đây là phương " +"án cuối cùng để chuyển gói sang trạng thái dự phòng an toàn (ví dụ như vô hiệu hóa dịch vụ) " +"và cung cấp tài liệu thích hợp theo yêu cầu của chính sách (<filename>README.Debian" +"</filename> và <filename>NEWS.Debian</filename>). Đừng làm phiền người dùng " +"với các câu hỏi <command>debconf</command> được gọi từ các tập lệnh bảo trì " +"để nâng cấp." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <systemitem role=\"package\">ucf</systemitem> package provides a " +"<emphasis>conffile-like</emphasis> handling infrastructure to preserve user " +"changes for files that may not be labeled as <emphasis>conffiles</emphasis> " +"such as those managed by the maintainer scripts. This should minimize " +"issues associated with them." +msgstr "" +"Gói <systemitem role=\"package\">ucf</systemitem> cung cấp <emphasis>conffile-" +"like</emphasis> xử lý hạ tầng để ngăn người dùng thay đổi các tệp mà không được " +"gắn nhãn <emphasis>conffiles</emphasis> chẳng hạn như những tài liệu được quản " +"lý bởi các kịch bản bảo trì. Điều này sẽ giảm thiếu các vấn đề phát sinh." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"These maintainer scripts are among the Debian enhancements that explain " +"<emphasis role=\"strong\">why people choose Debian</emphasis>. You must be " +"very careful not to turn them into a source of annoyance." +msgstr "" +"Các kịch bản bảo trì nằm trong số các cải tiến Debian nhằm giải thích " +"<emphasis role=\"strong\">tại sao mọi người chọn Debian</emphasis>. " +"Bạn phải thật cẩn thận để không biết chúng thành nguồn gây phiền toái." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename><replaceable>package</replaceable>.symbols</filename>" +msgstr "<filename><replaceable>package</replaceable>.symbols</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Packaging of a library is not easy for a novice maintainer and should be " +"avoided. Having said it, if your package has libraries, you should have " +"<filename>debian/<replaceable>package</replaceable>.symbols</filename> " +"files. See <xref linkend=\"librarysymbols\"/>." +msgstr "" +"Việc đóng gói một thư viện là không dễ dàng cho người bảo trì mới làm quen và " +"nên tránh. Còn nếu gói của bạn có các thử viện, bạn nên có tệp <filename>debian/" +"<replaceable>package</replaceable>.symbols</filename>. Xem <xref linkend=" +"\"librarysymbols\"/>." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>TODO</filename>" +msgstr "<filename>TODO</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry> command installs this." +msgstr "" +"Lệnh <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> cài đặt tệp này." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>watch</filename>" +msgstr "<filename>watch</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <filename>watch</filename> file format is documented in the " +"<citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> " +"</citerefentry> manpage. The <filename>watch</filename> file configures the " +"<command>uscan</command> program (in the <systemitem role=\"package" +"\">devscripts</systemitem> package) to watch the site where you originally " +"got the source. This is also used by the <ulink url=\"&debtrack;\">Debian " +"Package Tracker</ulink> service." +msgstr "" +"Định dạng tệp <filename>watch</filename> là tài liệu <citerefentry> " +"<refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. " +"Tệp <filename>watch</filename> cấu hình chương trình <command>uscan</command> (có trong " +"gói <systemitem role=\"package\">devscripts</systemitem>) để theo dõi trang web mà bạn " +"lấy nguồn. Nó cũng được sử dụng bởi dịch vụ <ulink url=\"&debtrack;\">Debian " +"Package Tracker</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "Here are its contents:" +msgstr "Đây là nội dung của nó:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"# watch control file for uscan\n" +"version=3\n" +"&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" +msgstr "" +"# watch control file for uscan\n" +"version=3\n" +"&sf-net;/gentoo/gentoo-(.+)\\.tar\\.gz debian uupdate\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Normally with a <filename>watch</filename> file, the URL at <literal>&sf-" +"net;/gentoo</literal> is downloaded and searched for links of the form " +"<literal><a href=...></literal>. The basename (just the part after " +"the final <literal>/</literal>) of each linked URL is compared against the " +"Perl regular expression pattern (see <citerefentry> <refentrytitle>perlre</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>) <literal>gentoo-(." +"+)\\.tar\\.gz</literal>. Out of the files that match, the one with the " +"greatest version number is downloaded and the <command>uupdate</command> " +"program is run to create an updated source tree." +msgstr "" +"Thông thường với một tệp <filename>watch</filename>, đường dẫn URL tại <literal>&sf-net;" +"/gentoo</literal> được tải về và tìm kiểm cho các liên kết theo biểu mẫu <literal><a href=...></" +"literal>. Tên (phần phía sau của đường dẫn <literal>/</literal>) của mỗi liên kết URL " +"được so sánh với mẫu biểu thức chính quy Perl (xem <citerefentry> <refentrytitle>perlre" +"</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>)" +"<literal>gentoo-(.+)\\.tar\\.gz</literal>. Trong số các tệp phù hợp, tệp được" +"tải xuống có số phiên bản lớn nhất và chương trình <command>uupdate</command>" +"được chạy để tạo một bản nguồn đã được cập nhật." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Although this is true for other sites, the SourceForge download service at " +"<ulink url=\"&sf-net;\"/> is an exception. When the <filename>watch</" +"filename> file has a URL matching the Perl regexp <literal>^http://sf\\.net/" +"</literal>, the <command>uscan</command> program replaces it with " +"<literal>&qa-do;watch/sf.php/</literal> and then applies this rule. The URL " +"redirector service at <ulink url=\"&qa-do;\"/> is designed to offer a stable " +"redirect service to the desired file for any <filename>watch</filename> " +"pattern of the form <literal>&sf-net;/<replaceable>project</replaceable>/" +"<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. This solves " +"issues related to periodically changing SourceForge URLs." +msgstr "" +"Mặc dù điều này là đúng cho vài trang web, dịch vụ tải của SourceForge tại <ulink url=" +"\"&sf-net;\"/> là một ngoại lệ. Khi tệp <filename>watch</filename> chứa một đường dẫn " +"URL khớp với biểu thức chính quy Perl <literal>^http://sf\\.net/</literal>, chương trình " +"<command>uscan</command> thay thế nó với <literal>&qa-do;watch/sf.php/</literal> và sau " +"đó áp dụng quy tắc này. Dịch vụ chuyển hướng URL tại <ulink url=\"&qa-do;\"/> được thiết kế " +" để cung cấp dịch vụ ổn định đến tệp mong muốn với bất kỳ <filename>watch</" +"filename> mẫu biểu thức <literal>&sf-net;/<replaceable>project</replaceable>/" +"<replaceable>tar-name</replaceable>-(.+)\\.tar\\.gz</literal>. Điều này giải quyết " +"các vấn đề liên quan đế thay đổi định kỳ các đường dẫn SourceForge." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If the upstream offers the cryptographic signature of the tarball, it is " +"recommended to verify its authenticity using the <literal>pgpsigurlmangle</" +"literal> option as described in <citerefentry> <refentrytitle>uscan</" +"refentrytitle><manvolnum>1</manvolnum> </citerefentry>." +msgstr "" +"Nếu thượng nguồn cung cấp chữ ký mật mã của tarball, bạn nên xác minh tính xác " +"thực của nó bằng cách sử dụng tùy chọn <literal>pgpsigurlmangle</literal> như " +"mô tả trong <citerefentry>" +"<refentrytitle>uscan</refentrytitle><manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>source/format</filename>" +msgstr "<filename>source/format</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"In the <filename>debian/source/format</filename> file, there should be a " +"single line indicating the desired format for the source package (check " +"<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> for an exhaustive list). After <literal>squeeze</" +"literal>, it should say either:" +msgstr "" +"Trong tệp <filename>debian/source/format</filename>, nên có một dòng chỉ định " +"định dạng mong muốn cho gói nguồn (kiểm tra <citerefentry>" +"<refentrytitle>dpkg-source</refentrytitle>> <manvolnum>1</manvolnum>" +"</citerefentry> để có danh sách đầy đủ). Sau phiên bản <literal>squeeze</literal>, " +"cần chỉ ra rằng:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>3.0 (native)</literal> for native Debian packages or" +msgstr "<literal>3.0 (native)</literal> cho các gói Debian native hoặc" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>3.0 (quilt)</literal> for everything else." +msgstr "<literal>3.0 (quilt)</literal> cho mọi thứ khác." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> for a summary on the switch " +"to the new <literal>3.0 (quilt)</literal> and <literal>3.0 (native)</" +"literal> source formats." +msgstr "" +"Xem <ulink url=\"&debsrc3;\">DebSrc3.0</ulink> để biết tổng quan việc chuyển đổi sang " +"các địng dạng mã nguồn mới <literal>3.0 (quilt)</literal> and <literal>3.0 (native)" +"</literal>." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Actually, this new format also supports multiple upstream tarballs and more " +"compression methods. These are beyond the scope of this document." +msgstr "" +"Trên thực tế, định dạng mới này cũng hỗ trợ nhiều tarballs thượng nguồn và các phương " +"pháp nén khác. Những điều này nằm ngoài phạm vi của tài liệu này." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The newer <literal>3.0 (quilt)</literal> source format records modifications " +"in a <command>quilt</command> patch series within <filename>debian/patches</" +"filename>. Those changes are then automatically applied during extraction " +"of the source package. <placeholder type=\"footnote\" id=\"0\"/> The Debian " +"modifications are simply stored in a <filename>debian.tar.gz</filename> " +"archive containing all files under the <filename>debian</filename> " +"directory. This new format supports inclusion of binary files such as PNG " +"icons by the package maintainer without requiring tricks. <placeholder type=" +"\"footnote\" id=\"1\"/>" +msgstr "" +"Định dạng <literal>3.0 (quilt)</literal> mới sẽ ghi lại các sửa đổi trong một " +"loạt bản vá lỗi <command>quilt</command> trong thư mục <filename>debian/patches " +"</filename>. Những thay đổi này sau đó sẽ tự động được áp dụng trong quá trình " +"giải nén gói nguồn. <placeholder type=\"footnote\" id=\"0\"/> Các sửa đổi " +"Debian chỉ đơn giản được lưu trữ trong kho lưu trữ " +"<filename>debian.tar.gz</filename> chứa tất cả các tệp tin trong thư mục " +"<filename>debian</filename>. Định dạng mới này hỗ trợ đưa các tệp tin nhị phân " +"như các biểu tượng PNG của người bảo trì gói mà không yêu cầu thủ " +"thuật. <placeholder type=\"footnote\" id=\"1\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"When <command>dpkg-source</command> extracts a source package in " +"<literal>3.0 (quilt)</literal> source format, it automatically applies all " +"patches listed in <filename>debian/patches/series</filename>. You can avoid " +"applying patches at the end of the extraction with the <literal>--skip-" +"patches</literal> option." +msgstr "" +"Khi <command> dpkg-source </command> giải nén một gói nguồn trong định dạng " +"nguồn <literal>3.0 (quilt)</literal>, nó sẽ tự động áp dụng tất cả các bản vá " +"được liệt kê trong <filename>debian patches/series</filename>. Bạn " +"có thể bỏ qua việc áp dụng các bản vá ở cuối quá trình giải nén với tùy chọn " +"<literal>--skip-patches</literal>." + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>source/local-options</filename>" +msgstr "<filename>source/local-options</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"When you want to manage Debian packaging activities under a VCS, you " +"typically create one branch (e.g., <literal>upstream</literal>) tracking the " +"upstream source and another branch (e.g., typically <literal>master</" +"literal> for Git) tracking the Debian package. For the latter, you usually " +"want to have unpatched upstream source with your <filename>debian/*</" +"filename> files for the Debian packaging to ease merging of the new upstream " +"source." +msgstr "" +"Khi bạn muốn quản lý các hoạt động đóng gói Debian bằng VCS, bạn thường tạo một " +"nhánh (ví dụ. <literal>upstream</literal>) để theo dõi thượng nguồn và một " +"nhánh khác (thường là <literal>master</literal> đối với Git) để theo dõi gói " +"Debian. Đối với trường hợp thứ hai, bạn thường xuyên muốn có thượng nguồn chưa " +"được vá lỗi với các tệp của bạn <filename>debian/*</filename> để dễ dàng hợp " +"nhất với mã nguồn mới của thượng nguồn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"After you build a package, the source is normally left patched. You need to " +"unpatch it manually by running <literal>dquilt pop -a</literal> before " +"committing to the <literal>master</literal> branch. You can automate this " +"by adding the optional <filename>debian/source/local-options</filename> file " +"containing <literal>unapply-patches</literal>. This file is not included in " +"the generated source package and changes the local build behavior only. " +"This file may contain <literal>abort-on-upstream-changes</literal>, too (see " +"<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>)." +msgstr "" +"Sau khi bạn xây dựng một gói, nguồn thường đã được vá. Bạn cần phải " +"gỡ vá bằng tay bằng cách chạy <literal>dquilt pop -a</literal> trước " +"khi đẩy hết vào nhánh <literal>master</literal>. Bạn có thể tự động " +"hóa việc này bằng cách thêm tệp tin tuỳ chọn " +"<filename>debian/source/local-options</filename> để chứa các " +"<literal>unapply-patches</literal>. Tệp này không được bao gồm trong " +"gói nguồn đã tạo và chỉ thay đổi hành vi xây dựng cục bộ. Tệp này có " +"thể chứa <literal>abort-on-upstream-changes</literal>, (xem thêm " +"<citerefentry> <refentrytitle> dpkg-source </refentrytitle> " +"<manvolnum> 1 </manvolnum> </citerefentry>)." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"unapply-patches\n" +"abort-on-upstream-changes\n" +msgstr "" +"unapply-patches\n" +"abort-on-upstream-changes\n" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>source/options</filename>" +msgstr "<filename>source/options</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The autogenerated files in the source tree can be quite annoying for " +"packaging since they generate meaningless large patch files. There are " +"custom modules such as <command>dh_autoreconf</command> to ease this problem " +"as described in <xref linkend=\"customrules\"/>." +msgstr "" +"Các tệp được tự động sinh trong cây nguồn có thể gây khó chịu cho " +"đóng gói vì chúng tạo ra các tệp vá lỗi không có ý nghĩa. Có các mô " +"đun tùy chỉnh như <command>dh_autoreconf</command> nhằm giải quyết " +"các vấn đề này như mô tả trong <xref linkend=\"customrules\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can provide a Perl regular expression to the <literal>--extend-diff-" +"ignore</literal> option argument of <citerefentry> <refentrytitle>dpkg-" +"source</refentrytitle><manvolnum>1</manvolnum> </citerefentry> to ignore " +"changes made to the autogenerated files while creating the source package." +msgstr "" +"Bạn có thể cung cấp một biểu thức chính quy Perl là đối số của tùy chọn " +"<literal>--extend-diff-ignore</literal> khi chạy <citerefentry> " +"<refentrytitle> dpkg-source </refentrytitle><manvolnum>1</manvolnum> " +"</citerefentry> để bỏ qua các thay đổi được thực hiện đối với các tệp " +"được tạo tự động trong khi tạo gói nguồn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"As a general solution to address this problem of the autogenerated files, " +"you can store such a <command>dpkg-source</command> option argument in the " +"<filename>source/options</filename> file of the source package. The " +"following will skip creating patch files for <filename>config.sub</" +"filename>, <filename>config.guess</filename>, and <filename>Makefile</" +"filename>." +msgstr "" +"Như một giải pháp chung để giải quyết vấn đề của các tệp tự động tạo " +"mới, bạn có thể lưu trữ một đối số tùy chọn " +"<command>dpkg-source</command> trong tệp tin <filename>source/options " +"</filename>. Ví dụ sau sẽ bỏ qua việc tạo tệp vá cho " +"<filename>config.sub</filename>, <filename>config.guess</filename> và " +"<filename>Makefile</filename>." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" +msgstr "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n" + +#. type: Content of: <book><chapter><section><title> +msgid "<filename>patches/*</filename>" +msgstr "<filename>patches/*</filename>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The old <literal>1.0</literal> source format created a single large " +"<filename>diff.gz</filename> file containing package maintenance files in " +"<filename>debian</filename> and patch files for the source. Such a package " +"is a bit cumbersome to inspect and understand for each source tree " +"modification later. This is not so nice." +msgstr "" +"Định dạng nguồn cũ <literal>1.0</literal> tạo một tệp " +"<filename>diff.gz</filename> duy nhất có chứa tệp bảo trì gói trong " +"<filename>debian</filename> và các tệp vá cho nguồn. Một gói như vậy hơi rườm " +"rà để kiểm tra và hiểu cho mỗi thay đổi cây nguồn sau đó. Vì thế đây không phải " +"định dạng tốt." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Several methods of patch set maintenance have been proposed and are in use " +"for Debian packages. The <command>quilt</command> system is the preferred " +"maintenance system in use. Others include <command>dpatch</command>, " +"<command>dbs</command>, and <command>cdbs</command>. Many of these keep " +"such patches as <filename>debian/patches/*</filename> files." +msgstr "" +"Một số phương pháp bảo trì bộ vá đã được đề xuất và đang được sử dụng cho các " +"gói Debian. Hệ thống <command>quilt</command> là hệ thống bảo trì được ưa " +"thích sử dụng. Các hệ thống khác bao gồm <command>dpatch</command>, " +"<command>dbs</command>, và <command>cdbs</command>. Nhiều trong số này giữ các " +"bản vá như các tệp tin <filename>debian/patches/*</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The newer <literal>3.0 (quilt)</literal> source format stores patches in " +"<filename>debian/patches/*</filename> files using the <command>quilt</" +"command> command. These patches and other package data which are all " +"contained under the <filename>debian</filename> directory are packaged as " +"the <filename>debian.tar.gz</filename> file. Since the <command>dpkg-" +"source</command> command can handle <command>quilt</command> formatted patch " +"data in the <literal>3.0 (quilt)</literal> source without the <systemitem " +"role=\"package\">quilt</systemitem> package, it does not need a " +"<literal>Build-Depends</literal> on <systemitem role=\"package\">quilt</" +"systemitem>. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Định dạng mới <literal>3.0 (quilt)</literal> sẽ lưu các bản vá lỗi vào các tệp " +"<filename>debian/patches/*</filename> bằng cách sử dụng công cụ " +"<command>quilt</command>. Các bản vá này và các dữ liệu gói khác nằm trong thư " +"mục <filename>debian</filename> được đóng gói dưới dạng tệp " +"<filename>debian.tar.gz</filename>. Do lệnh <command>dpkg-source</command> có " +"thể xử lý dữ liệu vá lỗi định dạng của <command>quilt</command> trong định dạng " +"<literal> 3.0 (quilt) </literal> mà không cần tới gói <systemitem " +"role=\"package\">quilt</systemitem>, nó không cần <systemitem role=\"package\"> " +"quilt </systemitem> ở trong mục <literal>Build-Depends</literal>. <placeholder " +"type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"If you are asking a sponsor to upload your package, this kind of clear " +"separation and documentation of your changes is very important to expedite " +"the package review by your sponsor." +msgstr "" +"Nếu bạn đang yêu cầu một nhà tài trợ để tải lên gói của bạn, cầm làm rõ ràng và " +"viết tài liệu của những thay đổi của bạn là rất quan trọng để tiến hành xem xét " +"gói bởi nhà tài trợ." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <command>quilt</command> command is explained in <citerefentry> " +"<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>. It records modifications to the source as a stack of " +"<literal>-p1</literal> patch files in the <filename>debian/patches</" +"filename> directory and the source tree is untouched outside of the " +"<filename>debian</filename> directory. The order of these patches is " +"recorded in the <filename>debian/patches/series</filename> file. You can " +"apply (=push), un-apply (=pop), and refresh patches easily. <placeholder " +"type=\"footnote\" id=\"0\"/>" +msgstr "" +"Lệnh <command>quilt</command> được giải thích trong <citerefentry> " +"<refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Nó " +"ghi chép lại các thay đổi của mã nguồn và tạo thành các bản vá <literal>-p1</literal> " +"trong thư mục <filename>debian/patches</filename> và cây mã nguồn không bị ảnh hưởng " +"ngoại trừ thư mục <filename>debian</filename>. Trình tự áp dụng bản vá được ghi lại tại " +"tệp <filename>debian/patches/series</filename>. Bạn có thể áp dụng " +"(=push), un-apply (=pop), và làm mới một các dễ dàng. <placeholder type=\"footnote\" " +"id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/" +"patches</filename>." +msgstr "" +"Đối với <xref linkend=\"modify\"/>, chúng tôi đã tạo ba bản vá lỗi trong <filename>" +"debian/patches</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Since Debian patches are located in <filename>debian/patches</filename>, " +"please make sure to set up the <command>dquilt</command> command properly as " +"described in <xref linkend=\"quiltrc\"/>." +msgstr "" +"Vì các bản vá lỗi của Debian được đặt trong <filename>debian/patches</filename>, " +"hãy đảm bảo thiết lập lệnh <command>dquilt</command> đúng như mô tả trong " +"<xref linkend=\"quiltrc\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"When anyone (including yourself) provides a patch " +"<filename><replaceable>foo</replaceable>.patch</filename> to the source " +"later, modifying a <literal>3.0 (quilt)</literal> source package is quite " +"simple:" +msgstr "" +"Khi mọi người (kể cả bạn) cung cấp một bản vá lỗi mới " +"<filename><replaceable>foo</replaceable>.patch</filename> cho mã nguồn, áp dụng " +"cho mã nguồn định dạng gói nguồn <filename>3.0 (quilt)</filename> khá đơn giản:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ dpkg-source -x gentoo_0.9.12.dsc\n" +"$ cd gentoo-0.9.12\n" +"$ dquilt import ../<replaceable>foo</replaceable>.patch\n" +"$ dquilt push\n" +"$ dquilt refresh\n" +"$ dquilt header -e\n" +"... describe patch\n" +msgstr "" +"$ dpkg-source -x gentoo_0.9.12.dsc\n" +"$ cd gentoo-0.9.12\n" +"$ dquilt import ../<replaceable>foo</replaceable>.patch\n" +"$ dquilt push\n" +"$ dquilt refresh\n" +"$ dquilt header -e\n" +"... describe patch\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The patches stored in the newer <literal>3.0 (quilt)</literal> source format " +"must be <emphasis>fuzz</emphasis> free. You can ensure this with " +"<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." +msgstr "" +"Các bản vá được lưu trữ trong phiên bản mới <literal>3.0 (quilt)</literal> phải " +"là <emphasis> fuzz </emphasis> tự do. Bạn có thể đảm bảo điều này với " +"<literal>dquilt pop -a; while dquilt push; do dquilt refresh; done</literal>." + +#. type: Content of: <book><chapter><title> +msgid "Building the package" +msgstr "Biên dịch gói" + +#. type: Content of: <book><chapter><para> +msgid "We should now be ready to build the package." +msgstr "Bây giờ chúng ta xem như đã sẵn sàng để biên dịch gói." + +#. type: Content of: <book><chapter><section><title> +msgid "Complete (re)build" +msgstr "(Tái) biên dịch toàn bộ" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"In order to perform a complete (re)build of a package properly, you need to " +"make sure you have installed" +msgstr "" +"Để có thể (tái) biên dịch toàn bộ gói một cách đúng đắn, bạn cần phải đảm bảo là bạn đã " +"cài đặt" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "the <systemitem role=\"package\">build-essential</systemitem> package," +msgstr "gói <systemitem role=\"package\">build-essential</systemitem>," + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"packages listed in the <literal>Build-Depends</literal> field (see <xref " +"linkend=\"control\"/>), and" +msgstr "" +"các gói liệt kê ở trong mục <literal>Build-Depends</literal> (xem <xref linkend=" +"\"control\"/>), và" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"packages listed in the <literal>Build-Depends-indep</literal> field (see " +"<xref linkend=\"control\"/>)." +msgstr "" +"các gói được liệt kê trong mục <literal>Build-Depends-indep</literal> (see <xref " +"linkend=\"control\"/>)." + +#. type: Content of: <book><chapter><section><para> +msgid "Then you issue the following command in the source directory:" +msgstr "Sau đó bạn thực thi lệnh sau ở trong thư mục nguồn:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ dpkg-buildpackage -us -uc\n" +msgstr "$ dpkg-buildpackage -us -uc\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This will do everything to make full binary and source packages for you. It " +"will:" +msgstr "" +"Lệnh này sẽ làm hết tất cả những thứ cần thiết để tạo gói nhị phân và nguồn hoàn chỉnh " +"cho bạn. Nó sẽ" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "clean the source tree (<literal>debian/rules clean</literal>)" +msgstr "xóa sạch cây thư mục nguồn (<literal>debian/rules clean</literal>)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "build the source package (<literal>dpkg-source -b</literal>)" +msgstr "biên dịch gói nguồn (<literal>dpkg-source -b</literal>)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "build the program (<literal>debian/rules build</literal>)" +msgstr "biên dịch chương trình (<literal>debian/rules build</literal>)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)" +msgstr "biên dịch gói nhị phân (<literal>fakeroot debian/rules binary</literal>)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "make the <filename>.dsc</filename> file" +msgstr "tạo tập tin <filename>.dsc</filename>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"make the <filename>.changes</filename> file, using <command>dpkg-genchanges</" +"command>" +msgstr "" +"tạo tập tin <filename>.changes</filename>, dùng lệnh <command>dpkg-genchanges</command>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"This GPG key must be signed by a Debian developer to get connected to the " +"web of trust and must be registered to <ulink url=\"&keyring;\">the Debian " +"keyring</ulink>. This enables your uploaded packages to be accepted to the " +"Debian archives. See <ulink url=\"&keycreate;\">Creating a new GPG key</" +"ulink> and <ulink url=\"&keysigning; \">Debian Wiki on Keysigning</ulink>." +msgstr "" +"Mã GPG này phải được ký tên bởi một nhà phát triển Debian để có thể được kết nối " +"tới mạng lưới tín nhiệm và phải được đăng ký vào <ulink url=\"&keyring;\">tập hợp mã tin " +"cậy của Debian</ulink>. Điều này cho phép các gói bạn tải lên được chấp nhận vào kho " +"của Debian. Xem <ulink url=\"&keycreate;\">Tạo một mã GPG mới</ulink> và <ulink url=" +"\"&keysigning; \">Debian Wiki về Ký tên lên mã</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If the build result is satisfactory, sign the <filename>.dsc</filename> and " +"<filename>.changes</filename> files with your private GPG key using the " +"<command>debsign</command> command. You need to enter your secret pass " +"phrase, twice. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Nếu kết quả biên dịch đạt mức thỏa mãn yêu cầu, kí tên các tập tin <filename>.dsc</" +"filename> và <filename>.changes</filename> dùng mã GPG riêng tư của bạn bằng lệnh " +"<command>debsign</command>. Bạn cần phải nhập mật mã, hai lần. <placeholder type=" +"\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For a non-native Debian package, e.g., <systemitem role=\"package\">gentoo</" +"systemitem>, you will see the following files in the parent directory " +"(<filename>~/gentoo</filename>) after building packages:" +msgstr "" +"Đối với một gói không đến từ Debian, ví dụ như <systemitem role=\"package\">gentoo</" +"systemitem>, bạn sẽ thấy những tập tin sau trong thư mục cấp trên (<filename>~/gentoo</" +"filename>) sau khi biên dịch các gói xong:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>" +msgstr "<filename>gentoo_0.9.12.orig.tar.gz</filename>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"This is the original upstream source code tarball, merely renamed to the " +"above so that it adheres to the Debian standard. Note that this was created " +"initially by the command <literal>dh_make -f ../gentoo-0.9.12.tar.gz</" +"literal>." +msgstr "" +"Đây là tập tin nén chứa mã nguồn nguyên gốc từ các nhà phát triển, chỉ được đổi tên về " +"tên như trên để tuân thủ theo quy định của Debian. Chú ý rằng tập tin trên được tạo " +"trước tiên bởi lệnh <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<filename>gentoo_0.9.12-1.dsc</filename>" +msgstr "<filename>gentoo_0.9.12-1.dsc</filename>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"This is a summary of the contents of the source code. The file is generated " +"from your <filename>control</filename> file, and is used when unpacking the " +"source with <citerefentry> <refentrytitle>dpkg-source</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>." +msgstr "" +"Đây là tóm tắt nội dung của mã nguồn. Tập tin này được tạo ra từ tập tin " +"<filename>control</filename>, và nó được sử dụng khi giải nén mã nguồn bằng lệnh " +"<citerefentry> <refentrytitle>dpkg-source</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" +msgstr "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"This compressed tarball contains your <filename>debian</filename> directory " +"contents. Each and every addition you made to the original source code is " +"stored as a <command>quilt</command> patch in <filename>debian/patches</" +"filename>." +msgstr "" +"Tập tin nén này chứa các nội dung trong thư mục <filename>debian</filename>. Mỗi điều " +"chỉnh bạn thêm vào mã nguồn ban đầu được lưu ở dạng một bản vá <command>quilt</command> " +"trong <filename>debian/patches</filename>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"You can avoid applying <command>quilt</command> patches in the <literal>3.0 " +"(quilt)</literal> source format at the end of the extraction with the " +"<literal>--skip-patches</literal> option. Alternatively, you can run " +"<literal>dquilt pop -a</literal> after normal operation." +msgstr "" +"Bạn có thể tránh việc áp dụng các bản vá <command>quilt</command> dưới định dạng nguồn " +"<literal>3.0 (quilt)</literal> khi kết thúc việc giải nén với tham số <literal>--skip-patches</" +"literal>. Một lựa chọn khác là bạn có thể chạy lệnh <literal>dquilt pop -a</literal> " +"sau khi làm xong các thao tác thông thường." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If someone else wants to re-create your package from scratch, they can " +"easily do so using the above three files. The extraction procedure is " +"trivial: just copy the three files somewhere else and run <literal>dpkg-" +"source -x gentoo_0.9.12-1.dsc</literal>. <placeholder type=\"footnote\" id=" +"\"0\"/>" +msgstr "" +"Nếu bất cứ ai muốn tự tạo gói từ đầu, họ có thể làm thế bằng việc sử dung ba tập tin " +"phía trên. Quy trình giải nén thì khá dễ dàng: chỉ cần sao chép ba tập tin đến một nơi " +"khác và chạy lệnh <literal>dpkg-source -x gentoo_0.9.12-1.dsc</literal>. <placeholder " +"type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>" +msgstr "<filename>gentoo_0.9.12-1_i386.deb</filename>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"This is your completed binary package. You can use <command>dpkg</command> " +"to install and remove this just like any other package." +msgstr "" +"Đây là gói nhị phân hoàn chỉnh của bạn. Bạn có thể dùng lệnh <command>dpkg</command> " +"để cài đặt và tháo gỡ gói nhị phân này như những gói khác." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>" +msgstr "<filename>gentoo_0.9.12-1_i386.changes</filename>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"This file describes all the changes made in the current package revision; it " +"is used by the Debian FTP archive maintenance programs to install the binary " +"and source packages. It is partly generated from the <filename>changelog</" +"filename> file and the <filename>.dsc</filename> file." +msgstr "" +"Tập tin này mô tả tất cả những thay đổi trong phiên bản hiện thời của gói; nó được dùng " +"bởi các chương trình bảo trì kho FTP của Debian để cài đặt các gói nhị phân và gói " +"nguồn. Nó một phần được tạo ra từ tập tin <filename>changelog</filename> và tập tin " +"<filename>.dsc</filename>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"As you keep working on the package, its behavior will change and new " +"features will be added. People downloading your package can look at this " +"file and quickly see what has changed. Debian archive maintenance programs " +"will also post the contents of this file to the <ulink url=\"&debian-devel-" +"changes-ldo;\">debian-devel-changes@lists.debian.org</ulink> mailing list." +msgstr "" +"Trong lúc bạn làm việc với gói, biểu hiện của gói sẽ thay đổi và những tính năng mới sẽ " +"được thêm vào. Những người tải gói của bạn về có thể nhìn vào tập tin này và nhìn sơ " +"nhanh được có những gì đã thay đổi. Các chương trình bảo trì kho Debian sẽ đăng các " +"nội dung của tập tin này lên bó thư <ulink url=\"&debian-devel-changes-ldo;\">debian-" +"devel-changes@lists.debian.org</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <filename>gentoo_0.9.12-1.dsc</filename> and " +"<filename>gentoo_0.9.12-1_i386.changes</filename> files must be signed using " +"the <command>debsign</command> command with your private GPG key in the " +"<filename>~/.gnupg/</filename> directory, before uploading them to the " +"Debian FTP archive. The GPG signature provides the proof that these files " +"are really yours, using your public GPG key." +msgstr "" +"Các tập tin <filename>gentoo_0.9.12-1.dsc</filename> và <filename>gentoo_0.9.12-1_i386." +"changes</filename> phải được ký tên bằng lệnh <command>debsign</command> với mã GPG " +"riêng tư của bạn trong thư mục <filename>~/.gnupg/</filename>, trước khi tải chúng lên " +"kho FTP của Debian. Chữ ký GPG chứng minh những tập tin này là thật sự của bạn bằng mã " +"GPG công cộng của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <command>debsign</command> command can be made to sign with your " +"specified secret GPG key ID (good for sponsoring packages) with the " +"following in the <filename>~/.devscripts</filename> file:" +msgstr "" +"Lệnh <command>debsign</command> có thể được dùng để ký tên với mã nhận dạng của khóa " +"GPG bí mật của bạn (tốt cho việc tài trợ các gói) được chỉ ra trong dòng sau trong tập " +"tin <filename>~/.devscripts</filename>:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "DEBSIGN_KEYID=Your_GPG_keyID\n" +msgstr "DEBSIGN_KEYID=Your_GPG_keyID\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The long strings of numbers in the <filename>.dsc</filename> and <filename>." +"changes</filename> files are SHA1/SHA256 checksums for the files mentioned. " +"Anyone downloading your files can test them with <citerefentry> " +"<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> or <citerefentry> <refentrytitle>sha256sum</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry> and if the numbers don't match, " +"they'll know the file is corrupt or has been tampered with." +msgstr "" +"Những chuỗi số dài trong các tập tin <filename>.dsc</filename> và <filename>.changes</" +"filename> là mã băm SHA1/SHA256 cho những tập tin đã được đề cập. Bất kỳ ai tải xuống " +"các tập tin của bạn có thể sử dung và kiểm tra chúng bằng lệnh <citerefentry> " +"<refentrytitle>sha1sum</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> hoặc " +"<citerefentry> <refentrytitle>sha256sum</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> và nếu các số không khớp, họ sẽ biết ngay là tập tin đã bị lỗi hoặc đã bị " +"chỉnh sửa." + +#. type: Content of: <book><chapter><section><title> +msgid "Autobuilder" +msgstr "" +"Tự động biên dịch" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"The actual autobuilder system involves much more complicated schemes than " +"the one documented here. Such details are beyond the scope of this document." +msgstr "" +"Hệ thống tự động biên dịch thực tế cần các kế hoạch phức tạp hơn nhiều kế hoạch được giải thích ở đây. Những chi tiết như thế là quá tầm của tài liệu này." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Debian supports many <ulink url=\"&ports;\">ports</ulink> with the <ulink " +"url=\"&buildd;\">autobuilder network</ulink> running <command>buildd</" +"command> daemons on computers of many different architectures. Although you " +"do not need to do this yourself, you should be aware of what will happen to " +"your packages. Let's look into roughly how they rebuild your packages for " +"multiple architectures. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Debian hỗ trợ nhiều <ulink url=\"&ports;\">cổng</ulink> với <ulink url=\"&buildd;\">mạng lưới biên dịch tự động</ulink> chạy các dịch vụ <command>buildd</command> trên các máy tính chạy nhiều nền tảng khác nhau. Mặc dù bạn không cần phải tự làm điều này, bạn cần phải biết những gì sẽ xảy ra với các gói phần mềm của bạn. Hãy nhìn vào cách chúng biên dịch các gói phần mềm của bạn cho nhiều nền tảng. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For <literal>Architecture: any</literal> packages, the autobuilder system " +"performs a rebuild. It ensures the installation of" +msgstr "" +"Đối với các gói phần mềm cho nền tảng <literal>Architecture: any</literal>, hệ thống tự động biên dịch thực hiện hành động tái biên dịch. Nó đảm bảo việc cài đặt của" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"the <systemitem role=\"package\">build-essential</systemitem> package, and" +msgstr "" +"gói <systemitem role=\"package\">build-essential</systemitem>, và" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"packages listed in the <literal>Build-Depends</literal> field (see <xref " +"linkend=\"control\"/>)." +msgstr "" +"các gói được liệt kê trong trường <literal>Build-Depends</literal> (see <xref linkend=\"control\"/>)." + +#. type: Content of: <book><chapter><section><para> +msgid "Then it issues the following command in the source directory:" +msgstr "" +"Sau đó nó chạy lệnh sau trong thư mục nguồn:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ dpkg-buildpackage -B\n" +msgstr "" +"$ dpkg-buildpackage -B\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This will do everything to make architecture dependent binary packages on " +"another architecture. It will:" +msgstr "" +"Lệnh này sẽ làm tất cả mọi thứ để tạo ra các gói phần mềm nhị phân phụ thuộc vào nền tảng trên một nền tảng khác. Nó sẽ:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"build architecture dependent binary packages (<literal>fakeroot debian/rules " +"binary-arch</literal>)" +msgstr "" +"biên dịch các gói phần mềm nhị phân phụ thuộc vào nền tảng (<literal>fakeroot debian/rules binary-arch</literal>)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"sign the source <filename>.dsc</filename> file, using <command>gpg</command>" +msgstr "" +"ký tên vào tập tin nguồn <filename>.dsc</filename>, dùng lệnh <command>gpg</command>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"create and sign the upload <filename>.changes</filename> file, using " +"<command>dpkg-genchanges</command> and <command>gpg</command>" +msgstr "" +"tạo và ký tên tập tin sẽ được tải lên <filename>.changes</filename>, dùng lệnh <command>dpkg-genchanges</command> và <command>gpg</command>" + +#. type: Content of: <book><chapter><section><para> +msgid "This is why you see your package for other architectures." +msgstr "" +"Đây là lý do bạn thấy gói phần mềm của bạn cho các nền tảng khác." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Unlike under the <systemitem role=\"package\">pbuilder</systemitem> package, " +"the <command>chroot</command> environment under the <systemitem role=" +"\"package\">sbuild</systemitem> package used by the autobuilder system does " +"not enforce the use of a minimal system and may have many leftover packages " +"installed." +msgstr "" +"Khác với khi dưới gói phần mềm <systemitem role=\"package\">pbuilder</systemitem>, môi trường <command>chroot</command> dưới gói <systemitem role=\"package\">sbuild</systemitem> vốn được sử dụng bởi hệ thống tự động biên dịch không buộc sử dụng một hệ thống nhỏ gọn và có thể có nhiều gói phần mềm thừa đã được cài đặt." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Although packages listed in the <literal>Build-Depends-Indep</literal> field " +"are required to be installed for our normal packaging work (see <xref " +"linkend=\"completebuild\"/>), they are not required to be installed for the " +"autobuilder system since it builds only architecture dependent binary " +"packages. <placeholder type=\"footnote\" id=\"0\"/> This distinction " +"between normal packaging and autobuilding procedures is what dictates " +"whether you should record such required packages in the <literal>Build-" +"Depends</literal> or <literal>Build-Depends-Indep</literal> fields of the " +"<filename>debian/control</filename> file (see <xref linkend=\"control\"/>)." +msgstr "" +"Mặc dù các gói phần mềm liệt kê trong trường <literal>Build-Depends-Indep</literal> bị buộc phải được cài đặt cho quá trình đóng gói bình thường của chúng tôi (xem <xref linkend=\"completebuild\"/>), chúng không bị buộc phải được cài đặt bởi hệ thống tự động biên dịch bởi vì nó biên dịch chỉ những gói phần mềm phụ thuộc vào nền tảng. <placeholder type=\"footnote\" id=\"0\"/> Điểm khác biệt giữa thủ tục đóng gói bình thường và đóng gói tự động là cái gì chỉ ra bạn nên ghi lại những gói phần mềm bắt buộc trong trường <literal>Build-Depends</literal> hay <literal>Build-Depends-Indep</literal> của tập tin <filename>debian/control</filename> (xem <xref linkend=\"control\"/>)." + + + +#. type: Content of: <book><chapter><section><title> +msgid "<command>debuild</command> command" +msgstr "" +"Lệnh <command>debuild</command>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can automate the build activity around executing the <command>dpkg-" +"buildpackage</command> command package further with the <command>debuild</" +"command> command. See <citerefentry> <refentrytitle>debuild</refentrytitle> " +"<manvolnum>1</manvolnum> </citerefentry>." +msgstr "" +"Bạn có thể tự động hóa hành động biên dịch xung quanh việc thực thi lệnh <command>dpkg-buildpackage</command> và lệnh <command>debuild</command>. Xem <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <command>debuild</command> command executes the <command>lintian</" +"command> command to make a static check after building the Debian package. " +"The <command>lintian</command> command can be customized with the following " +"in the <filename>~/.devscripts</filename> file:" +msgstr "" +"Lệnh <command>debuild</command> chạy lệnh <command>lintian</command> để thực hiện bài kiểm tra tĩnh sau khi biên dịch gói phần mềm Debian. Lệnh <command>lintian</command> có thể được thay đổi với các dòng sau trong tập tin <filename>~/.devscripts</filename>:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"DEBUILD_DPKG_BUILDPACKAGE_OPTS=\"-us -uc -I -i\"\n" +"DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" +msgstr "" +"DEBUILD_DPKG_BUILDPACKAGE_OPTS=\"-us -uc -I -i\"\n" +"DEBUILD_LINTIAN_OPTS=\"-i -I --show-overrides\"\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Cleaning the source and rebuilding the package from your user account is as " +"simple as:" +msgstr "" +"Dọn dẹp mã nguồn và tái biên dịch gói phần mềm từ tài khoản của bạn thì đơn giản như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ debuild\n" +msgstr "" +"$ debuild\n" + +#. type: Content of: <book><chapter><section><para> +msgid "You can clean the source tree as simply as:" +msgstr "" +"Bạn có thể dọn dẹp cây mã nguồn đơn giản như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ debuild -- clean\n" +msgstr "$ debuild -- clean\n" + +#. type: Content of: <book><chapter><section><title> +msgid "<systemitem role=\"package\">pbuilder</systemitem> package" +msgstr "" +"Gói phần mềm <systemitem role=\"package\">pbuilder</systemitem>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Since the <systemitem role=\"package\">pbuilder</systemitem> package is " +"still evolving, you should check the actual configuration situation by " +"consulting the latest official documentation." +msgstr "" +"Bởi vì gói phần mềm <systemitem role=\"package\">pbuilder</systemitem> vẫn đang tiếp tục tiến hóa, bạn nên kiểm tra môi trường cấu hình thực sự bằng việc đọc tài liệu hướng dẫn mới nhất." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building." +msgstr "" +"Xem <ulink url=\"&buildd-do;\"/> để biết thêm về việc tự động biên dịch các gói phần mềm Debian." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"For a clean room (<command>chroot</command>) build environment to verify the " +"build dependencies, the <systemitem role=\"package\">pbuilder</systemitem> " +"package is very useful. <placeholder type=\"footnote\" id=\"0\"/> This " +"ensures a clean build from the source under the <literal>sid</literal> auto-" +"builder for different architectures and avoids a severity serious FTBFS " +"(Fails To Build From Source) bug which is always in the RC (release " +"critical) category. <placeholder type=\"footnote\" id=\"1\"/>" +msgstr "" +"Để có một môi trường biên dịch (<command>chroot</command>) sạch sẽ để kiểm tra các điều kiện biên dịch, gói phần mềm <systemitem role=\"package\">pbuilder</systemitem> rất hữu dụng. <placeholder type=\"footnote\" id=\"0\"/> Nó đảm bảo việc biên dịch sạch sẽ từ mã nguồn dưới hệ thống biên dịch tự động <literal>sid</literal> cho các nền tảng khác nhau và tránh một lỗi nghiêm trọng FTBFS (Thất Bại Biên Dịch Từ Nguồn) vốn luôn nằm trong thể loại RC (Nghiêm Trọng Cho Phát Hành). <placeholder type=\"footnote\" id=\"1\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Let's customize the <systemitem role=\"package\">pbuilder</systemitem> " +"package as follows:" +msgstr "" +"Hãy tùy chỉnh gói phần mềm <systemitem role=\"package\">pbuilder</systemitem> như sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"setting the <filename>/var/cache/pbuilder/result</filename> directory " +"writable by your user account." +msgstr "" +"Làm cho thư mục <filename>/var/cache/pbuilder/result</filename> có thể ghi được bởi tài khoản của bạn." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"creating a directory, e.g. <filename><replaceable>/var/cache/pbuilder/" +"hooks</replaceable></filename>, writable by the user, to place hook scripts " +"in." +msgstr "" +"tạo một thư mục, ví dụ như <filename><replaceable>/var/cache/pbuilder/hooks</replaceable></filename>, có thể ghi được bởi người dùng, để đặt mã kịch bản mồi vào." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</" +"filename> to include the following." +msgstr "" +"cấu hình <filename>~/.pbuilderrc</filename> hoặc <filename>/etc/pbuilderrc</filename> để bao gồm những thứ sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"AUTO_DEBSIGN=${AUTO_DEBSIGN:-no}\n" +"HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" +msgstr "" +"AUTO_DEBSIGN=${AUTO_DEBSIGN:-no}\n" +"HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"First let's initialize the local <systemitem role=\"package\">pbuilder</" +"systemitem> <command>chroot</command> system as follows:" +msgstr "" +"Trước tiên hãy khởi động hệ thống <systemitem role=\"package\">pbuilder</systemitem> <command>chroot</command> nội bộ như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ sudo pbuilder create\n" +msgstr "$ sudo pbuilder create\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you already have a completed source package, issue the following commands " +"in the directory where the <filename><replaceable>foo</replaceable>.orig.tar." +"gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</" +"filename>, and <filename><replaceable>foo</replaceable>.dsc</filename> files " +"exist to update the local <systemitem role=\"package\">pbuilder</systemitem> " +"<command>chroot</command> system and to build binary packages in it:" +msgstr "" +"Nếu bạn đang có một gói phần mềm chứa mã nguồn hoàn chỉnh, chạy các lệnh sau dưới thư mục nơi các tập tin <filename><replaceable>foo</replaceable>.orig.tar.gz</filename>, <filename><replaceable>foo</replaceable>.debian.tar.gz</filename>, và <filename><replaceable>foo</replaceable>.dsc</filename> tồn tại để cập nhật hệ thống <systemitem role=\"package\">pbuilder</systemitem> <command>chroot</command> nội bộ và để biên dịch các gói phần mềm nhị phân trong nó:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ sudo pbuilder --update\n" +"$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" +msgstr "" +"$ sudo pbuilder --update\n" +"$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The newly built packages without the GPG signatures will be located in " +"<filename>/var/cache/pbuilder/result/</filename> with non-root ownership." +msgstr "" +"Các gói phần mềm vừa mới được biên dịch mà không có chữ ký GPG sẽ được đặt ở <filename>/var/cache/pbuilder/result/</filename> với chủ sở hữu không phải là root." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The GPG signatures on the <filename>.dsc</filename> file and the <filename>." +"changes</filename> file can be generated as:" +msgstr "" +"Các chữ ký GPG trên các tập tin <filename>.dsc</filename> và <filename>.changes</filename> có thể được tạo ra như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ cd /var/cache/pbuilder/result/\n" +"$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" +msgstr "" +"$ cd /var/cache/pbuilder/result/\n" +"$ debsign <replaceable>foo_version_arch</replaceable>.changes\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you have an updated source tree but have not generated the matching " +"source package, issue the following commands in the source directory where " +"the <filename>debian</filename> directory exists, instead:" +msgstr "" +"Nếu bạn có một cây thư mục chứa mã nguồn đã được cập nhật nhưng chưa tạo ra gói phần mềm chứa mã nguồn tương ứng, thay vì thế hãy chạy các lệnh sau trong thư mục nguồn nơi thư mục <filename>debian</filename> tồn tại:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ sudo pbuilder --update\n" +"$ pdebuild\n" +msgstr "" +"$ sudo pbuilder --update\n" +"$ pdebuild\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can log into its <command>chroot</command> environment with the " +"<literal>pbuilder --login --save-after-login</literal> command and configure " +"it as you wish. This environment can be saved by leaving its shell prompt " +"with <literal>^D</literal> (Control-D)." +msgstr "" +"Bạn có thể đăng nhập vào môi trường <command>chroot</command> với lệnh <literal>pbuilder --login --save-after-login</literal> và cấu hình nó theo ý bạn muốn. Môi trường này có thể được lưu bằng việc rời khỏi dòng lệnh với thao tác <literal>^D</literal> (Control-D)." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"This assumes <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. You can " +"find many examples of hook scripts in the <filename>/usr/share/doc/pbuilder/" +"examples</filename> directory." +msgstr "" +"Điều này giả sử là <literal>HOOKDIR=/var/cache/pbuilder/hooks</literal>. Bạn có thể tìm thấy nhiều ví dụ của các kịch bản mồi trong thư mục <filename>/usr/share/doc/pbuilder/examples</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The latest version of the <command>lintian</command> command can be executed " +"in the <literal>chroot</literal> environment using the hook script " +"<filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</" +"filename> configured as follows: <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Phiên bản mới nhất của lệnh <command>lintian</command> có thể được chạy từ môi trường <literal>chroot</literal> dùng kịch bản mồi <filename><replaceable>/var/cache/pbuilder/hooks</replaceable>/B90lintian</filename> cấu hình như sau: <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"#!/bin/sh\n" +"set -e\n" +"install_packages() {\n" +" apt-get -y --allow-downgrades install \"$@\"\n" +" }\n" +"install_packages lintian\n" +"echo \"+++ lintian output +++\"\n" +"su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" +"# use this version if you don't want lintian to fail the build\n" +"#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" +"echo \"+++ end of lintian output +++\"\n" +msgstr "" +"#!/bin/sh\n" +"set -e\n" +"install_packages() {\n" +" apt-get -y --allow-downgrades install \"$@\"\n" +" }\n" +"install_packages lintian\n" +"echo \"+++ lintian output +++\"\n" +"su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes\" - pbuilder\n" +"# use this version if you don't want lintian to fail the build\n" +"#su -c \"lintian -i -I --show-overrides /tmp/buildd/*.changes; :\" - pbuilder\n" +"echo \"+++ end of lintian output +++\"\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You need to have access to the latest <literal>sid</literal> environment to " +"build packages properly for <literal>sid</literal>. In practice, " +"<literal>sid</literal> may be experiencing issues which makes it undesirable " +"for you to migrate your whole system. The <systemitem role=\"package" +"\">pbuilder</systemitem> package can help you to cope with this kind of " +"situation." +msgstr "" +"Bạn cần phải có kết nối đến môi trường <literal>sid</literal> mới nhất để biên dịch gói phần đúng cách cho <literal>sid</literal>. Trên thực tế, <literal>sid</literal> có thể gặp vấn đề làm cho bạn cảm thấy khó khăn hơn khi di chuyển toàn bộ hệ thống của bạn. Gói phần mềm <systemitem role=\"package\">pbuilder</systemitem> có thể giúp bạn đối mặt với loại tình huống này." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"There are some restrictions for such updates of your <literal>stable</" +"literal> package." +msgstr "" +"Có một vài giới hạn cho những cập nhật như vậy đối với gói phần mềm <literal>stable</literal> của bạn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You may need to update your <literal>stable</literal> packages after their " +"release for <literal>stable-proposed-updates</literal>, <literal>stable/" +"updates</literal>, etc. <placeholder type=\"footnote\" id=\"0\"/> For such " +"occasions, the fact that you may be running a <literal>sid</literal> system " +"is not a good enough excuse for failing to update them promptly. The " +"<systemitem role=\"package\">pbuilder</systemitem> package can help you to " +"access environments of almost any Debian derivative distribution of the same " +"architecture." +msgstr "" +"Bạn có thể cần phải cập nhật các gói phần mềm <literal>stable</literal> sau khi chúng được tung ra cho <literal>stable-proposed-updates</literal>, <literal>stable/updates</literal>, v.v. <placeholder type=\"footnote\" id=\"0\"/> Cho những tình huống như thế, việc bạn có thể đang chạy một hệ thống <literal>sid</literal> không phải là một lý do đủ tốt cho việc thất bại trong cập nhật chúng đúng cách. Gói phần mềm <systemitem role=\"package\">pbuilder</systemitem> có thể giúp bạn truy cập các môi trường của bất cứ bản " +"phân phối hệ điều hành nào xuất phát từ Debian trên cùng một nền tảng." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"See <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> " +"<refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </" +"citerefentry>, and <citerefentry> <refentrytitle>pbuilder</refentrytitle> " +"<manvolnum>8</manvolnum> </citerefentry>." +msgstr "" +"Xem <ulink url=\"&pbuilder;\"/>, <citerefentry> <refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>pbuilderrc</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>, và <citerefentry> <refentrytitle>pbuilder</refentrytitle> <manvolnum>8</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><title> +msgid "<command>git-buildpackage</command> command and similar" +msgstr "" +"Lệnh <command>git-buildpackage</command> và những lệnh tương tự" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more." +msgstr "" +"Xem <ulink url=\"&debref-vcs;\">Các hệ thống quản lý phiên bản</ulink> để biết thêm." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If your upstream uses a source code management system (VCS) <placeholder " +"type=\"footnote\" id=\"0\"/> to maintain their code, you should consider " +"using it as well. This makes merging and cherry-picking upstream patches " +"much easier. There are several specialized wrapper script packages for " +"Debian package building for each VCS." +msgstr "" +"Nếu thượng nguồn của bạn dùng một hệ thống quản lý mã nguồn (VCS) <placeholder type=\"footnote\" id=\"0\"/> để bảo trì mã nguồn của họ, bạn cũng nên xem xét việc sử dụng nó. Nó có thể giúp bạn gộp và chọn các bản vá từ thượng nguồn dễ hơn. Có nhiều gói phần mềm chứa mã kịch bản dùng cho việc đóng gói các gói phần mềm Debian cho từng VCS." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">git-buildpackage</systemitem>: a suite to help " +"with Debian packages in Git repositories." +msgstr "" +"<systemitem role=\"package\">git-buildpackage</systemitem>: a giải pháp để giúp việc đóng gói phần mềm Debian với các kho mã nguồn Git." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">svn-buildpackage</systemitem>: helper programs " +"to maintain Debian packages with Subversion." +msgstr "" +"<systemitem role=\"package\">svn-buildpackage</systemitem>: các chương trình giúp đỡ để bảo trì các gói phần mềm Debian với Subversion." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">cvs-buildpackage</systemitem>: a set of Debian " +"package scripts for CVS source trees." +msgstr "" +"<systemitem role=\"package\">cvs-buildpackage</systemitem>: một tập hợp các kịch bản đóng gói Debian cho các cây mã nguồn CVS." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> documents how " +"to use the <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink> service." +msgstr "" +"<ulink url=\"&debian-alioth-wiki;\">Debian wiki Alioth</ulink> hướng dẫn cách sử dụng dịch vụ <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Use of <systemitem role=\"package\">git-buildpackage</systemitem> is " +"becoming quite popular for Debian Developers to manage Debian packages with " +"the Git server on <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. " +"<placeholder type=\"footnote\" id=\"0\"/> This package offers many commands " +"to <emphasis>automate</emphasis> packaging activities:" +msgstr "" +"Việc sử dụng <systemitem role=\"package\">git-buildpackage</systemitem> đang dần trở nên phổ biến đối với các nhà phát triển Debian để quản lý các gói phần mềm Debian với máy phục vụ Git trên <ulink url=\"&debian-alioth;\">alioth.debian.org</ulink>. <placeholder type=\"footnote\" id=\"0\"/> Gói phần mềm này cung cấp nhiều lệnh để <emphasis>tự động hóa</emphasis> các thao tác đóng gói:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>: import a previous Debian package to a Git " +"repository." +msgstr "" +"<citerefentry> <refentrytitle>git-import-dsc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>: nhập một gói phần mềm Debian trước đây vào một kho Git." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>: import a new upstream tar to a Git repository." +msgstr "" +"<citerefentry> <refentrytitle>git-import-orig</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>: nhập một tập tin tar mới từ thượng nguồn vào một kho Git." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>: generate the Debian changelog from Git commit " +"messages." +msgstr "" +"<citerefentry> <refentrytitle>git-dch</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>: tạo ra một changelog(nhật ký thay đổi) từ các thông điệp Git." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>: build Debian packages from a Git repository." +msgstr "" +"<citerefentry> <refentrytitle>git-buildpackage</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>: biên dịch các gói Debian từ một kho Git." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>: build Debian packages from a Git repository " +"using <command>pbuilder</command>/<command>cowbuilder</command>." +msgstr "" +"<citerefentry> <refentrytitle>git-pbuilder</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>: biên dịch các gói Debian từ một kho Git dùng lệnh <command>pbuilder</command>/<command>cowbuilder</command>." + +#. type: Content of: <book><chapter><section><para> +msgid "These commands use 3 branches to track packaging activity:" +msgstr "" +"Những lệnh sau dùng 3 nhánh để theo dõi thao tác đóng gói:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>main</literal> for Debian package source tree." +msgstr "" +"<literal>main</literal> cho cây mã nguồn của gói phần mềm Debian." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<literal>upstream</literal> for upstream source tree." +msgstr "" +"<literal>upstream</literal> for cây mã nguồn của thượng nguồn." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"The <literal>--pristine-tar</literal> option invokes the <command>pristine-" +"tar</command> command, which can regenerate an exact copy of a pristine " +"upstream tarball using only a small binary delta file and the contents of " +"the tarball that are typically kept in an <literal>upstream</literal> branch " +"in the VCS." +msgstr "" +"Tham số <literal>--pristine-tar</literal> chạy lệnh <command>pristine-tar</command>, lệnh này tạo ra một bản sao nguyên vẹn của tập tin nén thượng nguồn chưa chỉnh sửa bằng việc sử dụng một tập tin nhị phân delta nhỏ và những nội dung của tập tin nén vốn được giữ trong nhánh <literal>upstream</literal> trong VCS." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<literal>pristine-tar</literal> for upstream tarball generated by the " +"<literal>--pristine-tar</literal> option.<placeholder type=\"footnote\" id=" +"\"0\"/>" +msgstr "" +"<literal>pristine-tar</literal> cho tập tin nén thượng nguồn tạo ra bởi tham số <literal>--pristine-tar</literal>.<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "Here are some web resources available for advanced audiences." +msgstr "" +"Đây là một vài nguồn thông tin điện tử có sẵn cho các đối tượng người đọc thông thái." + +#. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> +msgid "" +"Building Debian Packages with git-buildpackage (<filename>&git-buildpackage-" +"doc;</filename>)" +msgstr "" +"Biên dịch các Gói Phần Mềm Debian với git-buildpackage (<filename>&git-buildpackage-doc;</filename>)" + +#. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> +msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>" +msgstr "" +"<ulink url=\"&debian-packages-git;\">các gói phần mềm debian trong git</ulink>" + +#. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>" +msgstr "" +"<ulink url=\"&git-debian-packaging;\">Dùng Git cho đóng gói phần mềm Debian</ulink>" + +#. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&git-dpm;\">git-dpm: Debian packages in Git manager</ulink>" +msgstr "" +"<ulink url=\"&git-dpm;\">git-dpm: các gói phần mềm Debian trong công cụ quản lý Git</ulink>" + +#. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&topgit;\">Using TopGit to generate quilt series for Debian " +"packaging</ulink>" +msgstr "" +"<ulink url=\"&topgit;\">Dùng TopGit để tạo một chuỗi quilt cho đóng gói phần mềm Debian</ulink>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can configure <systemitem role=\"package\">git-buildpackage</systemitem> " +"with <filename>~/.gbp.conf</filename>. See <citerefentry> <refentrytitle>gbp." +"conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder " +"type=\"footnote\" id=\"0\"/>" +msgstr "" +"Bạn có thể cấu hình <systemitem role=\"package\">git-buildpackage</systemitem> với <filename>~/.gbp.conf</filename>. Xem <citerefentry> <refentrytitle>gbp.conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><title> +msgid "Quick rebuild" +msgstr "" +"Tái biên dịch nhanh" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"Environment variables that are normally configured to proper values are not " +"set by this method. Never create real packages to be uploaded using this " +"<emphasis role=\"strong\">quick</emphasis> method." +msgstr "" +"Các biến môi trường vốn được cấu hình bình thường với các giá trị phù hợp không được gán giá trị với phương pháp này. Đừng bao giờ tạo các gói phần mềm thực sự để được tải lên với phương pháp <emphasis role=\"strong\">nhanh</emphasis> này." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"With a large package, you may not want to rebuild from scratch every time " +"while you're tuning details in <filename>debian/rules</filename>. For " +"testing purposes, you can make a <filename>.deb</filename> file without " +"rebuilding the upstream sources like this<placeholder type=\"footnote\" id=" +"\"0\"/>:" +msgstr "" +"Với một gói phần mềm lớn, bạn có thể không muốn biên dịch lại từ đầu mỗi lần bạn tinh chỉnh các chi tiết trong <filename>debian/rules</filename>. Dành cho mục đích kiểm tra, bạn có thể tạo một tập tin <filename>.deb</filename> mà không cần tái biên dịch các mã nguồn từ thượng nguồn như sau<placeholder type=\"footnote\" id=\"0\"/>:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ fakeroot debian/rules binary\n" +msgstr "" +"$ fakeroot debian/rules binary\n" + +#. type: Content of: <book><chapter><section><para> +msgid "Or simply do the following to see if it builds or not:" +msgstr "" +"Hoặc đơn giản chạy lệnh sau để xem nó có biên dịch được hay không:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ fakeroot debian/rules build\n" +msgstr "" +"$ fakeroot debian/rules build\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Once you are finished with your tuning, remember to rebuild following the " +"proper procedure. You may not be able to upload correctly if you try to " +"upload <filename>.deb</filename> files built this way." +msgstr "" +"Khi bạn hoàn tất tinh chỉnh, hãy nhớ tái biên dịch với thủ tục chính quy. Bạn có khả năng không thể tải lên được đúng cách nếu bạn cố gắng tải các tập tin <filename>.deb</filename> được biên dịch theo cách này." + +#. type: Content of: <book><chapter><section><title> +msgid "Command hierarchy" +msgstr "" +"Sơ đồ lệnh" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Here is a quick summary of how many commands to build packages fit together " +"in the command hierarchy. There are many ways to do the same thing." +msgstr "" +"Đây là một bản tóm tắt cho thấy các lệnh biên dịch gói phần mềm phối hợp như thế nào trong sơ đồ lệnh. Có nhiều cách để làm một thứ." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<filename>debian/rules</filename> = maintainer script for the package " +"building" +msgstr "" +"<filename>debian/rules</filename> = kịch bản của người bảo trì cho biên dịch gói phần mềm" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<command>dpkg-buildpackage</command> = core of the package building tool" +msgstr "" +"<command>dpkg-buildpackage</command> = lõi của công cụ biên dịch gói phần mềm" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<command>debuild</command> = <command>dpkg-buildpackage</command> + " +"<command>lintian</command> (build under the sanitized environment variables)" +msgstr "" +"<command>debuild</command> = <command>dpkg-buildpackage</command> + <command>lintian</command> (biên dịch với các biến môi trường dọn dẹp sạch sẽ)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<command>pbuilder</command> = core of the Debian chroot environment tool" +msgstr "" +"<command>pbuilder</command> = lõi của công cụ sắp đặt môi trường chroot Debian." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<command>pdebuild</command> = <command>pbuilder</command> + <command>dpkg-" +"buildpackage</command> (build in the chroot)" +msgstr "" +"<command>pdebuild</command> = <command>pbuilder</command> + <command>dpkg-buildpackage</command> (biên dịch trong chroot)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<command>cowbuilder</command> = speed up the <command>pbuilder</command> " +"execution" +msgstr "" +"<command>cowbuilder</command> = tăng tốc tốc độ chạy của <command>pbuilder</command>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<command>git-pbuilder</command> = the easy-to-use commandline syntax for " +"<command>pdebuild</command> (used by <command>gbp buildpackage</command>)" +msgstr "" +"<command>git-pbuilder</command> = lệnh với ngữ pháp dễ sử dụng thay thế cho lệnh<command>pdebuild</command> (dùng bởi lệnh<command>gbp buildpackage</command>)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "<command>gbp</command> = manage the Debian source under the git repo" +msgstr "" +"<command>gbp</command> = quản lý mã nguồn của gói phần mềm dưới kho git" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<command>gbp buildpackage</command> = <command>pbuilder</command> + " +"<command>dpkg-buildpackage</command> + <command>gbp</command>" +msgstr "" +"<command>gbp buildpackage</command> = <command>pbuilder</command> + <command>dpkg-buildpackage</command> + <command>gbp</command>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Although use of higher level commands such as <command>gbp buildpackage</" +"command> and <command>pbuilder</command> ensures the perfect package " +"building environment, it is essential to understand how lower level commands " +"such as <filename>debian/rules</filename> and <command>dpkg-buildpackage</" +"command> are executed under them." +msgstr "" +"Mặc dù việc sử dụng các lệnh cấp cao hơn như <command>gbp buildpackage</command> và <command>pbuilder</command> đảm bảo một môi trường biên dịch phần mềm hoàn hảo, hãy đặt sự quan trọng vào việc hiểu các lệnh cấp thấp như <filename>debian/rules</filename> và <command>dpkg-buildpackage</command> được thực thi như thế nào dưới các lệnh cấp cao." + +#. type: Content of: <book><chapter><title> +msgid "Checking the package for errors" +msgstr "" +"Kiểm tra gói để tìm lỗi" + +#. type: Content of: <book><chapter><para> +msgid "" +"There are some techniques you should know for checking a package for errors " +"before uploading it to the public archives." +msgstr "" +"Có vài phương pháp bạn nên biết để dò tìm lỗi trong một gói phần mềm trước khi tải nó lên kho phần mềm công cộng." + +#. type: Content of: <book><chapter><para> +msgid "" +"It's also a good idea to carry out testing on a machine other than your " +"own. You must watch closely for any warnings or errors for all the tests " +"described here." +msgstr "" +"Thực hiện việc kiểm tra trên một máy khác không phải của bạn cũng là một ý hay. Ban phải quan sát kỹ bất kỳ cảnh báo hoặc lỗi cho tất cả các bài kiểm tra được mô tả ở đây." + +#. type: Content of: <book><chapter><section><title> +msgid "Suspicious changes" +msgstr "" +"Những thay đổi đáng nghi" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you find a new autogenerated patch file such as <filename>debian-changes-" +"*</filename> in the <filename>debian/patches</filename> directory after " +"building your non-native Debian package in <literal>3.0 (quilt)</literal> " +"format, chances are you changed some files by accident or the build script " +"modified the upstream source. If it is your mistake, fix it. If it is " +"caused by the build script, fix the root cause with <command>dh-autoreconf</" +"command> as in <xref linkend=\"customrules\"/> or work around it with " +"<filename>source/options</filename> as in <xref linkend=\"sourceopt\"/>." +msgstr "" +"Nếu bạn tìm thấy một tập tin vá mới được tự động tạo ra như là <filename>debian-changes-*</filename> trong thư mục <filename>debian/patches</filename> sau khi biên dịch gói phần mềm Debian không dựa trên nền tảng máy bạn dưới định dạng <literal>3.0 (quilt)</literal>, rất có thể bạn đã thay đổi vài tập tin vô ý hoặc kịch bản biên dịch đã thay đổi mã nguồn của thượng nguồn. Nếu đây là lỗi của bạn, hãy sửa nó. Nếu đây là lỗi gây ra bởi kịch bản biên dịch, sửa nguyên nhân gốc với lệnh <command>dh-autoreconf</command> " +"như trong <xref linkend=\"customrules\"/> hoặc đi vòng qua nó với tập tin <filename>source/options</filename> như trong <xref linkend=\"sourceopt\"/>." + +#. type: Content of: <book><chapter><section><title> +msgid "Verifying a package's installation" +msgstr "" +"Kiểm tra việc cài đặt của gói phần mềm" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You must test your package for whether it installs without problems. The " +"<citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> " +"</citerefentry> command helps you to test installing all the generated " +"binary packages." +msgstr "" +"Bạn phải kiểm tra gói phần mềm của bạn xem có lỗi trong quá trình cài đặt hay không. Lệnh <citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> giúp bạn kiểm tra việc cài đặt của tất cả các gói phần mềm nhị phân được tạo ra." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n" +msgstr "" +"$ sudo debi gentoo_0.9.12-1_i386.changes\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"To prevent installation problems on different systems, you must make sure " +"that there are no filenames conflicting with other existing packages, using " +"the <filename>Contents-<replaceable>i386</replaceable></filename> file " +"downloaded from the Debian archive. The <command>apt-file</command> command " +"may be handy for this task. If there are collisions, please take action to " +"avoid this real problem, whether by renaming the file, moving a common file " +"to a separate package that multiple packages can depend on, using the " +"alternatives mechanism (see <citerefentry><refentrytitle>update-" +"alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) in " +"coordination with the maintainers of other affected packages, or declaring a " +"<literal>Conflicts</literal> relationship in the <filename>debian/control</" +"filename> file." +msgstr "" +"Để tránh vấn đề trong quá trình cài đặt trên các hệ thống khác nhau, bạn phải chắc chắn rằng không có xung đột về tên tập tin với các gói phần mềm khác đang hiện hữu, dùng tập tin <filename>Contents-<replaceable>i386</replaceable></filename> tải về từ kho Debian. Lệnh <command>apt-file</command> có thể rất tiện cho công việc này. Nếu có xung đột, xin hãy hành động để tránh vấn đề thực tế này, dù cho bằng cách thay đổi tên tập tin, bằng cách di chuyển một tập tin chung qua một gói phần mềm khác mà nhiều gói phần mềm có thể dựa " +"trên, bằng các phương pháp thay thế (xem <citerefentry><refentrytitle>update-alternatives</refentrytitle> <manvolnum>1</manvolnum></citerefentry>) phối hợp với các nhà bảo trì của các gói phần mềm bị ảnh hưởng khác, hoặc khai báo một mối quan hệ <literal>Conflicts</literal> trong tập tin <filename>debian/control</filename>." + +#. type: Content of: <book><chapter><section><title> +msgid "Verifying a package's maintainer scripts" +msgstr "" +"Kiểm tra các kịch bản bảo trì của một gói phần mềm" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"All maintainer scripts (that is, <filename>preinst</filename>, " +"<filename>prerm</filename>, <filename>postinst</filename>, and " +"<filename>postrm</filename> files) are hard to write correctly unless they " +"are auto-generated by the <systemitem role=\"package\">debhelper</" +"systemitem> programs. So do not use them if you are a novice maintainer " +"(see <xref linkend=\"maintscripts\"/>)." +msgstr "" +"Tất cả các kịch bản bảo trì (đó là, các tập tin <filename>preinst</filename>, <filename>prerm</filename>, <filename>postinst</filename>, and <filename>postrm</filename>) rất khó để viết đúng cách trừ khi chúng được tạo ra tự động bởi các chương trình <systemitem role=\"package\">debhelper</systemitem>. Vì thể đừng sử dụng chúng nếu bạn là một người bảo trì mới vào nghề (xem <xref linkend=\"maintscripts\"/>)." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If the package makes use of these non-trivial maintainer scripts, be sure to " +"test not only for install but also for remove, purge, and upgrade " +"processes. Many maintainer script bugs show up when packages are removed or " +"purged. Use the <command>dpkg</command> command as follows to test them:" +msgstr "" +"Nếu gói phần mềm tận dụng các kịch bản bảo trì phức tạp này, hãy chắc chắn rằng bạn kiểm tra không chỉ quá trình cài đặt mà cả công đoạn tháo gỡ phần mềm, xóa hoàn toàn phần mềm, và nâng cấp. Nhiều lỗi kịch bản bảo trì hiện ra khi các phần đã được tháo gỡ hoặc xóa bỏ. Sử dụng lệnh <command>dpkg</command> như sau để kiểm tra:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ sudo dpkg -r gentoo\n" +"$ sudo dpkg -P gentoo\n" +"$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" +msgstr "" +"$ sudo dpkg -r gentoo\n" +"$ sudo dpkg -P gentoo\n" +"$ sudo dpkg -i gentoo_<replaceable>version</replaceable>-<replaceable>revision</replaceable>_<replaceable>i386</replaceable>.deb\n" +#. type: Content of: <book><chapter><section><para> +msgid "This should be done with sequences such as the following:" +msgstr "" +"Lệnh đó nên được chạy theo các chuỗi như sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "install the previous version (if needed)." +msgstr "" +"cài đặt phiên bản trước đó (nếu cần thiết)." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "upgrade it from the previous version." +msgstr "" +"nâng cấp nó từ phiên bản trước." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "downgrade it back to the previous version (optional)." +msgstr "" +"giảm cấp nó xuống phiên bản thấp hơn (không bắt buộc)." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "purge it." +msgstr "" +"xóa bỏ hoàn toàn nó." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "install the new package." +msgstr "" +"cài đặt gói phần mềm mới" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "remove it." +msgstr "" +"tháo gỡ nó." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "install it again." +msgstr "" +"cài đặt nó lại." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If this is your first package, you should create dummy packages with " +"different versions to test your package in advance to prevent future " +"problems." +msgstr "" +"Nếu đây là gói phần mềm đầu tiên của bạn, bạn nên tạo các gói phần mềm giả với các phiên bản khác nhau để kiểm tra gói của bạn trước để tránh các vấn đề trong tương lai." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Bear in mind that if your package has previously been released in Debian, " +"people will often be upgrading to your package from the version that was in " +"the last Debian release. Remember to test upgrades from that version too." +msgstr "" +"Hãy nhớ rằng nếu gói phần mềm của bạn đã được tung ra trước đây trong Debian, mọi người sẽ thông thường nâng cấp nó lên gói phần mềm của bạn từ phiên bản vốn nằm trong bản phân phối Debian trước. Hãy nhớ kiểm tra việc nâng cấp từ phiên bản đó." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Although downgrading is not officially supported, supporting it is a " +"friendly gesture." +msgstr "" +"Mặc dù giảm cấp không được hỗ trợ chính thức, hỗ trợ nó là một cử chỉ thân thiện." + +#. type: Content of: <book><chapter><section><title> +msgid "Using <systemitem role=\"package\">lintian</systemitem>" +msgstr "" +"Sử dụng <systemitem role=\"package\">lintian</systemitem>" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"You do not need to provide the <command>lintian</command> option <literal>-i " +"-I --show-overrides</literal> if you customized <filename>/etc/devscripts." +"conf</filename> or <filename>~/.devscripts</filename> as described in <xref " +"linkend=\"debuild\"/>." +msgstr "" +"Bạn không cần phải cung cấp <command>lintian</command> tham số <literal>-i -I --show-overrides</literal> nếu bạn tùy chỉnh <filename>/etc/devscripts.conf</filename> hoặc <filename>~/.devscripts</filename> như mô tả trong <xref linkend=\"debuild\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Run <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> on your <filename>.changes</filename> file. The " +"<command>lintian</command> command runs many test scripts to check for many " +"common packaging errors. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Chạy <citerefentry> <refentrytitle>lintian</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> qua tập tin <filename>.changes</filename> của bạn. Lệnh <command>lintian</command> chạy nhiều kịch bản kiểm tra các lỗi đóng gói thường gặp. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" +msgstr "" +"$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Of course, replace the filename with the name of the <filename>.changes</" +"filename> file generated for your package. The output of the " +"<command>lintian</command> command uses the following flags:" +msgstr "" +"Tất nhiên, thay thế tên tập tin với tên của tập tin <filename>.changes</filename> được tạo ra cho gói phần mềm của bạn. Kết quả của lệnh <command>lintian</command> sử dụng các cờ sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<literal>E:</literal> for error; a sure policy violation or packaging error." +msgstr "" +"<literal>E:</literal> cho lỗi; một lỗi đóng gói hoặc một vi phạm chắc chắn về chính sách." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<literal>W:</literal> for warning; a possible policy violation or packaging " +"error." +msgstr "" +"<literal>W:</literal> cho cảnh báo; một lỗi đóng gói hoặc một vi phạm có thể liên quan đến chính sách." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<literal>I:</literal> for info; information on certain aspects of packaging." +msgstr "" +"<literal>I:</literal> cho thông tin; thông tin về một số mặt của việc đóng gói." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<literal>N:</literal> for note; a detailed message to help your debugging." +msgstr "" +"<literal>N:</literal> cho ghi chú; a thông điệp chi tiết để hỗ trợ tìm lỗi." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<literal>O:</literal> for overridden; a message overridden by the " +"<filename>lintian-overrides</filename> files but displayed by the <literal>--" +"show-overrides</literal> option." +msgstr "" +"<literal>O:</literal> cho đè lên ngầm định; một thông điệp bị đè lên bởi các tập tin <filename>lintian-overrides</filename> nhưng hiện ra bởi tham số <literal>--show-overrides</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"When you see warnings, tune the package to avoid them or verify that the " +"warnings are spurious. If spurious, set up <filename>lintian-overrides</" +"filename> files as described in <xref linkend=\"lintian\"/>." +msgstr "" +"Khi bạn thấy các cảnh báo, tùy chỉnh gói phần mềm để tránh chúng hoặc kiểm tra để chắc rang các cảnh báo đó là cảnh báo nhầm. Nếu là nhầm, hãy thiết đặt các tập tin <filename>lintian-overrides</filename> như mô tả trong <xref linkend=\"lintian\"/>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Note that you can build the package with <command>dpkg-buildpackage</" +"command> and run <command>lintian</command> on it in one command, if you use " +"<citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> or <citerefentry> <refentrytitle>pdebuild</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." +msgstr "" +"Ghi chú rằng bạn có thể biên dịch gói phần mềm với <command>dpkg-buildpackage</command> và chạy <command>lintian</command> trên nó trong một dòng lệnh, nếu bạn sử dụng <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> hay <citerefentry> <refentrytitle>pdebuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><title> +msgid "The <command>debc</command> command" +msgstr "" +"Lệnh <command>debc</command>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can list files in the binary Debian package with the <citerefentry> " +"<refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> " +"command." +msgstr "" +"Bạn có thể liệt kê các tập tin trong gói phần mềm Debian nhị phân với lệnh <citerefentry> <refentrytitle>debc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ debc <replaceable>package</replaceable>.changes\n" +msgstr "" +"$ debc <replaceable>package</replaceable>.changes\n" + +#. type: Content of: <book><chapter><section><title> +msgid "The <command>debdiff</command> command" +msgstr "" +"Lệnh <command>debdiff</command>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can compare file contents in two source Debian packages with the " +"<citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> command." +msgstr "" +"Bạn có thể so sánh nội dung tập tin của hai gói phần mềm Debian chứa mã nguồn với lệnh <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" +msgstr "" +"$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can also compare file lists in two sets of binary Debian packages with " +"the <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> command." +msgstr "" +"Bạn có thể so sánh danh sách tập tin trong hai gói phần mềm Debian nhị phân với lệnh <citerefentry> <refentrytitle>debdiff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" +msgstr "" +"$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"These are useful to identify what has been changed in the source packages " +"and to check for inadvertent changes made when updating binary packages, " +"such as unintentionally misplacing or removing files." +msgstr "" +"Những lệnh này rất hữu dụng để phát hiện cái gì đã thay đổi trong gói phần mềm nguồn và để tìm ra những thay đổi vô ý tạo ra trong khi cập nhật các gói phần mềm nhị phân, như vô ý đặt tập tin sai địa điểm hoặc vô ý xóa tập tin." + +#. type: Content of: <book><chapter><section><title> +msgid "The <command>interdiff</command> command" +msgstr "" +"Lệnh <command>interdiff</command>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can compare two <filename>diff.gz</filename> files with the " +"<citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> command. This is useful for verifying that no " +"inadvertent changes were made to the source by the maintainer when updating " +"packages in the old <literal>1.0</literal> source format." +msgstr "" +"Bạn có thể so sánh hai tập tin <filename>diff.gz</filename> với lệnh <citerefentry> <refentrytitle>interdiff</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Lệnh này rất hữu dụng để chắc chắn rằng không có thay đổi vô ý nào được tạo ra trong mã nguồn bởi người bảo trì trong quá trình tạo các gói phần mềm dưới định dạng nguồn cũ <literal>1.0</literal>." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" +msgstr "" +"$ interdiff -z <replaceable>old-package</replaceable>.diff.gz <replaceable>new-package</replaceable>.diff.gz\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The new <literal>3.0</literal> source format stores changes in multiple " +"patch files as described in <xref linkend=\"patches\"/>. You can trace " +"changes of each <filename>debian/patches/*</filename> file using " +"<command>interdiff</command>, too." +msgstr "" +"Định dạng nguồn mới <literal>3.0</literal> lưu trữ những thay đổi trong nhiều tập tin vá như mô tả ở <xref linkend=\"patches\"/>. Bạn cũng có thể theo dõi những thay đổi của tập tin <filename>debian/patches/*</filename> dùng lệnh <command>interdiff</command>." + +#. type: Content of: <book><chapter><section><title> +msgid "The <command>mc</command> command" +msgstr "" +"Lệnh <command>mc</command>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Many of these file inspection operations can be made into an intuitive " +"process by using a file manager like <citerefentry> <refentrytitle>mc</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry> which will let you " +"browse not only the contents of <filename>*.deb</filename> package files but " +"also <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, " +"<filename>*.diff.gz</filename>, and <filename>*.orig.tar.gz</filename> files." +msgstr "" +"Rất nhiều thao tác kiểm soát tập tin này có thể được gộp chung vào một quá trình trực quan bởi một trình quản lý tập tin như <citerefentry> <refentrytitle>mc</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> với khả năng cho phép bạn duyệt không chỉ nội dung của các tập tin gói phần mềm <filename>*.deb</filename> mà cả các tập tin <filename>*.udeb</filename>, <filename>*.debian.tar.gz</filename>, <filename>*.diff.gz</filename>, và <filename>*.orig.tar.gz</filename>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Be on the lookout for extra unneeded files or zero length files, both in the " +"binary and source package. Often cruft doesn't get cleaned up properly; " +"adjust your <filename>rules</filename> file to compensate for this." +msgstr "" +"Hãy quan sát cả những tập tin bổ sung không cần thiết và những tập tin không có nội dung, trong cả gói phần mềm nhị phân và nguồn. Thông thường những phần thừa không được dọn dẹp sạch sẽ; thay đổi tập tin <filename>rules</filename> của bạn để bù lại điều này." + +#. type: Content of: <book><chapter><title> +msgid "Updating the package" +msgstr "" +"Cập nhật gói phần mềm" + +#. type: Content of: <book><chapter><para> +msgid "After you release a package, you will soon need to update it." +msgstr "" +"Sau khi bạn tung ra một gói phần mềm, bạn sẽ sớm cần phải cập nhật nó." + +#. type: Content of: <book><chapter><section><title> +msgid "New Debian revision" +msgstr "" +"Phiên bản tu chỉnh Debian mới" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Let's say that a bug report was filed against your package as " +"<literal>#654321</literal>, and it describes a problem that you can solve. " +"Here's what you need to do to create a new Debian revision of the package:" +msgstr "" +"Hãy giả sử là một báo cáo lỗi được gửi về gói phần mềm của bạn như <literal>#654321</literal>, và nó mô tả một vấn đề mà bạn có thể xử lý. Đây là những gì bạn cần làm để tạo một bản tu chỉnh mới của gói phần mềm:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "If this is to be recorded as a new patch, do the following:" +msgstr "" +"Nếu nó sẽ được ghi lại như là một bản vá, hãy làm như sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> to " +"set the patch name;" +msgstr "" +"<literal>dquilt new <replaceable>bugname.patch</replaceable></literal> để đặt tên cho bản vá;" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"<literal>dquilt add <replaceable>buggy-file</replaceable></literal> to " +"declare the file to be modified;" +msgstr "" +"<literal>dquilt add <replaceable>buggy-file</replaceable></literal> để khai báo tập tin sẽ được điều chỉnh;" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Correct the problem in the package source for the upstream bug;" +msgstr "" +"Sửa vấn đề trong nguồn của gói phần mềm cho một lỗi từ thượng nguồn" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"<literal>dquilt refresh</literal> to record it to " +"<filename><replaceable>bugname.patch</replaceable></filename>;" +msgstr "" +"<literal>dquilt refresh</literal> để ghi lại vào <filename><replaceable>bugname.patch</replaceable></filename>;" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "<literal>dquilt header -e</literal> to add its description;" +msgstr "" +"<literal>dquilt header -e</literal> để thêm vào mô tả của nó;" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "If this is to update an existing patch, do the following:" +msgstr "" +"Nếu nó dùng để cập nhật một bản vá đang tồn tại, hãy làm như sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> to recall " +"the existing <filename><replaceable>foo.patch</replaceable></filename>;" +msgstr "" +"<literal>dquilt pop <replaceable>foo.patch</replaceable></literal> để hủy bỏ bản vá hiện tại <filename><replaceable>foo.patch</replaceable></filename>;" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Correct the problem in the old <filename><replaceable>foo.patch</" +"replaceable></filename>;" +msgstr "" +"Sửa vấn đề trong bản cũ <filename><replaceable>foo.patch</replaceable></filename>;" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"<literal>dquilt refresh</literal> to update <filename><replaceable>foo." +"patch</replaceable></filename>;" +msgstr "" +"<literal>dquilt refresh</literal> để cập nhật <filename><replaceable>foo.patch</replaceable></filename>;" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "<literal>dquilt header -e</literal> to update its description;" +msgstr "" +"<literal>dquilt header -e</literal> để cập nhật mô tả của nó;" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " +"patches while removing <emphasis>fuzz</emphasis>;" +msgstr "" +"<literal>while dquilt push; do dquilt refresh; done</literal> để áp dụng tất cả bản vá trong khi tháo bỏ <emphasis>fuzz</emphasis>;" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"To get the date in the required format, use <literal>LANG=C date -R</" +"literal>." +msgstr "" +"Để lấy thông tin ngày dưới định dạng bị bắt buộc, dùng <literal>LANG=C date -R</literal>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Add a new revision at the top of the Debian <filename>changelog</filename> " +"file, for example with <literal>dch -i</literal>, or explicitly with " +"<literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</" +"replaceable></literal> and then insert the comments using your preferred " +"editor. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Thêm một bản tu chỉnh mới vào đầu của tập tin Debian <filename>changelog</filename>, ví dụ như chạy lệnh <literal>dch -i</literal>, hoặc cụ thể hơn với lệnh <literal>dch -v <replaceable>version</replaceable>-<replaceable>revision</replaceable></literal> và sau đó chèn ghi chú vào bằng trình soạn thảo văn bản bạn thích. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Include a short description of the bug and the solution in the changelog " +"entry, followed by <literal>Closes: #654321</literal>. That way, the bug " +"report will be <emphasis>automagically</emphasis> closed by the archive " +"maintenance software the moment your package gets accepted into the Debian " +"archive." +msgstr "" +"Chèn một đoạn mô tả ngắn của lỗi và giải pháp trong mục nhật ký thay đổi, theo sau bởi <literal>Closes: #654321</literal>. Bằng cách đó, báo cáo lỗi sẽ được <emphasis>tự động </emphasis> đóng bởi phần mềm bảo trì kho lưu trữ ngay lúc gói phần mềm của bạn được nhận vào kho lưu trữ của Debian." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Repeat what you did in the above to fix more bugs while updating the Debian " +"<filename>changelog</filename> file with <literal>dch</literal> as needed." +msgstr "" +"Lặp lại những gì bạn đã làm phía trên để sửa nhiều lỗi trong quá trình cập nhật tập tin Debian <filename>changelog</filename> với lệnh <literal>dch</literal> nếu cần thiết." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Repeat what you did in <xref linkend=\"completebuild\"/> and <xref linkend=" +"\"checkit\"/>." +msgstr "" +"Lặp lại những gì bạn đã làm ở <xref linkend=\"completebuild\"/> và <xref linkend=\"checkit\"/>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Once you are satisfied, you should change the distribution value in " +"<filename>changelog</filename> from <literal>UNRELEASED</literal> to the " +"target distribution value <literal>unstable</literal> (or even " +"<literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Khi bạn đã hài lòng, bạn nên thay đổi giá trị bản phân phối trong tập tin <filename>changelog</filename> từ <literal>UNRELEASED</literal> sang giá trị bản phân phối đích <literal>unstable</literal> (hoặc thậm chí <literal>experimental</literal>).<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Upload the package as in <xref linkend=\"upload\"/>. The difference is that " +"this time, the original source archive won't be included, as it hasn't been " +"changed and it already exists in the Debian archive." +msgstr "" +"Tải lên gói phần như ở <xref linkend=\"upload\"/>. Sự khác biệt là lần này, tập tin nén chứa mã nguồn nguyên vẹn ban đầu sẽ không được đính kèm, bởi vì nó không có thay đổi gì và nó đã tồn tại trong kho lưu trữ của Debian." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"One tricky case can occur when you make a local package, to experiment with " +"the packaging before uploading the normal version to the official archive, e." +"g., <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></" +"literal>. For smoother upgrades, it is a good idea to create a " +"<filename>changelog</filename> entry with a version string such as " +"<literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></" +"literal>. You may unclutter <filename>changelog</filename> by consolidating " +"such local change entries into a single entry for the official package. See " +"<xref linkend=\"namever\"/> for the order of version strings." +msgstr "" +"Một tình huống khó có thể xảy ra khi bạn tạo một gói phần mềm tại chỗ để thí nghiệm với quá trình đóng gói trước khi tải phiên bản bình thường lên kho lưu trữ chính thức, ví dụ như <literal><replaceable>1.0.1</replaceable>-<replaceable>1</replaceable></literal>. Để nâng cấp trơn tru hơn, sẽ là một ý hay nếu tạo một chỉ mục trong tập tin <filename>changelog</filename> với phiên bản là một chuỗi ký tự như <literal><replaceable>1.0.1</replaceable>-<replaceable>1~rc1</replaceable></literal>. Bạn có thể sắp xếp lại nội " +"dung tập tin <filename>changelog</filename> bằng cách gộp nhiều chỉ mục nhật ký thay đổi được tạo ra tại chỗ thành một chỉ mục duy nhất cho gói phần mềm chính thức. Xem <xref linkend=\"namever\"/> để biết thêm về thứ tự của các chuỗi ký tự dành cho phiên bản." + +#. type: Content of: <book><chapter><section><title> +msgid "Inspection of the new upstream release" +msgstr "" +"Thẩm định phiên bản mới phát hành từ thượng nguồn" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"When preparing packages of a new upstream release for the Debian archive, " +"you must check the new upstream release first." +msgstr "" +"Khi chuẩn bị các gói phần mềm của một phiên bản mới được phát hành từ thượng nguồn cho kho lưu trữ Debian, bạn phải kiểm tra bản phát hành mới từ thượng nguồn trước tiên." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Start by reading the upstream <filename>changelog</filename>, " +"<filename>NEWS</filename>, and whatever other documentation they may have " +"released with the new version." +msgstr "" +"Bắt đầu bằng việc đọc tập tin thượng nguồn <filename>changelog</filename>, <filename>NEWS</filename>, và bất kỳ tài liệu nào khác họ có thể vừa phát hành với phiên bản mới." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can then inspect changes between the old and new upstream sources as " +"follows, watching out for anything suspicious:" +msgstr "" +"Bạn có thể tiếp theo thẩm định những thay đổi giữa mã nguồn của bản cũ và bản mới từ thượng nguồn như sau, quan sát kỹ những gì đáng nghi:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" +msgstr "" +"$ diff -urN <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable> <replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Changes to some auto-generated files by Autotools such as <filename>missing</" +"filename>, <filename>aclocal.m4</filename>, <filename>config.guess</" +"filename>, <filename>config.h.in</filename>, <filename>config.sub</" +"filename>, <filename>configure</filename>, <filename>depcomp</filename>, " +"<filename>install-sh</filename>, <filename>ltmain.sh</filename>, and " +"<filename>Makefile.in</filename> may be ignored. You may delete them before " +"running <command>diff</command> on the source for inspection." +msgstr "" +"Những thay đổi liên quan tới một vài tập tin tự động được tạo ra bởi Autotools như là <filename>missing</filename>, <filename>aclocal.m4</filename>, <filename>config.guess</filename>, <filename>config.h.in</filename>, <filename>config.sub</filename>, <filename>configure</filename>, <filename>depcomp</filename>, <filename>install-sh</filename>, <filename>ltmain.sh</filename>, và <filename>Makefile.in</filename> có thể bị phớt lờ. Bạn có thể xóa nó đi trước khi chạy lệnh <command>diff</command> trên mã nguồn để thẩm " +"định." + +#. type: Content of: <book><chapter><section><title> +msgid "New upstream release" +msgstr "" +"Phiên bản phát hành mới từ thượng nguồn." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" +"systemitem> is packaged in the old <literal>1.0</literal> format, this can " +"be done by running <literal>zcat /<replaceable>path</replaceable>/" +"<replaceable>to</replaceable>/<replaceable>foo</" +"replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</" +"literal> in the new extracted source, instead." +msgstr "" +"Nếu một gói phần mềm <systemitem role=\"package\"><replaceable>foo</replaceable></systemitem> được đóng gói theo định dạng cũ <literal>1.0</literal>, công việc này có thể được hoàn thành bằng việc chạy lệnh <literal>zcat /<replaceable>path</replaceable>/<replaceable>to</replaceable>/<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.diff.gz|patch -p1</literal>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If a package <systemitem role=\"package\"><replaceable>foo</replaceable></" +"systemitem> is properly packaged in the newer <literal>3.0 (native)</" +"literal> or <literal>3.0 (quilt)</literal> formats, packaging a new upstream " +"version is essentially moving the old <filename>debian</filename> directory " +"to the new source. This can be done by running <literal>tar xvzf /" +"<replaceable>path</replaceable>/<replaceable>to</replaceable>/" +"<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.debian." +"tar.gz</literal> in the new extracted source. <placeholder type=\"footnote" +"\" id=\"0\"/> Of course, you need to do some obvious chores:" +msgstr "" +"Nếu một gói phần mềm <systemitem role=\"package\"><replaceable>foo</replaceable></systemitem> được cấu hình đúng cách theo các định dạng mới <literal>3.0 (native)</literal> or <literal>3.0 (quilt)</literal>, đóng gói một phiên bản thượng nguồn mới chủ yếu chỉ là di chuyển thư mục <filename>debian</filename> cũ sang mã nguồn mới. Công việc này có thể được thực hiện bằng cách chạy lệnh <literal>tar xvzf /<replaceable>path</replaceable>/<replaceable>to</replaceable>/<replaceable>foo</" +"replaceable>_<replaceable>oldversion</replaceable>.debian.tar.gz</literal> tại nơi giải nén mã nguồn mới. <placeholder type=\"footnote\" id=\"0\"/> Dĩ nhiên, bạn cần phải làm một số công việc chắc chắn phải làm sau:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Create a copy of the upstream source as the " +"<filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename> " +"file." +msgstr "" +"Tạo một bản sao của mã nguồn từ thượng nguồn như là tập tin <filename>foo_<replaceable>newversion</replaceable>.orig.tar.gz</filename>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Update the Debian <filename>changelog</filename> file with <literal>dch -v " +"<replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." +msgstr "" +"Cập nhật tập tin Debian <filename>changelog</filename> với lệnh <literal>dch -v <replaceable>newversion</replaceable>-<replaceable>1</replaceable></literal>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "Add an entry with <literal>New upstream release</literal>." +msgstr "" +"Tạo một mục mới với chuỗi ký tự <literal>New upstream release</literal>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Describe concisely the changes <emphasis>in the new upstream release</" +"emphasis> that fix reported bugs and close those bugs by adding " +"<literal>Closes: #<replaceable>bug_number</replaceable></literal>." +msgstr "" +"Mô tả cụ thể những thay đổi <emphasis> trong bản phát hành mới từ thượng nguồn</emphasis> sửa được các lỗi đã báo cáo và đóng các lỗi đó bằng việc chèn thêm <literal>Closes: #<replaceable>bug_number</replaceable></literal>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Describe concisely the changes <emphasis>to the new upstream release</" +"emphasis> by the maintainer that fix reported bugs and close those bugs by " +"adding <literal>Closes: #<replaceable>bug_number</replaceable></literal>." +msgstr "" +"Mô tả cụ thể những thay đổi xảy ra bởi người bảo trì <emphasis> đối với bản phát hành từ thượng nguồn</emphasis> mà sửa được các lỗi đã báo cáo và đóng các lỗi đó bằng hành động chèn thêm <literal>Closes: #<replaceable>bug_number</replaceable></literal>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"<literal>while dquilt push; do dquilt refresh; done</literal> to apply all " +"patches while removing <emphasis>fuzz</emphasis>." +msgstr "" +"<literal>while dquilt push; do dquilt refresh; done</literal> để áp dụng tất cả các bản vá trong lúc tháo chúng ra <emphasis>fuzz</emphasis>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If the patch/merge did not apply cleanly, inspect the situation (clues are " +"left in <filename>.rej</filename> files)." +msgstr "" +"Nếu bản vá/ghép không áp dụng được sạch sẽ, thẩm định tình hình (gợi ý được để trong các tập tin <filename>.rej</filename>)." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If a patch you applied to the source was integrated into the upstream source," +msgstr "" +"Nếu một bản vá bạn đã áp dụng với mã nguồn được ghép vào mã nguồn từ thượng nguồn," + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "<literal>dquilt delete</literal> to remove it." +msgstr "" +"chạy lệnh <literal>dquilt delete</literal> để tháo bỏ nó ra." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If a patch you applied to the source conflicted with new changes in the " +"upstream source," +msgstr "" +"Nếu một bản vá bạn đã áp dụng vào mã nguồn xung đột với những thay đổi mới đến từ mã nguồn mới của thượng nguồn," + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"<literal>dquilt push -f</literal> to apply old patches while forcing rejects " +"as <filename><replaceable>baz</replaceable>.rej</filename>." +msgstr "" +"<literal>dquilt push -f</literal> để áp dụng những bản vá cũ trong khi ép buộc các từ chối vá từ tập tin <filename><replaceable>baz</replaceable>.rej</filename>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Edit the <filename><replaceable>baz</replaceable></filename> file manually " +"to bring about the intended effect of <filename><replaceable>baz</" +"replaceable>.rej</filename>." +msgstr "" +"Sửa tập tin <filename><replaceable>baz</replaceable></filename> bằng tay để có được hiệu quả mong muốn của tập tin <filename><replaceable>baz</replaceable>.rej</filename>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "<literal>dquilt refresh</literal> to update the patch." +msgstr "" +"<literal>dquilt refresh</literal> để cập nhật bản vá" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Continue as usual with <literal>while dquilt push; do dquilt refresh; done</" +"literal>." +msgstr "" +"Tiếp tục như bình thường với <literal>while dquilt push; do dquilt refresh; done</literal>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"This process can be automated using the <citerefentry> " +"<refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> command as follows:" +msgstr "" +"Quá trình này có thể được tự động hóa bằng cách chạy lệnh <citerefentry> <refentrytitle>uupdate</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"$ apt-get source <replaceable>foo</replaceable>\n" +"...\n" +"dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" +"dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" +"dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" +"$ ls -F\n" +"<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" +"<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" +"<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" +"<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" +"$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" +"$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" +"$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" +"$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" +"$ while dquilt push; do dquilt refresh; done\n" +"$ dch\n" +"... document changes made\n" +msgstr "" +"$ apt-get source <replaceable>foo</replaceable>\n" +"...\n" +"dpkg-source: info: extracting <replaceable>foo</replaceable> in <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" +"dpkg-source: info: unpacking <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" +"dpkg-source: info: applying <replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" +"$ ls -F\n" +"<replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>/\n" +"<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.debian.tar.gz\n" +"<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>-1.dsc\n" +"<replaceable>foo</replaceable>_<replaceable>oldversion</replaceable>.orig.tar.gz\n" +"$ wget http://example.org/<replaceable>foo</replaceable>/<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" +"$ cd <replaceable>foo</replaceable>-<replaceable>oldversion</replaceable>\n" +"$ uupdate -v <replaceable>newversion</replaceable> ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>.tar.gz\n" +"$ cd ../<replaceable>foo</replaceable>-<replaceable>newversion</replaceable>\n" +"$ while dquilt push; do dquilt refresh; done\n" +"$ dch\n" +"... document changes made\n" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"If the <command>uscan</command> command downloads the updated source but it " +"does not run the <command>uupdate</command> command, you should correct the " +"<filename>debian/watch</filename> file to have <literal>debian uupdate</" +"literal> at the end of the URL." +msgstr "" +"Nếu lệnh <command>uscan</command> tải về mã nguồn mới nhưng nó không chạy lệnh <command>uupdate</command>, bạn nên sửa tập tin <filename>debian/watch</filename> để có dòng <literal>debian uupdate</literal> tại cuối của đường dẫn URL." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you set up a <filename>debian/watch</filename> file as described in <xref " +"linkend=\"watch\"/>, you can skip the <command>wget</command> command. You " +"simply run <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> in the <filename><replaceable>foo</replaceable>-" +"<replaceable>oldversion</replaceable></filename> directory instead of the " +"<command>uupdate</command> command. This will <emphasis>automagically</" +"emphasis> look for the updated source, download it, and run the " +"<command>uupdate</command> command. <placeholder type=\"footnote\" id=\"0\"/" +">" +msgstr "" +"Nếu bạn tạo một tập tin <filename>debian/watch</filename> như được mô tả ở <xref linkend=\"watch\"/>, bạn nên bỏ qua lệnh <command>wget</command>. Bạn đơn giản chỉ chạy lệnh <citerefentry> <refentrytitle>uscan</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> trong thư mục <filename><replaceable>foo</replaceable>-<replaceable>oldversion</replaceable></filename> thay vì lệnh <command>uupdate</command>. Hành động này <emphasis>tự động</emphasis> tìm mã nguồn mới, tải về, và chạy lệnh <command>uupdate</" +"command>. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can release this updated source by repeating what you did in <xref " +"linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <xref linkend=" +"\"upload\"/>." +msgstr "" +"Bạn có thể phát hành mã nguồn mới này bằng việc lặp lại những gì bạn đã làm ở <xref linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, và <xref linkend=\"upload\"/>." + +#. type: Content of: <book><chapter><section><title> +msgid "Updating the packaging style" +msgstr "" +"Cập nhật kiểu đóng gói" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"If your sponsor or other maintainers object to updating the existing " +"packaging style, don't bother arguing. There are more important things to " +"do." +msgstr "" +"Nếu nhà tài trợ của bạn hoặc các nhà bảo trì khác phản đối việc cập nhật cách đóng gói hiện tại, đừng phí thời gian tranh cãi. Có nhiều việc quan trọng hơn cần phải làm." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Updating the package style is not a required activity for the update of a " +"package. However, doing so lets you use the full capabilities of the modern " +"<systemitem role=\"package\">debhelper</systemitem> system and the " +"<literal>3.0</literal> source format. <placeholder type=\"footnote\" id=" +"\"0\"/>" +msgstr "" +"Cập nhật cách đóng gói không phải là một hành động bắt buộc cho việc cập nhật một gói phần mềm. Tuy nhiên, làm vậy sẽ cho phép bạn sử dụng toàn bộ khả năng của hệ thống <systemitem role=\"package\">debhelper</systemitem> hiện đại và định dạng gói nguồn <literal>3.0</literal>. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If you need to recreate deleted template files for any reason, you can run " +"<command>dh_make</command> again in the same Debian package source tree with " +"the <literal>--addmissing</literal> option. Then edit them appropriately." +msgstr "" +"Nếu bạn cần tái tạo những tập tin khuôn mẫu đã bị xóa vì lý do gì đó, bạn có thể chạy lệnh <command>dh_make</command> lại trong cây thư mục của gói phần mềm nguồn Debian với tham số <literal>--addmissing</literal> option. Sau đó điều chỉnh chúng cho phù hợp." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If the package has not been updated to use the <systemitem role=\"package" +"\">debhelper</systemitem> v7+ <command>dh</command> syntax for the " +"<filename>debian/rules</filename> file, update it to use <command>dh</" +"command>. Update the <filename>debian/control</filename> file accordingly." +msgstr "" +"Nếu gói phần mềm không được cập nhật để sử dụng cú pháp <systemitem role=\"package\">debhelper</systemitem> v7+ <command>dh</command> cho tập tin <filename>debian/rules</filename>, cập nhật nó để sử dụng <command>dh</command>. Cập nhật tập tin <filename>debian/control</filename> tương ứng." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If you want to update the <filename>rules</filename> file created with the " +"<filename>Makefile</filename> inclusion mechanism of the Common Debian Build " +"System (<systemitem role=\"package\">cdbs</systemitem>) to the <command>dh</" +"command> syntax, see the following to understand its <literal>DEB_*</" +"literal> configuration variables." +msgstr "" +"Nếu bạn muốn cập nhật tập tin <filename>rules</filename> được tạo với cơ chế đính kèm <filename>Makefile</filename> của Common Debian Build System (<systemitem role=\"package\">cdbs</systemitem>) (Hệ Thống Biên Dịch Chung Debian) lên cú pháp <command>dh</command>, xem phần sau để hiểu các biến cấu hình <literal>DEB_*</literal>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "local copy of <filename>&cdbs-doc;</filename>" +msgstr "" +"bản sao tại chỗ của <filename>&cdbs-doc;</filename>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM " +"2009</ulink>" +msgstr "" +"<ulink url=\"&cdbs-tutorial;\">The Common Debian Build System (CDBS), FOSDEM 2009</ulink>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If you have a <literal>1.0</literal> source package without the " +"<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " +"update it to the newer <literal>3.0 (native)</literal> source format by " +"creating <filename>debian/source/format</filename> with <literal>3.0 " +"(native)</literal>. The rest of the <filename>debian/*</filename> files can " +"just be copied." +msgstr "" +"Nếu bạn có một gói phần mềm nguồn với định dạng <literal>1.0</literal> mà không có tập tin <filename><replaceable>foo</replaceable>.diff.gz</filename>, bạn có thể cập nhật nó lên định dạng nguồn <literal>3.0 (native)</literal> mới hơn bằng việc tạo tập tin <filename>debian/source/format</filename> chứa dòng <literal>3.0 (native)</literal>. Các tập tin <filename>debian/*</filename> còn lại có thể được sao chép sang." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"You can split <filename>big.diff</filename> into many small incremental " +"patches using the <command>splitdiff</command> command." +msgstr "" +"Bạn có thể chặt tập tin <filename>big.diff</filename> ra nhiều bản vá nhỏ liên tiếp dùng lệnh <command>splitdiff</command>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If you have a <literal>1.0</literal> source package with the " +"<filename><replaceable>foo</replaceable>.diff.gz</filename> file, you can " +"update it to the newer <literal>3.0 (quilt)</literal> source format by " +"creating <filename>debian/source/format</filename> with <literal>3.0 " +"(quilt)</literal>. The rest of the <filename>debian/*</filename> files can " +"just be copied. Import the <filename>big.diff</filename> file generated by " +"the command <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</" +"replaceable>.diff.gz > big.diff</literal> to your <command>quilt</" +"command> system, if needed. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Nếu bạn có một gói phần mềm nguồn với định dạng <literal>1.0</literal> mà không có tập tin <filename><replaceable>foo</replaceable>.diff.gz</filename>, bạn có thể cập nhật nó lên định dạng nguồn <literal>3.0 (native)</literal> mới hơn bằng việc tạo tập tin <filename>debian/source/format</filename> chứa dòng <literal>3.0 (native)</literal>. Các tập tin <filename>debian/*</filename> còn lại có thể được sao chép sang. Nhập tập tin <filename>big.diff</filename> được tạo ra bởi lệnh <literal>filterdiff -z -x '*/debian/*' <replaceable>foo</replaceable>.diff.gz > big.diff</literal> vào hệ thống <command>quilt</command> của bạn, nếu cần thiết. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If it was packaged using another patch system such as <systemitem role=" +"\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</" +"systemitem>, or <systemitem role=\"package\">cdbs</systemitem> with " +"<literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, " +"convert it to <systemitem role=\"package\">quilt</systemitem> using " +"<filename>deb3</filename> at <ulink url=\"&deb3;\"/>." +msgstr "" +"Nếu nó được đóng gói bằng một hệ thống vá khác như là <systemitem role=\"package\">dpatch</systemitem>, <systemitem role=\"package\">dbs</systemitem>, hay <systemitem role=\"package\">cdbs</systemitem> với <literal>-p0</literal>, <literal>-p1</literal>, or <literal>-p2</literal>, chuyển đổi nó sang <systemitem role=\"package\">quilt</systemitem> bằng việc sử dụng <filename>deb3</filename> tại <ulink url=\"&deb3;\"/>." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If it was packaged with the <command>dh</command> command with the " +"<literal>--with quilt</literal> option or with the <command>dh_quilt_patch</" +"command> and <command>dh_quilt_unpatch</command> commands, remove these and " +"make it use the newer <literal>3.0 (quilt)</literal> source format." +msgstr "" +"Nếu nó được đóng gói với lệnh <command>dh</command> với tham số <literal>--with quilt</literal> hay với các lệnh <command>dh_quilt_patch</command> và <command>dh_quilt_unpatch</command>, bỏ những thứ này và buộc nó sử dụng định dạng gói nguồn <literal>3.0 (quilt)</literal> mới hơn." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You should check <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</" +"ulink> and adopt ACCEPTED proposals." +msgstr "" +"Bạn nên kiểm tra <ulink url=\"&dep;\">DEP - Debian Enhancement Proposals</ulink>(Những đề nghị cải tiến Debian) và sử dụng những đề nghị đã được CHẤP THUẬN." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You need to do the other tasks described in <xref linkend=\"newupstream\"/>, " +"too." +msgstr "" +"Bạn cũng cần phải thực hiện các công việc khác mô tả ở <xref linkend=\"newupstream\"/>." + +#. type: Content of: <book><chapter><section><title> +msgid "UTF-8 conversion" +msgstr "" +"Chuyển đổi sang UTF-8" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If upstream documents are encoded in old encoding schemes, converting them " +"to <ulink url=\"&utf8;\">UTF-8</ulink> is a good idea." +msgstr "" +"Nếu các văn bản thượng nguồn được mã hóa theo kiểu mã hóa cũ, chuyển đổi nó sang <ulink url=\"&utf8;\">UTF-8</ulink> là một ý hay." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Use <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> to convert encodings of plain text files." +msgstr "" +"Sử dụng <citerefentry> <refentrytitle>iconv</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> để chuyển đổi mã hóa của các tập tin văn bản thô." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" +msgstr "" +"iconv -f latin1 -t utf8 <replaceable>foo_in.txt</replaceable> > <replaceable>foo_out.txt</replaceable>\n" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Use <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry> to convert from HTML files to UTF-8 plain text " +"files. When you do this, make sure to execute it under UTF-8 locale." +msgstr "" +"Sử dụng <citerefentry> <refentrytitle>w3m</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> để chuyển đổi các tập tin HTML sang các tập tin văn bản thô UTF-8. Khi bạn làm điều này, hãy chắc chắn rằng bạn chạy nó dưới môi trường UTF-8." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"LC_ALL=en_US.UTF-8 w3m -o display_charset=UTF-8 \\\n" +" -cols 70 -dump -no-graph -T text/html \\\n" +" < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" +msgstr "" +"LC_ALL=en_US.UTF-8 w3m -o display_charset=UTF-8 \\\n" +" -cols 70 -dump -no-graph -T text/html \\\n" +" < <replaceable>foo_in.html</replaceable> > <replaceable>foo_out.txt</replaceable>\n" + +#. type: Content of: <book><chapter><section><title> +msgid "Reminders for updating packages" +msgstr "" +"Các nhắc nhở cho việc cập nhật các gói phần mềm" + +#. type: Content of: <book><chapter><section><para> +msgid "Here are a few reminders for updating packages:" +msgstr "" +"Sau đây là vài nhắc nhở cho việc cập nhật các phần mềm:" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Preserve old <filename>changelog</filename> entries (sounds obvious, but " +"there have been cases of people typing <literal>dch</literal> when they " +"should have typed <literal>dch -i</literal>.)" +msgstr "" +"Bảo tồn các chỉ mục cũ trong tập tin <filename>changelog</filename> (nghe có vẻ quá dĩ nhiên, nhưng đã có các tình huống nhiều người đánh lệnh <literal>dch</literal> trong khi họ đáng lẽ phải đánh <literal>dch -i</literal>.)" + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Existing Debian changes need to be reevaluated; throw away stuff that " +"upstream has incorporated (in one form or another) and remember to keep " +"stuff that hasn't been incorporated by upstream, unless there is a " +"compelling reason not to." +msgstr "" +"Các thay đổi Debian hiện tại cần phải được đánh giá lại; ném đi những thứ thượng nguồn đã tích hợp (dưới kiểu này hay kiểu khác) và ghi nhớ giữ những thứ mà thượng nguồn chưa tích hợp, trừ khi có một lý do đáng để không làm thế." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"If any changes were made to the build system (hopefully you'd know from " +"inspecting upstream changes) then update the <filename>debian/rules</" +"filename> and <filename>debian/control</filename> build dependencies if " +"necessary." +msgstr "" +"Nếu bất kỳ thay đổi nào được tạo ra đối với hệ thống biên dịch (hi vọng bạn sẽ biết từ việc thẩm định các thay đổi từ thượng nguồn), hãy cập nhật các điều kiện biên dịch của <filename>debian/rules</filename> và <filename>debian/control</filename> nếu cần thiết." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Check the <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> to " +"see if someone has provided patches to bugs that are currently open." +msgstr "" +"Kiểm tra <ulink url=\"&bts;\">Debian Bug Tracking System (BTS)</ulink> (Hệ thống theo dõi lỗi Debian) để xem có ai đã cung cấp bản vá cho các lỗi đang mở." + +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para> +msgid "" +"Check the contents of the <filename>.changes</filename> file to make sure " +"you are uploading to the correct distribution, the proper bug closures are " +"listed in the <literal>Closes</literal> field, the <literal>Maintainer</" +"literal> and <literal>Changed-By</literal> fields match, the file is GPG-" +"signed, etc." +msgstr "" +"Kiểm tra những nội dung của tập tin <filename>.changes</filename> để chắc chắn rằng bạn đang tải lên đúng bản phân phối, các lỗi được đóng đúng cách được liệt kê trong trường <literal>Closes</literal>, trường <literal>Maintainer</literal> và <literal>Changed-By</literal> phải khớp, tập tin phải được ký bằng GPG, v.v." + +#. type: Content of: <book><chapter><title> +msgid "Uploading the package" +msgstr "" +"Tải gói phần mềm lên" + +#. type: Content of: <book><chapter><para> +msgid "" +"Now that you have tested your new package thoroughly, you want to release it " +"to a public archive to share it." +msgstr "" +"Giờ bạn đã kiểm tra gói phần mềm mới của bạn kỹ càng, bạn muốn phát hành nó trên kho công cộng để chia sẻ nó." + +#. type: Content of: <book><chapter><section><title> +msgid "Uploading to the Debian archive" +msgstr "" +"Tải nó lên kho lưu trữ Debian" + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "See <xref linkend=\"socialdynamics\"/>." +msgstr "" +"Xem <xref linkend=\"socialdynamics\"/>." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"There are publicly accessible archives such as <ulink url=\"&mentors-dn;\"/> " +"which work almost the same way as the Debian archive and provide an upload " +"area for non-DDs. You can set up an equivalent archive by yourself using " +"the tools listed at <ulink url=\"&deb-archive;\"/>. So this section is " +"useful for non-DDs, too." +msgstr "" +"Có các kho lưu trữ truy cập công cộng như là <ulink url=\"&mentors-dn;\"/> vốn hoạt động gần như không khác gì với kho lưu trữ Debian và cung cấp một khu vực tải lên cho những người không phải DD(nhà phát triển Debian). Bạn có thể tự tạo một kho tương tự sử dụng các công cụ tại <ulink url=\"&deb-archive;\"/>. Vì thể phần này cũng sẽ hữu dụng cho những người không phải DD." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"The <systemitem role=\"package\">dput</systemitem> package seems to come " +"with more features and to be becoming more popular than the <systemitem role=" +"\"package\">dupload</systemitem> package. It uses the file <filename>/etc/" +"dput</filename> for its global configuration and the file <filename>~/.dput." +"cf</filename> for per-user configuration. It supports Ubuntu-related " +"services out-of-the-box, too." +msgstr "" +"Gói phần mềm <systemitem role=\"package\">dput</systemitem> có vẻ đến với nhiều tính năng và có vẻ đang trở nên thông dụng hơn gói phần mềm <systemitem role=\"package\">dupload</systemitem>. Nó sử dụng tập tin <filename>/etc/dput</filename> cho việc cấu hình mọi nơi của nó và tập tin <filename>~/.dput.cf</filename> cho việc cấu hình từng người dùng. Nó cũng hỗ trợ đầy đủ các dịch vụ liên quan đến Ubuntu." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"Once you become an official developer, <placeholder type=\"footnote\" id=" +"\"0\"/> you can upload the package to the Debian archive. <placeholder type=" +"\"footnote\" id=\"1\"/> You can do this manually, but it's easier to use the " +"existing automated tools, like <citerefentry> <refentrytitle>dupload</" +"refentrytitle> <manvolnum>1</manvolnum> </citerefentry> or <citerefentry> " +"<refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry>. We'll describe how it's done with <command>dupload</" +"command>. <placeholder type=\"footnote\" id=\"2\"/>" +msgstr "" +"Khi bạn trở thành một nhà phát triển chính thức, <placeholder type=\"footnote\" id=\"0\"/> bạn có thể tải gói phần mềm lên kho lưu trữ Debian. <placeholder type=\"footnote\" id=\"1\"/> Bạn có thể làm điều này bằng tay, nhưng sẽ dễ hơn nếu bạn sử dụng các công cụ tự động sẵn có như <citerefentry> <refentrytitle>dupload</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> hay <citerefentry> <refentrytitle>dput</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>. Chúng tôi sẽ mô tả công việc sẽ được thực " +"hiện ra sao với <command>dupload</command>. <placeholder type=\"footnote\" id=\"2\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"First you have to set up <command>dupload</command>'s config file. You can " +"either edit the system-wide <filename>/etc/dupload.conf</filename> file, or " +"have your own <filename>~/.dupload.conf</filename> file override the few " +"things you want to change." +msgstr "" +"Đầu tiên bạn phải tạo tập tin cấu hình của <command>dupload</command>. Bạn có thể chọn sửa tập tin cấu hình tầm hệ thống <filename>/etc/dupload.conf</filename>, hoặc tạo tập tin <filename>~/.dupload.conf</filename> riêng của bạn vượt quyền cấp trên ở những cài đặt bạn muốn thay đổi." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"You can read the <citerefentry> <refentrytitle>dupload.conf</refentrytitle> " +"<manvolnum>5</manvolnum> </citerefentry> manual page to understand what each " +"of these options means." +msgstr "" +"Bạn có thể đọc trang tham khảo <citerefentry> <refentrytitle>dupload.conf</refentrytitle> <manvolnum>5</manvolnum> </citerefentry> để hiểu ý nghĩa của từng tham số ở đây." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6, " +"\"Uploading a package\"</ulink>." +msgstr "" +"Xem <ulink url=\"&devref-upload;\">Debian Developer's Reference 5.6, \"Uploading a package\"</ulink>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"The <literal>$default_host</literal> option determines which of the upload " +"queues will be used by default. <literal>anonymous-ftp-master</literal> is " +"the primary one, but it's possible that you will want to use another one. " +"<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Tham số <literal>$default_host</literal> quyết định hàng đợi tải lên nào sẽ được sử dụng ngầm định. <literal>anonymous-ftp-master</literal> là hàng đợi chính, nhưng có thể bạn sẽ muốn sử dụng một hàng đợi khác. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"While connected to the Internet, you can upload your package as follows:" +msgstr "" +"Khi được kết nối tới Internet, bạn có thể tải gói phần mềm của bạn lên như sau:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ dupload gentoo_0.9.12-1_i386.changes\n" +msgstr "" +"$ dupload gentoo_0.9.12-1_i386.changes\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"<command>dupload</command> checks that the SHA1/SHA256 file checksums match " +"those listed in the <filename>.changes</filename> file. If they do not " +"match, it will warn you to rebuild it as described in <xref linkend=" +"\"completebuild\"/> so it can be properly uploaded." +msgstr "" +"<command>dupload</command> kiểm tra rằng các mã tập tin SHA1/SHA256 khớp với các mã được liệt kê trong tập tin <filename>.changes</filename>. Nếu chúng không khớp, nó sẽ cảnh báo bạn để tái biên dịch như mô tả ở <xref linkend=\"completebuild\"/> để nó có thể được tải lên đúng cách." + +#. type: Content of: <book><chapter><section><para><footnote><para> +msgid "" +"See <ulink url=\"&uploadqueue-readme;\"/>. Alternatively, you can use the " +"<command>dcut</command> command from the <systemitem role=\"package\">dput</" +"systemitem> package." +msgstr "" +"Xem <ulink url=\"&uploadqueue-readme;\"/>. Ngoài ra, bạn có thể dùng lệnh <command>dcut</command> từ gói phần mềm <systemitem role=\"package\">dput</systemitem>." + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you encounter an upload problem at <ulink url=\"&uploadqueue;\"/>, you " +"can fix this by manually uploading a GPG-signed <filename>*.commands</" +"filename> file to there with <command>ftp</command>. <placeholder type=" +"\"footnote\" id=\"0\"/> For example, using <filename>hello.commands</" +"filename>:" +msgstr "" +"Nếu bạn gặp phải một vấn đề tải lên tại <ulink url=\"&uploadqueue;\"/>, bạn có thể sửa nó bằng việc tải lên bằng tay một tập tin <filename>*.commands</filename> ký theo kiểu GPG với <command>ftp</command>. <placeholder type=\"footnote\" id=\"0\"/> Ví dụ, dùng <filename>hello.commands</filename>:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "" +"-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA1\n" +"Uploader: Foo Bar <Foo.Bar@example.org>\n" +"Commands: \n" +" rm hello_1.0-1_i386.deb\n" +" mv hello_1.0-1.dsx hello_1.0-1.dsc\n" +"-----BEGIN PGP SIGNATURE-----\n" +"Version: GnuPG v1.4.10 (GNU/Linux)\n" +"\n" +"[...]\n" +"-----END PGP SIGNATURE-----\n" +msgstr "" +"-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA1\n" +"Uploader: Foo Bar <Foo.Bar@example.org>\n" +"Commands: \n" +" rm hello_1.0-1_i386.deb\n" +" mv hello_1.0-1.dsx hello_1.0-1.dsc\n" +"-----BEGIN PGP SIGNATURE-----\n" +"Version: GnuPG v1.4.10 (GNU/Linux)\n" +"\n" +"[...]\n" +"-----END PGP SIGNATURE-----\n" + +#. type: Content of: <book><chapter><section><title> +msgid "Including <filename>orig.tar.gz</filename> for upload" +msgstr "" +"Đính kèm <filename>orig.tar.gz</filename> cho việc tải lên" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"When you first upload the package to the archive, you need to include the " +"original <filename>orig.tar.gz</filename> source, too. If the Debian " +"revision number of this package is neither <literal>1</literal> nor " +"<literal>0</literal>, you must provide the <command>dpkg-buildpackage</" +"command> option <literal>-sa</literal>." +msgstr "" +"Khi bạn tải gói phần mềm lên kho lưu trữ lần đầu tiên, bạn cũng cần đính kèm tập tin nguồn nguyên gốc <filename>orig.tar.gz</filename>. Nếu mã phiên bản Debian của gói phần mềm này không phải là <literal>1</literal> hay <literal>0</literal>, bạn phải cung cấp tham số <literal>-sa</literal> của dòng lệnh <command>dpkg-buildpackage</command>." + +#. type: Content of: <book><chapter><section><para> +msgid "For the <command>dpkg-buildpackage</command> command:" +msgstr "" +"Đối với dòng lệnh <command>dpkg-buildpackage</command>:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ dpkg-buildpackage -sa\n" +msgstr "" +"$ dpkg-buildpackage -sa\n" + +#. type: Content of: <book><chapter><section><para> +msgid "For the <command>debuild</command> command:" +msgstr "" +"Đối với dòng lệnh <command>debuild</command>:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ debuild -sa\n" +msgstr "" +"$ debuild -sa\n" + +#. type: Content of: <book><chapter><section><para> +msgid "For the <command>pdebuild</command> command:" +msgstr "" +"For the <command>pdebuild</command> command:" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ pdebuild --debbuildopts -sa\n" +msgstr "" +"$ pdebuild --debbuildopts -sa\n" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"On the other hand, the <literal>-sd</literal> option will force the " +"exclusion of the original <filename>orig.tar.gz</filename> source." +msgstr "" +"Ngược lại, tham số <literal>-sd</literal> sẽ buộc việc loại trừ tập tin nguồn nguyên gốc <filename>orig.tar.gz</filename>." + +#. type: Content of: <book><chapter><section><title> +msgid "Skipped uploads" +msgstr "" +"Những lần tải lên bị bỏ qua" + +#. type: Content of: <book><chapter><section><para> +msgid "" +"If you created multiple entries in <filename>debian/changelog</filename> by " +"skipping uploads, you must create a proper <filename>*_.changes</filename> " +"file that includes all changes since the last upload. This can be done by " +"specifying the <command>dpkg-buildpackage</command> option <literal>-v</" +"literal> with the version, e.g., <literal><replaceable>1.2</replaceable></" +"literal>." +msgstr "" +"Nếu bạn tạo quá nhiều mục trong tập tin <filename>debian/changelog</filename> bắng việc bỏ qua các lần tải lên, bạn phải tạo một tập tin đúng quy định <filename>*_.changes</filename> bao gồm tất cả những thay đổi từ lần tải lên cuối cùng. Điều này có thể được thực hiện bằng việc đặt giá trị phiên bản cho tham số <literal>-v</literal> của lệnh <command>dpkg-buildpackage</command>, ví dụ, <literal><replaceable>1.2</replaceable></literal>." + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" +msgstr "" +"$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ debuild -v<replaceable>1.2</replaceable>\n" +msgstr "" +"$ debuild -v<replaceable>1.2</replaceable>\n" + +#. type: Content of: <book><chapter><section><screen> +#, no-wrap +msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" +msgstr "" +"$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n" + +#. type: Content of: <book><appendix><title> +msgid "Advanced packaging" +msgstr "" +"Đóng gói nâng cao" + +#. type: Content of: <book><appendix><para> +msgid "" +"Here are some hints and pointers for advanced packaging topics that you are " +"most likely to deal with. You are strongly advised to read all the " +"references suggested here." +msgstr "" +"Sau đây là một vài gợi ý và chỉ dẫn cho các đề tài đóng gói nâng cáo mà bạn rất có thể phải đối mặt. Bạn rất được khuyến khích đọc tất cả những tài liệu liên quan được đề nghị ở đây." + +#. type: Content of: <book><appendix><para> +msgid "" +"You may need to manually edit the packaging template files generated by the " +"<command>dh_make</command> command to address topics covered in this " +"chapter. The newer <command>debmake</command> command should address these " +"topics better." +msgstr "" +"Bạn có thể cần phải thay đổi các tập tin khuôn mẫu đóng gói tạo ra bởi lệnh <command>dh_make</command> để biết được các đề tài được nói tới trong chương này. Lệnh <command>debmake</command> mới hơn có thể sẽ nói về các đề tài này tốt hơn." + +#. type: Content of: <book><appendix><section><title> +msgid "Shared libraries" +msgstr "" +"Các thư viện được chia sẻ" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"Before packaging shared <ulink url=\"&library;\">libraries</ulink>, you " +"should read the following primary references in detail:" +msgstr "" +"Trước khi đóng gói các <ulink url=\"&library;\">thư viện</ulink> được chia sẻ, bạn nên đọc những tài liệu liên quan sau một cách chi tiết:" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&policy-sharedlibraries;\">Debian Policy Manual, 8 \"Shared " +"libraries\"</ulink>" +msgstr "" +"<ulink url=\"&policy-sharedlibraries;\">Hướng dẫn về Chính sách Debian, 8 \"Các Thư viện Chia sẻ\"</ulink>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&policy-fhs;\">Debian Policy Manual, 9.1.1 \"File System " +"Structure\"</ulink>" +msgstr "" +"<ulink url=\"&policy-fhs;\">Hướng dẫn về Chính sách Debian, 9.1.1 \"Cấu trúc Hệ thống tập tin\"</ulink>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&policy-libraries;\">Debian Policy Manual, 10.2 \"Libraries\"</" +"ulink>" +msgstr "" +"<ulink url=\"&policy-libraries;\">Hướng dẫn về Chính sách Debian, 10.2 \"Các Thư viện\"</ulink>" + +#. type: Content of: <book><appendix><section><para> +msgid "Here are some oversimplified hints for you to get started:" +msgstr "" +"Sau đây là một số gợi ý được đơn giản hóa quá mức để giúp bạn bắt đầu:" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Shared libraries are <ulink url=\"&elf;\">ELF</ulink> object files " +"containing compiled code." +msgstr "" +"Các thư viện chia sẻ là các tập tin đối tượng <ulink url=\"&elf;\">ELF</ulink> chứa mã biên dịch." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Shared libraries are distributed as <filename>*.so</filename> files. " +"(Neither <filename>*.a</filename> files nor <filename>*.la</filename> files)" +msgstr "" +"Các thư viện chia sẻ được phân phối bởi các tập tin <filename>*.so</filename>. (Không phải các tập tin <filename>*.a</filename> hay các tập tin <filename>*.la</filename>)" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Shared libraries are mainly used to share common codes among multiple " +"executables with the <command>ld</command> mechanism." +msgstr "" +"Các thư viện chia sẻ được sử dụng phần lớn để chia sẻ những mã thông dụng giữa nhiều tập tin thực thi với cơ chế <command>ld</command>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Shared libraries are sometimes used to provide multiple plugins to an " +"executable with the <command>dlopen</command> mechanism." +msgstr "" +"Các thư viện chia sẻ thỉnh thoảng được sử dụng để cung cấp nhiều phần mở rộng có thể cắm vào một tập tin thực thi với cơ chế <command>dlopen</command>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Shared libraries export <ulink url=\"&symbol;\">symbols</ulink>, which " +"represent compiled objects such as variables, functions, and classes; and " +"enable access to them from the linked executables." +msgstr "" +"Các thư viện chia sẻ xuất <ulink url=\"&symbol;\">các ký hiệu</ulink> đại diện cho các đối tượng được biên dịch như là các tham biến, các hàm, và các class; và cho phép truy cập tới chúng từ các tập tin thực thi được kết nối tới chúng." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." +"<replaceable>1</replaceable> | grep SONAME</literal>" +msgstr "" +"Ngoài ra: <literal>readelf -d lib<replaceable>foo</replaceable>.so.<replaceable>1</replaceable> | grep SONAME</literal>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"The <ulink url=\"&soname;\">SONAME</ulink> of a shared library " +"<filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</" +"replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so." +"<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=" +"\"footnote\" id=\"0\"/>" +msgstr "" +"<ulink url=\"&soname;\">SONAME</ulink> của một thư viện chia sẻ <filename>lib<replaceable>foo</replaceable>.so</filename>.<replaceable>1</replaceable>: <literal>objdump -p lib<replaceable>foo</replaceable>.so.<replaceable>1</replaceable> | grep SONAME</literal> <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"The SONAME of a shared library usually matches the library file name (but " +"not always)." +msgstr "" +"SONAME của một thư viện chia sẻ thường khớp với tên tập tin thư viện (nhưng không phải luôn luôn như vậy)." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"Alternatively: <literal>readelf -d lib<replaceable>foo</replaceable>.so." +"<replaceable>1</replaceable> | grep NEEDED</literal>" +msgstr "" +"Ngoài ra: <literal>readelf -d lib<replaceable>foo</replaceable>.so.<replaceable>1</replaceable> | grep NEEDED</literal>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"The SONAME of shared libraries linked to <filename><replaceable>/usr/bin/" +"foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</" +"replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/" +">" +msgstr "" +"SONAME của các thư viện chia sẻ được kết nối tới <filename><replaceable>/usr/bin/foo</replaceable></filename>: <literal>objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED</literal> <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-runtime;\">Debian Policy Manual, 8.1 \"Run-time " +"shared libraries\"</ulink>." +msgstr "" +"Xem <ulink url=\"&policy-runtime;\">Hướng dẫn về Chính sách Debian, 8.1 \"Các Thư viện chia sẻ khi chạy\"</ulink>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">lib<replaceable>foo</" +"replaceable><replaceable>1</replaceable></systemitem>: the library package " +"for the shared library <filename>lib<replaceable>foo</replaceable>.so." +"<replaceable>1</replaceable></filename> with the SONAME ABI version " +"<replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable><replaceable>1</replaceable></systemitem>: gói phần mềm thư viện cho thư viện chia sẻ <filename>lib<replaceable>foo</replaceable>.so.<replaceable>1</replaceable></filename> với phiên bản SONAME ABI <replaceable>1</replaceable>.<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-ldconfig;\">Debian Policy Manual, 8.1.1 \"ldconfig" +"\"</ulink>." +msgstr "" +"Xem <ulink url=\"&policy-ldconfig;\">Hướng dẫn về Chính sách Debian, 8.1.1 \"ldconfig\"</ulink>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"The package maintainer scripts of the library package must call " +"<command>ldconfig</command> under the specific circumstances to create the " +"necessary symbolic links for the SONAME.<placeholder type=\"footnote\" id=" +"\"0\"/>" +msgstr "" +"Các kịch bản bảo trì gói phần mềm của gói phần mềm thư viện phải gọi lệnh <command>ldconfig</command> dưới các tình huống cụ thể để tạo các kết nối tượng trưng cho SONAME.<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">lib<replaceable>foo</" +"replaceable><replaceable>1</replaceable>-dbg</systemitem>: the debugging " +"symbols package that contains the debugging symbols for the shared library " +"package <systemitem role=\"package\">lib<replaceable>foo</" +"replaceable><replaceable>1</replaceable></systemitem>." +msgstr "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable><replaceable>1</replaceable>-dbg</systemitem>: gói phần mềm ký hiệu dò lỗ chứa các ký hiệu dò lỗi cho gói phần mềm thư viện chia sẻ <systemitem role=\"package\">lib<replaceable>foo</replaceable><replaceable>1</replaceable></systemitem>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-static;\">Debian Policy Manual, 8.3 \"Static " +"libraries\"</ulink> and <ulink url=\"&policy-dev;\">Debian Policy Manual, " +"8.4 \"Development files\"</ulink>." +msgstr "" +"Xem <ulink url=\"&policy-static;\">Hướng dẫn Chính sách Debian, 10.2 \"Các Thư viện tĩnh\"</ulink> và <ulink url=\"&policy-dev;\">Hướng dẫn về Chính sách Debian, 8.4 \"Các Tập tin phát triển\"</ulink>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" +"systemitem>: the development package that contains the header files etc. for " +"the shared library <filename>lib<replaceable>foo</replaceable>.so." +"<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=" +"\"0\"/>" +msgstr "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</systemitem>: gói phần mềm phát triển chứa những tập tin tiêu đề v.v. cho thư viện chia sẻ <filename>lib<replaceable>foo</replaceable>.so.<replaceable>1</replaceable></filename>.<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"See <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." +msgstr "" +"Xem <ulink url=\"&removela;\">Debian wiki ReleaseGoals/LAFileRemoval</ulink>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Debian packages should not contain <filename>*.la</filename> Libtool archive " +"files in general.<placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Các gói Debian không nên chứa các tập tin lưu trữ <filename>*.la</filename> nói chung.<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> +msgid "See <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." +msgstr "" +"Xem <ulink url=\"&rpathissues;\">Debian wiki RpathIssue</ulink>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Debian packages should not use RPATH in general.<placeholder type=\"footnote" +"\" id=\"0\"/>" +msgstr "" +"Gói phần mềm Debian nói chung không nên sử dụng RPATH.<placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Although it is somewhat outdated and is only a secondary reference, <ulink " +"url=\"&debianlibrarypackagingguide;\">Debian Library Packaging Guide</ulink> " +"may still be useful." +msgstr "" +"Mặc dù nó có thể đã lạc hậu và chỉ tồn tại như là tài liêu tham khảo thứ cấp, <ulink url=\"&debianlibrarypackagingguide;\">Hướng dẫn Đóng gói thư viện Debian</ulink> có thể vẫn hữu dụng." + +#. type: Content of: <book><appendix><section><title> +msgid "" +"Managing <filename>debian/<replaceable>package</replaceable>.symbols</" +"filename>" +msgstr "" +"Quản lý <filename>debian/<replaceable>package</replaceable>.symbols</filename>" + +#. type: Content of: <book><appendix><section><para><footnote><para> +msgid "" +"Backward-incompatible ABI changes normally require you to update the SONAME " +"of the library and the shared library package name to new ones." +msgstr "" +"Các thay đổi ABI không tương thích ngược thông thường cần bạn phải cập nhật SONAME của thư viện và tên gói phần mềm thư viện chia sẻ sang những tên mới." + +#. type: Content of: <book><appendix><section><para> +msgid "" +"When you package a shared library, you should create a <filename>debian/" +"<replaceable>package</replaceable>.symbols</filename> file to manage the " +"minimal version associated with each symbol for backward-compatible ABI " +"changes under the same SONAME of the library for the same shared library " +"package name.<placeholder type=\"footnote\" id=\"0\"/> You should read the " +"following primary references in detail:" +msgstr "" +"Khi bạn đóng gói một thư viện chia sẻ, bạn nên tạo một tập tin <filename>debian/<replaceable>package</replaceable>.symbols</filename> để quản lý phiên bản thấp nhất liên quan tới từng ký hiệu cho các thay đổi ABI tương thích ngược dưới cùng một SONAME của thư viện cho cùng một tên gói phần mềm thư viện.<placeholder type=\"footnote\" id=\"0\"/> Bạn nên đọc những tài liệu liên quan chính thống sau đây một cách chi tiết:" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"For C++ libraries and other cases where tracking individual symbols is too " +"difficult, follow <ulink url=\"&policy-library-shlibs;\">Debian Policy " +"Manual, 8.6.4 \"The shlibs system\"</ulink>, instead." +msgstr "" +"Với các thư viện C++ và các tình huống khác mà theo dõi từng ký hiệu là vô cùng khó khăn, thay vì như trên hãy làm theo <ulink url=\"&policy-library-shlibs;\">Hướng dẫn Chính sách về Debian, 8.6.4 \"Hệ thống shlibs\"</ulink>," + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&policy-library-symbols;\">Debian Policy Manual, 8.6.3 \"The " +"symbols system\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"<ulink url=\"&policy-library-symbols;\">Hướng dẫn Chính sách Debian, 8.6.3 \"Hệ thống ký hiệu\"</ulink><placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>" +msgstr "" +"<citerefentry> <refentrytitle>dh_makeshlibs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>" +msgstr "" +"<citerefentry> <refentrytitle>dpkg-gensymbols</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</" +"manvolnum> </citerefentry>" +msgstr "" +"<citerefentry> <refentrytitle>dpkg-shlibdeps</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</" +"manvolnum> </citerefentry>" +msgstr "" +"<citerefentry> <refentrytitle>deb-symbols</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"Here is a rough example of how to create the <systemitem role=\"package" +"\">libfoo1</systemitem> package from the upstream version <literal>1.3</" +"literal> with the proper <filename>debian/libfoo1.symbols</filename> file:" +msgstr "" +"Sau đây là một ví dụ sơ khảo để tạo một gói phần mềm <systemitem role=\"package\">libfoo1</systemitem> tương ứng với phiên bản thượng nguồn <literal>1.3</literal> với tập tin <filename>debian/libfoo1.symbols</filename> phù hợp:" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Prepare the skeleton debianized source tree using the upstream " +"<filename>libfoo-1.3.tar.gz</filename> file." +msgstr "" +"Chuẩn bị một sườn cho cây mã nguồn Debian hóa sử dụng tập tin thượng nguồn <filename>libfoo-1.3.tar.gz</filename>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"If this is the first packaging of the <systemitem role=\"package\">libfoo1</" +"systemitem> package, create the <filename>debian/libfoo1.symbols</filename> " +"file with empty content." +msgstr "" +"Nếu đây là lần đóng gói đầu tiên của gói phần mềm <systemitem role=\"package\">libfoo1</systemitem>, tạo một tập tin <filename>debian/libfoo1.symbols</filename> rỗng." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"If the previous upstream version <literal>1.2</literal> was packaged as the " +"<systemitem role=\"package\">libfoo1</systemitem> package with the proper " +"<filename>debian/libfoo1.symbols</filename> in its source package, use it " +"again." +msgstr "" +"Nếu phiên bản thượng nguồn trước đó <literal>1.2</literal> được đóng gói thành gói phần mềm <systemitem role=\"package\">libfoo1</systemitem> với một tập tin <filename>debian/libfoo1.symbols</filename> phù hợp trong gói phần mềm nguồn của nó, hãy sử dụng lại tập tin đó." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> +msgid "" +"All previous versions of Debian packages are available at <ulink url=" +"\"&snapshot;\">http://snapshot.debian.org/</ulink>. The Debian revision is " +"dropped from the version to make it easier to backport the package: " +"<literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << " +"<literal>1.1-1</literal> and <literal>1.2</literal> << " +"<literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" +msgstr "" +"Tất cả các phiên bản trước đó của các gói phần mềm Debian có sẵn tại <ulink url=\"&snapshot;\">http://snapshot.debian.org/</ulink>. Phiên bản tu chỉnh Debian được cắt bỏ khỏi phiên bản để giúp việc backport gói phần mềm (tạo gói phần mềm chứa các cập nhật mới cho các bản phân phối Debian cũ) dễ hơn: <literal>1.1</literal> << <literal>1.1-1~bpo70+1</literal> << <literal>1.1-1</literal> và <literal>1.2</literal> << <literal>1.2-1~bpo70+1</literal> << <literal>1.2-1</literal>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"If the previous upstream version <literal>1.2</literal> was not packaged " +"with <filename>debian/libfoo1.symbols</filename>, create it as the " +"<filename>symbols</filename> file from all available binary packages of the " +"same shared library package name containing the same SONAME of the library, " +"for example, versions <literal>1.1-1</literal> and <literal>1.2-1</" +"literal>. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Nếu bản thượng nguồn trước đó <literal>1.2</literal> không được đóng gói với tập tin <filename>debian/libfoo1.symbols</filename>, tạo một tập tin như là tập tin <filename>symbols</filename> từ tất cả các gói phần mềm nhị phân có sẵn của một tên gói phần mềm thư viện chứa cùng SONAME của một thư viện, ví dụ, các phiên bản <literal>1.1-1</literal> và <literal>1.2-1</literal>. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" +"$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" +"$ : > symbols\n" +"$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" +"$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" +msgstr "" +"$ dpkg-deb -x libfoo1_1.1-1.deb libfoo1_1.1-1\n" +"$ dpkg-deb -x libfoo1_1.2-1.deb libfoo1_1.2-1\n" +"$ : > symbols\n" +"$ dpkg-gensymbols -v1.1 -plibfoo1 -Plibfoo1_1.1-1 -Osymbols\n" +"$ dpkg-gensymbols -v1.2 -plibfoo1 -Plibfoo1_1.2-1 -Osymbols\n" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Make trial builds of the source tree with tools such as <command>debuild</" +"command> and <command>pdebuild</command>. (If this fails due to missing " +"symbols etc., there were some backward-incompatible ABI changes that require " +"you to bump the shared library package name to something like <systemitem " +"role=\"package\">libfoo1a</systemitem> and you should start over again.)" +msgstr "" +"Tạo các bản biên dịch thử của cây mã nguồn với các công cụ như là <command>debuild</command> và <command>pdebuild</command>. (Nếu điều này thất bại do thiếu ký hiệu v.v., đã có một số thay đổi ABI không tương thích ngược buộc bạn phải tăng tên gói phần mềm thư viện chia sẻ lên một tên như là <systemitem role=\"package\">libfoo1a</systemitem> và bạn nên bắt đầu lại từ đầu.)" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"$ cd libfoo-1.3\n" +"$ debuild\n" +"...\n" +"dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" +" see diff output below\n" +"--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" +"+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" +"@@ -127,6 +127,7 @@\n" +" foo_get_name@Base 1.1\n" +" foo_get_longname@Base 1.2\n" +" foo_get_type@Base 1.1\n" +"+ foo_get_longtype@Base 1.3-1\n" +" foo_get_symbol@Base 1.1\n" +" foo_get_rank@Base 1.1\n" +" foo_new@Base 1.1\n" +"...\n" +msgstr "" +"$ cd libfoo-1.3\n" +"$ debuild\n" +"...\n" +"dpkg-gensymbols: warning: some new symbols appeared in the symbols file: ...\n" +" see diff output below\n" +"--- debian/libfoo1.symbols (libfoo1_1.3-1_amd64)\n" +"+++ dpkg-gensymbolsFE5gzx 2012-11-11 02:24:53.609667389 +0900\n" +"@@ -127,6 +127,7 @@\n" +" foo_get_name@Base 1.1\n" +" foo_get_longname@Base 1.2\n" +" foo_get_type@Base 1.1\n" +"+ foo_get_longtype@Base 1.3-1\n" +" foo_get_symbol@Base 1.1\n" +" foo_get_rank@Base 1.1\n" +" foo_new@Base 1.1\n" +"...\n" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para><footnote><para> +msgid "" +"The Debian revision is dropped from the version to make it easier to " +"backport the package: <literal>1.3</literal> << " +"<literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" +msgstr "" +"Phiên bản tu chỉnh Debian được cắt bỏ khỏi phiên bản để giúp việc backport gói phần mềm (tạo gói phần mềm chứa các cập nhật mới cho các bản phân phối Debian cũ) dễ hơn: <literal>1.3</literal> << <literal>1.3-1~bpo70+1</literal> << <literal>1.3-1</literal>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"If you see the diff printed by the <command>dpkg-gensymbols</command> as " +"above, extract the proper updated <filename>symbols</filename> file from the " +"generated binary package of the shared library. <placeholder type=\"footnote" +"\" id=\"0\"/>" +msgstr "" +"Nếu bạn thấy sự khác biệt in ra bởi lệnh <command>dpkg-gensymbols</command> như trên, giải nén tập tin <filename>symbols</filename> phù hợp cập nhật mới nhất từ gói phần mềm nhị phân được tạo ra của thư viện chia sẻ. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"$ cd ..\n" +"$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" +"$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" +" >libfoo-1.3/debian/libfoo1.symbols\n" +msgstr "" +"$ cd ..\n" +"$ dpkg-deb -R libfoo1_1.3_amd64.deb libfoo1-tmp\n" +"$ sed -e 's/1\\.3-1/1\\.3/' libfoo1-tmp/DEBIAN/symbols \\\n" +" >libfoo-1.3/debian/libfoo1.symbols\n" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Build release packages with tools such as <command>debuild</command> and " +"<command>pdebuild</command>." +msgstr "" +"Biên dịch các gói phần mềm phát hành với các công cụ như <command>debuild</command> và <command>pdebuild</command>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"$ cd libfoo-1.3\n" +"$ debuild -- clean\n" +"$ debuild\n" +"...\n" +msgstr "" +"$ cd libfoo-1.3\n" +"$ debuild -- clean\n" +"$ debuild\n" +"...\n" + +#. type: Content of: <book><appendix><section><para><footnote><para> +msgid "" +"See <ulink url=\"&policy-library-abi;\">Debian Policy Manual, 8.6.2 \"Shared " +"library ABI changes\"</ulink>." +msgstr "" +"Xem <ulink url=\"&policy-library-abi;\">Hướng dẫn về Chính sách Debian, 8.6.2 \"Các Thay đổi ABI của Thư viện chia sẻ\"</ulink>" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"In addition to the above examples, we need to check the ABI compatibility " +"further and bump versions for some symbols manually as needed. <placeholder " +"type=\"footnote\" id=\"0\"/>" +msgstr "" +"Bên cạnh các ví dụ ở trên, chúng ta cần phải kiểm tra tương thích ABI hơn nữa và tăng các phiên bản cho một vài ký hiệu bằng tay nếu cần. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"Although it is only a secondary reference, <ulink url=\"&usingsymbolsfiles;" +"\">Debian wiki UsingSymbolsFiles</ulink> and its linked web pages may be " +"useful." +msgstr "" +"Mặc dù đây chỉ là một tài liệu tham khảo thứ cấp, <ulink url=\"&usingsymbolsfiles;\">Debian wiki UsingSymbolsFiles</ulink> và những trang điện tử kết nối tới nó có thể rất hữu dụng." + +#. type: Content of: <book><appendix><section><title> +msgid "Multiarch" +msgstr "" +"Multiarch" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"The multiarch feature introduced to Debian wheezy integrates support for " +"cross-architecture installation of binary packages (particularly " +"<literal>i386</literal><-><literal>amd64</literal>, but also other " +"combinations) in <systemitem role=\"package\">dpkg</systemitem> and " +"<systemitem role=\"package\">apt</systemitem>. You should read the following " +"references in detail:" +msgstr "" +"Tính năng multiarch được giới thiệu ở Debian wheezy tích hợp hỗ trợ cho cài đặt xuyên nền tảng của các gói phần mềm nhị phân (đặc biệt <literal>i386</literal><-><literal>amd64</literal>, nhưng cũng một vài kết hợp khác) trong <systemitem role=\"package\">dpkg</systemitem> và <systemitem role=\"package\">apt</systemitem>. Bạn nên đọc các tài liệu tham khảo sau một cách chi tiết:" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (upstream)" +msgstr "" +"<ulink url=\"&multiarchspec;\">Ubuntu wiki MultiarchSpec</ulink> (thượng nguồn)" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/" +"Implementation</ulink> (Debian situation)" +msgstr "" +"<ulink url=\"&multiarchimplementation;\">Debian wiki Multiarch/Implementation</ulink> (tình huống Debian)" + +#. type: Content of: <book><appendix><section><para><footnote><para> +msgid "" +"Old special purpose library paths such as <filename>/lib32/</filename> and " +"<filename>/lib64/</filename> are not used anymore." +msgstr "" +"Các đường dẫn thư viện chuyên dụng cũ như <filename>/lib32/</filename> và <filename>/lib64/</filename> không được sử dụng nữa." + +#. type: Content of: <book><appendix><section><para> +msgid "" +"It uses the triplet such as <literal>i386-linux-gnu</literal> and " +"<literal>x86_64-linux-gnu</literal> for the install path of shared " +"libraries. The actual triplet path is dynamically set into the <literal>" +"$(DEB_HOST_MULTIARCH)</literal> variable using the <citerefentry> " +"<refentrytitle>dpkg-architecture</refentrytitle><manvolnum>1</manvolnum></" +"citerefentry> command for each binary package build. For example, the path " +"to install multiarch libraries are changed as follows:<placeholder type=" +"\"footnote\" id=\"0\"/>" +msgstr "" +"Nó sử dụng bộ ba như là <literal>i386-linux-gnu</literal> và <literal>x86_64-linux-gnu</literal> cho đường dẫn cài đặt của các thư viện chia sẻ. Đường dẫn bộ ba thực sự được đặt giá trị linh động theo tham biến <literal>$(DEB_HOST_MULTIARCH)</literal> dùng lệnh <citerefentry> <refentrytitle>dpkg-architecture</refentrytitle><manvolnum>1</manvolnum></citerefentry> cho từng lần biên dịch gói phần mềm nhị phân. Ví dụ, đường dẫn để cài đặt các thư viện multiarch được thay đổi như sau:<placeholder type=\"footnote\" id=" +"\"0\"/>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> +msgid "Old path" +msgstr "" +"Đường dẫn cũ" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> +msgid "i386 multiarch path" +msgstr "" +"Đường dẫn i386 multiarch" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> +msgid "amd64 multiarch path" +msgstr "" +"Đường dẫn amd64 multiarch" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "<filename>/lib/</filename>" +msgstr "" +"<filename>/lib/</filename>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "<filename>/lib/i386-linux-gnu/</filename>" +msgstr "" +"<filename>/lib/i386-linux-gnu/</filename>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "<filename>/lib/x86_64-linux-gnu/</filename>" +msgstr "" +"<filename>/lib/x86_64-linux-gnu/</filename>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "<filename>/usr/lib/</filename>" +msgstr "" +"<filename>/usr/lib/</filename>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "<filename>/usr/lib/i386-linux-gnu/</filename>" +msgstr "" +"<filename>/usr/lib/i386-linux-gnu/</filename>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "<filename>/usr/lib/x86_64-linux-gnu/</filename>" +msgstr "" +"<filename>/usr/lib/x86_64-linux-gnu/</filename>" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"Here are some typical multiarch package split scenario examples for the " +"following:" +msgstr "" +"Sau đây là một vài ví dụ về tình huống băm gói phần mềm multiarch tiêu biểu cho các gói:" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"a library source <filename>lib<replaceable>foo</replaceable>-1.tar.gz</" +"filename>" +msgstr "" +"một gói phần mềm nguồn cho <filename>lib<replaceable>foo</replaceable>-1.tar.gz</filename>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"a tool source <filename><replaceable>bar</replaceable>-1.tar.gz</filename> " +"written in a compiled language" +msgstr "" +"một gói phần mềm nguồn công cụ <filename><replaceable>bar</replaceable>-1.tar.gz</filename> viết bằng một ngôn ngữ biên dịch." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"a tool source <filename><replaceable>baz</replaceable>-1.tar.gz</filename> " +"written in an interpreted language" +msgstr "" +"một gói phần mềm nguồn công cụ <filename><replaceable>baz</replaceable>-1.tar.gz</filename> viết bằng một ngôn ngữ thông dịch" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> +msgid "Package" +msgstr "" +"Package" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> +msgid "Architecture:" +msgstr "" +"Architecture:" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> +msgid "Multi-Arch:" +msgstr "" +"Multi-Arch:" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><thead><row><entry> +msgid "Package content" +msgstr "" +"Nội dung gói phần mềm" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "" +"<systemitem role=\"package\">lib<replaceable>foo</" +"replaceable><replaceable>1</replaceable></systemitem>" +msgstr "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable><replaceable>1</replaceable></systemitem>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "any" +msgstr "" +"bất kỳ" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "same" +msgstr "" +"không đổi" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "the shared library, co-installable" +msgstr "" +"thư viện được chia sẻ, có thể cài cùng lúc" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "" +"<systemitem role=\"package\">lib<replaceable>foo</" +"replaceable><replaceable>1</replaceable>-dbg</systemitem>" +msgstr "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable><replaceable>1</replaceable>-dbg</systemitem>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "the shared library debug symbols, co-installable" +msgstr "" +"các ký hiệu dò lỗi của thư viện chia sẻ, có thể cài cùng lúc" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</" +"systemitem>" +msgstr "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable>-dev</systemitem>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "the shared library header files etc., co-installable" +msgstr "" +"các tập tin tiêu đề của thư viện chia sẻ v.v., có thể cài cùng lúc" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</" +"systemitem>" +msgstr "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable>-tools</systemitem>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "foreign" +msgstr "" +"Xa lạ" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "the run-time support programs, not co-installable" +msgstr "" +"Các chương trình hỗ trợ khi chạy, không thể cài đặt cùng lúc" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</" +"systemitem>" +msgstr "" +"<systemitem role=\"package\">lib<replaceable>foo</replaceable>-doc</systemitem>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "all" +msgstr "" +"tất cả" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "the shared library documentation files" +msgstr "" +"những tập tin tài liệu hướng dẫn của thư viện chia sẻ" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "" +"<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" +msgstr "" +"<systemitem role=\"package\"><replaceable>bar</replaceable></systemitem>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "the compiled program files, not co-installable" +msgstr "" +"các tập tin chương trình đã biên dịch, không thể cài đặt cùng lúc" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "" +"<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" +msgstr "" +"<systemitem role=\"package\"><replaceable>bar</replaceable>-doc</systemitem>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "the documentation files for the program" +msgstr "" +"những tập tin tài liệu hướng dẫn cho chương trình" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "" +"<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" +msgstr "" +"<systemitem role=\"package\"><replaceable>baz</replaceable></systemitem>" + +#. type: Content of: <book><appendix><section><informaltable><tgroup><tbody><row><entry> +msgid "the interpreted program files" +msgstr "" +"các tập tin chương trình được thông dịch" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"Please note that the development package should contain a symlink for the " +"associated shared library <emphasis role=\"strong\">without a version " +"number</emphasis>. E.g.: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</" +"filename> -> <filename>libfoo.so.1</filename>" +msgstr "" +"Xin chú ý rằng gói phần mềm phát triển nên chứa một kết nối tượng trưng cho thư viện chia sẻ tương ứng <emphasis role=\"strong\">không có số phiên bản</emphasis>. Ví dụ: <filename>/usr/lib/x86_64-linux-gnu/libfoo.so</filename> -> <filename>libfoo.so.1</filename>" + +#. type: Content of: <book><appendix><section><title> +msgid "Building a shared library package" +msgstr "" +"Biên dịch một gói phần mềm chia sẻ" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"You can build a Debian library package enabling multiarch support using " +"<citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </" +"citerefentry> as follows:" +msgstr "" +"Bạn có thể biên dịch một gói phần mềm thư viện Debian cho phép hỗ trợ multiarch <citerefentry> <refentrytitle>dh</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> như sau:" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "Update <filename>debian/control</filename>." +msgstr "" +"Cập nhật <filename>debian/control</filename>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Add <literal>Build-Depends: debhelper (>=10)</literal> for the source " +"package section." +msgstr "" +"Thêm <literal>Build-Depends: debhelper (>=10)</literal> cho phần gói phần mềm nguồn." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Add <literal>Pre-Depends: ${misc:Pre-Depends}</literal> for each shared " +"library binary package." +msgstr "" +"Thêm <literal>Pre-Depends: ${misc:Pre-Depends}</literal> cho mỗi gói phần mềm nhị phân thư viện chia sẻ." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Add <literal>Multi-Arch:</literal> stanza for each binary package section." +msgstr "" +"Thêm <literal>Multi-Arch:</literal> cho mỗi phần tương ứng với mỗi gói phần mềm nhị phân." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "Set <filename>debian/compat</filename> to \"10\"." +msgstr "Đặt giá trị 10 cho <filename>debian/compat</filename>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Adjust the path from the normal <literal>/usr/lib/</literal> to the " +"multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> for all " +"packaging scripts." +msgstr "" +"Điều chỉnh đường dẫn từ <literal>/usr/lib/</literal> bình thường sang multiarch <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> cho tất cả kịch bản đóng gói." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Call <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -" +"qDEB_HOST_MULTIARCH)</literal> in <filename>debian/rules</filename> to set " +"the <literal>DEB_HOST_MULTIARCH</literal> variable first." +msgstr "" +"Gọi <literal>DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)</literal> trong <filename>debian/rules</filename> để đặt giá trị cho tham biến <literal>DEB_HOST_MULTIARCH</literal> trước tiên." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Replace <literal>/usr/lib/</literal> with <literal>/usr/lib/" +"$(DEB_HOST_MULTIARCH)/</literal> in <filename>debian/rules</filename>." +msgstr "" +"Thay thế <literal>/usr/lib/</literal> với <literal>/usr/lib/$(DEB_HOST_MULTIARCH)/</literal> trong <filename>debian/rules</filename>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para><footnote><para> +msgid "" +"Alternatively, you can add <literal>--libdir=\\$${prefix}/lib/" +"$(DEB_HOST_MULTIARCH)</literal> and <literal>--libexecdir=\\$${prefix}/lib/" +"$(DEB_HOST_MULTIARCH)</literal> arguments to <literal>./configure</" +"literal>. Please note that <literal>--libexecdir</literal> specifies the " +"default path to install executable programs run by other programs rather " +"than by users. Its Autotools default is <filename>/usr/libexec/</filename> " +"but its Debian default is <filename>/usr/lib/</filename>." +msgstr "" +"Ngoài ra, bạn có thể thêm các đối số <literal>--libdir=\\$${prefix}/lib/$(DEB_HOST_MULTIARCH)</literal> và <literal>--libexecdir=\\$${prefix}/lib/$(DEB_HOST_MULTIARCH)</literal> cho <literal>./configure</literal>. Xin hãy chú ý rằng tham số <literal>--libexecdir</literal> thông báo đường dẫn ngầm định để cài đặt các chương trình thực thi được chạy bởi các chương trình khác thay vì bởi người dùng. Giá trị ngầm định Autotools của nó là <filename>/usr/libexec/</filename> nhưng ngầm định của Debian là <filename>/usr/" +"lib/</filename>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"If <literal>./configure</literal> is used in part of the " +"<literal>override_dh_auto_configure</literal> target in <filename>debian/" +"rules</filename>, make sure to replace it with <literal>dh_auto_configure -- " +"</literal>. <placeholder type=\"footnote\" id=\"0\"/>" +msgstr "" +"Nếu <literal>./configure</literal> được sử dụng trong một phần của mục tiêu <literal>override_dh_auto_configure</literal> trong <filename>debian/rules</filename>, chắc chắn rằng bạn thay thế nó với <literal>dh_auto_configure -- </literal>. <placeholder type=\"footnote\" id=\"0\"/>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Replace all occurrences of <literal>/usr/lib/</literal> with <literal>/usr/" +"lib/*/</literal> in <filename>debian/<replaceable>foo</replaceable>.install</" +"filename> files." +msgstr "" +"Thay thế hết tất cả các sự xuất hiện của <literal>/usr/lib/</literal> với <literal>/usr/lib/*/</literal> trong các tập tin <filename>debian/<replaceable>foo</replaceable>.install</filename>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><para> +msgid "" +"Generate files like <filename>debian/<replaceable>foo</replaceable>.links</" +"filename> from <filename>debian/<replaceable>foo</replaceable>.links.in</" +"filename> dynamically by adding a script to the " +"<literal>override_dh_auto_configure</literal> target in <filename>debian/" +"rules</filename>." +msgstr "" +"Tạo ra các tập tin như <filename>debian/<replaceable>foo</replaceable>.links</filename> từ <filename>debian/<replaceable>foo</replaceable>.links.in</filename> một cách tự động bắng thêm một kịch bản vào mục tiêu <literal>override_dh_auto_configure</literal> trong <filename>debian/rules</filename>." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><screen> +#, no-wrap +msgid "" +"override_dh_auto_configure:\n" +" dh_auto_configure\n" +" sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" +" debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" +msgstr "" +"override_dh_auto_configure:\n" +" dh_auto_configure\n" +" sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \\\n" +" debian/<replaceable>foo</replaceable>.links.in > debian/<replaceable>foo</replaceable>.links\n" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"Please make sure to verify that the shared library package contains only the " +"expected files, and that your -dev package still works." +msgstr "" +"Hãy chắc chắn rằng gói phần mềm thư viện chia sẻ chỉ chứa duy nhất các tập tin được trông đợi, và gói phần mềm -dev của bạn vẫn hoạt động tốt." + +#. type: Content of: <book><appendix><section><para> +msgid "" +"All files installed simultaneously as the multiarch package to the same file " +"path should have exactly the same file content. You must be careful of " +"differences generated by the data byte order and by the compression " +"algorithm." +msgstr "" +"Tất cả các tập tin được cài đặt cùng lúc với gói phần mềm multiarch vào cùng một đường dẫn nên có cùng một nội dung chính xác như nhau. Bạn phải cẩn thận với những sự khác biệt tạo ra bởi thứ tự byte dữ liệu và thuật toán nén." + +#. type: Content of: <book><appendix><section><title> +msgid "Native Debian package" +msgstr "" +"Gói phần mềm Debian native" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"If a package is maintained only for Debian or possibly only for local use, " +"its source may contain all the <filename>debian/*</filename> files in it. " +"There are 2 ways to package it." +msgstr "" +"Nếu một gói phần mề được bảo trì chỉ cho Debian hoặc có thể chỉ cho việc dùng nội bộ, mã nguồn của nó có thể chứa tất các tập tin <filename>debian/*</filename> bên trong nó. Có 2 cách để đóng gói nó." + +#. type: Content of: <book><appendix><section><para> +msgid "" +"You can make the upstream tarball by excluding the <filename>debian/*</" +"filename> files and package it as a non-native Debian package as in <xref " +"linkend=\"workflow\"/>. This is the normal way, which some people encourage " +"using." +msgstr "" +"Bạn có thể tạo một tập tin lưu trữ thượng nguồn bằng việc loại trừ tất cả các tập tin <filename>debian/*</filename> và đóng gói nó như là một gói phần mềm nhị phân Debian không native như ở <xref linkend=\"workflow\"/>. Đây là cách thông thường mọi người khuyến khích sử dụng." + +#. type: Content of: <book><appendix><section><para> +msgid "The alternative is the workflow of the native Debian package." +msgstr "" +"Một cách khác là cách làm của một gói phần mềm Debian native." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"Create a native Debian source package in the <literal>3.0 (native)</literal> " +"format using a single compressed tar file in which all files are included." +msgstr "" +"Tạo một gói phần mềm nguồn Debian native dưới định dạng <literal>3.0 (native)</literal> bằng việc sử dụng một tập tin nén tar đơn độc chứa tất cả các tập tin bên trong." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><literal> +msgid "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" +msgstr "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><literal> +msgid "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" +msgstr "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "Build Debian binary packages from the native Debian source package." +msgstr "" +"Biên dịch các gói phần mềm nhị phân Debian từ gói phần mềm nguồn Debian native." + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><itemizedlist><listitem><literal> +msgid "" +"<replaceable>package</replaceable>_<replaceable>version</" +"replaceable>_<replaceable>arch</replaceable>.deb" +msgstr "" +"<replaceable>package</replaceable>_<replaceable>version</replaceable>_<replaceable>arch</replaceable>.deb" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"For example, if you have source files in <filename>~/mypackage-1.0</" +"filename> without the <filename>debian/*</filename> files, you can create a " +"native Debian package by issuing the <command>dh_make</command> command as " +"follows:" +msgstr "" +"Ví dụ, nếu bạn có các tập tin nguồn trong thư mục <filename>~/mypackage-1.0</filename> mà không có các tập tin <filename>debian/*</filename>, bạn có thể tạo một gói phần mềm Debian native cho nó bằng việc chạy lệnh <command>dh_make</command> như sau:" + +#. type: Content of: <book><appendix><section><screen> +#, no-wrap +msgid "" +"$ cd ~/mypackage-1.0\n" +"$ dh_make --native\n" +msgstr "" +"$ cd ~/mypackage-1.0\n" +"$ dh_make --native\n" + +#. type: Content of: <book><appendix><section><para> +msgid "" +"Then the <filename>debian</filename> directory and its contents are created " +"just like in <xref linkend=\"non-native-dh-make\"/>. This does not create a " +"tarball, since this is a native Debian package. But that is the only " +"difference. The rest of the packaging activities are practically the same." +msgstr "" +"Sau đó thư mục <filename>debian</filename> và nội dụng của nó được tạo như là ở <xref linkend=\"non-native-dh-make\"/>. Hành động này không tạo một tập tin lưu trữ vì đây là một gói phần mềm Debian native. Nhưng đó là điểm khác biệt duy nhất. Phần còn lại của quá trình đóng gói thực tế là không khác gì." + +#. type: Content of: <book><appendix><section><para> +msgid "" +"After execution of the <command>dpkg-buildpackage</command> command, you " +"will see the following files in the parent directory:" +msgstr "" +"Sau khi chạy lệnh <command>dpkg-buildpackage</command>, bạn sẽ thấy các tập tin sau trong thư mục cha:" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "<filename>mypackage_1.0.tar.gz</filename>" +msgstr "" +"<filename>mypackage_1.0.tar.gz</filename>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"This is the source code tarball created from the <filename>mypackage-1.0</" +"filename> directory by the <command>dpkg-source</command> command. (Its " +"suffix is not <filename>orig.tar.gz</filename>.)" +msgstr "" +"Đây là tập tin mã nguồn tạo ra từ thư mục <filename>mypackage-1.0</filename> bởi lệnh <command>dpkg-source</command> command. (Phần hậu tố của nó không phải là <filename>orig.tar.gz</filename>.)" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "<filename>mypackage_1.0.dsc</filename>" +msgstr "" +"<filename>mypackage_1.0.dsc</filename>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"This is a summary of the contents of the source code, as in the non-native " +"Debian package. (There is no Debian revision.)" +msgstr "" +"Đây là bản tóm tắt của những nội dung của mã nguồn như ở trong gói phần mềm Debian không native. (There có mã tu chỉnh Debian.)" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "<filename>mypackage_1.0_i386.deb</filename>" +msgstr "" +"<filename>mypackage_1.0_i386.deb</filename>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"This is your completed binary package, as in the non-native Debian package. " +"(There is no Debian revision.)" +msgstr "" +"Đây là gói phần mềm nhị phân hoàn chỉnh của bạn như là gói phần mềm Debian không native. (Không có mã tu chỉnh Debian.)" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "<filename>mypackage_1.0_i386.changes</filename>" +msgstr "" +"<filename>mypackage_1.0_i386.changes</filename>" + +#. type: Content of: <book><appendix><section><itemizedlist><listitem><para> +msgid "" +"This file describes all the changes made in the current package version as " +"in the non-native Debian package. (There is no Debian revision.)" +msgstr "" +"Tập tin này mô tả những thay đổi được tạo ra trong phiên bản gói phần mềm hiện tại như ở trong gói phần mềm Debian không native. (Không có bản tu chỉnh Debian.)" diff -Nru maint-guide-1.2.42/po/vi.tex maint-guide-1.2.43/po/vi.tex --- maint-guide-1.2.42/po/vi.tex 1970-01-01 00:00:00.000000000 +0000 +++ maint-guide-1.2.43/po/vi.tex 2019-03-04 13:48:46.000000000 +0000 @@ -0,0 +1 @@ +\hyphenation{}