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

packaging-tutorial 0.22: Please translate the package packaging-tutorial



Dear Debian I18N people,

I would like to know if some of you would be interested in translating
packaging-tutorial.

packaging-tutorial already includes de.po es.po fr.po ja.po pt.po ru.po zh_TW.po.
So do not translate it to these languages (the translators will be
contacted separately).

language        translated     fuzzy     untranslated
-----------------------------------------------------
  de               618           4            26
  es               444         115            89
  fr               648
  ja               530          70            48
  pt               617           5            26
  ru               617           5            26
  zh_TW            617           5            26

Please send the updated file to me, or submit it as a wishlist bug
against packaging-tutorial.

The deadline for receiving the updated translation is
Sun, 03 Mar 2019 20:33:37 +0100.

If you have read so far, please find the POT file in attachment.

Thanks in advance,

# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2019-02-21 13:26+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. type: Plain text
#: packaging-tutorial.tex:4
msgid "\\mode<presentation> \\usetheme{debian}"
msgstr ""

#. Translators:
#. change debiantutorial to debiantutorial.$lang to use translated file, and
#. append to this string all commands to load localisation packages, e.g.:
#. \\usepackage{debiantutorial.fr} \\usepackage[french]{babel} \\frenchsetup{...}
#. type: Plain text
#: packaging-tutorial.tex:10
msgid "\\usepackage{debiantutorial}"
msgstr ""

#. type: title{#2}
#: packaging-tutorial.tex:14
msgid "Debian Packaging Tutorial"
msgstr ""

#. type: author{#2}
#: packaging-tutorial.tex:14
msgid "Lucas Nussbaum\\\\{\\small\\texttt{packaging-tutorial@packages.debian.org}}"
msgstr ""

#. Translators:
#. leave \\version unchanged: this will a variable containing the actual version
#. To translate the date, use \\today or a string containing \\year, \\month, \\day
#. (numeric values).
#.  DATE - use debian/rules update-version-date
#. type: date{#1}
#: packaging-tutorial.tex:20
msgid "version 0.22 -- 2019-02-21"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:52
msgid "About this tutorial"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:52
msgid "Goal: \\textbf{tell you what you really need to know about Debian packaging}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:52
msgid "Modify existing packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:52
msgid "Create your own packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:52
msgid "Interact with the Debian community"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:52
msgid "Become a Debian power-user"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:52
msgid "Covers the most important points, but is not complete"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:52
msgid "You will need to read more documentation"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:52
msgid "Most of the content also applies to Debian derivative distributions"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:52
msgid "That includes Ubuntu"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:56 debiantutorial.sty:45
msgid "Outline"
msgstr ""

#. type: section{#2}
#: packaging-tutorial.tex:58
msgid "Introduction"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:60 packaging-tutorial.tex:84
msgid "Debian"
msgstr ""

#. type: textbf{#1}
#: packaging-tutorial.tex:84
msgid "GNU/Linux distribution"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:84
msgid "1st major distro developed ``openly in the spirit of GNU''"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:84
msgid "\\textbf{Non-commercial}, built collaboratively by over 1,000 volunteers"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:84
msgid "3 main features:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:84
msgid ""
"\\textbf{Quality} -- culture of technical excellence\\\\ {\\small\\sl We "
"release when it's ready}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:84
msgid ""
"\\textbf{Freedom} -- devs and users bound by the \\textsl{Social "
"Contract}\\\\ Promoting the culture of Free Software since 1993"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:84
msgid ""
"\\textbf{Independence} -- no (single) company babysitting Debian\\\\ And "
"open decision-making process (\\textsl{do-ocracy} + \\textsl{democracy})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:84
msgid "\\textbf{Amateur} in the best sense: done for the love of it"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:105 packaging-tutorial.tex:105
msgid "Debian packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:105
msgid "\\textbf{.deb} files (binary packages)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:105
msgid "A very powerful and convenient way to distribute software to users"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:105
msgid "One of the two most common package formats (with RPM)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:105
msgid "Universal:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:105
msgid ""
"30,000 binary packages in Debian\\\\ $\\rightarrow$ most of the available "
"free software is packaged in Debian!"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:105
msgid "For 12 ports (architectures), including 2 non-Linux (Hurd; KFreeBSD)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:105
msgid "Also used by 120 Debian derivative distributions"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:108 packaging-tutorial.tex:133
msgid "The Deb package format"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:133
msgid "\\texttt{.deb} file: an \\texttt{ar} archive"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:133
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"$ ar tv wget_1.12-2.1_i386.deb\n"
"rw-r--r-- 0/0      4 Sep  5 15:43 2010 debian-binary\n"
"rw-r--r-- 0/0   2403 Sep  5 15:43 2010 control.tar.gz\n"
"rw-r--r-- 0/0 751613 Sep  5 15:43 2010 data.tar.gz\n"
"    "
msgstr ""

#.  $
#. type: itemize
#: packaging-tutorial.tex:133
msgid ""
"\\texttt{debian-binary}: version of the deb file format, "
"\\texttt{\"2.0\\textbackslash{}n\"}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:133
msgid ""
"\\texttt{control.tar.gz}: metadata about the package\\\\ {\\small "
"\\texttt{\\textbf{control}, md5sums, (pre|post)(rm|inst), triggers, shlibs}, "
"\\ldots}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:133
msgid "\\texttt{data.tar.gz}: data files of the package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:133
msgid ""
"You could create your \\texttt{.deb} files manually\\\\ {\\footnotesize "
"\\url{http://tldp.org/HOWTO/html\\_single/Debian-Binary-Package-Building-HOWTO/}}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:133
msgid "But most people don't do it that way"
msgstr ""

#. type: textbf{#1}
#: packaging-tutorial.tex:133
msgid "This tutorial: create Debian packages, the Debian way"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:153 packaging-tutorial.tex:153
msgid "Tools you will need"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:153
msgid "A Debian (or Ubuntu) system (with root access)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:153
msgid "Some packages:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:153
msgid ""
"\\textbf{build-essential}: has dependencies on the packages that will be "
"assumed to be available on the developer's machine (no need to specify them "
"in the \\texttt{Build-Depends:} control field of your package)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:153
msgid ""
"includes a dependency on \\textbf{dpkg-dev}, which contains basic "
"Debian-specific tools to create packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:153
msgid "\\textbf{devscripts}: contains many useful scripts for Debian maintainers"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:161
msgid ""
"Many other tools will also be mentioned later, such as \\textbf{debhelper}, "
"\\textbf{cdbs}, \\textbf{quilt}, \\textbf{pbuilder}, \\textbf{sbuild}, "
"\\textbf{lintian}, \\textbf{svn-buildpackage}, \\textbf{git-buildpackage}, "
"\\ldots\\\\ Install them when you need them."
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:168 packaging-tutorial.tex:168
msgid "General packaging workflow"
msgstr ""

#. 	\draw[arr,->] (bin) -- (-1,-6) node[pos=0.5,left] {upload (\textttc{dput})};
#.  hack hack hack
#. type: tikzpicture
#: packaging-tutorial.tex:188
msgid ""
"\\node[node1] (www) at (0, 0) {Web}; \\node[node1] (us) at (2.5, 0) "
"{upstream source}; \\node[node1] (da) at (-2.5, 0) {Debian mirror}; "
"\\node[node1] (sp) at (0, -2) {source package}; \\draw[arr,<-,dashed,thick] "
"(sp) -- (2.5,-2) node[right=0cm,text width=2.98cm,text "
"centered,font=\\small\\sl] {where most of the manual work is done}; "
"\\node[node1] (bin) at (0, -4) {one or several binary packages}; "
"\\draw[arr,<-,dashed,thick] (bin) -- (3.5,-4) node[right,text "
"centered,font=\\small\\ttfamily\\sl] {.deb\\normalfont}; \\draw[arr,->] (us) "
"-- (sp) node[pos=0.5,right,command] {dh\\_make}; \\draw[arr,->] (da) -- (sp) "
"node[pos=0.5,left,command] {apt-get source}; \\draw[arr,->] (www) -- (sp) "
"node[pos=0.5,left,command] {dget}; \\draw[arr,->] (sp) -- (bin) "
"node[pos=0.5,right,text width=6cm] {\\textttc{debuild} (build and test with "
"\\textttc{lintian}) or \\textttc{dpkg-buildpackage}}; \\draw[arr,->] (bin) "
"-- (1,-6) node[pos=0.5,right] {install (\\textttc{debi})}; "
"\\draw[transparent] (bin) -- (-1,-6) node[pos=0.5,left,opaque] {upload "
"(\\textttc{dput})}; \\draw[arr,->,rounded corners] (bin) -- (-1,-6) -- "
"(-4.5,-6) -- (-4.5,0) -- (da); \\useasboundingbox (-4,-6) rectangle (6,0);"
msgstr ""

#. type: subsection{#2}
#: packaging-tutorial.tex:205
msgid "Rebuilding dash"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:205
msgid "Example: rebuilding dash"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:205
msgid ""
"Install packages needed to build dash, and devscripts\\\\ {\\texttt{sudo "
"apt-get build-dep dash}\\\\ (requires \\texttt{deb-src} lines in "
"\\texttt{/etc/apt/sources.list})}\\\\ {\\texttt{sudo apt-get install "
"-{}-no-install-recommends devscripts fakeroot}}"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:205
msgid ""
"Create a working directory, and get in it:\\\\ \\texttt{mkdir "
"/tmp/debian-tutorial ; cd /tmp/debian-tutorial}"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:205
msgid ""
"Grab the \\texttt{dash} source package\\\\ \\texttt{apt-get source dash}\\\\ "
"{\\small (This needs you to have \\texttt{deb-src} lines in your "
"\\texttt{/etc/apt/sources.list})}"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:205
msgid ""
"Build the package\\\\ {\\texttt{cd dash-*\\\\ debuild -us -uc}} "
"~~~(\\texttt{-us -uc} disables signing the package with GPG)"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:218
msgid "Check that it worked"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:218
msgid "There are some new \\texttt{.deb} files in the parent directory"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:218
msgid "Look at the \\texttt{debian/} directory"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:218
msgid "That's where the packaging work is done"
msgstr ""

#. type: section{#2}
#: packaging-tutorial.tex:256
msgid "Creating source packages"
msgstr ""

#. type: subsection{#2}
#: packaging-tutorial.tex:256
msgid "Source packages basics"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:256
msgid "Source package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid ""
"One source package can generate several binary packages\\\\ {\\small "
"e.g. the \\texttt{\\bfseries libtar} source generates the "
"\\texttt{\\bfseries libtar0} and \\texttt{\\bfseries libtar-dev} binary "
"packages}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid "Two kinds of packages: (if unsure, use non-native)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid ""
"Native packages: normally for Debian specific software (\\textsl{dpkg}, "
"\\textsl{apt})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid "Non-native packages: software developed outside Debian"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid "Main file: \\texttt{.dsc} (meta-data)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid "Other files depending on the version of the source format"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid "1.0 or 3.0 (native): \\texttt{package\\_version.tar.gz}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid "1.0 (non-native):"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256 packaging-tutorial.tex:256
msgid "\\texttt{pkg\\_ver.orig.tar.gz}: upstream source"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid "\\texttt{pkg\\_debver.diff.gz}: patch to add Debian-specific changes"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid "3.0 (quilt):"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:256
msgid "\\texttt{pkg\\_debver.debian.tar.gz}: tarball with the Debian changes"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:256
msgid "(See \\texttt{dpkg-source(1)} for exact details)"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:280
msgid "Source package example (wget\\_1.12-2.1.dsc)"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:280
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\small]\n"
"Format: 3.0 (quilt)\n"
"Source: wget\n"
"Binary: wget\n"
"Architecture: any\n"
"Version: 1.12-2.1\n"
"Maintainer: Noel Kothe <noel@debian.org>\n"
"Homepage: http://www.gnu.org/software/wget/\n";
"Standards-Version: 3.8.4\n"
"Build-Depends: debhelper (>> 5.0.0), gettext, texinfo,\n"
" libssl-dev (>= 0.9.8), dpatch, info2man\n"
"Checksums-Sha1: \n"
" 50d4ed2441e67[..]1ee0e94248 2464747 wget_1.12.orig.tar.gz\n"
" d4c1c8bbe431d[..]dd7cef3611 48308 wget_1.12-2.1.debian.tar.gz\n"
"Checksums-Sha256: \n"
" 7578ed0974e12[..]dcba65b572 2464747 wget_1.12.orig.tar.gz\n"
" 1e9b0c4c00eae[..]89c402ad78 48308 wget_1.12-2.1.debian.tar.gz\n"
"Files: \n"
" 141461b9c04e4[..]9d1f2abf83 2464747 wget_1.12.orig.tar.gz\n"
" e93123c934e3c[..]2f380278c2 48308 wget_1.12-2.1.debian.tar.gz"
msgstr ""

#. type: subsection{#2}
#: packaging-tutorial.tex:308
msgid "Retrieving source packages"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:308
msgid "Retrieving an existing source package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "From the Debian archive:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "\\texttt{apt-get source \\textsl{package}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "\\texttt{apt-get source \\textsl{package=version}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "\\texttt{apt-get source \\textsl{package/release}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "(You need \\texttt{deb-src} lines in \\texttt{sources.list})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "From the Internet:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "\\texttt{dget \\textsl{url-to.dsc}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid ""
"\\texttt{dget "
"http://snapshot.debian.org/archive/debian-archive/\\\\20090802T004153Z/debian/dists/bo/main/source/web/\\\\ "
"wget\\_1.4.4-6.dsc}\\\\ (\\href{http://snapshot.debian.org/}{\\ttfamily "
"snapshot.d.o} provides all packages from Debian since 2005)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "From the (declared) version control system:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "\\texttt{debcheckout \\textsl{package}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:308
msgid "Once downloaded, extract with \\texttt{dpkg-source -x \\textsl{file.dsc}}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:331 packaging-tutorial.tex:331
msgid "Creating a basic source package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:331
msgid ""
"Download the upstream source\\\\ (\\textsl{upstream source} = the one from "
"the software's original developers)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:331
msgid ""
"Rename to "
"\\texttt{<\\textsl{source\\_package}>\\_<\\textsl{upstream\\_version}>.orig.tar.gz}\\\\ "
"(example: \\texttt{simgrid\\_3.6.orig.tar.gz})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:331
msgid "Untar it"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:331
msgid ""
"Rename the directory to "
"\\texttt{<\\textsl{source\\_package}>-<\\textsl{upstream\\_version}>}\\\\ "
"(example: \\texttt{simgrid-3.6})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:331
msgid ""
"\\texttt{cd "
"\\texttt{<\\textsl{source\\_package}>-<\\textsl{upstream\\_version}>} \\&\\& "
"dh\\_make}\\\\ (from the \\textbf{dh-make} package)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:331
msgid ""
"There are some alternatives to \\texttt{dh\\_make} for specific sets of "
"packages: \\textbf{dh-make-perl}, \\textbf{dh-make-php}, \\ldots"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:331
msgid "\\texttt{debian/} directory created, with a lot of files in it"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:360 packaging-tutorial.tex:360
msgid "Files in debian/"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:360
msgid ""
"All the packaging work should be made by modifying files in "
"\\texttt{debian/}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "Main files:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "\\textbf{control} -- meta-data about the package (dependencies, etc.)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "\\textbf{rules} -- specifies how to build the package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "\\textbf{copyright} -- copyright information for the package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "\\textbf{changelog} -- history of the Debian package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "Other files:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "compat"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "watch"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "dh\\_install* targets\\\\ {\\small *.dirs, *.docs, *.manpages, \\ldots}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "maintainer scripts\\\\ {\\small *.postinst, *.prerm, \\ldots}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "source/format"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "patches/ -- if you need to modify the upstream sources"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:360
msgid "Several files use a format based on RFC 822 (mail headers)"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:372
msgid "debian/changelog"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:372
msgid "Lists the Debian packaging changes"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:372
msgid "Gives the current version of the package"
msgstr ""

#. type: tikzpicture
#: packaging-tutorial.tex:372
msgid ""
"\\draw (0,0) node[above right] {\\large 1.2.1.1-5}; \\draw "
"[decorate,decoration={brace}] (2,0) -- (1.45,0) node[at start,below,text "
"width=1.6cm,text centered] {\\small Debian revision}; \\draw "
"[decorate,decoration={brace}] (1.4,0) -- (0,0) node[midway,below,text "
"width=1.6cm,text centered] { \\small Upstream version};"
msgstr ""

#. %
#. type: itemize
#: packaging-tutorial.tex:386
msgid "Edited manually or with \\textttc{dch}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:386
msgid "Create a changelog entry for a new release: \\textttc{dch -i}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:386
msgid ""
"Special format to automatically close Debian or Ubuntu bugs\\\\ Debian: "
"\\texttt{Closes:~\\#595268}; Ubuntu: \\texttt{LP:~\\#616929}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:386
msgid "Installed as \\texttt{/usr/share/doc/\\textit{package}/changelog.Debian.gz}"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:386
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"mpich2 (1.2.1.1-5) unstable; urgency=low\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:392
#, no-wrap
msgid ""
"  * Use /usr/bin/python instead of /usr/bin/python2.5. Allow\n"
"    to drop dependency on python2.5.  Closes: #595268\n"
"  * Make /usr/bin/mpdroot setuid. This is the default after\n"
"    the installation of mpich2 from source, too. LP: #616929\n"
"    + Add corresponding lintian override.\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:394
#, no-wrap
msgid " -- Lucas Nussbaum <lucas@debian.org>  Wed, 15 Sep 2010 18:13:44 +0200"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:421
msgid "debian/control"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:421
msgid "Package metadata"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:421
msgid "For the source package itself"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:421
msgid "For each binary package built from this source"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:421
msgid ""
"Package name, section, priority, maintainer, uploaders, build-dependencies, "
"dependencies, description, homepage, \\ldots"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:421
msgid ""
"Documentation: Debian Policy chapter 5\\\\ "
"\\url{https://www.debian.org/doc/debian-policy/ch-controlfields}";
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:421
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"Source: wget\n"
"Section: web\n"
"Priority: important\n"
"Maintainer: Noel Kothe <noel@debian.org>\n"
"Build-Depends: debhelper (>> 5.0.0), gettext, texinfo,\n"
" libssl-dev (>= 0.9.8), dpatch, info2man\n"
"Standards-Version: 3.8.4\n"
"Homepage: http://www.gnu.org/software/wget/\n";
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:427
#, no-wrap
msgid ""
"Package: wget\n"
"Architecture: any\n"
"Depends: ${shlibs:Depends}, ${misc:Depends}\n"
"Description: retrieves files from the web\n"
" Wget is a network utility to retrieve files from the Web"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:456
msgid "Architecture: all or any"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:456
msgid "Two kinds of binary packages:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid "Packages with different contents on each Debian architecture"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid "Example: C program"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid "\\texttt{Architecture:\\ any} in \\texttt{debian/control}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid ""
"Or, if it only works on a subset of architectures:\\\\ "
"\\texttt{Architecture:\\ amd64 i386 ia64 hurd-i386}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid "buildd.debian.org: builds all the other architectures for you on upload"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid ""
"Named "
"\\texttt{\\textsl{package}\\_\\textsl{version}\\_\\textsl{architecture}.deb}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid "Packages with the same content on all architectures"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid "Example: Perl library"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid "\\texttt{Architecture:\\ all} in \\texttt{debian/control}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:456
msgid "Named \\texttt{\\textsl{package}\\_\\textsl{version}\\_\\textbf{all}.deb}"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:456
msgid ""
"A source package can generate a mix of \\texttt{Architecture:\\ any} and "
"\\texttt{Architecture:\\ all} binary packages"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:482
msgid "debian/rules"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:482
msgid "Makefile"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:482
msgid "Interface used to build Debian packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:482
msgid ""
"Documented in Debian Policy, chapter 4.8\\\\ {\\small "
"\\url{https://www.debian.org/doc/debian-policy/ch-source\\#s-debianrules}}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:482
msgid "Required targets:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:482
msgid ""
"\\texttt{build, build-arch, build-indep}: should perform all the "
"configuration and compilation"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:482
msgid "\\texttt{binary, binary-arch, binary-indep}: build the binary packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:482
msgid ""
"\\texttt{dpkg-buildpackage} will call \\texttt{binary} to build all the "
"packages, or \\texttt{binary-arch} to build only the "
"\\texttt{Architecture:~any} packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:482
msgid "\\texttt{clean}: clean up the source directory"
msgstr ""

#. type: subsection{#2}
#: packaging-tutorial.tex:516
msgid "Packaging helpers"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:516
msgid "Packaging helpers -- debhelper"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "You could write shell code in \\texttt{debian/rules} directly"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "See the \\texttt{rsync} package for example"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "Better practice (used by most packages): use a \\textsl{Packaging helper}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "Most popular one: \\textbf{debhelper} (used by 98\\% of packages)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "Goals:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "Factor the common tasks in standard tools used by all packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "Fix some packaging bugs once for all packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid ""
"{\\footnotesize dh\\_installdirs, dh\\_installchangelogs, dh\\_installdocs, "
"dh\\_installexamples, dh\\_install, dh\\_installdebconf, dh\\_installinit, "
"dh\\_link, dh\\_strip, dh\\_compress, dh\\_fixperms, dh\\_perl, "
"dh\\_makeshlibs, dh\\_installdeb, dh\\_shlibdeps, dh\\_gencontrol, "
"dh\\_md5sums, dh\\_builddeb, \\ldots}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "Called from \\texttt{debian/rules}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "Configurable using command parameters or files in \\texttt{debian/}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid ""
"{\\footnotesize \\ttfamily \\textsl{package}.docs, "
"\\textsl{package}.examples, \\textsl{package}.install, "
"\\textsl{package}.manpages, \\ldots}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid ""
"Third-party helpers for sets of packages: \\textbf{python-support}, "
"\\textbf{dh\\_ocaml}, \\ldots"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:516
msgid "Gotcha: \\texttt{debian/compat}: Debhelper compatibility version (use \"7\")"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:520
msgid "debian/rules using debhelper (1/2)"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:520
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize,escapeinside=\\{\\}]\n"
"#!/usr/bin/make -f\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:523
#, no-wrap
msgid ""
"# Uncomment this to turn on verbose mode.\n"
"#export DH_VERBOSE=1\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:527
#, no-wrap
msgid ""
"build: \n"
"        $(MAKE)\n"
"        #docbook-to-man debian/packagename.sgml > packagename.1\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:534
#, no-wrap
msgid ""
"clean: \n"
"        dh_testdir\n"
"        dh_testroot\n"
"        rm -f build-stamp configure-stamp\n"
"        $(MAKE) clean\n"
"        dh_clean \n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:542
#, no-wrap
msgid ""
"install: build\n"
"        dh_testdir\n"
"        dh_testroot\n"
"        dh_clean -k \n"
"        dh_installdirs\n"
"        # Add here commands to install the package into "
"debian/packagename.\n"
"        $(MAKE) DESTDIR=$(CURDIR)/debian/packagename install"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:547
msgid "debian/rules using debhelper (2/2)"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:547
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize,escapeinside=\\{\\}]\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:550
#, no-wrap
msgid ""
"# Build architecture-independent files here.\n"
"binary-indep: build install\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:569
#, no-wrap
msgid ""
"# Build architecture-dependent files here.\n"
"binary-arch: build install\n"
"        dh_testdir\n"
"        dh_testroot\n"
"        dh_installchangelogs \n"
"        dh_installdocs\n"
"        dh_installexamples\n"
"        dh_install\n"
"        dh_installman\n"
"        dh_link\n"
"        dh_strip\n"
"        dh_compress\n"
"        dh_fixperms\n"
"        dh_installdeb\n"
"        dh_shlibdeps\n"
"        dh_gencontrol\n"
"        dh_md5sums\n"
"        dh_builddeb\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:572
#, no-wrap
msgid ""
"binary: binary-indep binary-arch\n"
".PHONY: build clean binary-indep binary-arch binary install configure"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:603
msgid "CDBS"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid "With debhelper, still a lot of redundancy between packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid "Second-level helpers that factor common functionality"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid ""
"E.g. building with \\texttt{./configure \\&\\& make \\&\\& make install} or "
"CMake"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid "CDBS:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid "Introduced in 2005, based on advanced \\textsl{GNU make} magic"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid "Documentation: \\texttt{/usr/share/doc/cdbs/}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid "Support for Perl, Python, Ruby, GNOME, KDE, Java, Haskell, \\ldots"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid "But some people hate it:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid ""
"Sometimes difficult to customize package builds:\\\\ \"\\textsl{twisty maze "
"of makefiles and environment variables}\""
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:603
msgid "Slower than plain debhelper (many useless calls to \\texttt{dh\\_*})"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:603
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize,escapeinside=\\{\\}]\n"
"#!/usr/bin/make -f\n"
"include /usr/share/cdbs/1/rules/debhelper.mk\n"
"include /usr/share/cdbs/1/class/autotools.mk\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:607
#, no-wrap
msgid ""
"# add an action after the build\n"
"build/mypackage::\n"
"    /bin/bash debian/scripts/foo.sh\n"
"      "
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:628
msgid "Dh (aka Debhelper 7, or dh7)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:628
msgid "Introduced in 2008 as a \\textsl{CDBS killer}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:628
msgid "\\textbf{dh} command that calls \\texttt{dh\\_*}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:628
msgid "Simple \\textsl{debian/rules}, listing only overrides"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:628
msgid "Easier to customize than CDBS"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:628
msgid ""
"Doc: manpages (\\texttt{debhelper(7)}, \\texttt{dh(1)}) + slides from "
"DebConf9 talk\\\\ "
"\\url{http://kitenet.net/~joey/talks/debhelper/debhelper-slides.pdf}";
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:628
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"#!/usr/bin/make -f\n"
"%:\n"
"    dh $@\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:631
#, no-wrap
msgid ""
"override_dh_auto_configure:\n"
"     dh_auto_configure -- --with-kitchen-sink\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:634
#, no-wrap
msgid ""
"override_dh_auto_build:\n"
"     make world\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:635
#, no-wrap
msgid "    "
msgstr ""

#.  source for stats: https://anonscm.debian.org/cgit/collab-qa/dhistory.git/
#. type: frame{#2}
#: packaging-tutorial.tex:657
msgid "Classic debhelper vs CDBS vs dh"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:657
msgid ""
"Mind shares:\\\\ Classic debhelper: 15\\% \\hskip 1em CDBS: 15\\% \\hskip "
"1em dh: 68\\%"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:657
msgid "Which one should I learn?"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:657
msgid "Probably a bit of all of them"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:657
msgid "You need to know debhelper to use dh and CDBS"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:657
msgid "You might have to modify CDBS packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:657
msgid "Which one should I use for a new package?"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:657
msgid "\\textbf{dh} (only solution with an increasing mind share)"
msgstr ""

#. type: axis[#1]
#: packaging-tutorial.tex:671
msgid ""
"small,label style={font=\\footnotesize},xlabel={\\small "
"Time},ylabel={\\small Market share (\\%)}, date coordinates "
"in=x,height=4.85cm,width=9cm,xticklabel={\\year}, legend "
"style={font=\\footnotesize,at={(1.02,1)},anchor=north west},max space "
"between ticks=82,try min ticks=5,ymin=0"
msgstr ""

#. type: axis
#: packaging-tutorial.tex:671
msgid ""
"\\addplot[mark=none,blue,thick,style=densely dotted] table[x=date,y=dh] "
"{cdbs-dh7.txt}; \\addplot[mark=none,red,thick,style=dashed] "
"table[x=date,y=dh7] {cdbs-dh7.txt}; \\addplot[mark=none,green,thick] "
"table[x=date,y=cdbs] {cdbs-dh7.txt}; \\legend{debhelper, dh, CDBS}"
msgstr ""

#. type: section{#2}
#: packaging-tutorial.tex:681
msgid "Building and testing packages"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:681 packaging-tutorial.tex:681
msgid "Building packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:681
msgid ""
"\\textttc{apt-get build-dep mypackage}\\\\ Installs the "
"\\textsl{build-dependencies} (for a package already in Debian)\\\\ Or "
"\\textttc{mk-build-deps -ir} (for a package not uploaded yet)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid "\\textttc{debuild}: build, test with \\texttt{lintian}, sign with GPG"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid "Also possible to call \\textttc{dpkg-buildpackage} directly"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid "Usually with \\texttt{dpkg-buildpackage -us -uc}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid "It is better to build packages in a clean \\& minimal environment"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid ""
"\\textttc{pbuilder} -- helper to build packages in a \\textsl{chroot}\\\\ "
"Good documentation: \\url{https://wiki.ubuntu.com/PbuilderHowto}\\\\ "
"(optimization: \\textttc{cowbuilder} \\textttc{ccache} \\textttc{distcc})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid ""
"\\textttc{schroot} and \\textttc{sbuild}: used on the Debian build "
"daemons\\\\ (not as simple as \\texttt{pbuilder}, but allows LVM "
"snapshots\\\\ see: \\url{https://help.ubuntu.com/community/SbuildLVMHowto} )"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid "Generates \\texttt{.deb} files and a \\texttt{.changes} file"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid "\\texttt{.changes}: describes what was built; used to upload the package"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:737 packaging-tutorial.tex:737
msgid "Installing and testing packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid ""
"Install the package locally: \\textttc{debi} (will use \\texttt{.changes} to "
"know what to install)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid ""
"List the content of the package: \\texttt{{\\color{rouge}debc} "
"../mypackage<TAB>.changes}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid ""
"Compare the package with a previous version:\\\\ "
"\\texttt{{\\color{rouge}debdiff} ../mypackage\\_1\\_*.changes "
"../mypackage\\_2\\_*.changes}\\\\ or to compare the sources:\\\\ "
"\\texttt{{\\color{rouge}debdiff} ../mypackage\\_1\\_*.dsc "
"../mypackage\\_2\\_*.dsc}\\\\"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid ""
"Check the package with \\texttt{lintian} (static analyzer):\\\\ "
"\\texttt{{\\color{rouge}lintian} ../mypackage<TAB>.changes}\\\\ "
"\\texttt{lintian -i}: gives more information about the errors \\\\ "
"\\texttt{lintian -EviIL +pedantic}: shows more problems"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid "Upload the package to Debian (\\textttc{dput}) (needs configuration)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid ""
"Manage a private Debian archive with \\textttc{reprepro} or "
"\\textttc{aptly}\\\\ Documentation: "
"\\url{https://wiki.debian.org/HowToSetupADebianRepository}";
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:737 packaging-tutorial.tex:737 packaging-tutorial.tex:1621 packaging-tutorial.tex:1626
msgid "Practical session 1: modifying the grep package"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:737 packaging-tutorial.tex:1626 packaging-tutorial.tex:1673
msgid ""
"Go to \\url{http://ftp.debian.org/debian/pool/main/g/grep/} and download "
"version 2.12-2 of the package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:737
msgid ""
"If the source package is not unpacked automatically, unpack it with "
"\\texttt{dpkg-source~-x~grep\\_*.dsc}"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:757 packaging-tutorial.tex:1646 packaging-tutorial.tex:1692
msgid "Look at the files in \\texttt{debian/}."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:757 packaging-tutorial.tex:1646 packaging-tutorial.tex:1692
msgid "How many binary packages are generated by this source package?"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:757 packaging-tutorial.tex:1646 packaging-tutorial.tex:1692
msgid "Which packaging helper does this package use?"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:757 packaging-tutorial.tex:1646 packaging-tutorial.tex:1701 packaging-tutorial.tex:2040
msgid "Build the package"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:757 packaging-tutorial.tex:1646 packaging-tutorial.tex:1722
msgid ""
"We are now going to modify the package. Add a changelog entry and increase "
"the version number."
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:757 packaging-tutorial.tex:1646 packaging-tutorial.tex:1742
msgid "Now disable perl-regexp support (it is a \\texttt{./configure} option)"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:757 packaging-tutorial.tex:1646 packaging-tutorial.tex:1742
msgid "Rebuild the package"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:757 packaging-tutorial.tex:1646 packaging-tutorial.tex:1767
msgid "Compare the original and the new package with debdiff"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:757 packaging-tutorial.tex:1646 packaging-tutorial.tex:1767
msgid "Install the newly built package"
msgstr ""

#. type: section{#2}
#: packaging-tutorial.tex:773
msgid "Advanced packaging topics"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:773 packaging-tutorial.tex:773
msgid "debian/copyright"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:773
msgid "Copyright and license information for the source and the packaging"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:773
msgid "Traditionally written as a text file"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:773
msgid ""
"New machine-readable format: "
"{\\small\\url{https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/}}";
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:773
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\scriptsize]\n"
"Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\n";
"Upstream-Name: X Solitaire\n"
"Source: ftp://ftp.example.com/pub/games\n";
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:783
#, no-wrap
msgid ""
"Files: *\n"
"Copyright: Copyright 1998 John Doe <jdoe@example.com>\n"
"License: GPL-2+\n"
" This program is free software; you can redistribute it\n"
" [...]\n"
" .\n"
" On Debian systems, the full text of the GNU General Public\n"
" License version 2 can be found in the file\n"
" `/usr/share/common-licenses/GPL-2'.\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:788
#, no-wrap
msgid ""
"Files: debian/*\n"
"Copyright: Copyright 1998 Jane Smith <jsmith@example.net>\n"
"License:\n"
" [LICENSE TEXT]"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:819 packaging-tutorial.tex:819
msgid "Modifying the upstream source"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:819
msgid "Often needed:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:819
msgid "Fix bugs or add customizations that are specific to Debian"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:819
msgid "Backport fixes from a newer upstream release"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:819
msgid "Several methods to do it:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:819
msgid "Modifying the files directly"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:819
msgid "Simple"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:819
msgid "But no way to track and document the changes"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:819
msgid "Using patch systems"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:819
msgid "Eases contributing your changes to upstream"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:819
msgid "Helps sharing the fixes with derivatives"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:819
msgid ""
"Gives more exposure to the changes\\\\ "
"\\url{http://patch-tracker.debian.org/} (down currently)"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:849
msgid "Patch systems"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid "Principle: changes are stored as patches in \\texttt{debian/patches/}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid "Applied and unapplied during build"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid ""
"Past: several implementations -- \\textsl{simple-patchsys} (\\textsl{cdbs}), "
"\\textsl{dpatch}, \\textbf{\\textsl{quilt}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid "Each supports two \\texttt{debian/rules} targets:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid "\\texttt{debian/rules patch}: apply all patches"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid "\\texttt{debian/rules unpatch}: de-apply all patches"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid "More documentation: \\url{https://wiki.debian.org/debian/patches}";
msgstr ""

#. type: textbf{#1}
#: packaging-tutorial.tex:849
msgid "New source package format with built-in patch system: 3.0 (quilt)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid "Recommended solution"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid ""
"You need to learn \\textsl{quilt}\\\\ "
"\\url{https://perl-team.pages.debian.net/howto/quilt.html}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:849
msgid "Patch-system-agnostic tool in \\texttt{devscripts}: \\texttt{edit-patch}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:866
msgid "Documentation of patches"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:866
msgid "Standard headers at the beginning of the patch"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:866
msgid ""
"Documented in DEP-3 - Patch Tagging Guidelines\\\\ "
"\\url{http://dep.debian.net/deps/dep3/}";
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:866
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"Description: Fix widget frobnication speeds\n"
" Frobnicating widgets too quickly tended to cause explosions.\n"
"Forwarded: http://lists.example.com/2010/03/1234.html\n";
"Author: John Doe <johndoe-guest@users.alioth.debian.org>\n"
"Applied-Upstream: 1.2, http://bzr.foo.com/frobnicator/revision/123\n";
"Last-Update: 2010-03-29\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:870
#, no-wrap
msgid ""
"--- a/src/widgets.c\n"
"+++ b/src/widgets.c\n"
"@@ -101,9 +101,6 @@ struct {"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:890 packaging-tutorial.tex:890
msgid "Doing things during installation and removal"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:890
msgid "Decompressing the package is sometimes not enough"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:890
msgid ""
"Create/remove system users, start/stop services, manage "
"\\textsl{alternatives}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:890
msgid ""
"Done in \\textsl{maintainer scripts}\\\\ \\texttt{preinst, postinst, prerm, "
"postrm}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:890
msgid "Snippets for common actions can be generated by debhelper"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:890
msgid "Documentation:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:890
msgid ""
"Debian Policy Manual, chapter 6\\\\ {\\footnotesize "
"\\url{https://www.debian.org/doc/debian-policy/ch-maintainerscripts}}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:906
msgid ""
"Debian Developer's Reference, chapter 6.4\\\\ {\\scriptsize "
"\\url{https://www.debian.org/doc/developers-reference/best-pkging-practices.html}}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:906
msgid ""
"{\\footnotesize "
"\\url{https://people.debian.org/~srivasta/MaintainerScripts.html}}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:906
msgid "Prompting the user"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:906
msgid "Must be done with \\textbf{debconf}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:906
msgid "Documentation: \\texttt{debconf-devel(7)} (\\texttt{debconf-doc} package)"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:912
msgid "Monitoring upstream versions"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:912
msgid "Specify where to look in \\texttt{debian/watch} (see \\texttt{uscan(1)})"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:912
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"version=3\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:915
#, no-wrap
msgid ""
"http://tmrc.mit.edu/mirror/twisted/Twisted/(\\d\\.\\d)/ \\\n"
"  Twisted-([\\d\\.]*)\\.tar\\.bz2\n"
"    "
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:924
msgid ""
"There are automated trackers of new upstream versions, that notify the "
"maintainer on various dashboards including "
"\\url{https://tracker.debian.org/} and \\url{https://udd.debian.org/dmd/}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:924
msgid "\\texttt{uscan}: run a manual check"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:924
msgid "\\texttt{uupdate}: try to update your package to the latest upstream version"
msgstr ""

#. type: subsection{#2}
#: packaging-tutorial.tex:963
msgid "Packaging with a Version Control System (SVN, Git)"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:963
msgid "Packaging with a Version Control System"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid ""
"Several tools to help manage branches and tags for your packaging work:\\\\ "
"\\texttt{svn-buildpackage}, \\texttt{git-buildpackage}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid "Example: \\texttt{git-buildpackage}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid ""
"\\texttt{upstream} branch to track upstream with "
"\\texttt{upstream/\\textsl{version}} tags"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid "\\texttt{master} branch tracks the Debian package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid "\\texttt{debian/\\textsl{version}} tags for each upload"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid "\\texttt{pristine-tar} branch to be able to rebuild the upstream tarball"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid ""
"Doc: "
"\\url{http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid "\\texttt{Vcs-*} fields in \\texttt{debian/control} to locate the repository"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid "\\url{https://wiki.debian.org/Alioth/Git}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid "\\url{https://wiki.debian.org/Alioth/Svn}";
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:963
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\scriptsize]\n"
"Vcs-Browser: "
"http://anonscm.debian.org/gitweb/?p=collab-maint/devscripts.git\n";
"Vcs-Git: git://anonscm.debian.org/collab-maint/devscripts.git\n"
"  "
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:963
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\scriptsize]\n"
"Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libwww-perl/\n";
"Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libwww-perl\n"
"  "
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid ""
"VCS-agnostic interface: \\texttt{debcheckout}, \\texttt{debcommit}, "
"\\texttt{debrelease}\\\\"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:963
msgid ""
"\\texttt{debcheckout grep} $\\rightarrow$ checks out the source package from "
"Git"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:986 packaging-tutorial.tex:986
msgid "Backporting packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:986
msgid ""
"Goal: use a newer version of a package on an older system\\\\ e.g. use "
"\\textsl{mutt} from Debian \\textsl{unstable} on Debian \\textsl{stable}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:986
msgid "General idea:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:986
msgid "Take the source package from Debian unstable"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:986
msgid "Modify it so that it builds and works fine on Debian stable"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:986
msgid "Sometimes trivial (no changes needed)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:986
msgid "Sometimes difficult"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:986
msgid "Sometimes impossible (many unavailable dependencies)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:986
msgid ""
"Some backports are provided and supported by the Debian project\\\\ "
"\\url{http://backports.debian.org/}";
msgstr ""

#. type: section{#2}
#: packaging-tutorial.tex:1076
msgid "Maintaining packages in Debian"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1076 packaging-tutorial.tex:1076
msgid "Debian archive and suites"
msgstr ""

#. type: tikzpicture
#: packaging-tutorial.tex:1076
msgid ""
"\\draw node[suite,prod] (sec) {security}; \\draw node[suite,prod,right=of "
"sec] (su) {stable-updates}; \\draw node[suite,prod,right=of su] (st) "
"{stable}; \\draw node[suite,old,node distance=0.3cm,below=of st] (os) "
"{oldstable}; \\draw node[suite,veryold,node distance=0.3cm,below=of os] (ar) "
"{archive.d.o}; \\draw node[suite,prod,right=of st] (bp) {backports}; \\draw "
"node[suite,test] (spu) at ($(su) + (-0.6,2.5)$) {stable-proposed-updates}; "
"\\draw node[suite,internal] (sn) at ($(st) + (-1.8,1.4)$) {stable-new}; "
"\\draw node[suite,test,node distance=1.5cm,above=of st] (te) {testing}; "
"\\draw node[suite,devel,above=of te] (sid) {unstable}; \\draw "
"node[suite,devel] (exp) at ($(sid) + (2.5,0.5)$) {experimental}; \\draw "
"node[suite,devel] (tpu) at ($(te)!0.5!(sid) + (2.5,0)$) "
"{testing-proposed-updates}; \\draw node[people,above=of sid] (dd) "
"{developer}; \\draw node[people,node distance=3cm,left=of dd] (secteam) "
"{security team}; \\draw[arr,uploads,->] (dd) -- (sid); "
"\\draw[arr,uploads,->] (dd) -- (exp); \\draw[arr,uploads,->,bend right=8] "
"(dd) to (tpu); \\draw[arr,uploads,->] (secteam) -- (sid); "
"\\draw[arr,uploads,->] (secteam) -- (sec); \\draw[arr,uploads,->] (dd) to "
"(spu); \\draw[arr,uploads,->] plot [smooth, tension=0.75] coordinates { "
"(dd.east) ($(exp.north east)+(0.1,0.1)$) ($(tpu.east)+(0.2,0)$)  ($(bp.north "
"east) + (-0.4,0)$) }; \\draw[arr,migrations,->] (tpu) -- (te); "
"\\draw[arr,migrations,->] (sid) -- (te); \\draw[arr,migrations,->] (te) -- "
"(st) node [midway,align=left,midway,right,font=\\footnotesize] {stable\\\\ "
"release}; \\draw[arr,migrations,->] (sec) -- (sn); \\draw[arr,migrations,->] "
"(sn) to node [pos=0.2] (spulabel) {} (st); \\draw "
"node[font=\\footnotesize,align=right] at ($(spulabel) + (-0.4,-0.45)$) "
"{stable \\\\ point \\\\ release}; \\draw[arr,migrations,->] (spu) to (sn); "
"\\draw[arr,migrations,->] (spu) -- (su); \\draw[arr,migrations,->] (st) -- "
"(os); \\draw[arr,migrations,->] (os) -- (ar); \\coordinate (legend) at "
"(-2,-1); \\draw[arr,uploads,->] (legend) -- ($(legend) + (0.7,0)$) node "
"[right,legend] {package uploads}; \\coordinate[node distance=1.1em,below=of "
"legend] (legend2); \\draw[arr,migrations,->] (legend2) -- ($(legend2) + "
"(0.7,0)$) node [right,legend] {package migrations between suites}; "
"\\coordinate[node distance=1.5em,below=of legend2] (legend3); \\draw "
"node[right,suite,devel,legend] (ldev) at (legend3) {development}; \\draw "
"node[node distance=0.1cm,right=of ldev,suite,test,legend] (ltest) {test}; "
"\\draw node[node distance=0.1cm,right=of ltest,suite,internal,legend] (lint) "
"{internal}; \\draw node[node distance=0.1cm,right=of lint,suite,prod,legend] "
"(lprod) {production}; \\draw ($(legend.north west) + (-0.1,0.25)$) rectangle "
"($(lprod.south east) + (0.1,-0.1)$); \\draw "
"node[font=\\bf,red!70!white,align=center] (tnext) at ($(te.east) + "
"(2,-0.1)$) {preparation of \\\\ next release}; \\draw "
"node[font=\\bf,green!70!black,align=center] (tsrm) at ($(sec.north east) + "
"(1,1)$) {stable\\\\release\\\\management}; \\pgfdeclarelayer{background} "
"\\pgfdeclarelayer{foreground} \\pgfsetlayers{background,main,foreground}"
msgstr ""

#. type: pgfonlayer{#2}
#: packaging-tutorial.tex:1076
msgid "background"
msgstr ""

#. type: pgfonlayer
#: packaging-tutorial.tex:1076
msgid ""
"\\fill[red!10!white] plot [smooth cycle,tension=0.55] coordinates { "
"($(sid.north west) + (-0.1,0.1)$) ($(exp.north east)+(0.1,0.1)$) "
"($(tpu.south east)+(0.1,-0.1)$) ($(tnext.south) + (0.6,0)$) ($(te.south "
"west) + (0.1,-0.1)$)  }; \\fill[green!10!white] plot [smooth "
"cycle,tension=0.55] coordinates { ($(spu.north west) + (-0.1,0.1)$) "
"($(spu.north east)+(0.1,0.1)$) ($(sn.north east)+(0.1,0.1)$) ($(st.north "
"east) + (0.1,0.5)$) ($(bp.north east) + (0.1,0.1)$)  ($(bp.south east) + "
"(0.1,-0.1)$) ($(sec.south west) + (-0.1,-0.1)$)  };"
msgstr ""

#. type: flushright
#: packaging-tutorial.tex:1076
msgid ""
"\\tiny Based on graph by Antoine "
"Beaupr\\'e. \\url{https://salsa.debian.org/debian/package-cycle}~~~~~~~~~~~~";
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1091
msgid "Suites for development"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1091
msgid "New versions of packages are uploaded to \\textbf{unstable} (\\textbf{sid})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1091
msgid ""
"Packages migrate from \\textbf{unstable} to \\textbf{testing} based on "
"several criterias (e.g. has been in unstable for 10 days, and no "
"regressions)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1091
msgid "New packages can also be uploaded to:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1091
msgid ""
"\\textbf{experimental} (for more \\textsl{experimental} packages, such as "
"when the new version is not ready to replace the one currently in unstable)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1091
msgid ""
"\\textbf{testing-proposed-updates}, to update the version in "
"\\textbf{testing} without going through \\textbf{unstable} (this is rarely "
"used)"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1108
msgid "Freezing and releasing"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1108
msgid ""
"At some point during the release cycle, the release team decides to "
"\\textsl{freeze} testing: automatic migrations from \\textbf{unstable} to "
"\\textbf{testing} are stopped, and replaced by manual review"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1108
msgid "When the release team considers \\textbf{testing} to be ready for release:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1108
msgid "The \\textbf{testing} suite becomes the new \\textbf{stable} suite"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1108
msgid "Similarly, the old \\textbf{stable} becomes \\textbf{oldstable}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1108
msgid "Unsupported releases are moved to \\texttt{archive.debian.org}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1108
msgid "See \\url{https://release.debian.org/}";
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1132
msgid "Stable release management"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1132
msgid "Several suites are used to provide stable release packages:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1132
msgid "\\textbf{stable}: the main suite"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1132
msgid ""
"\\textbf{security} updates suite provided on \\texttt{security.debian.org}, "
"used by the security team. Updates are announced on the "
"\\texttt{debian-security-announce} mailing list"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1132
msgid ""
"\\textbf{stable-updates}: updates that are not security related, but that "
"should urgently be installed (without waiting for the next point release): "
"antivirus databases, timezone-related packages, etc. Announced on the "
"\\texttt{debian-stable-announce} mailing list"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1132
msgid ""
"\\textbf{backports}: new upstream versions, based on the version in "
"\\textbf{testing}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1132
msgid ""
"The \\textbf{stable} suite is updated every few months by \\textsl{stable "
"point releases} (that include only bug fixes)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1132
msgid ""
"Packages targetting the next stable point release are uploaded to "
"\\textbf{stable-proposed-updates} and reviewed by the release team"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1132
msgid "The \\textbf{oldstable} release has the same set of suites"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1160 packaging-tutorial.tex:1160
msgid "Several ways to contribute to Debian"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "\\textbf{Worst} way to contribute:"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1160
msgid "Package your own application"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1160
msgid "Get it into Debian"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1160
msgid "Disappear"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "\\textbf{Better} ways to contribute:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "Get involved in packaging teams"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "Many teams that focus on set of packages, and need help"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "List available at \\url{https://wiki.debian.org/Teams}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "An excellent way to learn from more experienced contributors"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "Adopt existing unmaintained packages (\\textsl{orphaned packages})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "Bring new software to Debian"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "Only if it's interesting/useful enough, please"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1160
msgid "Are there alternatives already packaged in Debian?"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1199 packaging-tutorial.tex:1199
msgid "Adopting orphaned packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid "Many unmaintained packages in Debian"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid "Full list + process: \\url{https://www.debian.org/devel/wnpp/}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid ""
"Installed on your machine: \\texttt{wnpp-alert}\\\\ Or better: "
"\\texttt{how-can-i-help}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid "Different states:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid "\\textbf{O}rphaned: the package is unmaintained\\\\ Feel free to adopt it"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid ""
"\\textbf{RFA}: \\textbf{R}equest \\textbf{F}or \\textbf{A}dopter\\\\ "
"Maintainer looking for adopter, but continues work in the meantime\\\\ Feel "
"free to adopt it. A mail to the current maintainer is polite"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid ""
"\\textbf{ITA}: \\textbf{I}ntent \\textbf{T}o \\textbf{A}dopt\\\\ Someone "
"intends to adopt the package\\\\ You could propose your help!"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid ""
"\\textbf{RFH}: \\textbf{R}equest \\textbf{F}or \\textbf{H}elp\\\\ The "
"maintainer is looking for help"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid "Some unmaintained packages not detected \\arr not orphaned yet"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1199
msgid ""
"When in doubt, ask \\texttt{debian-qa@lists.debian.org} \\\\ or "
"\\texttt{\\#debian-qa} on \\texttt{irc.debian.org}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1206
msgid "Adopting a package: example"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1206
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"From: You <you@yourdomain>\n"
"To: 640454@bugs.debian.org, control@bugs.debian.org\n"
"Cc: Francois Marier <francois@debian.org>\n"
"Subject: ITA: verbiste -- French conjugator\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1210
#, no-wrap
msgid ""
"retitle 640454 ITA: verbiste -- French conjugator\n"
"owner 640454 !\n"
"thanks\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1212
#, no-wrap
msgid ""
"Hi,\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1214
#, no-wrap
msgid ""
"I am using verbiste and I am willing to take care of the package.\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1216
#, no-wrap
msgid ""
"Cheers,\n"
"\n"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1218
#, no-wrap
msgid "You"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1225
msgid ""
"Polite to contact the previous maintainer (especially if the package was "
"RFAed, not orphaned)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1225
msgid "Very good idea to contact the upstream project"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1249 packaging-tutorial.tex:1249
msgid "Getting your package in Debian"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1249
msgid "You do not need any official status to get your package into Debian"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1249
msgid ""
"Submit an \\textbf{ITP} bug (\\textbf{I}ntend \\textbf{T}o "
"\\textbf{P}ackage) using \\texttt{reportbug wnpp}"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1249
msgid "Prepare a source package"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1249
msgid "Find a Debian Developer that will sponsor your package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1249
msgid "Official status (when you are an experienced package maintainer):"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1249
msgid ""
"\\textbf{Debian Maintainer (DM):}\\\\ Permission to upload your own "
"packages\\\\ See \\url{https://wiki.debian.org/DebianMaintainer}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1249
msgid ""
"\\textbf{Debian Developer (DD):}\\\\ Debian project member; can vote and "
"upload any package"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1277
msgid "Things to check before asking for sponsorship"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid "Debian puts \\textbf{a lot of focus on quality}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid "Generally, \\textbf{sponsors are hard to find and busy}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid "Make sure your package is ready before asking for sponsorship"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid "Things to check:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid ""
"Avoid missing build-dependencies: make sure that your package build fine in "
"a clean \\textsl{sid} \\textsl{chroot}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid "Using \\texttt{pbuilder} is recommended"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid "Run \\texttt{lintian -EviIL +pedantic} on your package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid "Errors must be fixed, all other problems should be fixed"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid "Do extensive testing of your package, of course"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1277
msgid "In doubt, ask for help"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1312 packaging-tutorial.tex:1312
msgid "Where to find help?"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:1312
msgid "Help you will need:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "Advice and answers to your questions, code reviews"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "Sponsorship for your uploads, once your package is ready"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:1312
msgid "You can get help from:"
msgstr ""

#. type: textbf{#1}
#: packaging-tutorial.tex:1312
msgid "Other members of a packaging team"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "List of teams: \\url{https://wiki.debian.org/Teams}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "The \\textbf{Debian Mentors group} (if your package does not fit in a team)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "\\url{https://wiki.debian.org/DebianMentorsFaq}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid ""
"Mailing list: \\url{debian-mentors@lists.debian.org}\\\\ {\\small (also a "
"good way to learn by accident)}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "IRC: \\texttt{\\#debian-mentors} on \\texttt{irc.debian.org}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "\\url{http://mentors.debian.net/}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "Documentation: \\url{http://mentors.debian.net/intro-maintainers}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "\\textbf{Localized mailing lists} (get help in your language)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "\\texttt{debian-devel-\\{french,italian,portuguese,spanish\\}@lists.d.o}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "Full list: \\url{https://lists.debian.org/devel.html}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1312
msgid "Or users lists: \\url{https://lists.debian.org/users.html}";
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1329 packaging-tutorial.tex:1329
msgid "More documentation"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1329
msgid ""
"Debian Developers' Corner\\\\ \\url{https://www.debian.org/devel/}\\\\ "
"{\\small Links to many resources about Debian development}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1329
msgid ""
"Guide for Debian Maintainers\\\\ "
"\\url{https://www.debian.org/doc/manuals/debmake-doc/}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1329
msgid ""
"Debian Developer's Reference\\\\ "
"\\url{https://www.debian.org/doc/developers-reference/}\\\\ {\\small Mostly "
"about Debian procedures, but also some best packaging practices (part 6)}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1329
msgid "Debian Policy\\\\ \\url{https://www.debian.org/doc/debian-policy/}\\\\";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1335
msgid ""
"{\\small \\begin{itemize} \\item \\small All the requirements that every "
"package must satisfy \\item \\small Specific policies for Perl, Java, "
"Python, \\ldots \\end{itemize}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1340
msgid ""
"Ubuntu Packaging Guide\\\\ "
"\\url{http://developer.ubuntu.com/resources/tools/packaging/}";
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1354 packaging-tutorial.tex:1354
msgid "Debian dashboards for maintainers"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1354
msgid "\\textbf{Source package centric}:\\\\ \\url{https://tracker.debian.org/dpkg}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1354
msgid ""
"\\textbf{Maintainer/team centric}: Developer's Packages Overview (DDPO)\\\\ "
"\\url{https://qa.debian.org/developer.php?login=pkg-ruby-extras-maintainers@lists.alioth.debian.org}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1354
msgid ""
"\\textbf{TODO-list oriented}: Debian Maintainer Dashboard (DMD)\\\\ "
"\\url{https://udd.debian.org/dmd/}";
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1382
msgid "Using the Debian Bug Tracking System (BTS)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid "A quite unique way to manage bugs"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid "Web interface to view bugs"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid "Email interface to make changes to bugs"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid "Adding information to bugs:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid ""
"Write to \\texttt{123456@bugs.debian.org} (does not include the submitter, "
"you need to add \\texttt{123456-submitter@bugs.debian.org})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid "Changing bug status:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid "Send commands to \\texttt{control@bugs.debian.org}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid "Command-line interface: \\texttt{bts} command in \\texttt{devscripts}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid "Documentation: \\url{https://www.debian.org/Bugs/server-control}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid "Reporting bugs: use \\texttt{reportbug}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid ""
"Normally used with a local mail server: install \\texttt{ssmtp} or "
"\\texttt{nullmailer}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1382
msgid ""
"Or use \\texttt{reportbug -\\@-template}, then send (manually) to "
"\\texttt{submit@bugs.debian.org}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1408
msgid "Using the BTS: examples"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1408
msgid ""
"Sending an email to the bug and the submitter:\\\\ "
"\\url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\\#10}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1408
msgid ""
"Tagging and changing the severity:\\\\ "
"\\url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680227\\#10}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1408
msgid ""
"Reassigning, changing the severity, retitling \\ldots: \\\\ "
"\\url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\\#93}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1408
msgid ""
"\\texttt{notfound}, \\texttt{found}, \\texttt{notfixed}, \\texttt{fixed} are "
"for \\textbf{version-tracking} \\\\ See "
"\\url{https://wiki.debian.org/HowtoUseBTS\\#Version\\_tracking}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1408
msgid ""
"Using usertags: "
"\\url{https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=42;bug=642267}\\\\ "
"See \\url{https://wiki.debian.org/bugs.debian.org/usertags}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1408
msgid "BTS Documentation:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1408
msgid "\\url{https://www.debian.org/Bugs/}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1408
msgid "\\url{https://wiki.debian.org/HowtoUseBTS}";
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1435 packaging-tutorial.tex:1435
msgid "More interested in Ubuntu?"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid "Ubuntu mainly manages the divergence with Debian"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid ""
"No real focus on specific packages\\\\ Instead, collaboration with Debian "
"teams"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid ""
"Usually recommend uploading new packages to Debian first\\\\ "
"\\url{https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid "Possibly a better plan:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid "Get involved in a Debian team and act as a bridge with Ubuntu"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid "Help reduce divergence, triage bugs in Launchpad"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid "Many Debian tools can help:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid "Ubuntu column on the Developer's packages overview"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid "Ubuntu box on the Package Tracking System"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1435
msgid "Receive launchpad bugmail via the PTS"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1452 packaging-tutorial.tex:1452 packaging-tutorial.tex:1452
msgid "Conclusions"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1452
msgid "You now have a full overview of Debian packaging"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1452
msgid "But you will need to read more documentation"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1452
msgid "Best practices have evolved over the years"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1452
msgid ""
"If not sure, use the \\textbf{dh} packaging helper, and the \\textbf{3.0 "
"(quilt)} format"
msgstr ""

#. type: centerline{#1}
#: packaging-tutorial.tex:1452
msgid "\\large Feedback: \\textbf{packaging-tutorial@packages.debian.org}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1455 packaging-tutorial.tex:1455
msgid "Legal stuff"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:1458
msgid "Copyright \\copyright 2011--2016 Lucas Nussbaum -- lucas@debian.org"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:1474
msgid ""
"{\\small \\textbf{This document is free software}: you can redistribute it "
"and/or modify it under either (at your option): \\hbr \\begin{itemize} "
"\\item The terms of the GNU General Public License as published by the Free "
"Software Foundation, either version 3 of the License, or (at your option) "
"any later version.\\\\ \\url{http://www.gnu.org/licenses/gpl.html} \\br "
"\\item The terms of the Creative Commons Attribution-ShareAlike 3.0 Unported "
"License.\\\\ \\url{http://creativecommons.org/licenses/by-sa/3.0/} "
"\\end{itemize} }"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1503 packaging-tutorial.tex:1503
msgid "Contribute to this tutorial"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid "Contribute:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid "{\\small \\texttt{apt-get source packaging-tutorial}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid "{\\small \\texttt{debcheckout packaging-tutorial}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid ""
"{\\small \\texttt{git clone\\\\ "
"git://git.debian.org/collab-maint/packaging-tutorial.git}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid ""
"{\\small "
"\\url{http://git.debian.org/?p=collab-maint/packaging-tutorial.git}}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid "{\\small Open bugs: \\url{bugs.debian.org/src:packaging-tutorial}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid "Provide feedback:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid "\\href{mailto:packaging-tutorial@packages.debian.org}{\\textbf{\\texttt{mailto:packaging-tutorial@packages.debian.org}}}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid "{\\small What should be added to this tutorial?}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid "{\\small What should be improved?}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1503
msgid "{\\small \\texttt{reportbug packaging-tutorial}}"
msgstr ""

#. type: section{#2}
#: packaging-tutorial.tex:1505
msgid "Additional practical sessions"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1524 packaging-tutorial.tex:1524 packaging-tutorial.tex:1785 packaging-tutorial.tex:1785
msgid "Practical session 2: packaging GNUjump"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1524 packaging-tutorial.tex:1785
msgid ""
"Download GNUjump 1.0.8 from "
"\\url{http://ftp.gnu.org/gnu/gnujump/gnujump-1.0.8.tar.gz}";
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1524 packaging-tutorial.tex:1785
msgid "Create a Debian package for it"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1524 packaging-tutorial.tex:1785
msgid "Install build-dependencies so that you can build the package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1524
msgid "Fix bugs"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1524 packaging-tutorial.tex:1785
msgid "Get a basic working package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1524 packaging-tutorial.tex:1785
msgid "Finish filling \\texttt{debian/control} and other files"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1524 packaging-tutorial.tex:1785
msgid "Enjoy"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1550
msgid "Practical session 2: packaging GNUjump (tips)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1550
msgid "To get a basic working package, use \\texttt{dh\\_make}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1550
msgid ""
"To start with, creating a \\textsl{1.0} source package is easier than "
"\\textsl{3.0 (quilt)} (change that in \\texttt{debian/source/format})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1550
msgid ""
"To search for missing build-dependencies, find a missing file, and use "
"\\texttt{apt-file} to find the missing package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1550
msgid "If you encounter that error:"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1550
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\tiny]\n"
"/usr/bin/ld: SDL_rotozoom.o: undefined reference to symbol "
"'ceil@@GLIBC_2.2.5'\n"
"//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from "
"command line\n"
"collect2: error: ld returned 1 exit status\n"
"Makefile:376: recipe for target 'gnujump' failed"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1550
msgid ""
"You need to add \\texttt{-lm} to the linker command line:\\\\ Edit "
"\\texttt{src/Makefile.am} and replace"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1550 packaging-tutorial.tex:1871 packaging-tutorial.tex:1900
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"gnujump_LDFLAGS = $(all_libraries)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1550 packaging-tutorial.tex:1871 packaging-tutorial.tex:1900
msgid "by"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1550 packaging-tutorial.tex:1871 packaging-tutorial.tex:1900
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"gnujump_LDFLAGS = -Wl,--as-needed\n"
"gnujump_LDADD = $(all_libraries) -lm"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1550 packaging-tutorial.tex:1871
msgid "Then run \\texttt{autoreconf -i}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1570 packaging-tutorial.tex:1570 packaging-tutorial.tex:1960 packaging-tutorial.tex:1960
msgid "Practical session 3: packaging a Java library"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1570 packaging-tutorial.tex:1960
msgid "Take a quick look at some documentation about Java packaging:\\\\"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1570 packaging-tutorial.tex:1960
msgid "\\url{https://wiki.debian.org/Java}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1570 packaging-tutorial.tex:1960
msgid "\\url{https://wiki.debian.org/Java/Packaging}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1570 packaging-tutorial.tex:1960
msgid "\\url{https://www.debian.org/doc/packaging-manuals/java-policy/}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1570 packaging-tutorial.tex:1960
msgid "\\texttt{/usr/share/doc/javahelper/tutorial.txt.gz}"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1570 packaging-tutorial.tex:1960
msgid "Download IRClib from \\url{http://moepii.sourceforge.net/}";
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1570 packaging-tutorial.tex:1960
msgid "Package it"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1591 packaging-tutorial.tex:1591 packaging-tutorial.tex:2002 packaging-tutorial.tex:2002
msgid "Practical session 4: packaging a Ruby gem"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1591 packaging-tutorial.tex:2002
msgid "Take a quick look at some documentation about Ruby packaging:\\\\"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1591 packaging-tutorial.tex:2002
msgid "\\url{https://wiki.debian.org/Ruby}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1591 packaging-tutorial.tex:2002
msgid "\\url{https://wiki.debian.org/Teams/Ruby}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1591 packaging-tutorial.tex:2002
msgid "\\url{https://wiki.debian.org/Teams/Ruby/Packaging}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1591 packaging-tutorial.tex:2002
msgid ""
"\\texttt{gem2deb(1)}, \\texttt{dh\\_ruby(1)} (in the \\texttt{gem2deb} "
"package)"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1591 packaging-tutorial.tex:2002
msgid ""
"Create a basic Debian source package from the \\texttt{peach} gem:\\\\ "
"\\texttt{gem2deb peach}"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1591 packaging-tutorial.tex:1610 packaging-tutorial.tex:2002 packaging-tutorial.tex:2059
msgid "Improve it so that it becomes a proper Debian package"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1610 packaging-tutorial.tex:1610 packaging-tutorial.tex:2059 packaging-tutorial.tex:2059
msgid "Practical session 5: packaging a Perl module"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1610 packaging-tutorial.tex:2059
msgid "Take a quick look at some documentation about Perl packaging:\\\\"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1610 packaging-tutorial.tex:2059
msgid "\\url{https://perl-team.pages.debian.net}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1610 packaging-tutorial.tex:2059
msgid "\\url{https://wiki.debian.org/Teams/DebianPerlGroup}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1610 packaging-tutorial.tex:2059
msgid ""
"\\texttt{dh-make-perl(1)}, \\texttt{dpt(1)} (in the \\texttt{pkg-perl-tools} "
"package)"
msgstr ""

#. type: enumerate
#: packaging-tutorial.tex:1610 packaging-tutorial.tex:2059
msgid ""
"Create a basic Debian source package from the \\texttt{Acme} CPAN "
"distribution:\\\\ \\verb|dh-make-perl --cpan Acme|"
msgstr ""

#. type: section{#2}
#: packaging-tutorial.tex:1612
msgid "Answers to practical sessions"
msgstr ""

#. type: center
#: packaging-tutorial.tex:1618
msgid "\\LARGE Answers to"
msgstr ""

#. type: center
#: packaging-tutorial.tex:1618
msgid "[0.5em] practical sessions"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1673
msgid "Fetching the source"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1673
msgid ""
"Use dget to download the \\texttt{.dsc} file:\\\\ {\\small \\texttt{dget "
"http://cdn.debian.net/debian/pool/main/g/grep/grep\\_2.12-2.dsc}}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1673
msgid ""
"If you have \\texttt{deb-src} for a Debian release that has \\texttt{grep} "
"version 2.12-2 (find out on \\url{https://tracker.debian.org/grep}), you can "
"use: \\texttt{apt-get source grep=2.12-2}\\\\ or \\texttt{apt-get source "
"grep/release} (e.g. \\texttt{grep/stable}\\\\ or, if you feel lucky: "
"\\texttt{apt-get source grep}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1673
msgid "The \\texttt{grep} source package is composed of three files:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1673
msgid "\\texttt{grep\\_2.12-2.dsc}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1673
msgid "\\texttt{grep\\_2.12-2.debian.tar.bz2}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1673
msgid "\\texttt{grep\\_2.12.orig.tar.bz2}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1673
msgid "This is typical of the \"3.0 (quilt)\" format."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1673
msgid ""
"If needed, uncompress the source with\\\\ \\texttt{dpkg-source -x "
"grep\\_2.12-2.dsc}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1692
msgid "Looking around and building the package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1692
msgid ""
"According to \\texttt{debian/control}, this package only generates one "
"binary package, named \\texttt{grep}."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1692
msgid ""
"According to \\texttt{debian/rules}, this package is typical of "
"\\textsl{classic} debhelper packaging, without using \\textsl{CDBS} or "
"\\textsl{dh}. One can see the various calls to \\texttt{dh\\_*} commands in "
"\\texttt{debian/rules}."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1701
msgid "Use \\texttt{apt-get build-dep grep} to fetch the build-dependencies"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1701
msgid ""
"Then \\texttt{debuild} or \\texttt{dpkg-buildpackage -us -uc} (Takes about 1 "
"min)"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1705
msgid "Editing the changelog"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1722
msgid ""
"\\texttt{debian/changelog} is a text file. You could edit it and add a new "
"entry manually."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1722
msgid "Or you can use \\texttt{dch -i}, which will add an entry and open the editor"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1722
msgid ""
"The name and email can be defined using the \\texttt{DEBFULLNAME} and "
"\\texttt{DEBEMAIL} environment variables"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1722
msgid "After that, rebuild the package: a new version of the package is built"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1722
msgid ""
"Package versioning is detailed in section 5.6.12 of the Debian policy\\\\ "
"\\url{https://www.debian.org/doc/debian-policy/ch-controlfields}";
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1726
msgid "Disabling Perl regexp support and rebuilding"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1742
msgid ""
"Check with \\texttt{./configure -{}-help}: the option to disable Perl regexp "
"is \\texttt{-{}-disable-perl-regexp}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1742
msgid "Edit \\texttt{debian/rules} and find the \\texttt{./configure} line"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1742
msgid "Add \\texttt{-{}-disable-perl-regexp}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1742
msgid "Rebuild with \\texttt{debuild} or \\texttt{dpkg-buildpackage -us -uc}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1746
msgid "Comparing and testing the packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1767
msgid "Compare the binary packages: \\texttt{debdiff ../*changes}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1767
msgid "Compare the source packages: \\texttt{debdiff ../*dsc}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1767
msgid ""
"Install the newly built package: \\texttt{debi}\\\\ Or \\texttt{dpkg -i "
"../grep\\_<TAB>}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1767
msgid "\\texttt{grep -P foo} no longer works!"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:1767
msgid "Reinstall the previous version of the package:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1767
msgid ""
"\\texttt{apt-get install -{}-reinstall grep=2.6.3-3} \\textit{(= previous "
"version)}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1814 packaging-tutorial.tex:1981 packaging-tutorial.tex:2023 packaging-tutorial.tex:2071
msgid "Step by step\\ldots"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1814
msgid "\\texttt{wget http://ftp.gnu.org/gnu/gnujump/gnujump-1.0.8.tar.gz}";
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1814
msgid "\\texttt{mv gnujump-1.0.8.tar.gz gnujump\\_1.0.8.orig.tar.gz}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1814
msgid "\\texttt{tar xf gnujump\\_1.0.8.orig.tar.gz}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1814
msgid "\\texttt{cd gnujump-1.0.8/}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1814
msgid "\\texttt{dh\\_make -f ../gnujump-1.0.8.tar.gz}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1814
msgid "Type of package: single binary (for now)"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1814
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\small]\n"
"gnujump-1.0.8$ ls debian/\n"
"changelog           gnujump.default.ex   preinst.ex\n"
"compat              gnujump.doc-base.EX  prerm.ex\n"
"control             init.d.ex            README.Debian\n"
"copyright           manpage.1.ex         README.source\n"
"docs                manpage.sgml.ex      rules\n"
"emacsen-install.ex  manpage.xml.ex       source\n"
"emacsen-remove.ex   menu.ex              watch.ex\n"
"emacsen-startup.ex  postinst.ex\n"
"gnujump.cron.d.ex   postrm.ex"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1841 packaging-tutorial.tex:2040 packaging-tutorial.tex:2082
msgid "Step by step\\ldots (2)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1841
msgid ""
"Look at \\texttt{debian/changelog}, \\texttt{debian/rules}, "
"\\texttt{debian/control}\\\\ (auto-filled by \\textbf{dh\\_make})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1841
msgid ""
"In \\texttt{debian/control}:\\\\ \\texttt{Build-Depends: debhelper (>= "
"7.0.50~), autotools-dev}\\\\ Lists the \\textsl{build-dependencies} = "
"packages needed to build the package"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1841
msgid ""
"Try to build the package as-is with \\texttt{debuild} (thanks to "
"\\textbf{dh} magic)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1841
msgid "And add build-dependencies, until it builds"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1841
msgid ""
"Hint: use \\texttt{apt-cache search} and \\texttt{apt-file} to find the "
"packages"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1841
msgid "Example:"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1841
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\footnotesize]\n"
"checking for sdl-config... no\n"
"checking for SDL - version >= 1.2.0... no\n"
"[...]\n"
"configure: error: *** SDL version 1.2.0 not found!"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1841
msgid "$\\rightarrow$ Add \\textbf{libsdl1.2-dev} to Build-Depends and install it."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1841
msgid "Better: use \\textbf{pbuilder} to build in a clean environment"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1845
msgid "Step by step\\ldots (3)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1845
msgid ""
"Required build-dependencies are \\texttt{libsdl1.2-dev, libsdl-image1.2-dev, "
"libsdl-mixer1.2-dev}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1871
msgid "Then, you will probably run into another error:"
msgstr ""

#. type: lstlisting
#: packaging-tutorial.tex:1871
#, no-wrap
msgid ""
"[basicstyle=\\ttfamily\\tiny]\n"
"\t/usr/bin/ld: SDL_rotozoom.o: undefined reference to symbol "
"'ceil@@GLIBC_2.2.5'\n"
"\t//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from "
"command line\n"
"\tcollect2: error: ld returned 1 exit status\n"
"\tMakefile:376: recipe for target 'gnujump' failed\n"
"\t"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1871
msgid ""
"This problem is caused by bitrot: gnujump has not been adjusted following "
"linker changes."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1871
msgid ""
"If you are using source format version \\textbf{1.0}, you can directly "
"change upstream sources."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1871 packaging-tutorial.tex:1900
msgid "Edit \\texttt{src/Makefile.am} and replace"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1900
msgid "Step by step\\ldots (4)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1900
msgid ""
"If you are using source format version \\textbf{3.0 (quilt)}, use "
"\\texttt{quilt} to prepare a patch. (see "
"\\url{https://wiki.debian.org/UsingQuilt})"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1900
msgid "\\texttt{export QUILT\\_PATCHES=debian/patches}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1900
msgid ""
"\\texttt{mkdir debian/patches}\\\\ \\texttt{quilt new "
"linker-fixes.patch}\\\\ \\texttt{quilt add src/Makefile.am}\\\\"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1900
msgid "\\texttt{quilt refresh}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1900
msgid ""
"Since \\texttt{src/Makefile.am} was changed, autoreconf must be called "
"during the build. To do that automatically with \\texttt{dh}, change the "
"\\texttt{dh} call in \\texttt{debian/rules} from: \\texttt{dh \\$\\@ "
"-{}-with autotools-dev}\\\\ to: \\texttt{dh \\$\\@ -{}-with autotools-dev "
"-{}-with autoreconf}"
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1927
msgid "Step by step\\ldots (5)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid "The package should now build fine."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid ""
"Use \\texttt{debc} to list the content of the generated package, and "
"\\texttt{debi} to install it and test it."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid "Test the package with \\texttt{lintian}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid ""
"While not a strict requirement, it is recommended that packages uploaded to "
"Debian are \\textsl{lintian-clean}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid "More problems can be listed using \\texttt{lintian -EviIL +pedantic}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid "Some hints:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid "Remove the files that you don't need in \\texttt{debian/}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid "Fill in \\texttt{debian/control}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid ""
"Install the executable to \\texttt{/usr/games} by overriding "
"\\texttt{dh\\_auto\\_configure}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1927
msgid ""
"Use \\textsl{hardening} compiler flags to increase security.\\\\ See "
"\\url{https://wiki.debian.org/Hardening}";
msgstr ""

#. type: frame{#2}
#: packaging-tutorial.tex:1940
msgid "Step by step\\ldots (6)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1940
msgid "Compare your package with the one already packaged in Debian:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1940
msgid ""
"It splits the data files to a second package, that is the same across all "
"architectures ($\\rightarrow$ saves space in the Debian archive)"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1940
msgid ""
"It installs a .desktop file (for the GNOME/KDE menus) and also integrates "
"into the Debian menu"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1940
msgid "It fixes a few minor problems using patches"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1981
msgid "\\texttt{apt-get install javahelper}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1981
msgid "Create a basic source package: \\texttt{jh\\_makepkg}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1981
msgid "Library"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1981
msgid "None"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1981
msgid "Default Free compiler/runtime"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1981
msgid "Look at and fix \\texttt{debian/*}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1981
msgid "\\texttt{dpkg-buildpackage -us -uc} or \\texttt{debuild}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1981
msgid "\\texttt{lintian}, \\texttt{debc}, etc."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:1981
msgid "Compare your result with the \\texttt{libirclib-java} source package"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:2023
msgid "\\texttt{gem2deb peach}:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2023
msgid "Downloads the gem from rubygems.org"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2023
msgid "Creates a suitable .orig.tar.gz archive, and untar it"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2023
msgid "Initializes a Debian source package based on the gem's metadata"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2023
msgid "Named \\texttt{ruby-\\textsl{gemname}}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2023
msgid "Tries to build the Debian binary package (this might fail)"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:2023
msgid ""
"\\texttt{dh\\_ruby} (included in \\textsl{gem2deb}) does the Ruby-specific "
"tasks:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2023
msgid "Build C extensions for each Ruby version"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2023
msgid "Copy files to their destination directory"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2023
msgid "Update shebangs in executable scripts"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2023
msgid ""
"Run tests defined in \\texttt{debian/ruby-tests.rb}, "
"\\texttt{debian/ruby-tests.rake}, or \\texttt{debian/ruby-test-files.yaml}, "
"as well as various other checks"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:2040 packaging-tutorial.tex:2082
msgid "Improve the generated package:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2040
msgid "Run \\texttt{debclean} to clean the source tree. Look at \\texttt{debian/}."
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2040
msgid "\\texttt{changelog} and \\texttt{compat} should be correct"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2040
msgid "Edit \\texttt{debian/control}: improve \\texttt{Description}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2040
msgid "Write a proper \\texttt{copyright} file based on the upstream files"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2040
msgid ""
"Compare your package with the \\texttt{ruby-peach} package in the Debian "
"archive"
msgstr ""

#. type: frame
#: packaging-tutorial.tex:2071
msgid "\\verb|dh-make-perl --cpan Acme|:"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2071
msgid "Downloads the tarball from the CPAN"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2071
msgid "Creates a suitable .orig.tar.gz archive, and untars it"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2071
msgid "Initializes a Debian source package based on the distribution's metadata"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2071
msgid "Named \\texttt{lib\\textsl{distname}-perl}"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2082
msgid ""
"\\texttt{debian/changelog}, \\texttt{debian/compat}, "
"\\texttt{debian/libacme-perl.docs}, and \\texttt{debian/watch} should be "
"correct"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2082
msgid ""
"Edit \\texttt{debian/control}: improve \\texttt{Description}, and remove "
"boilerplate at the bottom"
msgstr ""

#. type: itemize
#: packaging-tutorial.tex:2082
msgid ""
"Edit \\texttt{debian/copyright}: remove boilerplate paragraph at the top, "
"add years of copyright to the \\texttt{Files:\\hspace{0.3em}*} stanza"
msgstr ""

Reply to: