po 4a - en to ja translation catalogue (515 entries)

note: 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
en: \usepackage{debiantutorial}
ja: \usepackage{debiantutorial.ja}\hypersetup{unicode}\usepackage[whole]{bxcjkjatype}

note: type: title{#2}
en: Debian Packaging Tutorial
ja: Debian パッケージングチュートリアル

note: type: frame{#2}
en: About this tutorial
ja: このチュートリアルについて

note: type: itemize
en: Goal: \textbf{tell you what you really need to know about Debian packaging}
ja: 目的: \textbf{Debianのパッケージ作成について、知る必要のあることの提供}

note: type: itemize
en: Modify existing packages
ja: 既存パッケージの修正

note: type: itemize
en: Create your own packages
ja: 自作パッケージの作成

note: type: itemize
en: Interact with the Debian community
ja: Debian コミュニティとのやりとり

note: type: itemize
en: Become a Debian power-user
ja: Debian のパワーユーザーになる

note: type: itemize
en: Covers the most important points, but is not complete
ja: 最も重要な点を押さえているが不完全

note: type: itemize
en: You will need to read more documentation
ja: 詳細なドキュメントを参照

note: type: itemize
en: Most of the content also applies to Debian derivative distributions
ja: ほとんどの内容は Debian 派生ディストリビューションにも適用可能

note: type: itemize
en: That includes Ubuntu
ja: Ubuntu を含む

note: type: frame{#2}
en: Outline
ja: アウトライン

note: type: section{#2}
en: Introduction
ja: はじめに

note: type: textbf{#1}
en: GNU/Linux distribution
ja: GNU/Linux ディストリビューション

note: type: itemize
en: 1st major distro developed ``openly in the spirit of GNU''
ja: 「GNU の精神でオープンに」開発している\\第一のメジャーディストリビューション

note: type: itemize
en: \textbf{Non-commercial}, built collaboratively by over 1,000 volunteers
ja: \textbf{非商用}: 1,000 人以上のボランティアが協力して開発

note: type: itemize
en: 3 main features:
ja: 3つの主要機能

note: type: itemize
en: \textbf{Quality} -- culture of technical excellence\\ {\small\sl We release when it's ready}
ja: \textbf{品質} -- 技術的利点の文化\\ {\small\sl 準備できた時にリリース}

note: type: itemize
en: \textbf{Freedom} -- devs and users bound by the \textsl{Social Contract}\\ Promoting the culture of Free Software since 1993
ja: \textbf{自由} -- 開発者とユーザーは、1993 年に成立した、\\フリーソフトウェアの文化を促す\textsl{社会契約}で結ばれている。

note: type: itemize
en: \textbf{Independence} -- no (single) company babysitting Debian\\ And open decision-making process (\textsl{do-ocracy} + \textsl{democracy})
ja: \textbf{独立} -- Debian のお守りをしている (単一) 企業はない\\ また、オープンな意思決定プロセス (\textsl{実行主義} + \textsl{民主主義})

note: type: itemize
en: \textbf{Amateur} in the best sense: done for the love of it
ja: 最高の \textbf{アマチュア} が、好きだからこそ成し遂げた

note: type: frame{#2}
en: Debian packages
ja: Debian パッケージ

note: type: itemize
en: \textbf{.deb} files (binary packages)
ja: \textbf{.deb} ファイル (バイナリパッケージ)

note: type: itemize
en: A very powerful and convenient way to distribute software to users
ja: ソフトウェアをユーザーに配布する、とても強力で便利な方法

note: type: itemize
en: One of the two most common package formats (with RPM)
ja: もっとも一般的なパッケージフォーマットのひとつ (もうひとつは RPM)

note: type: itemize
en: Universal:
ja: ユニバーサル:

note: type: itemize
en: 30,000 binary packages in Debian\\ $\rightarrow$ most of the available free software is packaged in Debian!
ja: 30,000 のバイナリーパッケージ\\ $\rightarrow$ ほとんどのフリーソフトウェアがDebianでパッケージ化

note: type: itemize
en: For 12 ports (architectures), including 2 non-Linux (Hurd; KFreeBSD)
ja: 2 つの 非 Linux (Hurd, KFreeBSD) を含む 12 の移植版 (アーキテクチャ)

note: type: itemize
en: Also used by 120 Debian derivative distributions
ja: 120 の Debian 派生ディストリビューションでも使用

note: type: frame{#2}
en: The Deb package format
ja: deb パッケージフォーマット

note: type: itemize
en: \texttt{.deb} file: an \texttt{ar} archive
ja: \texttt{.deb} ファイル: \texttt{ar} アーカイブ

note: $ type: itemize
en: \texttt{debian-binary}: version of the deb file format, \texttt{"2.0\textbackslash{}n"}
ja: \texttt{debian-binary}: deb ファイルフォーマットのバージョン \texttt{"2.0\textbackslash{}n"}

note: type: itemize
en: \texttt{control.tar.gz}: metadata about the package\\ {\small \texttt{\textbf{control}, md5sums, (pre|post)(rm|inst), triggers, shlibs}, \ldots}
ja: \texttt{control.tar.gz}: パッケージについてのメタデータ\\ {\small \texttt{\textbf{control}, md5sums, (pre|post)(rm|inst), triggers, shlibs}, \ldots}

note: type: itemize
en: \texttt{data.tar.gz}: data files of the package
ja: \texttt{data.tar.gz}: パッケージのデータファイル

note: type: itemize
en: You could create your \texttt{.deb} files manually\\ {\footnotesize \url{http://tldp.org/HOWTO/html\_single/Debian-Binary-Package-Building-HOWTO/}}
ja: \texttt{.deb} ファイルを手で作ることも可能\\ {\footnotesize \url{http://tldp.org/HOWTO/html\_single/Debian-Binary-Package-Building-HOWTO/}}

note: type: itemize
en: But most people don't do it that way
ja: しかし、ほとんどの人には不要

note: type: textbf{#1}
en: This tutorial: create Debian packages, the Debian way
ja: 本チュートリアル: Debian のパッケージを Debian 流に作成

note: type: frame{#2}
en: Tools you will need
ja: 必要なツール

note: type: itemize
en: A Debian (or Ubuntu) system (with root access)
ja: Debian (ないし Ubuntu) システム (要 root アクセス)

note: type: itemize
en: Some packages:
ja: いくつかのパッケージ:

note: type: itemize
en: \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)
ja: \textbf{build-essential}: 開発者のマシンで利用前提となるパッケージに依存 (パッケージの \texttt{Build-Depends:} コントロールフィールドに指定不要)

note: type: itemize
en: includes a dependency on \textbf{dpkg-dev}, which contains basic Debian-specific tools to create packages
ja: パッケージを作成する、基本的な Debian 特化ツールである \textbf{dpkg-dev} への依存関係を含む

note: type: itemize
en: \textbf{devscripts}: contains many useful scripts for Debian maintainers
ja: \textbf{devscripts}: Debian メンテナにとって便利なスクリプト群

note: type: frame
en: 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.
ja: \textbf{debhelper}, \textbf{cdbs}, \textbf{quilt}, \textbf{pbuilder}, \textbf{sbuild}, \textbf{lintian}, \textbf{svn-buildpackage}, \textbf{git-buildpackage}, \ldots といった、その他たくさんのパッケージ (後述)\\ 必要に応じてインストール。

note: type: frame{#2}
en: General packaging workflow
ja: 一般的なパッケージングワークフロー

note: \draw[arr,->] (bin) -- (-1,-6) node[pos=0.5,left] {upload (\textttc{dput})}; hack hack hack type: tikzpicture
en: \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);
ja: \node[node1] (www) at (0, 0) {Web}; \node[node1] (us) at (2.5, 0) {upstream ソース}; \node[node1] (da) at (-2.5, 0) {Debian ミラーサイト}; \node[node1] (sp) at (0, -2) {ソースパッケージ}; \draw[arr,<-,dashed,thick] (sp) -- (2.5,-2) node[right=0cm,text width=2.98cm,text centered,font=\small\sl] {ここでほとんどの手作業を実行}; \node[node1] (bin) at (0, -4) {単一/複数のバイナリーパッケージ}; \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} (構築と \textttc{lintian} によるテスト) または \textttc{dpkg-buildpackage}}; \draw[arr,->] (bin) -- (1,-6) node[pos=0.5,right] {インストール (\textttc{debi})}; \draw[transparent] (bin) -- (-1,-6) node[pos=0.5,left,opaque] {アップロード (\textttc{dput})}; \draw[arr,->,rounded corners] (bin) -- (-1,-6) -- (-4.5,-6) -- (-4.5,0) -- (da); \useasboundingbox (-4,-6) rectangle (6,0);

note: type: subsection{#2}
en: Rebuilding dash
ja: dash の再構築

note: type: frame{#2}
en: Example: rebuilding dash
ja: 例: dash の再構築

note: type: enumerate
en: 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}}
ja: dash を構築するのに必要なパッケージと devscripts のインストール\\ {\texttt{sudo apt-get build-dep dash}\\ (\texttt{/etc/apt/sources.list} に \texttt{deb-src} 行が必要)}\\ {\texttt{sudo apt-get install -{}-no-install-recommends devscripts fakeroot}}

note: type: enumerate
en: Create a working directory, and get in it:\\ \texttt{mkdir /tmp/debian-tutorial ; cd /tmp/debian-tutorial}
ja: 作業ディレクトリーを作成し、そこに移動\\ \texttt{mkdir /tmp/debian-tutorial ; cd /tmp/debian-tutorial}

note: type: enumerate
en: 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})}
ja: \texttt{dash} のソースパッケージを入手\\ \texttt{apt-get source dash}\\ {\small (\texttt{/etc/apt/sources.list} に \texttt{deb-src} 行が必要)}

note: type: enumerate
en: Build the package\\ {\texttt{cd dash-*\\ debuild -us -uc}} ~~~(\texttt{-us -uc} disables signing the package with GPG)
ja: パッケージの構築\\ {\texttt{cd dash-*\\ debuild -us -uc}} ~~~(\texttt{-us -uc} は GPG によるパッケージ署名を無効化)

note: type: enumerate
en: Check that it worked
ja: 結果の確認

note: type: itemize
en: There are some new \texttt{.deb} files in the parent directory
ja: 新しい \texttt{.deb} ファイルが親ディレクトリーに

note: type: enumerate
en: Look at the \texttt{debian/} directory
ja: \texttt{debian/} ディレクトリーを参照

note: type: itemize
en: That's where the packaging work is done
ja: パッケージング作業を行う場所

note: type: section{#2}
en: Creating source packages
ja: ソースパッケージの作成

note: type: subsection{#2}
en: Source packages basics
ja: ソースパッケージの基礎

note: type: frame{#2}
en: Source package
ja: ソースパッケージ

note: type: itemize
en: 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}
ja: 1 つのソースパッケージから複数のバイナリーパッケージを生成\\ {\small 例: \texttt{\bfseries libtar} のソースから \texttt{\bfseries libtar0} と \texttt{\bfseries libtar-dev} のバイナリーパッケージを生成}

note: type: itemize
en: Two kinds of packages: (if unsure, use non-native)
ja: 2種類のパッケージ: (よく判らなければ非ネイティブで)

note: type: itemize
en: Native packages: normally for Debian specific software (\textsl{dpkg}, \textsl{apt})
ja: ネイティブパッケージ: 通常 Debian 固有ソフトウェア (\textsl{dpkg}, \textsl{apt})

note: type: itemize
en: Non-native packages: software developed outside Debian
ja: 非ネイティブパッケージ: Debian 外で開発されたソフトウェア

note: type: itemize
en: Main file: \texttt{.dsc} (meta-data)
ja: メインファイル: \texttt{.dsc} (メタデータ)

note: type: itemize
en: Other files depending on the version of the source format
ja: ソースフォーマットのバージョンに依存する他のファイル

note: type: itemize
en: 1.0 or 3.0 (native): \texttt{package\_version.tar.gz}
ja: 1.0, 3.0 (ネイティブ): \texttt{package\_version.tar.gz}

note: type: itemize
en: 1.0 (non-native):
ja: 1.0 (非ネイティブ):

note: type: itemize
en: \texttt{pkg\_ver.orig.tar.gz}: upstream source
ja: \texttt{pkg\_ver.orig.tar.gz}: 上流ソース

note: type: itemize
en: \texttt{pkg\_debver.diff.gz}: patch to add Debian-specific changes
ja: \texttt{pkg\_debver.diff.gz}: Debian 固有の変更を加えるパッチ

note: type: itemize
en: \texttt{pkg\_debver.debian.tar.gz}: tarball with the Debian changes
ja: \texttt{pkg\_debver.debian.tar.gz}: Debian の変更を格納した tarball

note: type: frame
en: (See \texttt{dpkg-source(1)} for exact details)
ja: (詳細は \texttt{dpkg-source(1)} を参照)

note: type: frame{#2}
en: Source package example (wget\_1.12-2.1.dsc)
ja: ソースパッケージの例 (wget\_1.12-2.1.dsc)

note: type: subsection{#2}
en: Retrieving source packages
ja: ソースパッケージの入手

note: type: frame{#2}
en: Retrieving an existing source package
ja: 既存のソースパッケージの入手

note: type: itemize
en: From the Debian archive:
ja: Debian のアーカイブから:

note: type: itemize
en: (You need \texttt{deb-src} lines in \texttt{sources.list})
ja: (\texttt{sources.list} に \texttt{deb-src} 行が必要)

note: type: itemize
en: From the Internet:
ja: インターネットから:

note: type: itemize
en: \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)
ja: \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} では、2005 年以降の Debian からのすべてのパッケージを提供)

note: type: itemize
en: From the (declared) version control system:
ja: (公開された) バージョン管理システムから:

note: type: itemize
en: Once downloaded, extract with \texttt{dpkg-source -x \textsl{file.dsc}}
ja: ダウンロードしたら \texttt{dpkg-source -x \textsl{file.dsc}} で展開

note: type: frame{#2}
en: Creating a basic source package
ja: 基本的なソースパッケージの作成

note: type: itemize
en: Download the upstream source\\ (\textsl{upstream source} = the one from the software's original developers)
ja: 上流ソースのダウンロード\\ (\textsl{上流ソース} = ソフトウェアのオリジナル開発者からのもの)

note: type: itemize
en: Rename to \texttt{<\textsl{source\_package}>\_<\textsl{upstream\_version}>.orig.tar.gz}\\ (example: \texttt{simgrid\_3.6.orig.tar.gz})
ja: \texttt{<\textsl{source\_package}>\_<\textsl{upstream\_version}>.orig.tar.gz} に名前の変更\\ (例: \texttt{simgrid\_3.6.orig.tar.gz})

note: type: itemize
en: Untar it
ja: tar を展開

note: type: itemize
en: Rename the directory to \texttt{<\textsl{source\_package}>-<\textsl{upstream\_version}>}\\ (example: \texttt{simgrid-3.6})
ja: ディレクトリーを \texttt{<\textsl{source\_package}>-<\textsl{upstream\_version}>} に変更\\ (例: \texttt{simgrid-3.6})

note: type: itemize
en: \texttt{cd \texttt{<\textsl{source\_package}>-<\textsl{upstream\_version}>} \&\& dh\_make}\\ (from the \textbf{dh-make} package)
ja: \texttt{cd \texttt{<\textsl{source\_package}>-<\textsl{upstream\_version}>} \&\& dh\_make}\\ (\textbf{dh-make} パッケージに収録)

note: type: itemize
en: There are some alternatives to \texttt{dh\_make} for specific sets of packages: \textbf{dh-make-perl}, \textbf{dh-make-php}, \ldots
ja: \texttt{dh\_make} の代わりに特定のパッケージ向けのものも:\\\textbf{dh-make-perl}, \textbf{dh-make-php}, \ldots

note: type: itemize
en: \texttt{debian/} directory created, with a lot of files in it
ja: \texttt{debian/} ディレクトリーにたくさんのファイルが作成

note: type: frame{#2}
en: Files in debian/
ja: debian/ 内のファイル

note: type: frame
en: All the packaging work should be made by modifying files in \texttt{debian/}
ja: パッケージングの作業は、すべて \texttt{debian/} 以下の変更で行う

note: type: itemize
en: Main files:
ja: メインのファイル:

note: type: itemize
en: \textbf{control} -- meta-data about the package (dependencies, etc.)
ja: \textbf{control} -- パッケージに関するメタデータ (依存関係 etc.)

note: type: itemize
en: \textbf{rules} -- specifies how to build the package
ja: \textbf{rules} -- パッケージの構築方法を記載

note: type: itemize
en: \textbf{copyright} -- copyright information for the package
ja: \textbf{copyright} -- パッケージの著作権情報

note: type: itemize
en: \textbf{changelog} -- history of the Debian package
ja: \textbf{changelog} -- Debian パッケージの履歴

note: type: itemize
en: Other files:
ja: その他のファイル:

note: type: itemize
en: maintainer scripts\\ {\small *.postinst, *.prerm, \ldots}
ja: メンテナースクリプト\\ {\small *.postinst, *.prerm, \ldots}

note: type: itemize
en: patches/ -- if you need to modify the upstream sources
ja: patches/ -- 上流ソースを変更する必要がある際に使用

note: type: itemize
en: Several files use a format based on RFC 822 (mail headers)
ja: ファイルのフォーマットは RFC 822 (メールヘッダー) を基にしたものも

note: type: itemize
en: Lists the Debian packaging changes
ja: Debian パッケージの変更点一覧

note: type: itemize
en: Gives the current version of the package
ja: パッケージの現在のバージョンの見方

note: type: tikzpicture
en: \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};
ja: \draw (0,0) node[above right] {\large 1.2.1.1-5}; \draw [decorate,decoration={brace}] (2.25,0) -- (1.45,0) node[at start,below,text width=1.6cm,text centered] {\small Debian\\リビジョン}; \draw [decorate,decoration={brace}] (1.4,0) -- (-0.25,0) node[midway,below,text width=2.0cm,text centered] { \small 上流\\バージョン};

note: % type: itemize
en: Edited manually or with \textttc{dch}
ja: 手で編集するか \textttc{dch} を使用

note: type: itemize
en: Create a changelog entry for a new release: \textttc{dch -i}
ja: 新リリースの changelog エントリ作成: \textttc{dch -i}

note: type: itemize
en: Special format to automatically close Debian or Ubuntu bugs\\ Debian: \texttt{Closes:~\#595268}; Ubuntu: \texttt{LP:~\#616929}
ja: Debian や Ubuntu のバグ報告をクローズする特殊フォーマット\\ Debian: \texttt{Closes:~\#595268}; Ubuntu: \texttt{LP:~\#616929}

note: type: itemize
en: Installed as \texttt{/usr/share/doc/\textit{package}/changelog.Debian.gz}
ja: \texttt{/usr/share/doc/\textit{package}/changelog.Debian.gz} にインストール

note: type: itemize
en: Package metadata
ja: パッケージのメタデータ

note: type: itemize
en: For the source package itself
ja: ソースパッケージ向け

note: type: itemize
en: For each binary package built from this source
ja: このソースから構築される各バイナリーパッケージ向け

note: type: itemize
en: Package name, section, priority, maintainer, uploaders, build-dependencies, dependencies, description, homepage, \ldots
ja: パッケージ名、セクション、優先度、メンテナー、アップロード担当、構築依存関係、依存関係、説明、ホームページ \ldots

note: type: itemize
en: Documentation: Debian Policy chapter 5\\ \url{http://www.debian.org/doc/debian-policy/ch-controlfields}
ja: ドキュメント: Debian ポリシー 5 章\\ \url{http://www.debian.org/doc/debian-policy/ch-controlfields}

note: type: frame{#2}
en: Architecture: all or any
ja: Architecture: all か any

note: type: frame
en: Two kinds of binary packages:
ja: 2 種類のバイナリーパッケージ:

note: type: itemize
en: Packages with different contents on each Debian architecture
ja: Debian のアーキテクチャごとに異なる内容のパッケージ

note: type: itemize
en: Example: C program
ja: 例: C プログラム

note: type: itemize
en: \texttt{Architecture:\ any} in \texttt{debian/control}
ja: \texttt{debian/control} に \texttt{Architecture:\ any}

note: type: itemize
en: Or, if it only works on a subset of architectures:\\ \texttt{Architecture:\ amd64 i386 ia64 hurd-i386}
ja: または動作するアーキテクチャのみ:\\ \texttt{Architecture:\ amd64 i386 ia64 hurd-i386}

note: type: itemize
en: buildd.debian.org: builds all the other architectures for you on upload
ja: buildd.debian.org: アップロードした以外の全アーキテクチャを構築

note: type: itemize
en: Named \texttt{\textsl{package}\_\textsl{version}\_\textsl{architecture}.deb}
ja: \texttt{\textsl{package}\_\textsl{version}\_\textsl{architecture}.deb} という名前

note: type: itemize
en: Packages with the same content on all architectures
ja: 全アーキテクチャで同じ内容のパッケージ

note: type: itemize
en: Example: Perl library
ja: 例: Perl ライブラリー

note: type: itemize
en: \texttt{Architecture:\ all} in \texttt{debian/control}
ja: \texttt{debian/control} に \texttt{Architecture:\ all}

note: type: itemize
en: Named \texttt{\textsl{package}\_\textsl{version}\_\textbf{all}.deb}
ja: \texttt{\textsl{package}\_\textsl{version}\_\textbf{all}.deb} という名前

note: type: frame
en: A source package can generate a mix of \texttt{Architecture:\ any} and \texttt{Architecture:\ all} binary packages
ja: ソースパッケージは、\texttt{Architecture:\ any} と \texttt{Architecture:\ all} のバイナリーパッケージが混在しても生成可能

note: type: itemize
en: Interface used to build Debian packages
ja: Debian パッケージを構築するインターフェース

note: type: itemize
en: Documented in Debian Policy, chapter 4.8\\ {\small \url{http://www.debian.org/doc/debian-policy/ch-source\#s-debianrules}}
ja: Debian ポリシーの 4.8 章に記述\\ {\small \url{http://www.debian.org/doc/debian-policy/ch-source\#s-debianrules}}

note: type: itemize
en: Required targets:
ja: 必要なターゲット:

note: type: itemize
en: \texttt{build, build-arch, build-indep}: should perform all the configuration and compilation
ja: \texttt{build, build-arch, build-indep}: すべての設定とコンパイルを実行

note: type: itemize
en: \texttt{binary, binary-arch, binary-indep}: build the binary packages
ja: \texttt{binary, binary-arch, binary-indep}: バイナリーパッケージ構築

note: type: itemize
en: \texttt{dpkg-buildpackage} will call \texttt{binary} to build all the packages, or \texttt{binary-arch} to build only the \texttt{Architecture:~any} packages
ja: \texttt{dpkg-buildpackage} は、\texttt{binary} を呼び出して全パッケージの構築、\texttt{binary-arch} を呼び出して \texttt{Architecture:~any} パッケージのみの構築

note: type: itemize
en: \texttt{clean}: clean up the source directory
ja: \texttt{clean}: ソースディレクトリーのクリーンナップ

note: type: subsection{#2}
en: Packaging helpers
ja: パッケージングヘルパー

note: type: frame{#2}
en: Packaging helpers -- debhelper
ja: パッケージングヘルパー -- debhelper

note: type: itemize
en: You could write shell code in \texttt{debian/rules} directly
ja: \texttt{debian/rules} に直接シェルのコードを記述可能

note: type: itemize
en: See the \texttt{adduser} package for example
ja: \texttt{adduser} パッケージを参考に

note: type: itemize
en: Better practice (used by most packages): use a \textsl{Packaging helper}
ja: よりよい方法 (多くのパッケージが採用): \textsl{パッケージングヘルパー} 利用

note: type: itemize
en: Most popular one: \textbf{debhelper} (used by 98\% of packages)
ja: 一番人気: \textbf{debhelper} (98\% のパッケージが採用)

note: type: itemize
en: Goals:
ja: 目的:

note: type: itemize
en: Factor the common tasks in standard tools used by all packages
ja: 全パッケージで使われる標準ツールの共通タスクを分解

note: type: itemize
en: Fix some packaging bugs once for all packages
ja: パッケージングバグを一度直して全パッケージに適用

note: type: itemize
en: Called from \texttt{debian/rules}
ja: \texttt{debian/rules} から呼ばれる

note: type: itemize
en: Configurable using command parameters or files in \texttt{debian/}
ja: コマンドパラメーターや \texttt{debian/} のファイルで設定可能

note: type: itemize
en: Third-party helpers for sets of packages: \textbf{python-support}, \textbf{dh\_ocaml}, \ldots
ja: パッケージセット用のサードパーティーヘルパー: \textbf{python-support}, \textbf{dh\_ocaml}, \ldots

note: type: itemize
en: Gotcha: \texttt{debian/compat}: Debhelper compatibility version (use "7")
ja: Gotcha: \texttt{debian/compat}: Debhelper 互換性バージョン ("7" に)

note: type: frame{#2}
en: debian/rules using debhelper (1/2)
ja: debhelper を用いた debian/rules (1/2)

note: type: frame{#2}
en: debian/rules using debhelper (2/2)
ja: debhelper を用いた debian/rules (2/2)

note: type: itemize
en: With debhelper, still a lot of redundancy between packages
ja: debhelper では、まだ無駄がたくさん

note: type: itemize
en: Second-level helpers that factor common functionality
ja: 共通機能を分解する第 2 レベルヘルパー

note: type: itemize
en: E.g. building with \texttt{./configure \&\& make \&\& make install} or CMake
ja: 例: \texttt{./configure \&\& make \&\& make install} での構築や CMake での構築

note: type: itemize
en: Introduced in 2005, based on advanced \textsl{GNU make} magic
ja: 2005 年に \textsl{GNU make} マジックを発展させたものをベースに導入

note: type: itemize
en: Documentation: \texttt{/usr/share/doc/cdbs/}
ja: ドキュメント: \texttt{/usr/share/doc/cdbs/}

note: type: itemize
en: Support for Perl, Python, Ruby, GNOME, KDE, Java, Haskell, \ldots
ja: Perl, Python, Ruby, GNOME, KDE, Java, Haskell, \ldots をサポート

note: type: itemize
en: But some people hate it:
ja: でも嫌いな人が:

note: type: itemize
en: Sometimes difficult to customize package builds:\\ "\textsl{twisty maze of makefiles and environment variables}"
ja: パッケージ構築のカスタマイズが難しい場合がある:\\ "\textsl{makefile と環境変数の絡みあった迷宮}"

note: type: itemize
en: Slower than plain debhelper (many useless calls to \texttt{dh\_*})
ja: 素の debhelper より遅い (無意味な \texttt{dh\_*} をたくさん呼び出す)

note: type: frame{#2}
en: Dh (aka Debhelper 7, or dh7)
ja: Dh (Debhelper 7, dh7)

note: type: itemize
en: Introduced in 2008 as a \textsl{CDBS killer}
ja: \textsl{CDBS キラー} として 2008 年に導入

note: type: itemize
en: \textbf{dh} command that calls \texttt{dh\_*}
ja: \texttt{dh\_*} を呼び出す \textbf{dh} コマンド

note: type: itemize
en: Simple \textsl{debian/rules}, listing only overrides
ja: オーバーライドのみを列挙するシンプルな \textsl{debian/rules}

note: type: itemize
en: Easier to customize than CDBS
ja: CDBS よりもカスタマイズが簡単

note: type: itemize
en: Doc: manpages (\texttt{debhelper(7)}, \texttt{dh(1)}) + slides from DebConf9 talk\\ \url{http://kitenet.net/~joey/talks/debhelper/debhelper-slides.pdf}
ja: 文書: man ページ (\texttt{debhelper(7)}, \texttt{dh(1)}) + DebConf9 talk のスライド\\ \url{http://kitenet.net/~joey/talks/debhelper/debhelper-slides.pdf}

note: type: itemize
en: Mind shares:\\ Classic debhelper: 27\% \hskip 1em CDBS: 18\% \hskip 1em dh: 54\%
ja: マインドシェア:\\ Classic debhelper: 27\% \hskip 1em CDBS: 18\% \hskip 1em dh: 54\%

note: type: itemize
en: Which one should I learn?
ja: どれを学ぶべき?

note: type: itemize
en: Probably a bit of all of them
ja: おそらく少しづつでもすべて

note: type: itemize
en: You need to know debhelper to use dh and CDBS
ja: dh や CDBS を使うには debhelper を知る必要

note: type: itemize
en: You might have to modify CDBS packages
ja: CDBS パッケージを変更するかも

note: type: itemize
en: Which one should I use for a new package?
ja: 新しいパッケージにはどれを使うべき?

note: type: itemize
en: \textbf{dh} (only solution with an increasing mind share)
ja: \textbf{dh} (これだけマインドシェアが上昇)

note: type: axis[#1]
en: small,label style={font=\footnotesize},xlabel={\small Time},ylabel={\small Market share (\%)}, date coordinates in=x,height=4.85cm,width=9cm,xticklabel={\month/\year}, legend style={font=\footnotesize,at={(1.02,1)},anchor=north west},max space between ticks=82,try min ticks=5,ymin=0
ja: small,label style={font=\footnotesize},xlabel={\small 時間},ylabel={\small シェア (\%)}, date coordinates in=x,height=4.85cm,width=9cm,xticklabel={\month/\year}, legend style={font=\footnotesize,at={(1.02,1)},anchor=north west},max space between ticks=82,try min ticks=5,ymin=0

note: type: section{#2}
en: Building and testing packages
ja: パッケージの構築とテスト

note: type: frame{#2}
en: Building packages
ja: パッケージの構築

note: type: itemize
en: \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)
ja: \textttc{apt-get build-dep mypackage}\\ \textsl{構築依存関係} をインストール (Debian にパッケージあり)\\ または \textttc{mk-build-deps -ir} (まだアップロードされていないパッケージ)

note: type: itemize
en: \textttc{debuild}: build, test with \texttt{lintian}, sign with GPG
ja: \textttc{debuild}: 構築、\texttt{lintian} によるテスト、GPG での署名

note: type: itemize
en: Also possible to call \textttc{dpkg-buildpackage} directly
ja: \textttc{dpkg-buildpackage} を直接呼び出すのも可能

note: type: itemize
en: Usually with \texttt{dpkg-buildpackage -us -uc}
ja: 通常は \texttt{dpkg-buildpackage -us -uc}

note: type: itemize
en: It is better to build packages in a clean \& minimal environment
ja: クリーン \& 最小の環境でパッケージを構築するのが良い

note: type: itemize
en: \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})
ja: \textttc{pbuilder} -- \textsl{chroot} 内でパッケージを構築するヘルパー\\ よいドキュメント: \url{https://wiki.ubuntu.com/PbuilderHowto}\\ (最適化: \textttc{cowbuilder} \textttc{ccache} \textttc{distcc})

note: type: itemize
en: \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} )
ja: \textttc{schroot} と \textttc{sbuild}: Debian 構築デーモンで使用\\ (\texttt{pbuilder} ほどシンプルではないが LVM スナップショットが取れる\\ \url{https://help.ubuntu.com/community/SbuildLVMHowto} を参照)

note: type: itemize
en: Generates \texttt{.deb} files and a \texttt{.changes} file
ja: \texttt{.deb} ファイルと \texttt{.changes} ファイルを生成

note: type: itemize
en: \texttt{.changes}: describes what was built; used to upload the package
ja: \texttt{.changes}: 何を構築したかを説明 (パッケージのアップロードに使用)

note: type: frame{#2}
en: Installing and testing packages
ja: パッケージのインストールとテスト

note: type: itemize
en: Install the package locally: \textttc{debi} (will use \texttt{.changes} to know what to install)
ja: ローカルでパッケージをインストール: \textttc{debi} (インストール時の情報に \texttt{.changes} を利用)

note: type: itemize
en: List the content of the package: \texttt{{\color{rouge}debc} ../mypackage<TAB>.changes}
ja: パッケージの内容一覧: \texttt{{\color{rouge}debc} ../mypackage<TAB>.changes}

note: type: itemize
en: 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}\\
ja: 旧バージョンのパッケージとの比較:\\ \texttt{{\color{rouge}debdiff} ../mypackage\_1\_*.changes ../mypackage\_2\_*.changes}\\ もしくはソースパッケージの比較:\\ \texttt{{\color{rouge}debdiff} ../mypackage\_1\_*.dsc ../mypackage\_2\_*.dsc}\\

note: type: itemize
en: 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
ja: \texttt{lintian} によるパッケージのチェック (静的解析):\\ \texttt{{\color{rouge}lintian} ../mypackage<TAB>.changes}\\ \texttt{lintian -i}: エラーの詳細情報を表示 \\ \texttt{lintian -EviIL +pedantic}: もっと問題を表示

note: type: itemize
en: Upload the package to Debian (\textttc{dput}) (needs configuration)
ja: Debian にパッケージをアップロード (\textttc{dput}) (要設定)

note: type: itemize
en: Manage a private Debian archive with \textttc{reprepro}\\ Documentation: \url{http://mirrorer.alioth.debian.org/}
ja: \textttc{reprepro} で個人の Debian アーカイブを管理\\ ドキュメント: \url{http://mirrorer.alioth.debian.org/}

note: type: frame{#2}
en: Practical session 1: modifying the grep package
ja: 練習問題 1: grep パッケージの変更

note: type: enumerate
en: Go to \url{http://ftp.debian.org/debian/pool/main/g/grep/} and download version 2.6.3-3 of the package (if you use Ubuntu 11.10 or later, or Debian testing or unstable, use version 2.9-1 or 2.9-2 instead)
ja: \url{http://ftp.debian.org/debian/pool/main/g/grep/} からバージョン 2.6.3-3 のパッケージをダウンロード (Ubuntu 11.10 以降や Debian testing, unstable を使用している場合、バージョン 2.9-1, 2.9-2 を)

note: type: itemize
en: If the source package is not unpacked automatically, unpack it with \texttt{dpkg-source~-x~grep\_*.dsc}
ja: ソースパッケージを自動展開しなければ \texttt{dpkg-source~-x~grep\_*.dsc} として展開

note: type: enumerate
en: Look at the files in \texttt{debian/}.
ja: \texttt{debian/} の中を見よ。

note: type: itemize
en: How many binary packages are generated by this source package?
ja: このソースパッケージからの、バイナリーパッケージの生成数は?

note: type: itemize
en: Which packaging helper does this package use?
ja: このパッケージで利用しているパッケージヘルパーは?

note: type: enumerate
en: Build the package
ja: パッケージを構築せよ

note: type: enumerate
en: We are now going to modify the package. Add a changelog entry and increase the version number.
ja: 今度はパッケージの変更をしよう。changelog エントリーを追加し、バージョン番号を増加せよ。

note: type: enumerate
en: Now disable perl-regexp support (it is a \texttt{./configure} option)
ja: 今度は、perl-regexp サポートを無効にせよ (\texttt{./configure} オプション)

note: type: enumerate
en: Rebuild the package
ja: パッケージを再構築せよ

note: type: enumerate
en: Compare the original and the new package with debdiff
ja: 元のパッケージと新しいものを debdiff で比較せよ

note: type: enumerate
en: Install the newly built package
ja: 新しく構築したパッケージをインストールせよ

note: type: enumerate
en: Cry if you messed up ;)
ja: めちゃくちゃになって泣く ;)

note: type: section{#2}
en: Advanced packaging topics
ja: 高度なパッケージングの話題

note: type: itemize
en: Copyright and license information for the source and the packaging
ja: ソースとパッケージの著作権・ライセンス情報

note: type: itemize
en: Traditionally written as a text file
ja: 伝統的にテキストファイル

note: type: itemize
en: New machine-readable format: {\small\url{http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/}}
ja: 新しい機械可読フォーマット: {\small\url{http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/}}

note: type: frame{#2}
en: Modifying the upstream source
ja: 上流ソースの変更

note: type: frame
en: Often needed:
ja: しばしば必要:

note: type: itemize
en: Fix bugs or add customizations that are specific to Debian
ja: バグ修正や Debian 特有のカスタマイズを追加

note: type: itemize
en: Backport fixes from a newer upstream release
ja: 新しい上流リリースからバックポート

note: type: frame
en: Several methods to do it:
ja: いくつか方法あり:

note: type: itemize
en: Modifying the files directly
ja: 直接ファイルを編集

note: type: itemize
en: Simple
ja: シンプル

note: type: itemize
en: But no way to track and document the changes
ja: 変更のドキュメントや追跡する方法がない

note: type: itemize
en: Using patch systems
ja: パッチシステム利用

note: type: itemize
en: Eases contributing your changes to upstream
ja: 上流へ変更を送り簡単に貢献

note: type: itemize
en: Helps sharing the fixes with derivatives
ja: 派生物と変更を共有しやすく

note: type: itemize
en: Gives more exposure to the changes\\ \url{http://patch-tracker.debian.org/}
ja: 変更をもっと露出へ\\ \url{http://patch-tracker.debian.org/}

note: type: frame{#2}
en: Patch systems
ja: パッチシステム

note: type: itemize
en: Principle: changes are stored as patches in \texttt{debian/patches/}
ja: 原則: 変更点は \texttt{debian/patches/} にパッチとして格納

note: type: itemize
en: Applied and unapplied during build
ja: 適用・非適用は構築時に

note: type: itemize
en: Past: several implementations -- \textsl{simple-patchsys} (\textsl{cdbs}), \textsl{dpatch}, \textbf{\textsl{quilt}}
ja: 過去: 複数の実装 -- \textsl{simple-patchsys} (\textsl{cdbs}), \textsl{dpatch}, \textbf{\textsl{quilt}}

note: type: itemize
en: Each supports two \texttt{debian/rules} targets:
ja: それぞれ以下の \texttt{debian/rules} ターゲットをサポート:

note: type: itemize
en: \texttt{debian/rules patch}: apply all patches
ja: \texttt{debian/rules patch}: 全パッチ適用

note: type: itemize
en: \texttt{debian/rules unpatch}: de-apply all patches
ja: \texttt{debian/rules unpatch}: 全パッチ非適用

note: type: itemize
en: More documentation: \url{http://wiki.debian.org/debian/patches}
ja: 詳細ドキュメント: \url{http://wiki.debian.org/debian/patches}

note: type: textbf{#1}
en: New source package format with built-in patch system: 3.0 (quilt)
ja: 新ソースパッケージフォーマットはパッチシステム内蔵: 3.0 (quilt)

note: type: itemize
en: Recommended solution
ja: 推奨解決法

note: type: itemize
en: You need to learn \textsl{quilt}\\ \url{http://pkg-perl.alioth.debian.org/howto/quilt.html}
ja: \textsl{quilt} を学ぶ必要あり\\ \url{http://pkg-perl.alioth.debian.org/howto/quilt.html}

note: type: itemize
en: Patch-system-agnostic tool in \texttt{devscripts}: \texttt{edit-patch}
ja: \texttt{devscripts} にパッチシステム非依存ツール: \texttt{edit-patch}

note: type: frame{#2}
en: Documentation of patches
ja: パッチのドキュメント

note: type: itemize
en: Standard headers at the beginning of the patch
ja: パッチの先頭に標準ヘッダー

note: type: itemize
en: Documented in DEP-3 - Patch Tagging Guidelines\\ \url{http://dep.debian.net/deps/dep3/}
ja: DEP-3 にドキュメント - Patch Tagging Guidelines\\ \url{http://dep.debian.net/deps/dep3/}

note: type: frame{#2}
en: Doing things during installation and removal
ja: インストール・削除中に行われること

note: type: itemize
en: Decompressing the package is sometimes not enough
ja: パッケージを伸張するだけでは不十分

note: type: itemize
en: Create/remove system users, start/stop services, manage \textsl{alternatives}
ja: システムユーザー追加/削除、サービス開始/停止、\textsl{alternatives} の管理

note: type: itemize
en: Done in \textsl{maintainer scripts}\\ \texttt{preinst, postinst, prerm, postrm}
ja: \textsl{メンテナースクリプト} で実施\\ \texttt{preinst, postinst, prerm, postrm}

note: type: itemize
en: Snippets for common actions can be generated by debhelper
ja: 共通アクションの一部は debhelper で生成可能

note: type: itemize
en: Documentation:
ja: ドキュメント:

note: type: itemize
en: Debian Policy Manual, chapter 6\\ {\footnotesize \url{http://www.debian.org/doc/debian-policy/ch-maintainerscripts}}
ja: Debian ポリシーマニュアル 6 章\\ {\footnotesize \url{http://www.debian.org/doc/debian-policy/ch-maintainerscripts}}

note: type: itemize
en: Debian Developer's Reference, chapter 6.4\\ {\scriptsize \url{http://www.debian.org/doc/developers-reference/best-pkging-practices.html}}
ja: Debian 開発者リファレンス 6.4 章\\ {\scriptsize \url{http://www.debian.org/doc/developers-reference/best-pkging-practices.html}}

note: type: itemize
en: Prompting the user
ja: ユーザーの入力

note: type: itemize
en: Must be done with \textbf{debconf}
ja: \textbf{debconf} で行わなければならない

note: type: itemize
en: Documentation: \texttt{debconf-devel(7)} (\texttt{debconf-doc} package)
ja: ドキュメント: \texttt{debconf-devel(7)} (\texttt{debconf-doc} パッケージ)

note: type: frame{#2}
en: Monitoring upstream versions
ja: 上流バージョンの監視

note: type: itemize
en: Specify where to look in \texttt{debian/watch} (see \texttt{uscan(1)})
ja: どこを監視するか \texttt{debian/watch} に指定 (\texttt{uscan(1)} 参照)

note: type: itemize
en: Debian infrastructure that makes use of \texttt{debian/watch}:\\ \textbf{Debian External Health Status}\\ \url{http://dehs.alioth.debian.org/}
ja: \texttt{debian/watch} を使用する Debian インフラ:\\ \textbf{Debian External Health Status}\\ \url{http://dehs.alioth.debian.org/}

note: type: itemize
en: Maintainer warned by emails sent to the Package Tracking System\\ \url{http://packages.qa.debian.org/}
ja: パッケージ追跡システムからメンテナーにemailで警告\\ \url{http://packages.qa.debian.org/}

note: type: itemize
en: \texttt{uscan}: run a manual check
ja: \texttt{uscan}: 手動チェック実行

note: type: itemize
en: \texttt{uupdate}: try to update your package to the latest upstream version
ja: \texttt{uupdate}: 最新の上流バージョンにパッケージを更新

note: type: subsection{#2}
en: Packaging with a Version Control System (SVN, Git)
ja: バージョン管理システムでのパッケージング (SVN, Git)

note: type: frame{#2}
en: Packaging with a Version Control System
ja: バージョン管理システムでのパッケージング

note: type: itemize
en: Several tools to help manage branches and tags for your packaging work:\\ \texttt{svn-buildpackage}, \texttt{git-buildpackage}
ja: パッケージング作業でブランチやタグの管理補助ツール: \\ \texttt{svn-buildpackage}, \texttt{git-buildpackage}

note: type: itemize
en: Example: \texttt{git-buildpackage}
ja: 例: \texttt{git-buildpackage}

note: type: itemize
en: \texttt{upstream} branch to track upstream with \texttt{upstream/\textsl{version}} tags
ja: \texttt{upstream}ブランチは \texttt{upstream/\textsl{version}} タグで上流ソースを追跡

note: type: itemize
en: \texttt{master} branch tracks the Debian package
ja: \texttt{master} ブランチは Debian パッケージを追跡

note: type: itemize
en: \texttt{debian/\textsl{version}} tags for each upload
ja: アップロードごとに \texttt{debian/\textsl{version}} タグを打つ

note: type: itemize
en: \texttt{pristine-tar} branch to be able to rebuild the upstream tarball
ja: \texttt{pristine-tar} ブランチで 上流 tar ボールを再構築

note: type: itemize
en: \texttt{Vcs-*} fields in \texttt{debian/control} to locate the repository
ja: \texttt{debian/control} の \texttt{Vcs-*} フィールドにリポジトリの場所を

note: type: itemize
en: VCS-agnostic interface: \texttt{debcheckout}, \texttt{debcommit}, \texttt{debrelease}\\
ja: VCS 非依存インターフェース: \texttt{debcheckout}, \texttt{debcommit}, \texttt{debrelease}\\

note: type: itemize
en: \texttt{debcheckout grep} $\rightarrow$ checks out the source package from Git
ja: \texttt{debcheckout grep} $\rightarrow$ Git からソースパッケージをチェックアウト

note: type: frame{#2}
en: Backporting packages
ja: パッケージのバックポート

note: type: itemize
en: 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}
ja: 目的: 旧システム上でパッケージの新バージョンを使用する\\ 例: \textsl{unstable} 由来の \textsl{mutt} を Debian \textsl{stable} で利用

note: type: itemize
en: General idea:
ja: 全体的な考え方:

note: type: itemize
en: Take the source package from Debian unstable
ja: Debian unstable からソースパッケージ取得

note: type: itemize
en: Modify it so that it builds and works fine on Debian stable
ja: Debian stable で構築・動作するよう修正

note: type: itemize
en: Sometimes trivial (no changes needed)
ja: 時にたいしたことはない (変更不要)

note: type: itemize
en: Sometimes difficult
ja: 時に難しい

note: type: itemize
en: Sometimes impossible (many unavailable dependencies)
ja: 時に不可能 (大量の解決不能な依存関係)

note: type: itemize
en: Some backports are provided and supported by the Debian project\\ \url{http://backports.debian.org/}
ja: Debian プロジェクトで提供・サポートするバックポート\\ \url{http://backports.debian.org/}

note: type: section{#2}
en: Maintaining packages in Debian
ja: Debian でのパッケージメンテナンス

note: type: frame{#2}
en: Several ways to contribute to Debian
ja: Debian に貢献するさまざまな方法

note: type: itemize
en: \textbf{Worst} way to contribute:
ja: 貢献の \textbf{よくない} 方法:

note: type: enumerate
en: Package your own application
ja: 自分のアプリケーションをパッケージング

note: type: enumerate
en: Get it into Debian
ja: Debian を理解した気になる

note: type: enumerate
en: Disappear
ja: いなくなる

note: type: itemize
en: \textbf{Better} ways to contribute:
ja: 貢献の \textbf{よりまし} な方法:

note: type: itemize
en: Get involved in packaging teams
ja: パッケージングチームに参加

note: type: itemize
en: Many teams that focus on set of packages, and need help
ja: パッケージ群にフォーカスした、たくさんのチーム

note: type: itemize
en: List available at \url{http://wiki.debian.org/Teams}
ja: \url{http://wiki.debian.org/Teams} に一覧

note: type: itemize
en: An excellent way to learn from more experienced contributors
ja: 経験豊富な貢献者から学ぶ、優れた方法

note: type: itemize
en: Adopt existing unmaintained packages (\textsl{orphaned packages})
ja: メンテナンスされていないパッケージ (\textsl{メンテナー不在パッケージ}) の引き取り

note: type: itemize
en: Bring new software to Debian
ja: Debian に新しいソフトウェアを導入

note: type: itemize
en: Only if it's interesting/useful enough, please
ja: 興味深い/便利なものならぜひ

note: type: itemize
en: Are there alternatives already packaged in Debian?
ja: すでに同じパッケージが Debian にないか?

note: type: frame{#2}
en: Adopting orphaned packages
ja: メンテナー不在パッケージの引き取り

note: type: itemize
en: Many unmaintained packages in Debian
ja: Debian にはメンテナンスされていないパッケージが大量にある

note: type: itemize
en: Full list + process: \url{http://www.debian.org/devel/wnpp/}
ja: 全リスト + 進捗: \url{http://www.debian.org/devel/wnpp/}

note: type: itemize
en: Installed on your machine: \texttt{wnpp-alert}
ja: 自分のマシンにインストール: \texttt{wnpp-alert}

note: type: itemize
en: Different states:
ja: それぞれの状態:

note: type: itemize
en: \textbf{O}rphaned: the package is unmaintained\\ Feel free to adopt it
ja: \textbf{O}rphaned (メンテナー不在): このパッケージはメンテナンスされていない\\ 気軽に引き取って

note: type: itemize
en: \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
ja: \textbf{RFA}: \textbf{R}equest \textbf{F}or \textbf{A}dopter (引き取り求む)\\ メンテナーが作業継続困難につき、引き取り手を探している。\\ 気軽に引き取って。現メンテナーにメールするのが丁寧

note: type: itemize
en: \textbf{ITA}: \textbf{I}ntent \textbf{T}o \textbf{A}dopt\\ Someone intends to adopt the package\\ You could propose your help!
ja: \textbf{ITA}: \textbf{I}ntent \textbf{T}o \textbf{A}dopt (引き取り予定)\\誰かがパッケージを引き取ろうとしている\\ 手伝いを申し込むときに!

note: type: itemize
en: \textbf{RFH}: \textbf{R}equest \textbf{F}or \textbf{H}elp\\ The maintainer is looking for help
ja: \textbf{RFH}: \textbf{R}equest \textbf{F}or \textbf{H}elp (助け求む)\\ メンテナーが助けを求めている

note: type: itemize
en: Some unmaintained packages not detected \arr not orphaned yet
ja: 非メンテナンスパッケージを未検出 \arr まだメンテナー不在ではない

note: type: itemize
en: When in doubt, ask \texttt{debian-qa@lists.debian.org} \\ or \texttt{\#debian-qa} on \texttt{irc.debian.org}
ja: 不明点は \texttt{debian-qa@lists.debian.org} や\\ \texttt{irc.debian.org} の \texttt{\#debian-qa} で質問

note: type: frame{#2}
en: Adopting a package: example
ja: パッケージの引き取り: 例

note: type: itemize
en: Polite to contact the previous maintainer (especially if the package was RFAed, not orphaned)
ja: 元メンテナーに丁寧に連絡を (特にまだメンテナー不在ではなく RFA パッケージの時)

note: type: itemize
en: Very good idea to contact the upstream project
ja: 上流プロジェクトに連絡するとよい

note: type: frame{#2}
en: Getting your package in Debian
ja: Debian に自分のパッケージを提供

note: type: itemize
en: You do not need any official status to get your package into Debian
ja: Debian に自分のパッケージを提供するのに公式ステータスは不要

note: type: enumerate
en: Submit an \textbf{ITP} bug (\textbf{I}ntend \textbf{T}o \textbf{P}ackage) using \texttt{reportbug wnpp}
ja: \texttt{reportbug wnpp} で \textbf{ITP} バグ (\textbf{I}ntend \textbf{T}o \textbf{P}ackage パッケージング宣言) を送信

note: type: enumerate
en: Prepare a source package
ja: ソースパッケージの準備

note: type: enumerate
en: Find a Debian Developer that will sponsor your package
ja: パッケージをスポンサーしてくれる Debian 開発者を探す

note: type: itemize
en: Official status (when you are an experienced package maintainer):
ja: 公式ステータス (経験豊富なパッケージメンテナーの場合):

note: type: itemize
en: \textbf{Debian Maintainer (DM):}\\ Permission to upload your own packages\\ See \url{http://wiki.debian.org/DebianMaintainer}
ja: \textbf{Debian Maintainer (DM):}\\ 自分のパッケージのアップロード権限\\ \url{http://wiki.debian.org/DebianMaintainer} 参照

note: type: itemize
en: \textbf{Debian Developer (DD):}\\ Debian project member; can vote and upload any package
ja: \textbf{Debian Developer (DD):}\\ Debian プロジェクトメンバー (投票および任意のパッケージをアップロード)

note: type: frame{#2}
en: Things to check before asking for sponsorship
ja: スポンサーを探す前にやっておくこと

note: type: itemize
en: Debian puts \textbf{a lot of focus on quality}
ja: Debian は \textbf{品質重視}

note: type: itemize
en: Generally, \textbf{sponsors are hard to find and busy}
ja: 一般的に \textbf{スポンサーは忙しく、探すのは大変}

note: type: itemize
en: Make sure your package is ready before asking for sponsorship
ja: スポンサーを探す前に、自分のパッケージは準備万端か確認

note: type: itemize
en: Things to check:
ja: チェック項目:

note: type: itemize
en: Avoid missing build-dependencies: make sure that your package build fine in a clean \textsl{sid} \textsl{chroot}
ja: 構築依存関係の不備はないか: クリーンな \textsl{sid} \textsl{chroot} できちんとパッケージが構築できるか確認

note: type: itemize
en: Using \texttt{pbuilder} is recommended
ja: \texttt{pbuilder} の利用を推奨

note: type: itemize
en: Run \texttt{lintian -EviIL +pedantic} on your package
ja: 自分のパッケージに \texttt{lintian -EviIL +pedantic} を実行

note: type: itemize
en: Errors must be fixed, all other problems should be fixed
ja: エラーは必ず修正。その他の問題も修正すべき

note: type: itemize
en: Do extensive testing of your package, of course
ja: もちろん、詳細なパッケージのテストをしておく

note: type: itemize
en: In doubt, ask for help
ja: 不明点は質問する

note: type: frame{#2}
en: Where to find help?
ja: どこで助けを探す?

note: type: frame
en: Help you will need:
ja: 必要とする助け

note: type: itemize
en: Advice and answers to your questions, code reviews
ja: 疑問に対する助言や回答、コードレビュー

note: type: itemize
en: Sponsorship for your uploads, once your package is ready
ja: パッケージの準備ができたらスポンサーにアップロードしてもらう

note: type: frame
en: You can get help from:
ja: 助けはここから:

note: type: textbf{#1}
en: Other members of a packaging team
ja: パッケージングチームの他のメンバー

note: type: itemize
en: List of teams: \url{http://wiki.debian.org/Teams}
ja: チーム一覧: \url{http://wiki.debian.org/Teams}

note: type: itemize
en: The \textbf{Debian Mentors group} (if your package does not fit in a team)
ja: \textbf{Debian メンターグループ} (パッケージがチームに合わない場合)

note: type: itemize
en: Mailing list: \url{debian-mentors@lists.debian.org}\\ {\small (also a good way to learn by accident)}
ja: メーリングリスト: \url{debian-mentors@lists.debian.org}\\ {\small (偶然学ぶにもいい方法)}

note: type: itemize
en: IRC: \texttt{\#debian-mentors} on \texttt{irc.debian.org}
ja: IRC: \texttt{irc.debian.org} の \texttt{\#debian-mentors}

note: type: itemize
en: Documentation: \url{http://mentors.debian.net/intro-maintainers}
ja: ドキュメント: \url{http://mentors.debian.net/intro-maintainers}

note: type: itemize
en: \textbf{Localized mailing lists} (get help in your language)
ja: \textbf{地域化メーリングリスト} (自分の言語で助けを求む)

note: type: itemize
en: \texttt{debian-devel-\{french,italian,portuguese,spanish\}@lists.d.o}
ja: \texttt{debian-devel@lists.debian.or.jp}

note: type: itemize
en: Full list: \url{https://lists.debian.org/devel.html}
ja: 全メーリングリスト: \url{https://lists.debian.org/devel.html}

note: type: itemize
en: Or users lists: \url{https://lists.debian.org/users.html}
ja: ユーザーのメーリングリスト: \url{https://lists.debian.org/users.html}

note: type: frame{#2}
en: More documentation
ja: さらなるドキュメント

note: type: itemize
en: Debian Developers' Corner\\ \url{http://www.debian.org/devel/}\\ {\small Links to many resources about Debian development}
ja: Debian 開発者のコーナー\\ \url{http://www.debian.org/devel/}\\ {\small Debian 開発向けリソースへのたくさんのリンク}

note: type: itemize
en: Debian New Maintainers' Guide\\ \url{http://www.debian.org/doc/maint-guide/}\\ {\small An introduction to Debian packaging, but could use an update}
ja: Debian 新メンテナーガイド\\ \url{http://www.debian.org/doc/maint-guide/}\\ {\small Debian パッケージングの導入。更新にも}

note: type: itemize
en: Debian Developer's Reference\\ \url{http://www.debian.org/doc/developers-reference/}\\ {\small Mostly about Debian procedures, but also some best packaging practices (part 6)}
ja: Debian 開発者リファレンス\\ \url{http://www.debian.org/doc/developers-reference/}\\ {\small ほとんどが Debian の方法論。パッケージングのベストプラクティスあり (6 章)}

note: type: itemize
en: Debian Policy\\ \url{http://www.debian.org/doc/debian-policy/}\\
ja: Debian ポリシー\\ \url{http://www.debian.org/doc/debian-policy/}\\

note: type: itemize
en: {\small \begin{itemize} \item \small All the requirements that every package must satisfy \item \small Specific policies for Perl, Java, Python, \ldots \end{itemize}}
ja: {\small \begin{itemize} \item \small すべてのパッケージが満たすべき要件 \item \small Perl, Java, Python, \ldots の具体的なポリシー \end{itemize}}

note: type: itemize
en: Ubuntu Packaging Guide\\ \url{http://developer.ubuntu.com/resources/tools/packaging/}
ja: Ubuntu パッケージングガイド\\ \url{http://developer.ubuntu.com/resources/tools/packaging/}

note: type: frame{#2}
en: Debian dashboards for maintainers
ja: メンテナー向け Debian ダッシュボード

note: type: itemize
en: \textbf{Source package centric}: Package Tracking System (PTS)\\ \url{http://packages.qa.debian.org/dpkg}
ja: \textbf{ソースパッケージ中枢}: パッケージ追跡システム (PTS)\\ \url{http://packages.qa.debian.org/dpkg}

note: type: itemize
en: \textbf{Maintainer/team centric}: Developer's Packages Overview (DDPO)\\ \url{http://qa.debian.org/developer.php?login=pkg-ruby-extras-maintainers@lists.alioth.debian.org}
ja: \textbf{メンテナー/チームの中枢}: Developer's Packages Overview (DDPO)\\ \url{http://qa.debian.org/developer.php?login=pkg-ruby-extras-maintainers@lists.alioth.debian.org}

note: type: itemize
en: \textbf{TODO-list oriented}: Debian Maintainer Dashboard (DMD)\\ \url{http://udd.debian.org/dmd.cgi}
ja: \textbf{TODO リスト指向}: Debian Maintainer Dashboard (DMD)\\ \url{http://udd.debian.org/dmd.cgi}

note: type: frame{#2}
en: Using the Debian Bug Tracking System (BTS)
ja: バグ追跡システム (BTS) の利用

note: type: itemize
en: A quite unique way to manage bugs
ja: バグを管理する唯一の方法

note: type: itemize
en: Web interface to view bugs
ja: バグを見る Web インターフェース

note: type: itemize
en: Email interface to make changes to bugs
ja: バグを変更する Email インターフェース

note: type: itemize
en: Adding information to bugs:
ja: バグに情報を付加:

note: type: itemize
en: Write to \texttt{123456@bugs.debian.org} (does not include the submitter, you need to add \texttt{123456-submitter@bugs.debian.org})
ja: \texttt{123456@bugs.debian.org} に送信 (送信者を含まない。含める場合は \texttt{123456-submitter@bugs.debian.org} を追加)

note: type: itemize
en: Changing bug status:
ja: バグの状態変更:

note: type: itemize
en: Send commands to \texttt{control@bugs.debian.org}
ja: \texttt{control@bugs.debian.org} にコマンド送信

note: type: itemize
en: Command-line interface: \texttt{bts} command in \texttt{devscripts}
ja: コマンドラインインターフェース: \texttt{devscripts} の \texttt{bts} コマンド

note: type: itemize
en: Documentation: \url{http://www.debian.org/Bugs/server-control}
ja: ドキュメント: \url{http://www.debian.org/Bugs/server-control}

note: type: itemize
en: Reporting bugs: use \texttt{reportbug}
ja: バグの報告: \texttt{reportbug} を利用

note: type: itemize
en: Normally used with a local mail server: install \texttt{ssmtp} or \texttt{nullmailer}
ja: ローカルメールサーバー使用: \texttt{ssmtp} や \texttt{nullmailer} をインストール

note: type: itemize
en: Or use \texttt{reportbug -\@-template}, then send (manually) to \texttt{submit@bugs.debian.org}
ja: または \texttt{reportbug -\@-template} を使用し \texttt{submit@bugs.debian.org} へ (手動で) 送信

note: type: frame{#2}
en: Using the BTS: examples
ja: BTS の利用例:

note: type: itemize
en: Sending an email to the bug and the submitter:\\ \url{http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#10}
ja: バグと送信者へメール送信:\\ \url{http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#10}

note: type: itemize
en: Tagging and changing the severity:\\ \url{http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680227\#10}
ja: タグ付けと重大度変更:\\ \url{http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680227\#10}

note: type: itemize
en: Reassigning, changing the severity, retitling \ldots: \\ \url{http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#93}
ja: 再割当て、重大度変更、タイトル変更\ldots: \\ \url{http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#93}

note: type: itemize
en: \texttt{notfound}, \texttt{found}, \texttt{notfixed}, \texttt{fixed} are for \textbf{version-tracking} \\ See \url{https://wiki.debian.org/HowtoUseBTS\#Version\_tracking}
ja: \texttt{notfound}, \texttt{found}, \texttt{notfixed}, \texttt{fixed} は \textbf{バージョン追跡} される \\ \url{https://wiki.debian.org/HowtoUseBTS\#Version\_tracking} 参照

note: type: itemize
en: Using usertags: \url{http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=42;bug=642267}\\ See \url{https://wiki.debian.org/bugs.debian.org/usertags}
ja: ユーザータグの利用: \url{http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=42;bug=642267}\\ \url{https://wiki.debian.org/bugs.debian.org/usertags} 参照

note: type: itemize
en: BTS Documentation:
ja: BTS のドキュメント:

note: type: frame{#2}
en: More interested in Ubuntu?
ja: Ubuntu の方が興味ある?

note: type: itemize
en: Ubuntu mainly manages the divergence with Debian
ja: Ubuntu では主に、Debian から分岐して管理

note: type: itemize
en: No real focus on specific packages\\ Instead, collaboration with Debian teams
ja: 特定のパッケージに注目しているわけではないが、\\Debian チームと協力

note: type: itemize
en: Usually recommend uploading new packages to Debian first\\ \url{https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages}
ja: 通常はまず、Debian への新しいパッケージのアップロードを推奨\\ \url{https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages}

note: type: itemize
en: Possibly a better plan:
ja: おそらくもっと良い案:

note: type: itemize
en: Get involved in a Debian team and act as a bridge with Ubuntu
ja: Debian チームに参加し Ubuntu との橋渡し

note: type: itemize
en: Help reduce divergence, triage bugs in Launchpad
ja: 差異を縮小し Launchpad のバグの処理順を決める手伝い

note: type: itemize
en: Many Debian tools can help:
ja: Debian のツールの多くが助けに:

note: type: itemize
en: Ubuntu column on the Developer's packages overview
ja: Developer’s Packages Overview のUbuntu 列

note: type: itemize
en: Ubuntu box on the Package Tracking System
ja: パッケージ追跡システムの Ubuntu ボックス

note: type: itemize
en: Receive launchpad bugmail via the PTS
ja: PTS 経由での launchpad バグメール受信

note: type: frame{#2}
en: Conclusions
ja: まとめ

note: type: itemize
en: You now have a full overview of Debian packaging
ja: Debian のパッケージングについて全体を見渡した

note: type: itemize
en: But you will need to read more documentation
ja: しかしもっと詳細なドキュメントが必要になる

note: type: itemize
en: Best practices have evolved over the years
ja: ベストプラクティスは長年にわたって発展

note: type: itemize
en: If not sure, use the \textbf{dh} packaging helper, and the \textbf{3.0 (quilt)} format
ja: よくわからなければ \textbf{dh} パッケージングヘルパーと \textbf{3.0 (quilt)} フォーマットを使う

note: type: itemize
en: Things that were not covered in this tutorial:
ja: このチュートリアルで扱わなかったこと:

note: type: itemize
en: UCF -- manage user changes to configuration files when upgrading
ja: UCF -- ユーザーが変更した設定ファイルのアップグレード時の扱い

note: type: itemize
en: dpkg triggers -- group similar maintainer scripts actions together
ja: dpkg トリガー -- メンテナースクリプトに似たグループを同時に実行

note: type: itemize
en: Debian development organization:
ja: Debian の開発組織:

note: type: itemize
en: Suites: stable, testing, unstable, experimental, security, *-updates, backports, \ldots
ja: パッケージ群: stable, testing, unstable, experimental, security, *-updates, backports, \ldots

note: type: itemize
en: Debian Blends -- subsets of Debian targeting specific groups
ja: Debian ブレンド -- 特定グループ向けの Debian サブセット

note: type: centerline{#1}
en: \large Feedback: \textbf{packaging-tutorial@packages.debian.org}
ja: \large フィードバック: \textbf{packaging-tutorial@packages.debian.org}

note: type: frame{#2}
en: Legal stuff
ja: 法的事項

note: type: frame{#2}
en: Contribute to this tutorial
ja: このチュートリアルへの貢献

note: type: itemize
en: Contribute:
ja: 貢献:

note: type: itemize
en: {\small Open bugs: \url{bugs.debian.org/src:packaging-tutorial}}
ja: {\small 未修正バグ: \url{bugs.debian.org/src:packaging-tutorial}}

note: type: itemize
en: Provide feedback:
ja: フィードバックの送り先:

note: type: itemize
en: {\small What should be added to this tutorial?}
ja: {\small このチュートリアルに何を追加すべき?}

note: type: itemize
en: {\small What should be improved?}
ja: {\small もっと良くするには?}

note: type: frame{#2}
en: Practical session 2: packaging GNUjump
ja: 練習問題 2: GNUjump のパッケージング

note: type: enumerate
en: Download GNUjump 1.0.8 from \url{http://ftp.gnu.org/gnu/gnujump/gnujump-1.0.8.tar.gz}
ja: GNUjump 1.0.8 を \url{http://ftp.gnu.org/gnu/gnujump/gnujump-1.0.8.tar.gz} からダウンロードせよ

note: type: enumerate
en: Create a Debian package for it
ja: この Debian パッケージを作成せよ

note: type: itemize
en: Install build-dependencies so that you can build the package
ja: パッケージを構築するため構築依存関係パッケージをインストール

note: type: itemize
en: Get a basic working package
ja: パッケージの基本作業を確認

note: type: itemize
en: Finish filling \texttt{debian/control} and other files
ja: \texttt{debian/control} や他のファイルに記入して完成

note: type: enumerate
en: Enjoy
ja: 楽しむこと

note: type: frame{#2}
en: Practical session 3: packaging a Java library
ja: 練習問題 3: Java ライブラリーのパッケージング

note: type: enumerate
en: Take a quick look at some documentation about Java packaging:\\
ja: Java のパッケージングについてのドキュメントを参照せよ:\\

note: type: itemize
en: Paper and slides from a Debconf10 talk about javahelper:\\ {\footnotesize \url{http://pkg-java.alioth.debian.org/docs/debconf10-javahelper-paper.pdf}\\ \url{http://pkg-java.alioth.debian.org/docs/debconf10-javahelper-slides.pdf}}
ja: javahelper について Debconf10 で語った資料やスライド:\\ {\footnotesize \url{http://pkg-java.alioth.debian.org/docs/debconf10-javahelper-paper.pdf}\\ \url{http://pkg-java.alioth.debian.org/docs/debconf10-javahelper-slides.pdf}}

note: type: enumerate
en: Download IRClib from \url{http://moepii.sourceforge.net/}
ja: \url{http://moepii.sourceforge.net/} から IRClib をダウンロードせよ

note: type: enumerate
en: Package it
ja: パッケージを作成せよ

note: type: frame{#2}
en: Practical session 4: packaging a Ruby gem
ja: 練習問題 4: Ruby gem のパッケージング

note: type: enumerate
en: Take a quick look at some documentation about Ruby packaging:\\
ja: Ruby のパッケージングについてのドキュメントを参照せよ:\\

note: type: itemize
en: \texttt{gem2deb(1)}, \texttt{dh\_ruby(1)} (in the \texttt{gem2deb} package)
ja: \texttt{gem2deb(1)}, \texttt{dh\_ruby(1)} (\texttt{gem2deb} パッケージ内)

note: type: enumerate
en: Create a basic Debian source package from the \texttt{net-ssh} gem:\\ \texttt{gem2deb net-ssh}
ja: \texttt{net-ssh} gem から基本的な Debian ソースパッケージを作成せよ:\\ \texttt{gem2deb net-ssh}

note: type: enumerate
en: Improve it so that it becomes a proper Debian package
ja: きちんとした Debian パッケージになるよう改良せよ

note: type: frame{#2}
en: Practical session 5: packaging a Perl module
ja: 練習問題 5: Perl モジュールのパッケージング

note: type: enumerate
en: Take a quick look at some documentation about Perl packaging:\\
ja: Perl のパッケージングについてのドキュメントを参照せよ:\\

note: type: itemize
en: \texttt{dh-make-perl(1)}, \texttt{dpt(1)} (in the \texttt{pkg-perl-tools} package)
ja: \texttt{dh-make-perl(1)}, \texttt{dpt(1)} (\texttt{pkg-perl-tools} パッケージ内)

note: type: enumerate
en: Create a basic Debian source package from the \texttt{Acme} CPAN distribution:\\ \verb|dh-make-perl --cpan Acme|
ja: \texttt{Acme} CPAN ディストリビューションから基本的な Debian ソースパッケージを作成せよ:\\ \verb|dh-make-perl --cpan Acme|

note: type: section{#2}
en: Answers to practical sessions
ja: 練習問題の解答

note: type: center
en: \LARGE Answers to
ja: \LARGE 解答

note: type: center
en: [0.5em] practical sessions
ja: [0.5em] 練習問題

note: type: frame{#2}
en: Fetching the source
ja: ソースの取得

note: type: enumerate
en: Go to \url{http://ftp.debian.org/debian/pool/main/g/grep/} and download version 2.6.3-3 of the package
ja: \url{http://ftp.debian.org/debian/pool/main/g/grep/} に行き、バージョン 2.6.3-3 のパッケージをダウンロードする

note: type: itemize
en: Use dget to download the \texttt{.dsc} file:\\ {\small \texttt{dget http://cdn.debian.net/debian/pool/main/g/grep/grep\_2.6.3-3.dsc}}
ja: dget を使用して \texttt{.dsc} ファイルをダウンロード:\\ {\small \texttt{dget http://cdn.debian.net/debian/pool/main/g/grep/grep\_2.6.3-3.dsc}}

note: type: itemize
en: According to \url{http://packages.qa.debian.org/grep}, \texttt{grep} version 2.6.3-3 is currently in \textsl{stable} (\textsl{squeeze}). If you have \texttt{deb-src} lines for \textsl{squeeze} in your \texttt{/etc/apt/sources.list}, you can use:\\ \texttt{apt-get source grep=2.6.3-3}\\ or \texttt{apt-get source grep/stable}\\ or, if you feel lucky: \texttt{apt-get source grep}
ja: \url{http://packages.qa.debian.org/grep} によると、\texttt{grep} バージョン 2.6.3-3 は現在 \textsl{stable} (\textsl{squeeze})。\texttt{/etc/apt/sources.list} に \textsl{squeeze} の \texttt{deb-src} 行がある場合、以下のようにできます。\\ \texttt{apt-get source grep=2.6.3-3}\\ または \texttt{apt-get source grep/stable}\\ または \texttt{apt-get source grep} とできればラッキー

note: type: itemize
en: The \texttt{grep} source package is composed of three files:
ja: \texttt{grep} のソースパッケージは以下の 3 ファイル:

note: type: itemize
en: This is typical of the "3.0 (quilt)" format.
ja: 典型的な "3.0 (quilt)" フォーマット

note: type: itemize
en: If needed, uncompress the source with\\ \texttt{dpkg-source -x grep\_2.6.3-3.dsc}
ja: 必要なら以下のようにソースを展開\\ \texttt{dpkg-source -x grep\_2.6.3-3.dsc}

note: type: frame{#2}
en: Looking around and building the package
ja: パッケージを見回して構築

note: type: itemize
en: According to \texttt{debian/control}, this package only generates one binary package, named \texttt{grep}.
ja: \texttt{debian/control} によると、このパッケージは \texttt{grep} という名前のバイナリーパッケージをひとつだけ生成する。

note: type: itemize
en: 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}.
ja: \texttt{debian/rules} によると、このパッケージは \textsl{CDBS} や \textsl{dh} を使わず、\textsl{classic} debhelper でパッケージングされている。\texttt{debian/rules} で、さまざまな \texttt{dh\_*} コマンドを呼び出していることがわかる。

note: type: itemize
en: Use \texttt{apt-get build-dep grep} to fetch the build-dependencies
ja: \texttt{apt-get build-dep grep} を使用して、構築依存のパッケージを取得

note: type: itemize
en: Then \texttt{debuild} or \texttt{dpkg-buildpackage -us -uc} (Takes about 1 min)
ja: その後 \texttt{debuild} や \texttt{dpkg-buildpackage -us -uc} を実行 (1 分ほどかかる)

note: type: frame{#2}
en: Editing the changelog
ja: changelog の編集

note: type: itemize
en: \texttt{debian/changelog} is a text file. You could edit it and add a new entry manually.
ja: \texttt{debian/changelog} はテキストファイルである。手で編集して新エントリーを追加する。

note: type: itemize
en: Or you can use \texttt{dch -i}, which will add an entry and open the editor
ja: また、\texttt{dch -i} を使用し、エントリーを追加しエディターを起動

note: type: itemize
en: The name and email can be defined using the \texttt{DEBFULLNAME} and \texttt{DEBEMAIL} environment variables
ja: 名前とメールアドレスは環境変数 \texttt{DEBFULLNAME} と \texttt{DEBEMAIL} で定義

note: type: itemize
en: After that, rebuild the package: a new version of the package is built
ja: その後、パッケージを再構築: 新バージョンのパッケージを構築

note: type: itemize
en: Package versioning is detailed in section 5.6.12 of the Debian policy\\ \url{http://www.debian.org/doc/debian-policy/ch-controlfields}
ja: パッケージのバージョン付けは Debian ポリシーの 5.6.12 節に\\ \url{http://www.debian.org/doc/debian-policy/ch-controlfields}

note: type: frame{#2}
en: Disabling Perl regexp support and rebuilding
ja: Perl 正規表現の無効化と再構築

note: type: itemize
en: Check with \texttt{./configure -{}-help}: the option to disable Perl regexp is \texttt{-{}-disable-perl-regexp}
ja: \texttt{./configure -{}-help} をチェック: Perl 正規表現を無効にするオプションは \texttt{-{}-disable-perl-regexp}

note: type: itemize
en: Edit \texttt{debian/rules} and find the \texttt{./configure} line
ja: \texttt{debian/rules} を編集して \texttt{./configure} の行を探す

note: type: itemize
en: Add \texttt{-{}-disable-perl-regexp}
ja: \texttt{-{}-disable-perl-regexp} を追加

note: type: itemize
en: Rebuild with \texttt{debuild} or \texttt{dpkg-buildpackage -us -uc}
ja: \texttt{debuild} や \texttt{dpkg-buildpackage -us -uc} で再構築

note: type: frame{#2}
en: Comparing and testing the packages
ja: パッケージの比較とテスト

note: type: itemize
en: Compare the binary packages: \texttt{debdiff ../*changes}
ja: バイナリーパッケージの比較: \texttt{debdiff ../*changes}

note: type: itemize
en: Compare the source packages: \texttt{debdiff ../*dsc}
ja: ソースパッケージの比較: \texttt{debdiff ../*dsc}

note: type: itemize
en: Install the newly built package: \texttt{debi}\\ Or \texttt{dpkg -i ../grep\_<TAB>}
ja: 新規構築パッケージをインストール:\texttt{debi}\\ または \texttt{dpkg -i ../grep\_<TAB>}

note: type: itemize
en: \texttt{grep -P foo} no longer works!
ja: \texttt{grep -P foo} がもう動作しない!

note: type: frame
en: Or not: reinstall the previous version of the package:
ja: ではなく: 以前のバージョンのパッケージを再インストール:

note: type: itemize
en: \texttt{apt-get install -{}-reinstall grep=2.6.3-3} \textit{(= previous version)}
ja: \texttt{apt-get install -{}-reinstall grep=2.6.3-3} \textit{(= 前バージョン)}

note: type: frame{#2}
en: Step by step\ldots
ja: 一歩ずつ\ldots

note: type: itemize
en: Type of package: single binary (for now)
ja: パッケージのタイプ: 単一バイナリー (今回は)

note: type: frame{#2}
en: Step by step\ldots (2)
ja: 一歩ずつ\ldots (2)

note: type: itemize
en: Look at \texttt{debian/changelog}, \texttt{debian/rules}, \texttt{debian/control}\\ (auto-filled by \textbf{dh\_make})
ja: \texttt{debian/changelog}, \texttt{debian/rules}, \texttt{debian/control} を見る\\ (\textbf{dh\_make} が自動記入)

note: type: itemize
en: In \texttt{debian/control}:\\ \texttt{Build-Depends: debhelper (>= 7.0.50~), autotools-dev}\\ Lists the \textsl{build-dependencies} = packages needed to build the package
ja: \texttt{debian/control} では: \\ \texttt{Build-Depends: debhelper (>= 7.0.50~), autotools-dev}\\ \textsl{構築依存関係} = パッケージを構築するのに必要なパッケージの一覧

note: type: itemize
en: Try to build the package as-is (thanks to \textbf{dh} magic)
ja: そのままパッケージの構築をしてみる (\textbf{dh} マジックに感謝)

note: type: itemize
en: And add build-dependencies, until it builds
ja: 構築できるまで構築依存関係を追加

note: type: itemize
en: Hint: use \texttt{apt-cache search} and \texttt{apt-file} to find the packages
ja: ヒント: \texttt{apt-cache search} や \texttt{apt-file} を使ってパッケージを探す

note: type: itemize
en: Example:
ja: 例:

note: type: itemize
en: $\rightarrow$ Add \textbf{libsdl1.2-dev} to Build-Depends and install it.
ja: $\rightarrow$ \textbf{libsdl1.2-dev} を Build-Depends に追加しインストールする。

note: type: itemize
en: Better: use \textbf{pbuilder} to build in a clean environment
ja: ベター: \textbf{pbuilder} を使ってクリーンな環境で構築

note: type: frame{#2}
en: Step by step\ldots (3)
ja: 一歩ずつ\ldots (3)

note: type: itemize
en: After installing \texttt{libsdl1.2-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev}, the package builds fine.
ja: \texttt{libsdl1.2-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev} をインストールすると構築成功する。

note: type: itemize
en: Use \texttt{debc} to list the content of the generated package.
ja: \texttt{debc} を使い、生成したパッケージの内容一覧を取得。

note: type: itemize
en: Use \texttt{debi} to install it and test it.
ja: \texttt{debi} を使用し、インストール・テストを行う。

note: type: itemize
en: Test the package with \texttt{lintian}
ja: \texttt{lintian} でパッケージのテスト

note: type: itemize
en: While not a strict requirement, it is recommended that packages uploaded to Debian are \textsl{lintian-clean}
ja: 厳格な必要条件ではないが、Debian にアップロードするパッケージは \textsl{lintian-clean} を推奨

note: type: itemize
en: More problems can be listed using \texttt{lintian -EviIL +pedantic}
ja: \texttt{lintian -EviIL +pedantic} を使用してもっと問題を列挙できる

note: type: itemize
en: Some hints:
ja: ヒント:

note: type: itemize
en: Remove the files that you don't need in \texttt{debian/}
ja: \texttt{debian/} にある不要なファイルを削除

note: type: itemize
en: Fill in \texttt{debian/control}
ja: \texttt{debian/control} に記入

note: type: itemize
en: Install the executable to \texttt{/usr/games} by overriding \texttt{dh\_auto\_configure}
ja: \texttt{dh\_auto\_configure} を上書きし、実行ファイルを \texttt{/usr/games} にインストール

note: type: itemize
en: Use \textsl{hardening} compiler flags to increase security.\\ See \url{http://wiki.debian.org/Hardening}
ja: \textsl{ハードニング}コンパイラーフラグを使ってセキュリティを高める。\\ \url{http://wiki.debian.org/Hardening} 参照

note: type: frame{#2}
en: Step by step\ldots (4)
ja: 一歩ずつ\ldots (4)

note: type: itemize
en: Compare your package with the one already packaged in Debian:
ja: Debian でパッケージ化されているものと、自分のパッケージを比較:

note: type: itemize
en: It splits the data files to a second package, that is the same across all architectures ($\rightarrow$ saves space in the Debian archive)
ja: データファイルを、第 2 のパッケージへ分割し、全アーキテクチャで同じ物にしている ($\rightarrow$  Debian アーカイブの使用量を抑える)

note: type: itemize
en: It installs a .desktop file (for the GNOME/KDE menus) and also integrates into the Debian menu
ja: .desktop ファイル (GNOME/KDE メニュー向け) をインストールし、Debian メニューに統合もしている

note: type: itemize
en: It fixes a few minor problems using patches
ja: パッチを使用し、小さな問題を修正している

note: type: itemize
en: Create a basic source package: \texttt{jh\_makepkg}
ja: 基本的なソースパッケージを作成: \texttt{jh\_makepkg}

note: type: itemize
en: Library
ja: ライブラリー

note: type: itemize
en: None
ja: なし

note: type: itemize
en: Default Free compiler/runtime
ja: デフォルトのフリーなコンパイラー/ランタイム

note: type: itemize
en: Look at and fix \texttt{debian/*}
ja: \texttt{debian/} の中を見て修正

note: type: itemize
en: \texttt{dpkg-buildpackage -us -uc} or \texttt{debuild}
ja: \texttt{dpkg-buildpackage -us -uc} または \texttt{debuild}

note: type: itemize
en: Compare your result with the \texttt{libirclib-java} source package
ja: 自分の結果と \texttt{libirclib-java} ソースパッケージを比較

note: type: itemize
en: Downloads the gem from rubygems.org
ja: rubygems.org から gem をダウンロード

note: type: itemize
en: Creates a suitable .orig.tar.gz archive, and untar it
ja: ひと揃いの .orig.tar.gz アーカイブを作成し、tar を展開

note: type: itemize
en: Initializes a Debian source package based on the gem's metadata
ja: gem のメタデータを基に Debian ソースパッケージを初期化

note: type: itemize
en: Named \texttt{ruby-\textsl{gemname}}
ja: \texttt{ruby-\textsl{gemname}} という名前

note: type: itemize
en: Tries to build the Debian binary package (this might fail)
ja: Debian バイナリーパッケージの生成をしてみる (多分失敗)

note: type: frame
en: \texttt{dh\_ruby} (included in \textsl{gem2deb}) does the Ruby-specific tasks:
ja: \texttt{dh\_ruby} (\textsl{gem2deb} に同梱) は Ruby 特有のタスク:

note: type: itemize
en: Build C extensions for each Ruby version
ja: C の拡張を各 Ruby バージョン向けに構築

note: type: itemize
en: Copy files to their destination directory
ja: 宛先ディレクトリーにファイルをコピー

note: type: itemize
en: Update shebangs in executable scripts
ja: 実行スクリプトのシェバングを更新

note: type: itemize
en: Run tests defined in \texttt{debian/ruby-tests.rb} or \texttt{debian/ruby-test-files.yaml}, as well as various other checks
ja: その他のチェックと同様に \texttt{debian/ruby-tests.rb} や \texttt{debian/ruby-test-files.yaml} で定義されたテストを実行

note: type: frame
en: Improve the generated package:
ja: 生成したパッケージを改良:

note: Translators: This context is very sensitive to line length. If you hit errors building the package around this line in your translated version see, e.g. in the Spanish or German version for versions with explicit line breaks for the translation type: itemize
en: Run \texttt{debclean} to clean the source tree. Look at \texttt{debian/}.
ja: \texttt{debclean} を実行してソースツリーを掃除。\texttt{debian/} を見る。

note: type: itemize
en: \texttt{changelog} and \texttt{compat} should be correct
ja: \texttt{changelog} や \texttt{compat} が正しいか

note: type: itemize
en: Edit \texttt{debian/control}: uncomment \texttt{Homepage}, improve \texttt{Description}
ja: \texttt{debian/control} を編集: \texttt{Homepage} をアンコメント。\texttt{Description} を改良

note: type: itemize
en: Write a proper \texttt{copyright} file based on the upstream files
ja: 上流ファイルを基に \texttt{copyright} ファイルを適切に記述

note: type: itemize
en: \texttt{ruby-net-ssh.docs}: install \texttt{README.rdoc}
ja: \texttt{ruby-net-ssh.docs}: \texttt{README.rdoc} をインストール

note: type: itemize
en: \texttt{ruby-tests.rb}: run the tests. In that case, it is enough to do:\\ \verb+$: << 'test' << 'lib' << '.'+\\ \verb+require 'test/test_all.rb'+
ja: \texttt{ruby-tests.rb}: テストの実行。この場合以下で十分:\\
     \verb+$: << 'test' << 'lib' << '.'+\\ \verb+require 'test/test_all.rb'+

note: type: frame
en: Build the package.  It fails to build. There are two problems:
ja: パッケージを構築する。失敗するはず。2 つ問題がある:

note: type: itemize
en: You need to disable the \texttt{gem} call in the test suite.\\ In \texttt{test/common.rb}, remove the \verb+gem "test-unit"+ line:
ja: テストスイートで \texttt{gem} の呼び出しを無効にする必要がある。\\ \texttt{test/common.rb} で \verb+gem "test-unit"+ の行を削除:

note: type: itemize
en: Edit \texttt{test/common.rb}, remove the \texttt{gem} line. Exit the sub-shell
ja: \texttt{test/common.rb} を編集して \texttt{gem} 行を削除。その後サブシェル終了

note: type: itemize
en: Describe the changes in \texttt{debian/changelog}
ja: \texttt{debian/changelog} の変更点を記述

note: type: itemize
en: Document the patch in \texttt{debian/patches/disable-gem.patch}
ja: \texttt{debian/patches/disable-gem.patch} のパッチについて記載

note: type: itemize
en: The package lacks a build-dependency on \texttt{ruby-mocha}, which is used by the test suite (you might need to build your package in a clean environment, using \texttt{pbuilder}, to reproduce that problem)
ja: パッケージの構築依存関係に テストスイートで使用する \texttt{ruby-mocha} が欠けている (問題を再度見るためには、\texttt{pbuilder} を使用し、クリーン環境でパッケージを構築する必要がある)

note: type: itemize
en: Add \texttt{ruby-mocha} to the package's \texttt{Build-Depends}
ja: パッケージの \texttt{Build-Depends} に \texttt{ruby-mocha} を追加

note: type: itemize
en: \textsl{gem2deb} copies the dependencies documented in the \textsl{gem} as comments in \texttt{debian/control}, but \textsl{mocha} is not listed as a development dependency by the gem (that's a bug in the gem)
ja: \textsl{gem2deb} は、\textsl{gem} に書かれた依存関係を、\texttt{debian/control} にコメントとしてコピーする。しかし、\textsl{mocha} が gem の開発依存関係にリストされていない (gem のバグ)

note: type: frame
en: Compare your package with the \texttt{ruby-net-ssh} package in the Debian archive
ja: Debian アーカイブの \texttt{ruby-net-ssh} パッケージと、自分のパッケージを比較

note: type: itemize
en: Downloads the tarball from the CPAN
ja: CPAN から tarball をダウンロード

note: type: itemize
en: Creates a suitable .orig.tar.gz archive, and untars it
ja: ひと揃いの .orig.tar.gz アーカイブを作成し、tar を展開

note: type: itemize
en: Initializes a Debian source package based on the distribution's metadata
ja: ディストリビューションのメタデータを基に Debian ソースパッケージを初期化

note: type: itemize
en: Named \texttt{lib\textsl{distname}-perl}
ja: \texttt{lib\textsl{distname}-perl} という名前

note: type: itemize
en: \texttt{debian/changelog}, \texttt{debian/compat}, \texttt{debian/libacme-perl.docs}, and \texttt{debian/watch} should be correct
ja: \texttt{debian/changelog}, \texttt{debian/compat}, \texttt{debian/libacme-perl.docs}、および \texttt{debian/watch} は正しいはずです

note: type: itemize
en: Edit \texttt{debian/control}: improve \texttt{Description}, and remove boilerplate at the bottom
ja: \texttt{debian/control} を編集: \texttt{Description} を改良、および一番下の定型文を削除

note: type: itemize
en: Edit \texttt{debian/copyright}: remove boilerplate paragraph at the top, add years of copyright to the \texttt{Files:\hspace{0.3em}*} stanza
ja: \texttt{debian/copyright} を編集: 一番上の定型の段落を削除、\texttt{Files:\hspace{0.3em}*} stanza に著作権の年を追加
