[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [SCM] Git repository for debian-id branch, master, updated. 6e4b60fbc9dd57d1b80c7aa7404b67599a14e339



Pada 02/01/12 01:02, Mahyuddin Susanto menulis:
> The branch, master has been updated
>        via  6e4b60fbc9dd57d1b80c7aa7404b67599a14e339 (commit)
>       from  57a9e540fa460e46291028c61b41fd18752b9956 (commit)
> 
> 
> - Shortlog ------------------------------------------------------------
> 6e4b60f Add maint-guide
> 
> Summary of changes:
>  i18n/maint-guide/maint-guide.id.po | 4525 ++++++++++++++++++++++++++++++++++++
>  1 files changed, 4525 insertions(+), 0 deletions(-)
> -----------------------------------------------------------------------
> Details of changes:
> 
> commit 6e4b60fbc9dd57d1b80c7aa7404b67599a14e339
> Author: Mahyuddin Susanto <udienz@ubuntu.com>
> Date:   Mon Jan 2 01:02:22 2012 +0700
> 
>     Add maint-guide
> 
> diff --git a/i18n/maint-guide/maint-guide.id.po b/i18n/maint-guide/maint-guide.id.po
> new file mode 100644
> index 0000000..37b597e
> --- /dev/null
> +++ b/i18n/maint-guide/maint-guide.id.po
> @@ -0,0 +1,4525 @@
> +# SOME DESCRIPTIVE TITLE
> +# Copyright (C) YEAR Free Software Foundation, Inc.
> +# This file is distributed under the same license as the PACKAGE package.
> +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
> +#
> +msgid ""
> +msgstr ""
> +"Project-Id-Version: PACKAGE VERSION\n"
> +"POT-Creation-Date: 2012-01-02 00:42+0700\n"
> +"PO-Revision-Date: 2012-01-02 00:50+0700\n"
> +"Last-Translator: Mahyuddin Susanto <udienz@ubuntu.com>\n"
> +"Language-Team: Debian Indonesia Translators <debian-l10n-indonesian@lists.debian.org>\n"
> +"Language: id\n"
> +"MIME-Version: 1.0\n"
> +"Content-Type: text/plain; charset=UTF-8\n"
> +"Content-Transfer-Encoding: 8bit\n"
> +
> +#. type: Attribute 'lang' of: <book>
> +msgid "en"
> +msgstr "en"
> +
> +#. type: Content of: <book><title>
> +msgid "Debian New Maintainers' Guide"
> +msgstr "Panduan pengenmbang baru Debian"
> +
> +#. 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 "Isi asli"
> +
> +#. 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 "Isi terbaru"
> +
> +#. type: Content of: <book><bookinfo><releaseinfo>
> +msgid "version &docversion;"
> +msgstr "versi &docversion"
> +
> +#. type: Content of: <book><bookinfo>
> +msgid "<pubdate>&docisodate;</pubdate> <copyright><year>1998-2002</year> <holder>Josip Rodin</holder></copyright> <copyright><year>2005-2011</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-2011</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 the GNU General Public License version 2 or higher."
> +msgstr "Dokumen ini dapat digunakan dibawah ketentuan GNU Deneral Public License versi 2 atau lebih tinggi"
> +
> +#. type: Content of: <book><bookinfo><legalnotice><para>
> +msgid "This document was made using with these two documents as examples:"
> +msgstr "Dokumen ini dibuat menggunakan dua dokumen sebagai contoh"
> +
> +#. type: Content of: <book><bookinfo><legalnotice><itemizedlist><listitem><para>
> +msgid "Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar Vyas."
> +msgstr "Membuat paket Debian (ATAU Manual Debmake), copyright © 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 "Panduan Pengelola Baru Pemaketan Debian, copyright © 1997 Will Lowe."
> +
> +#. type: Content of: <book><chapter><title>
> +msgid "Getting started The Right Way"
> +msgstr "Memulai dari jalan yang benar"
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><para>
> +msgid "This document has been updated for the Debian <literal>&base-release;</literal> release.  <placeholder type=\"footnote\" id=\"0\"/>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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&nbsp;:-)  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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><para>
> +msgid "If you need some help on packaging, please read <xref linkend=\"helpme\"/>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Social dynamics of Debian"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "We all are volunteers."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "You cannot impose on others what to do."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "You should be motivated to do things by yourself."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Friendly cooperation is the driving force."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Your contribution should not overstrain others."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Your contribution is valuable only when others appreciate it."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Debian is not your school where you get automatic attention of teachers."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "You should be able to learn many things by yourself."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Attention from other volunteers is a very scarce resource."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Debian is constantly improving."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "You are expected to make high quality packages."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "You should adapt yourself to change."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "There are several types of people interacting around Debian with different roles."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<emphasis role=\"strong\">upstream author</emphasis>: the person who made the original program."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<emphasis role=\"strong\">upstream maintainer</emphasis>: the person who currently maintains the program."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&debianorghelp;\">How can you help Debian?</ulink> (official)"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&debianwikihelp;\">Debian Wiki, HelpDebian</ulink> (supplemental)"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&nm-do;\">Debian New Maintainer site</ulink> (official)"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&debianmentorfaq;\">Debian Mentors FAQ</ulink> (supplemental)"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Programs needed for development"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 it with <literal>aptitude show <replaceable>package</replaceable></literal> or with <literal>dpkg -s <replaceable>package</replaceable></literal>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>debhelper</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.) <placeholder type=\"footnote\" id=\"0\"/>"
> +msgstr ""
> +
> +#. 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 <ulink url=\"&devscripts-readme;\"/>.)"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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>, <ulink url=\"&git-doc;\">git Manual</ulink>.)"
> +msgstr ""
> +
> +#. 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 it 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<systemitem role=\"package\">lintian</systemitem> - this is the Debian package checker, which can let 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 <command>chroot</command> environment.  Building Debian package in this <command>chroot</command> environment verifies the proper build dependency and avoid 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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>, <ulink url=\"&quilt-pdf;\">quilt.pdf</ulink>.)"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Documentation needed for development"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 <ulink url=\"&policy-pdf;\">policy.pdf</ulink> and <ulink url=\"&fhs-pdf;\">fhs-2.3.pdf</ulink>.)"
> +msgstr ""
> +
> +#. 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 <ulink url=\"&developers-refpdf;\">developers-reference.pdf</ulink>.)"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 <ulink url=\"&gnu-standard-pdf;\">standards.pdf</ulink> and <ulink url=\"&gnu-maintainer-pdf;\">maintain.pdf</ulink>.)"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "The following is an alternative tutorial documentation which you may read along with this document:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&debpkg-tutorial0;\">Debian Packaging Tutorial</ulink>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&debpkg-tutorial1;\">Practical session 1: Modifying the grep package</ulink>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&debpkg-tutorial2;\">Practical session 2: Packaging GNUjump</ulink>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&debpkg-tutorial3;\">Practical session 3: Packaging a Java library</ulink>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Where to ask for help"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Before you decide to ask your question in some public place, please read the fine documentation."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&irc-debian;\">IRC</ulink> such as <literal>#debian-mentors</literal>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><title>
> +msgid "First steps"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Debian package building workflow"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Get a copy of the upstream software, usually in a compressed tar format."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
> +msgid "<replaceable>package</replaceable>-<replaceable>version</replaceable>.tar.gz"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
> +msgid "<replaceable>package</replaceable>_<replaceable>version</replaceable>.orig.tar.gz"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
> +msgid "<replaceable>package</replaceable>_<replaceable>version</replaceable>-<replaceable>revision</replaceable>.dsc"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 Debian Policy Manual: <ulink url=\"&policy-architecture;\">5.6.8 Architecture</ulink> and is automatically assigned by the package build process."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "If instead you are making a Debian-specific package with no upstream, the typical workflow of Debian package building is simpler."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
> +msgid "<replaceable>package</replaceable>_<replaceable>version</replaceable>.tar.gz"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
> +msgid "<replaceable>package</replaceable>_<replaceable>version</replaceable>.dsc"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Build Debian binary packages from the native Debian source package."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><literal>
> +msgid "<replaceable>package</replaceable>_<replaceable>version</replaceable>_<replaceable>arch</replaceable>.deb"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Each step of this outline is explained with detailed examples in later sections."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Choose your program"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "the <command>aptitude</command> command"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "the <ulink url=\"&packages-do;\">Debian packages</ulink> web page"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "the <ulink url=\"&packages-qa-do;\">Debian Package Tracking System</ulink> web page"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "There are several package ownership status resources."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&wnpp-do;\">Work-Needing and Prospective Packages</ulink>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&wnpp-dn;\">Debian Packages that Need Lovin'</ulink>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "taking over orphaned, yet actively used, packages"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "joining <ulink url=\"&teams;\">packaging teams</ulink>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "triaging bugs of very popular packages"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "preparing <ulink url=\"&devref-nmu;\">QA or NMU uploads</ulink>"
> +msgstr ""
> +
> +#. 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 for your case."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "The software <emphasis role=\"strong\">must have a license</emphasis>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "The program should <emphasis role=\"strong\">not</emphasis> introduce security and maintenance concerns to the Debian system."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Of course, the last one is just a safety measures, and 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Simple packages"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Intermediate complexity packages"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "upstream source containing undistributable contents"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "High complexity packages"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "interpreter module package used by other packages"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "generic ELF library package used by other packages"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "multiple binary packages including an ELF library package"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "source package with multiple upstream sources"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "kernel module packages"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "kernel patch packages"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "any package with non-trivial maintainer scripts"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&policy-perl;\">Perl policy</ulink>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&policy-python;\">Python policy</ulink>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&policy-java;\">Java policy</ulink>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 followings may offer a good starting point.<placeholder type=\"footnote\" id=\"0\"/>"
> +msgstr ""
> +
> +#. 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 &gt; hello &lt;&lt;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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Get the program, and try it out"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "If the latest version of the source is available through a 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Simple build systems"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "Many modern programs come with a script <filename>configure</filename> which when executed creates a <filename>Makefile</filename> customized for your system."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Popular portable build systems"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "Autotools is too big to deal 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 <ulink url=\"&autotools-readme;\"/>, if you need to use it."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"configure.ac-----+-&gt; autoreconf -+-&gt; configure\n"
> +"Makefile.am -----+        |      +-&gt; Makefile.in\n"
> +"src/Makefile.am -+        |      +-&gt; src/Makefile.in\n"
> +"                          |      +-&gt; config.h.in\n"
> +"                      automake\n"
> +"                      aclocal\n"
> +"                      aclocal.m4\n"
> +"                      autoheader\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 &amp;&amp; make</literal> in the source directory to compile the program into an executable command <command><replaceable>binary</replaceable></command>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"Makefile.in -----+                +-&gt; Makefile -----+-&gt; make -&gt; <replaceable>binary</replaceable>\n"
> +"src/Makefile.in -+-&gt; ./configure -+-&gt; src/Makefile -+\n"
> +"config.h.in -----+                +-&gt; config.h -----+\n"
> +"                          |\n"
> +"           config.status -+\n"
> +"           config.guess --+\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Package name and version"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Although this simple approach works most of the times, 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ones.  It is a good idea to keep its length within 30 characters.  <placeholder type=\"footnote\" id=\"0\"/>"
> +msgstr ""
> +
> +#. 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 issues."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "This stricter rule should help you avoid confusing file names."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 (<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 ""
> +
> +#. 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 future, use the <literal>0~YYMMDD</literal> format such as <literal>0~110429</literal> as upstream version, instead."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid " $ dpkg --compare-versions <replaceable>ver1</replaceable> <replaceable>op</replaceable> <replaceable>ver2</replaceable>\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "The version comparison rule can be summarized as:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Strings are compared from the head to the tail."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Letters are larger than digits."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Numbers are compared as integers."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Letters are compared in ASCII code order."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>0.0</literal> &lt; <literal>0.5</literal> &lt; <literal>0.10</literal> &lt; <literal>0.99</literal> &lt; <literal>1</literal> &lt; <literal>1.0~rc1</literal> &lt; <literal>1.0</literal> &lt; <literal>1.0+b1</literal> &lt; <literal>1.0+nmu1</literal> &lt; <literal>1.1</literal> &lt; <literal>2.0</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Setting up <command>dh_make</command>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"$ cat &gt;&gt;~/.bashrc &lt;&lt;EOF\n"
> +"DEBEMAIL=\"your.email.address@example.org\"\n"
> +"DEBFULLNAME=\"Firstname Lastname\"\n"
> +"export DEBEMAIL DEBFULLNAME\n"
> +"EOF\n"
> +"$ . ~/.bashrc\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Initial non-native Debian package"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 for your Debian package."
> +msgstr ""
> +
> +#. 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>1</manvolnum> </citerefentry> for details."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Package name and version are separated by the character <literal>_</literal> (underscore)."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "The string <filename>.orig</filename> is inserted before the <filename>.tar.gz</filename>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Initial native Debian package"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "If a package contains source files you are only maintaining for Debian, possibly only for local use, it may be simpler to create it as a Debian native package. If you have source files in <filename>~/mypackage-1.0</filename>, you can create an initial native Debian package for it by issuing the <command>dh_make</command> command as follows."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"$ cd ~/mypackage-1.0\n"
> +"$ dh_make --native\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Then the <filename>debian</filename> directory and its contents are created just like <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 ""
> +
> +#. type: Content of: <book><chapter><title>
> +msgid "Modifying the source"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Setting up <command>quilt</command>"
> +msgstr ""
> +
> +#. 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 line to <filename>~/.bashrc</filename>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "alias dquilt=\"quilt --quiltrc=${HOME}/.quiltrc-dpkg\"\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Then let's create <filename>~/.quiltrc-dpkg</filename> as follows."
> +msgstr ""
> +
> +#. 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 ] &amp;&amp; [ -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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "See <citerefentry> <refentrytitle>quilt</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> and <ulink url=\"&quilt-pdf;\">quilt.pdf</ulink> on how to use <command>quilt</command>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Fixing upstream bugs"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "You change the <filename>Makefile</filename> file as follows."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"$ dquilt refresh\n"
> +"$ dquilt header -e\n"
> +"... describe patch\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Installation of files to their destination"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "The source must follow the Filesystem Hierarchy Standard (FHS)."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 to:"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ grep -nr --include='*.[c|h]' -e 'usr/local/lib' .\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "If you want to confirm each substitution instead, this can be done interactively as follows:"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Originally, <systemitem role=\"package\">gentoo</systemitem>'s <literal>install</literal> target said:"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"$ dquilt new install.patch\n"
> +"$ dquilt add Makefile\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "In your editor, change this for the Debian package as follows:"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Now you have a series of patches."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><orderedlist><listitem><para>
> +msgid "Upstream bug fix: <filename>debian/patches/fix-gentoo-target.patch</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><orderedlist><listitem><para>
> +msgid "Debian specific packaging modification: <filename>debian/patches/install.patch</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Note that you don't have to send the <filename>debian/*</filename> files upstream."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Differing libraries"
> +msgstr ""
> +
> +#. 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 which doesn't exist on the Debian system.  In that case, we need to change it to a library which does exist in Debian, and serves the same purpose."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "LIBS = -lfoo -lbar\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><title>
> +msgid "Required files under the <filename>debian</filename> directory"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>control</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Here is the <filename>control</filename> file <command>dh_make</command> created for us:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +" 1 Source: gentoo\n"
> +" 2 Section: unknown\n"
> +" 3 Priority: extra\n"
> +" 4 Maintainer: Josip Rodin &lt;joy-mg@debian.org&gt;\n"
> +" 5 Build-Depends: debhelper (&gt;= 7.0.50~)\n"
> +" 6 Standards-Version: 3.8.4\n"
> +" 7 Homepage: &lt;insert the upstream URL, if relevant&gt;\n"
> +" 8\n"
> +" 9 Package: gentoo\n"
> +"10 Architecture: any\n"
> +"11 Depends: ${shlibs:Depends}, ${misc:Depends}\n"
> +"12 Description: &lt;insert up to 60 chars description&gt;\n"
> +"13  &lt;insert long description, indented with spaces&gt;\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "(I've added the line numbers.)"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Line 1 is the name of the source package."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Line 2 is the section of the distribution the source package goes into."
> +msgstr ""
> +
> +#. 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=\"&sections-unstable;\">List of sections in <literal>sid</literal></ulink>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "See <ulink url=\"&policy-priorities;\">Debian Policy Manual, 2.5 \"Priorities\"</ulink>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "The <literal>extra</literal> priority will usually work for new packages that conflict with others with non-<literal>extra</literal> priorities."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 (&gt;=7.0.50~)</literal> in the <literal>Build-Depends</literal> field to satisfy the Debian Policy requirement for the <literal>clean</literal> target."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "To find out what packages your package needs to be built run the command:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ dpkg-depcheck -d ./configure\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "To manually find exact build dependencies for <command><replaceable>/usr/bin/foo</replaceable></command>, execute"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ objdump -p <replaceable>/usr/bin/foo</replaceable> | grep NEEDED\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "and for each library listed, e.g., <command>libfoo.so.6</command>, execute"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ dpkg -S libfoo.so.6\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "On line 7 you can put the URL of the software's upstream homepage."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Architecture: any</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Architecture: all</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Here is a simplified description of package relationships.  <placeholder type=\"footnote\" id=\"0\"/>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Depends</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Recommends</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Suggests</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Pre-Depends</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Conflicts</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Breaks</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Provides</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>Replaces</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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>&lt;&lt;</literal>, <literal>&lt;=</literal>, <literal>=</literal>, <literal>&gt;=</literal>, and <literal>&gt;&gt;</literal> for strictly lower, lower or equal, exactly equal, greater or equal, and strictly greater, respectively.  For example,"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"Depends: foo (&gt;= 1.2), libbar1 (= 1.3.4)\n"
> +"Conflicts: baz\n"
> +"Recommends: libbaz4 (&gt;&gt; 4.0.7)\n"
> +"Suggests: quux\n"
> +"Replaces: quux (&lt;&lt; 5), quux-foo (&lt;= 7.6)\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Finally, here is the updated <filename>control</filename> file:"
> +msgstr ""
> +
> +#. 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 &lt;joy-mg@debian.org&gt;\n"
> +" 5 Build-Depends: debhelper (&gt;= 7.0.5), xlibs-dev, libgtk1.2-dev, libglib1.2-dev\n"
> +" 6 Standards-Version: 3.8.4\n"
> +" 7 Vcs-Git: git://git.debian.org/git/collab-maint/gentoo.git\n"
> +" 8 Vcs-browser: http://git.debian.org/?p=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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>copyright</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +" 1 Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&amp;rev=135\n";
> +" 2 Name: gentoo\n"
> +" 3 Maintainer: Josip Rodin &lt;joy-mg@debian.org&gt;\n"
> +" 4 Source: http://sourceforge.net/projects/gentoo/files/\n";
> +" 5\n"
> +" 6 Copyright: 1998-2010 Emil Brink &lt;emil@obsession.se&gt;\n"
> +" 7 License: GPL-2+\n"
> +" 8\n"
> +" 9 Files: icons/*\n"
> +"10 Copyright: 1998 Johan Hanson &lt;johan@tiq.com&gt;\n"
> +"11 License: GPL-2+\n"
> +"12\n"
> +"13 Files: debian/*\n"
> +"14 Copyright: 1998-2010 Josip Rodin &lt;joy-mg@debian.org&gt;\n"
> +"15 License: GPL-2+\n"
> +"16\n"
> +"17 License: GPL-2+\n"
> +"18  This program is free software; you can redistribute it and/or modify\n"
> +"19  it under the terms of the GNU General Public License as published by\n"
> +"20  the Free Software Foundation; either version 2 of the License, or\n"
> +"21  (at your option) any later version. \n"
> +"22  .\n"
> +"23  This program is distributed in the hope that it will be useful,\n"
> +"24  but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
> +"25  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
> +"26  GNU General Public License for more details.\n"
> +"27  .\n"
> +"28  You should have received a copy of the GNU General Public License along\n"
> +"29  with this program; if not, write to the Free Software Foundation, Inc.,\n"
> +"30  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n"
> +"31  .\n"
> +"32  On Debian systems, the full text of the GNU General Public\n"
> +"33  License version 2 can be found in the file\n"
> +"34  `/usr/share/common-licenses/GPL-2'.\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>changelog</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "<command>dh_make</command> created a default one, and this is what it looks like:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"1  gentoo (0.9.12-1) unstable; urgency=low\n"
> +"2\n"
> +"3   * Initial release (Closes: #<replaceable>nnnn</replaceable>)  &lt;<replaceable>nnnn</replaceable> is the bug number of your ITP&gt;\n"
> +"4\n"
> +"5  -- Josip Rodin &lt;joy-mg@debian.org&gt;  Mon, 22 Mar 2010 00:37:31 +0100\n"
> +"6\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "Some people use invalid distribution values such as <literal>UNRELEASED</literal> to prevent a package being accidentally uploaded when updating a package in a shared VCS."
> +msgstr ""
> +
> +#. 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> (or even <literal>experimental</literal>)  <placeholder type=\"footnote\" id=\"0\"/>, and urgency shouldn't be changed to anything higher than <literal>low</literal>.  :-)"
> +msgstr ""
> +
> +#. 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>, or manually with a text editor."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "You will end up with something like this:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"1  gentoo (0.9.12-1) unstable; 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 &lt;joy-mg@debian.org&gt;  Mon, 22 Mar 2010 00:37:31 +0100\n"
> +"8\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>rules</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Now we need to take a look at the exact rules which <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 ""
> +
> +#. type: Content of: <book><chapter><section><section><title>
> +msgid "Targets of the <filename>rules</filename> file"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><para><footnote><para>
> +msgid "You can start learning how to write <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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><para>
> +msgid "Here is a simplified explanation of the targets:"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para>
> +msgid "This target is used by <literal>dpkg-buildpackage -A</literal>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><title>
> +msgid "Default <filename>rules</filename> file"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><screen>
> +#, no-wrap
> +msgid ""
> +" 1 #!/usr/bin/make -f\n"
> +" 2 # -*- makefile -*-\n"
> +" 3 # Sample debian/rules that uses debhelper.\n"
> +" 4 # This file was originally written by Joey Hess and Craig Small.\n"
> +" 5 # As a special exception, when this file is copied by dh-make into a\n"
> +" 6 # dh-make output file, you may use that output file without restriction.\n"
> +" 7 # This special exception was added by Craig Small in version 0.37 of dh-make.\n"
> +" 8\n"
> +" 9 # Uncomment this to turn on verbose mode.\n"
> +"10 #export DH_VERBOSE=1\n"
> +"11\n"
> +"12 %:\n"
> +"13        dh $@\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><para>
> +msgid "(I've added the line numbers.  In the actual <filename>rules</filename> file, the leading spaces are a TAB code.)"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><para>
> +msgid "Line 10 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 ""
> +
> +#. 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</systemite
m>
>   package tends to."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><para>
> +msgid "Lines 12 and 13 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 which runs appropriate sequences of <command>dh_*</command> programs depending on its argument.  <placeholder type=\"footnote\" id=\"1\"/>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen>
> +#, no-wrap
> +msgid ""
> +"dh_testdir\n"
> +"dh_auto_clean\n"
> +"dh_clean\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para>
> +msgid "This assumes that the <systemitem role=\"package\">python-support</systemitem> package is installed on the system."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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_pysupport\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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen>
> +#, no-wrap
> +msgid "make distclean\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen>
> +#, no-wrap
> +msgid "./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var ...\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen>
> +#, no-wrap
> +msgid "make\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen>
> +#, no-wrap
> +msgid "make test\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><title>
> +msgid "Customization of <filename>rules</filename> file"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para><footnote><para>
> +msgid "Use of the <command>dh_pysupport</command> command is preferred over use of the <command>dh_pycentral</command> command.  Do not use the <command>dh_python</command> command."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para>
> +msgid "Add support for the <command>dh_pysupport</command> command.  (The best choice for Python.) <placeholder type=\"footnote\" id=\"0\"/>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Use <literal>dh $@</literal> as usual.  (Use of <command>dh_pysupport</command> is the default)"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para>
> +msgid "Add support for the <command>dh_pycentral</command> command."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Use <literal>dh $@ --with python-central</literal> instead."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "This also deactivates the <command>dh_pysupport</command> command."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para>
> +msgid "Add support for the <command>dh_installtex</command> command."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Use <literal>dh $@ --with tex</literal> instead."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Use <literal>dh $@ --with quilt</literal> instead."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para>
> +msgid "Add support for the <command>dh_dkms</command> command."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Use <literal>dh $@ --with dkms</literal> instead."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "This correctly handles DKMS usage by kernel module packages."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Use <literal>dh $@ --with autotools-dev</literal> instead."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Use <literal>dh $@ --with autoreconf</literal> instead."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para>
> +msgid "Add support for the <command>bash</command> completion feature."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Use <literal>dh $@ --with bash-completion</literal> instead."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><screen>
> +#, no-wrap
> +msgid ""
> +"override_dh_auto_configure:\n"
> +"        dh_auto_configure -- --sysconfig=/etc/gentoo\n"
> +msgstr ""
> +
> +#. 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 retains any other, benign arguments to the <command>./configure</command> command."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><screen>
> +#, no-wrap
> +msgid ""
> +"override_dh_auto_build:\n"
> +"        dh_auto_build -- build\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 thit."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><screen>
> +#, no-wrap
> +msgid ""
> +"override_dh_auto_clean:\n"
> +"        $(MAKE) packageclean\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><screen>
> +#, no-wrap
> +msgid "override_dh_auto_test:\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><screen>
> +#, no-wrap
> +msgid ""
> +"override_dh_installchangelogs:\n"
> +"        dh_installchangelogs FIXES\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><title>
> +msgid "Other files under the <filename>debian</filename> directory"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><para>
> +msgid "If you wish or need to activate any of these, please do the following:"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><itemizedlist><listitem><para>
> +msgid "modify template file contents to suit your needs;"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><itemizedlist><listitem><para>
> +msgid "remove template files which you do not need;"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><itemizedlist><listitem><para>
> +msgid "modify the <filename>control</filename> file (see <xref linkend=\"control\"/>), if necessary;"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><itemizedlist><listitem><para>
> +msgid "modify the <filename>rules</filename> file (see <xref linkend=\"rules\"/>), if necessary."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>README.Debian</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "<command>dh_make</command> created a default one; this is what it looks like:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"gentoo for Debian\n"
> +"-----------------\n"
> +"&lt;possible notes regarding this package - if none, delete this file&gt;\n"
> +" -- Josip Rodin &lt;joy-mg@debian.org&gt;, Wed, 11 Nov 1998 21:02:14 +0100\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>compat</filename>"
> +msgstr ""
> +
> +#. 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> v7 as follows:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ echo 7 &gt; debian/compat\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>conffiles</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "For information on maintainer scripts, see <xref linkend=\"maintscripts\"/>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename><replaceable>package</replaceable>.cron.*</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>dirs</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename><replaceable>package</replaceable>.doc-base</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 <systemitem role=\"package\">doc-base</systemitem> manual, in <ulink url=\"&doc-base;\">Debian doc-base Manual</ulink>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "For more details on installing additional documentation, look in <xref linkend=\"destdir\"/>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>docs</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "For <systemitem role=\"package\">gentoo</systemitem>, some other files are also included:"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>emacsen-*</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "If you don't need these, remove them."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename><replaceable>package</replaceable>.examples</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename><replaceable>package</replaceable>.init</filename> and <filename><replaceable>package</replaceable>.default</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"override_dh_installinit:\n"
> +"        dh_installinit --onlyscripts\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "If you don't need this, remove the files."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>install</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "src/<replaceable>bar</replaceable> usr/bin\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename><replaceable>package</replaceable>.info</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>{<replaceable>package</replaceable>.,source/}lintian-overrides</filename>"
> +msgstr ""
> +
> +#. 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 <ulink url=\"&lintian-doc;\">Lintian User's Manual</ulink> and refrain from abusing this."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "<filename>source/lintian-overrides</filename> is for the source package.  This is not installed."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>manpage.*</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><title>
> +msgid "<filename>manpage.1.ex</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry>
> +msgid "Section"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry>
> +msgid "Description"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><thead><row><entry>
> +msgid "Notes"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "1"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "User command"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Executable commands or scripts"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "2"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "System calls"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Functions provided by the kernel"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "3"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Library calls"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Functions within system libraries"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "4"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Special files"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Usually found in <filename>/dev</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "5"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "File formats"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "E.g. <filename>/etc/passwd</filename>'s format"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "6"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Games"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Games or other frivolous programs"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "7"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Macro packages"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Such as <command>man</command> macros"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "8"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "System administration"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Programs typically only run by root"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "9"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Kernel routines"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><informaltable><tgroup><tbody><row><entry>
> +msgid "Non-standard calls and internals"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><title>
> +msgid "<filename>manpage.sgml.ex</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para>
> +msgid "rename the file to something like <filename>gentoo.sgml</filename>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para>
> +msgid "install the <systemitem role=\"package\">docbook-to-man</systemitem> package"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><screen>
> +#, no-wrap
> +msgid ""
> +"override_dh_auto_build:\n"
> +"        docbook-to-man debian/gentoo.sgml &gt; debian/gentoo.1\n"
> +"        dh_auto_build\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><section><title>
> +msgid "<filename>manpage.xml.ex</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><section><itemizedlist><listitem><para>
> +msgid "rename the source file to something like <literal>gentoo.1.xml</literal>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename><replaceable>package</replaceable>.manpages</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "docs/gentoo.1\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>menu</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "X Window System users usually have a window manager with a menu that can be customized to launch programs.  If they have installed the Debian <systemitem role=\"package\">menu</systemitem> package, a set of menus for every program on the system will be created for them."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Here's the default <filename>menu.ex</filename> file that <command>dh_make</command> created."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"?package(gentoo):needs=X11|text|vc|wm \\\n"
> +"        section=Applications/see-menu-manual\\\n"
> +"        title=gentoo command=/usr/bin/gentoo\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "The first field after the colon character is <literal>needs</literal>, and it specifies what kind of interface the program needs.  Change this to one of the listed alternatives, e.g.  <literal>text</literal> or <literal>X11</literal>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "The current list of sections is in <ulink url=\"&menu-structure;\">The Debian Menu sub-policy 2.1 \"Preferred menu structure\"</ulink>.  There was a major reorganization of menu structure for <literal>squeeze</literal>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "The next is the <literal>section</literal> that the menu and submenu entry should appear in.  <placeholder type=\"footnote\" id=\"0\"/>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "The <literal>title</literal> field is the name of the program.  You can start this one in uppercase if you like.  Just keep it short."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Finally, the <literal>command</literal> field is the command that runs the program."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Let's change the file name to <filename>menu</filename> and change the menu entry to this:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"?package(gentoo): needs=X11 \\\n"
> +"        section=Applications/Tools \\\n"
> +"        title=Gentoo command=gentoo\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "You can also add other fields like <literal>longtitle</literal>, <literal>icon</literal>, <literal>hints</literal> etc.  See <citerefentry> <refentrytitle>dh_installmenu</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>menufile</refentrytitle> <manvolnum>5</manvolnum> </citerefentry>, <citerefentry> <refentrytitle>update-menus</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>, and <ulink url=\"&policy-menu;\">The Debian Menu sub-policy</ulink> for more information."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>NEWS</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "The <citerefentry> <refentrytitle>dh_installchangelogs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command installs this."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>{pre,post}{inst,rm}</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>TODO</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "The <citerefentry> <refentrytitle>dh_installdocs</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command installs this."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>watch</filename>"
> +msgstr ""
> +
> +#. 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 from.  This is also used by the <ulink url=\"&dehs;\">Debian External Health Status (DEHS)</ulink> service."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Here are its contents:"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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>&lt;a href=...&gt;</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 ""
> +
> +#. 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 an 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>source/format</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>3.0 (native)</literal> for Debian native packages or"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>3.0 (quilt)</literal> for everything else."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>source/local-options</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"unapply-patches\n"
> +"abort-on-upstream-changes\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>source/options</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "extend-diff-ignore = \"(^|/)(config\\.sub|config\\.guess|Makefile)$\"\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<filename>patches/*</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "For <xref linkend=\"modify\"/>, we created three patches in <filename>debian/patches</filename>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><title>
> +msgid "Building the package"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><para>
> +msgid "We should now be ready to build the package."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Complete (re)build"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "the <systemitem role=\"package\">build-essential</systemitem> package,"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Then you issue the following command in the source directory:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ dpkg-buildpackage\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "This will do everything to make full binary and source packages for you.  It will:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "clean the source tree (<literal>debian/rules clean</literal>)"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "build the source package (<literal>dpkg-source -b</literal>)"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "build the program (<literal>debian/rules build</literal>)"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "build binary packages (<literal>fakeroot debian/rules binary</literal>)"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "sign the source <filename>.dsc</filename> file, using <command>gpg</command>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "The only input that will be required of you is your GPG secret pass phrase, twice.  <placeholder type=\"footnote\" id=\"0\"/> If you are building Debian packages only for your own local use, you can skip promptings for the GPG signatures on the <filename>.dsc</filename> file and the <filename>.changes</filename> file like this:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ dpkg-buildpackage -us -uc\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<filename>gentoo_0.9.12.orig.tar.gz</filename>"
> +msgstr ""
> +
> +#. 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 <literal>dh_make -f ../gentoo-0.9.12.tar.gz</literal>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<filename>gentoo_0.9.12-1.dsc</filename>"
> +msgstr ""
> +
> +#. 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>.  This file is GPG signed, so that people can be sure that it's really yours."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<filename>gentoo_0.9.12-1.debian.tar.gz</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<filename>gentoo_0.9.12-1_i386.deb</filename>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<filename>gentoo_0.9.12-1_i386.changes</filename>"
> +msgstr ""
> +
> +#. 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.  This file is GPG signed, so that people can be sure that it's really yours."
> +msgstr ""
> +
> +#. 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-announce-ldo;\">debian-devel-announce@lists.debian.org</ulink> mailing list."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "For a native Debian package, e.g., <systemitem role=\"package\">mypackage</systemitem>, you will see the following files in the parent directory after building packages:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<filename>mypackage_1.0.tar.gz</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<filename>mypackage_1.0.dsc</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<filename>mypackage_1.0_i386.deb</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "This is your completed binary package as in the non-native Debian package.  (There is no Debian revision.)"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<filename>mypackage_1.0_i386.changes</filename>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Autobuilder"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "the <systemitem role=\"package\">build-essential</systemitem> package, and"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "packages listed in the <literal>Build-Depends</literal> field (see <xref linkend=\"control\"/>)."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Then it issues the following command in the source directory:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ dpkg-buildpackage -B\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "This will do everything to make architecture dependent binary packages on another architecture.  It will:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "build architecture dependent binary packages (<literal>fakeroot debian/rules binary-arch</literal>)"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "This is why you see your package for other architectures."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<command>debuild</command> command"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "You can automate the <command>dpkg-buildpackage</command> command's package build process further with the <command>debuild</command> command.  See <citerefentry> <refentrytitle>debuild</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Customization of the <command>debuild</command> command can be done through <filename>/etc/devscripts.conf</filename> or <filename>~/.devscripts</filename>.  I would suggest at least the following items:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"DEBSIGN_KEYID=Your_GPG_keyID\n"
> +"DEBUILD_LINTIAN_OPTS=-i -I --show-overrides\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "With these, packages are signed by your specified GPG key ID (good for sponsoring packages) and checked in detail by the <command>lintian</command> command."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Cleaning the source and rebuilding the package from your user account is as simple as:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ debuild\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Here, if you are building Debian packages only for your own local use, you can skip promptings for the GPG signatures on the <filename>.dsc</filename> file and the <filename>.changes</filename> file like this:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ debuild -us -uc\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "You can clean the source tree as simply as:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ debuild clean\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<systemitem role=\"package\">pbuilder</systemitem> package"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "See <ulink url=\"&buildd-do;\"/> for more on Debian package auto-building."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Let's customize the <systemitem role=\"package\">pbuilder</systemitem> package as follows:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "setting the <filename>/var/cache/pbuilder/result</filename> directory writable by for your user account."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "configuring <filename>~/.pbuilderrc</filename> or <filename>/etc/pbuilderrc</filename> to include the followsing."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><screen>
> +#, no-wrap
> +msgid ""
> +"AUTO_DEBSIGN=${AUTO_DEBSIGN:-yes}\n"
> +"HOOKDIR=<replaceable>/var/cache/pbuilder/hooks</replaceable>\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "This will allow you to sign generated packages with your secret GPG key in the <filename>~/.gnupg/</filename> directory."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ sudo pbuilder create\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"$ sudo pbuilder --update\n"
> +"$ sudo pbuilder --build <replaceable>foo_version</replaceable>.dsc\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"$ cd /var/cache/pbuilder/result/\n"
> +"$ debsign <replaceable>foo_version</replaceable>.dsc\n"
> +"$ debsign <replaceable>foo_version_arch</replaceable>.changes\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"$ sudo pbuilder --update\n"
> +"$ pdebuild\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Here, if you are building Debian packages only for your local use, you can skip promptings for the GPG signatures on the <filename>.dsc</filename> file and the <filename>.changes</filename> file as:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ AUTO_DEBSIGN=no pdebuild\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"#!/bin/sh\n"
> +"set -e\n"
> +"install_packages() {\n"
> +"    apt-get -y --force-yes 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "There are some restrictions for such updates of your <literal>stable</literal> package."
> +msgstr ""
> +
> +#. 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 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "<command>git-buildpackage</command> command and similars"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "See <ulink url=\"&debref-vcs;\">Version control systems</ulink> for more."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "Here are some web resources available for advanced audiences."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&git-buildpackage-doc;\">Building Debian Packages with git-buildpackage</ulink>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&debian-packages-git;\">debian packages in git</ulink>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><itemizedlist><listitem><para>
> +msgid "<ulink url=\"&git-debian-packaging;\">Using Git for Debian Packaging</ulink>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "For advanced audiences, there are packages which <emphasis>automate</emphasis> the building of packages under a VCS-managed source tree.  I will not explain them in this tutorial.  <placeholder type=\"footnote\" id=\"0\"/>"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Quick rebuild"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "Environment variables which 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ fakeroot debian/rules binary\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Or simply do the following to see if it builds or not:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ fakeroot debian/rules build\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><title>
> +msgid "Checking the package for errors"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Suspicious changes"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Verifying a package's installation"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "You must test your package for whether it installs without problem.  The <citerefentry> <refentrytitle>debi</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> command helps you to test installing all the generated binary packages."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ sudo debi gentoo_0.9.12-1_i386.changes\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "To prevent installation problem 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Verifying a package's maintainer scripts"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "This should be done with sequences such as the following."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "install the previous version (if needed)."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "upgrade it from the previous version."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "downgrade it back to the previous version (optional)."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "purge it."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "install the new package."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "remove it."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "install it again."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Although downgrading is not officially supported, supporting it is a friendly gesture."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Using <systemitem role=\"package\">lintian</systemitem>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>E:</literal> for error; a sure policy violation or packaging error."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>W:</literal> for warning; a possible policy violation or packaging error."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>I:</literal> for info; information on certain aspects of packaging."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "<literal>N:</literal> for note; a detailed message to help your debugging."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "The <command>debc</command> command"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ debc <replaceable>package</replaceable>.changes\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "The <command>debdiff</command> command"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ debdiff <replaceable>old-package</replaceable>.dsc <replaceable>new-package</replaceable>.dsc\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ debdiff <replaceable>old-package</replaceable>.changes <replaceable>new-package</replaceable>.changes\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "The <command>interdiff</command> command"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "The <command>mc</command> command"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><title>
> +msgid "Uploading the package"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Uploading to the Debian archive"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para><footnote><para>
> +msgid "See <xref linkend=\"socialdynamics\"/>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "While connected to the Internet, you can upload your package as follows:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ dupload gentoo_0.9.12-1_i386.changes\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid ""
> +"-----BEGIN PGP SIGNED MESSAGE-----\n"
> +"Hash: SHA1\n"
> +"Uploader: Foo Bar &lt;Foo.Bar@example.org&gt;\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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Including <filename>orig.tar.gz</filename> for upload"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "For the <command>dpkg-buildpackage</command> command:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ dpkg-buildpackage -sa\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "For the <command>debuild</command> command:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ debuild -sa\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "For the <command>pdebuild</command> command:"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ pdebuild --debbuildopts -sa\n"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Skipped uploads"
> +msgstr ""
> +
> +#. 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 which includes all changes from 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 ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ dpkg-buildpackage -v<replaceable>1.2</replaceable>\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ debuild -v<replaceable>1.2</replaceable>\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><screen>
> +#, no-wrap
> +msgid "$ pdebuild --debbuildopts \"-v<replaceable>1.2</replaceable>\"\n"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><title>
> +msgid "Updating the package"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><para>
> +msgid "After you release a package, you will soon need to update it."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "New Debian revision"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "If this is to be recorded as a new patch, do the following."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Correct the problem in the package source for the upstream bug;"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "<literal>dquilt header -e</literal> to add its description;"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "If this is to update an existing patch, do the following."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "<literal>dquilt header -e</literal> to update its description;"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Repeat what you did in <xref linkend=\"completebuild\"/>, <xref linkend=\"checkit\"/>, and <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 ""
> +
> +#. 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 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Inspection of the new upstream release"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "New upstream release"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Create a copy of the upstream source as the <filename>foo_<replaceable>newversion</replaceable>.tar.gz</filename> file."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "Add an entry with <literal>New upstream release</literal>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "<literal>dquilt delete</literal> to remove it."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "<literal>dquilt refresh</literal> to update the patch."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><para>
> +msgid "Continue as usual with <literal>while dquilt push; do dquilt refresh; done</literal>."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Updating the packaging style"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. type: Content of: <book><chapter><section><itemizedlist><listitem><itemizedlist><listitem><para>
> +msgid "local copy of <ulink url=\"&cdbs-doc;\">cdbs-doc.pdf.gz</ulink>"
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 &gt; big.diff</literal> to your <command>quilt</command> system, if needed.  <placeholder type=\"footnote\" id=\"0\"/>"
> +msgstr ""
> +
> +#. 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 the <systemitem role=\"package\">quilt</systemitem> command using <filename>deb3</filename> at <ulink url=\"&deb3;\"/>."
> +msgstr ""
> +
> +#. 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 (native)</literal> source format."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "You need to do the other tasks described in <xref linkend=\"newupstream\"/>, too."
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><title>
> +msgid "Reminders for updating packages"
> +msgstr ""
> +
> +#. type: Content of: <book><chapter><section><para>
> +msgid "Here are few reminders for updating packages."
> +msgstr ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> +#. 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 ""
> +
> 

Salam,

berkas po ini lokasi'a di http://scm.deb-id.org/browser atau di
http://doc.deb-id.org/ ?

Regards,

-- 
Izharul Haq

PGP key id 4096R/B290CF6E
024B C1C1 F856 566A B981  7E25 3FA9 5D44 B290 CF6E


Reply to: