[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Packaging Manual chap.3
早瀬です。Packaging Manual 第3章です。
ちょっと長いのですが、夏休み前に頑張って仕上げました。
よろしくお願いします。
--
早瀬 茂規 (shayase@xxxxxxxxxxxxxxx)
<chapt id="sourcepkg">
<!-- ORIG
<heading>Source packages</heading>
ORIG -->
<heading>ソースパッケージ</heading>
<p>
<!-- ORIG
The Debian binary packages in the distribution are generated
from Debian sources, which are in a special format to assist
the easy and automatic building of binaries.
ORIG -->
ディストリビューション中の Debian バイナリーパッケージは
Debian ソースから生成されます。Debian ソースはバイナリの
簡単で自動な構築を助けるような特殊な形式になっています。
</p>
<p>
<!-- ORIG
There was a previous version of the Debian source format,
which is now being phased out. Instructions for converting an
old-style package are given in the Debian policy manual.
ORIG -->
以前のバージョンの Debian ソースの形式は廃止されました。
古い形式のパッケージの変換についての説明は
Debian policy manual にあります。
</p>
<sect id="sourcetools">
<!-- ORIG
<heading>Tools for processing source packages</heading>
ORIG -->
<heading>ソースパッケージを処理するためのツール</heading>
<p>
<!-- ORIG
Various tools are provided for manipulating source packages;
they pack and unpack sources and help build of binary
packages and help manage the distribution of new versions.
ORIG -->
ソースパッケージを扱うために様々なツールが提供されています。
これらはソースをパックやアンパックしたり、
バイナリーパッケージの構築や新しいバージョンの
ディストリビューションを扱うのを手助けしたりします。
</p>
<p>
<!-- ORIG
They are introduced and typical uses described here; see
<manref name="dpkg-source" section="1"> for full
documentation about their arguments and operation.
ORIG -->
ここではこれらのツールの紹介と典型的な用途を説明します。
引数や動作についての完全な文書は
<manref name="dpkg-source" section="1"> を見て下さい。
</p>
<p>
<!-- ORIG
For examples of how to construct a Debian source package,
and how to use those utilities that are used by Debian
source packages, please see the <prgn>hello</prgn> example
package.
ORIG -->
Debian ソースパッケージをどうやって作るかの例と、
Debian ソースパッケージからどの様にこれらのユーティリティを
使うかについては、例題パッケージである
<prgn>hello</prgn> を見て下さい。
</p>
<sect1>
<heading>
<!-- ORIG
<prgn>dpkg-source</prgn> - packs and unpacks Debian source
packages
ORIG -->
<prgn>dpkg-source</prgn> - Debian ソースパッケージの
パックとアンパック
</heading>
<p>
<!-- ORIG
This program is frequently used by hand, and is also
called from package-independent automated building scripts
such as <prgn>dpkg-buildpackage</prgn>.
ORIG -->
このプログラムは手動でよく使われます。また、
<prgn>dpkg-buildpackage</prgn> の様なパッケージに
依存しない自動構築スクリプトからも呼び出されます。
</p>
<p>
<!-- ORIG
To unpack a package it is typically invoked with
ORIG -->
パッケージをアンパックするには次のように呼び出します。
<example>
dpkg-source -x <var>.../path/to/filename</var>.dsc
</example>
</p>
<p>
<!-- ORIG
with the <tt><var>filename</var>.tar.gz</tt> and
<tt><var>filename</var>.diff.gz</tt> (if applicable) in
the same directory. It unpacks into
<tt><var>package</var>-<var>version</var></tt>, and if
applicable
<tt><var>package</var>-<var>version</var>.orig</tt>, in
the current directory.
ORIG -->
この時、<tt><var>filename</var>.tar.gz</tt> と
<tt><var>filename</var>.diff.gz</tt> は
(もし存在するなら)同じディレクトリに置いておきます。
これにより <tt><var>package</var>-<var>version</var></tt>
ディレクトリにソースをアンパックし、もし存在するなら
<tt><var>package</var>-<var>version</var>.orig</tt>
をカレントディレクトリにアンパックします。
</p>
<p>
<!-- ORIG
To create a packed source archive it is typically invoked:
ORIG -->
パックされたソースアーカイブを作るには次のように
呼び出します。
<example>
dpkg-source -b <var>package</var>-<var>version</var>
</example>
</p>
<p>
<!-- ORIG
This will create the <tt>.dsc</tt>, <tt>.tar.gz</tt> and
<tt>.diff.gz</tt> (if appropriate) in the current
directory. <prgn>dpkg-source</prgn> does not clean the
source tree first - this must be done separately if it is
required.
ORIG -->
これにより、<tt>.dsc</tt>、<tt>.tar.gz</tt> と
<tt>.diff.gz</tt> が(もし適当なら)カレントディレクトリに
作られます。<prgn>dpkg-source</prgn> は最初に
ソースツリーに clean を行いません。
必要な場合は別にやっておく必要があります。
</p>
<p>
<!-- ORIG
See also <ref id="sourcearchives">.</p>
ORIG -->
<ref id="sourcearchives"> も見て下さい。</p>
</sect1>
<sect1>
<heading>
<!-- ORIG
<prgn>dpkg-buildpackage</prgn> - overall package-building
control script
ORIG -->
<prgn>dpkg-buildpackage</prgn> - 全体的なパッケージ構築の
管理スクリプト
</heading>
<p>
<!-- ORIG
<prgn>dpkg-buildpackage</prgn> is a script which invokes
<prgn>dpkg-source</prgn>, the <tt>debian/rules</tt>
targets <prgn>clean</prgn>, <prgn>build</prgn> and
<prgn>binary</prgn>, <prgn>dpkg-genchanges</prgn> and
<prgn>pgp</prgn> to build a signed source and binary
package upload.
ORIG -->
<prgn>dpkg-buildpackage</prgn> は、
<prgn>dpkg-source</prgn>、<prgn>debian/rules</prgn>
を順に呼びだします。<tt>debian/rules</tt> のターゲットは
順に <prgn>clean</prgn>、<prgn>build</prgn>、
<prgn>binary</prgn> です。最後に
<prgn>dpkg-buildpackage</prgn> は、
<prgn>dpkg-genchanges</prgn> と <prgn>PGP</prgn> を
呼び出し、署名済のソースパッケージおよび
バイナリーパッケージを作成、アップロードします。
</p>
<p>
<!-- ORIG
It is usually invoked by hand from the top level of the
built or unbuilt source directory. It may be invoked with
no arguments; useful arguments include:
ORIG -->
通常、構築されている、あるいは、構築されていない
ソースディレクトリのトップレベルから手動で呼び出されます。
引数なしで呼び出しても構いません。
よく使う引数は次の通りです。
<taglist compact="compact">
<tag><tt>-uc</tt>, <tt>-us</tt></tag>
<item>
<p>
<!-- ORIG
Do not PGP-sign the <tt>.changes</tt> file or the
source package <tt>.dsc</tt> file, respectively.</p>
ORIG -->
それぞれ、<tt>.changes</tt> ファイルやソース
パッケージの <tt>.dsc</tt> ファイルに PGP サインを
しません。</p>
</item>
<tag><tt>-p<var>pgp-command</var></tt></tag>
<item>
<p>
<!-- ORIG
Invoke <var>pgp-command</var> instead of finding
<tt>pgp</tt> on the <prgn>PATH</prgn>.
<var>pgp-command</var> must behave just like
<prgn>pgp</prgn>.</p>
ORIG -->
<var>pgp-command</var> を <prgn>PATH</prgn> で
見つかる <tt>pgp</tt> の代わりに呼び出します。
<var>pgp-command</var> は <prgn>pgp</prgn> と同様の
動作をしなくてはなりません。</p>
</item>
<tag><tt>-r<var>root-command</var></tt></tag>
<item>
<p>
<!-- ORIG
When root privilege is required, invoke the command
<var>root-command</var>. <var>root-command</var>
should invoke its first argument as a command, from
the <prgn>PATH</prgn> if necessary, and pass its
second and subsequent arguments to the command it
calls. If no <var>root-command</var> is supplied
then <var>dpkg-buildpackage</var> will take no
special action to gain root privilege, so that for
most packages it will have to be invoked as root to
start with.</p>
ORIG -->
root 特権が必要な時、<var>root-command</var> という
コマンドを呼び出します。<var>root-command</var> は
第1引数をコマンドとして、必要ならば
<prgn>PATH</prgn> から呼び出し、第2引数以降を
呼び出したコマンドに渡さなければいけません。
<var>root-command</var> が与えられなかった場合は、
<var>dpkg-buildpackage</var> は root 特権を
得るための特別な動作をしません。そのため、
ほどんどのパッケージでは
<var>dpkg-buildpackage</var> を root として
実行しなければなりません。</p>
</item>
<tag><tt>-b</tt>, <tt>-B</tt></tag>
<item>
<p>
<!-- ORIG
Two types of binary-only build and upload - see
<manref name="dpkg-source" section="1">.
ORIG -->
2種類の、バイナリーのみの構築とアップロード
- <manref name="dpkg-source" section="1"> を
見て下さい。
</p>
</item>
</taglist>
</p>
</sect1>
<sect1>
<heading>
<!-- ORIG
<prgn>dpkg-gencontrol</prgn> - generates binary package
control files
ORIG -->
<prgn>dpkg-gencontrol</prgn> - バイナリパッケージ
管理ファイルの生成
</heading>
<p>
<!-- ORIG
This program is usually called from <tt>debian/rules</tt>
(see <ref id="sourcetree">) in the top level of the source
tree.
ORIG -->
このプログラムは通常ソースツリーのトップレベルで
<tt>debian/rules</tt>
(<ref id="sourcetree"> を見て下さい。)
から呼び出されます。
</p>
<p>
<!-- ORIG
This is usually done just before the files and directories in the
temporary directory tree where the package is being built have their
permissions and ownerships set and the package is constructed using
<prgn>dpkg-deb/</prgn>
<footnote>
<p>
This is so that the control file which is produced has
the right permissions
</p>
</footnote>.
ORIG -->
これは通常、パッケージが構築されている一時的な
ディレクトリツリー中のファイルやディレクトリの許可属性や
所有権を設定したあと、パッケージが <prgn>dpkg-deb</prgn>
を用いて構築される直前に行なわれます
<footnote>
<p>
これは、作成されるコントロールファイルが、
正しい許可属性を持つようにするためです。
</p>
</footnote>。
</p>
<p>
<!-- ORIG
<prgn>dpkg-gencontrol</prgn> must be called after all the
files which are to go into the package have been placed in
the temporary build directory, so that its calculation of
the installed size of a package is correct.
ORIG -->
<prgn>dpkg-gencontrol</prgn> は、パッケージに入るファイルが
一時的な構築ディレクトリの中に全て置かれた後で
呼ばれなければなりません。パッケージがインストールされた時の
サイズの計算を正確にするためです。
</p>
<p>
<!-- ORIG
It is also necessary for <prgn>dpkg-gencontrol</prgn> to
be run after <prgn>dpkg-shlibdeps</prgn> so that the
variable substitutions created by
<prgn>dpkg-shlibdeps</prgn> in <tt>debian/substvars</tt>
are available.
ORIG -->
また、<prgn>dpkg-gencontrol</prgn> は
<prgn>dpkg-shlibdeps</prgn> の後で実行する必要があります。
<tt>debian/substvars</tt> 中で
<prgn>dpkg-shlibdeps</prgn> によって作られた
変数置換(variable substitutions)を利用できるように
するためです。
</p>
<p>
<!-- ORIG
For a package which generates only one binary package, and
which builds it in <tt>debian/tmp</tt> relative to the top
of the source package, it is usually sufficient to call
<prgn>dpkg-gencontrol</prgn>.
ORIG -->
バイナリーパッケージを一つだけ作り、それをソースパッケージの
トップの下の <tt>debian/tmp</tt> にソースパッケージの
トップと相対で構築するようなパッケージでは、
通常、<prgn>dpkg-gencontrol</prgn> を呼び出せば十分です。
</p>
<p>
<!-- ORIG
Sources which build several binaries will typically need
something like:
<example>
dpkg-gencontrol -Pdebian/tmp-<var>pkg</var> -p<var>package</var>
</example> The <tt>-P</tt> tells
<prgn>dpkg-gencontrol</prgn> that the package is being
built in a non-default directory, and the <tt>-p</tt>
tells it which package's control file should be generated.
ORIG -->
複数のバイナリーを構築するソースでは、一般に次の様にする
必要があります。
<example>
dpkg-gencontrol -Pdebian/tmp-<var>pkg</var> -p<var>package</var>
</example>
<tt>-P</tt> は <prgn>dpkg-gencontrol</prgn> に
パッケージをデフォルト以外のディレクトリで構築することを
伝え、<tt>-p</tt> はどのパッケージの
コントロールファイルを生成するべきかを伝えます。
</p>
<p>
<!-- ORIG
<prgn>dpkg-gencontrol</prgn> also adds information to the
list of files in <tt>debian/files</tt>, for the benefit of
(for example) a future invocation of
<prgn>dpkg-genchanges</prgn>.</p>
ORIG -->
<prgn>dpkg-gencontrol</prgn> は(例えば)
<prgn>dpkg-genchanges</prgn> を将来呼び出すために
<tt>debian/files</tt> 中のファイルのリストに
情報を加えることもします。</p>
</sect1>
<sect1>
<heading>
<!-- ORIG
<prgn>dpkg-shlibdeps</prgn> - calculates shared library
dependencies
ORIG -->
<prgn>dpkg-shlibdeps</prgn> - 共有ライブラリの依存関係の算定
</heading>
<p>
<!-- ORIG
This program is usually called from <tt>debian/rules</tt>
just before <prgn>dpkg-gencontrol</prgn> (see <ref
id="sourcetree">), in the top level of the source tree.
ORIG -->
通常、このプログラムは <prgn>dpkg-gencontrol</prgn>
(<ref id="sourcetree"> を参照)
の直前に、ソースツリーのトップレベルで
<tt>debian/rules</tt> から呼ばれます。
</p>
<p>
<!-- ORIG
Its arguments are executables
<footnote>
<p>
They may be specified either in the locations in the
source tree where they are created or in the locations
in the temporary build tree where they are installed
prior to binary package creation.
</p>
</footnote> for which shared library dependencies should
be included in the binary package's control file.
ORIG -->
このプログラムの引数は、バイナリーパッケージの管理ファイルに
共有ライブラリの依存関係を含める必要のある実行形式
<footnote>
<p>
引数となる実行可能ファイルには、それらの作られる
ソースツリーのある場所や、バイナリーパッケージが
作られる前に仮インストールされる構築ツリーの
ある場所を指定することもできます。
</p>
</footnote>
です。
</p>
<p>
<!-- ORIG
If some of the executable(s) shared libraries should only
warrant a <tt>Recommends</tt> or <tt>Suggests</tt>, or if
some warrant a <tt>Pre-Depends</tt>, this can be achieved
by using the <tt>-d<var>dependency-field</var></tt> option
before those executable(s). (Each <tt>-d</tt> option
takes effect until the next <tt>-d</tt>.)
ORIG -->
ライブラリを共有する実行形式が <tt>Recommends</tt> や
<tt>Suggests</tt> のみを保証すべき場合や、
<tt>Pre-Depends</tt> を保証すべき場合は、
それらの実行形式の前に
<tt>-d<var>dependency-field</var></tt>
オプションをつけてこれを指示しなければなりません。
(各 <tt>-d</tt> オプションは 次の <tt>-d</tt> が
現れるまで有効です。)
</p>
<p>
<!-- ORIG
<prgn>dpkg-shlibdeps</prgn> does not directly cause the
output control file to be modified. Instead by default it
adds to the <tt>debian/substvars</tt> file variable
settings like <tt>shlibs:Depends</tt>. These variable
settings must be referenced in dependency fields in the
appropriate per-binary-package sections of the source
control file.
ORIG -->
<prgn>dpkg-shlibdeps</prgn> は出力される control ファイルを
直接修正することはしません。
代わりに、デフォルトでは <tt>shlibs:Depends</tt> の様な
変数の設定を <tt>debian/substvars</tt> というファイルに
加えます。ソース管理ファイルにはバイナリーパッケージ毎に
セクションがありますが、これらの変数の設定は適切な
セクションの依存関係フィールドから参照しなければなりません。
</p>
<p>
<!-- ORIG
For example, the <prgn>procps</prgn> package generates two
kinds of binaries, simple C binaries like <prgn>ps</prgn>
which require a predependency and full-screen ncurses
binaries like <prgn>top</prgn> which require only a
recommendation. It can say in its <tt>debian/rules</tt>:
<example>
dpkg-shlibdeps -dPre-Depends ps -dRecommends top
</example>
and then in its main control file <tt>debian/control</tt>:
ORIG -->
例えば、<prgn>procps</prgn> パッケージは2種類のバイナリを
生成します。predependency の必要な <prgn>ps</prgn> の様な
単純な C バイナリと、recomendation のみが必要な
<prgn>top</prgn> の様なフルスクリーンの
ncurses バイナリです。これは <tt>debian/rules</tt> 内で
次のように書けます:
<example>
dpkg-shlibdeps -dPre-Depends ps -dRecommends top
</example>
そしてメイン管理ファイル <tt>debian/control</tt> で
次のように書けます:
<example>
<var>...</var>
Package: procps
Pre-Depends: ${shlibs:Pre-Depends}
Recommends: ${shlibs:Recommends}
<var>...</var>
</example>
</p>
<p>
<!-- ORIG
Sources which produce several binary packages with
different shared library dependency requirements can use
the <tt>-p<var>varnameprefix</var></tt> option to override
the default <tt>shlib:</tt> prefix (one invocation of
<prgn>dpkg-shlibdeps</prgn> per setting of this option).
They can thus produce several sets of dependency
variables, each of the form
<tt><var>varnameprefix</var>:<var>dependencyfield</var></tt>,
which can be referred to in the appropriate parts of the
binary package control files.
ORIG -->
あるソースが提供する(複数の)バイナリパッケージが
共有ライブラリに対して異なった依存要求を持つ場合は、
<tt>-p<var>varnameprefix</var></tt> オプションを
利用することが出来ます。このオプションはデフォルトの
<tt>shlib:</tt> プレフィックスを上書きします
(このオプションを設定する毎に <prgn>dpkg-shlibdeps</prgn>
を一回実行)。よって、
<tt><var>varnameprefix</var>:<var>dependencyfield</var></tt>
という形式で依存変数の集合を幾つか作ることが出来ます。
これはバイナリパッケージ管理ファイルの適切な部分で
参照されます。
</p>
</sect1>
<sect1>
<heading>
<!-- ORIG
<prgn>dpkg-distaddfile</prgn> - adds a file to
<tt>debian/files</tt>
ORIG -->
<prgn>dpkg-distaddfile</prgn> -
<tt>debian/files</tt> へのファイルの追加
</heading>
<p>
<!-- ORIG
Some packages' uploads need to include files other than
the source and binary package files.
ORIG -->
幾つかのパッケージのアップロードではソースパッケージ
やバイナリーパッケージ以外のファイルを含める必要が
あります。
</p>
<p>
<!-- ORIG
<prgn>dpkg-distaddfile</prgn> adds a file to the
<tt>debian/files</tt> file so that it will be included in
the <tt>.changes</tt> file when
<prgn>dpkg-genchanges</prgn> is run.
ORIG -->
<prgn>dpkg-distaddfile</prgn> は <tt>debian/files</tt> に
ファイルを加えます。<prgn>dpkg-genchanges</prgn> が
実行されたときに <tt>.changes</tt> にそのファイルが
含まれるようにする為です。
</p>
<p>
<!-- ORIG
It is usually invoked from the <prgn>binary</prgn> target of
<tt>debian/rules</tt>:
<example>
dpkg-distaddfile <var>filename</var> <var>section</var> <var>priority</var>
</example>
The <var>filename</var> is relative to the directory where
<prgn>dpkg-genchanges</prgn> will expect to find it - this
is usually the directory above the top level of the source
tree. The <tt>debian/rules</tt> target should put the
file there just before or just after calling
<prgn>dpkg-distaddfile</prgn>.
ORIG -->
これは通常、<tt>debian/rules</tt> の <prgn>binary</prgn>
ターゲットで呼び出されます:
<example>
dpkg-distaddfile <var>filename</var> <var>section</var> <var>priority</var>
</example>
<var>filename</var> は <prgn>dpkg-genchanges</prgn> が
そのファイルを見つけると思われるようなディレクトリ
- これは通常ソースツリーのトップレベルの上のディレクトリ -
に対する相対ファイル名です。<tt>debian/rules</tt> の
ターゲットは <prgn>dpkg-distaddfile</prgn> が呼ばれる直前か
直後にそのファイルをその場所に置かねばなりません。
</p>
<p>
<!-- ORIG
The <var>section</var> and <var>priority</var> are passed
unchanged into the resulting <tt>.changes</tt> file. See
<ref id="f-classification">.
ORIG -->
<var>section</var> と <var>priority</var> は、生成される
<tt>.changes</tt> ファイルに変更されずに渡されます。
<ref id="f-classification"> を見て下さい。
</p>
</sect1>
<!-- ORIG
<sect1><heading><prgn>dpkg-genchanges</prgn> - generates a <tt>.changes</tt> upload
control file
ORIG -->
<sect1><heading><prgn>dpkg-genchanges</prgn>
- アップロード管理ファイル <tt>.changes</tt> の生成
</heading>
<p>
<!-- ORIG
This program is usually called by package-independent
automatic building scripts such as
<prgn>dpkg-buildpackage</prgn>, but it may also be called
by hand.
ORIG -->
通常、このプログラムはパッケージに依存しない
<prgn>dpkg-buildpackage</prgn> の様な自動構築スクリプトから
呼び出されますが、手動で呼びだすこともあります。
</p>
<p>
<!-- ORIG
It is usually called in the top level of a built source
tree, and when invoked with no arguments will print out a
straightforward <tt>.changes</tt> file based on the
information in the source package's changelog and control
file and the binary and source packages which should have
been built.
ORIG -->
このプログラムは通常、構築されたソースツリーの
トップレベルで呼び出されます。引数をつけずに
呼び出した場合は、ソースパッケージの変更履歴ファイル・
管理ファイルの情報と、構築されているバイナリパッケージ・
ソースパッケージの情報に基づいて、簡単な <tt>.changes</tt>
ファイルを書きだします。
</p>
</sect1>
<!-- ORIG
<sect1><heading><prgn>dpkg-parsechangelog</prgn> - produces parsed representation of
a changelog
ORIG -->
<sect1><heading><prgn>dpkg-parsechangelog</prgn>
- changelog の解析結果の生成
</heading>
<p>
<!-- ORIG
This program is used internally by
<prgn>dpkg-source</prgn> et al. It may also occasionally
be useful in <tt>debian/rules</tt> and elsewhere. It
parses a changelog, <tt>debian/changelog</tt> by default,
and prints a control-file format representation of the
information in it to standard output.
ORIG -->
このプログラムは <prgn>dpkg-source</prgn> によって内部的に
用いられます。時折 <tt>debian/rules</tt> や他の場所で
使われるかもしれません。変更履歴 (デフォルトでは
<tt>debian/changelog</tt>) を解析し、そこに含まれる情報を
管理ファイル形式の表現で標準出力に出力します。
</p>
</sect1>
<!-- ORIG
<sect1 id="dpkgarch"><heading><prgn>dpkg-architecture</prgn> -
information about the build and host system
ORIG -->
<sect1 id="dpkgarch"><heading><prgn>dpkg-architecture</prgn> -
パッケージを構築するシステム、あるいはホストシステムに
ついての情報
</heading>
<p>
<!-- ORIG
This program can be used manually, but is also invoked by
<tt>dpkg-buildpackage</tt> or <tt>debian/rules</tt> to set
to set environment or make variables which specify the build and
host architecture for the package building process.
ORIG -->
このプログラムは手動で使用することもできますが、
<tt>dpkg-buildpackage</tt> や <tt>debian/rules</tt> に
よっても起動されます。そこでは、パッケージを構築するマシンの
アーキテクチャ、あるいはホストのアーキテクチャを示す
環境変数や make 変数を設定します。これらの変数は、
パッケージ構築過程において必要なものです。
</p>
</sect1>
</sect>
<!-- ORIG
<sect id="sourcetree"><heading>The Debianised source tree
ORIG -->
<sect id="sourcetree"><heading>Debian 化されたソースツリー
</heading>
<p>
<!-- ORIG
The source archive scheme described later is intended to
allow a Debianised source tree with some associated control
information to be reproduced and transported easily. The
Debianised source tree is a version of the original program
with certain files added for the benefit of the
Debianisation process, and with any other changes required
made to the rest of the source code and installation
scripts.
ORIG -->
以降で述べるソースアーカイブの構成は、関連した管理情報をもつ
Debian 化されたソースツリーが容易に再現され輸送されるように
することを意図したものになっています。Debian 化された
ソースツリーは、オリジナルのプログラムに Debian 化の
工程の為のファイルを付け、残りのソースコードと
インストールスクリプトに必要な変更を加えたものです。
</p>
<p>
<!-- ORIG
The extra files created for Debian are in the subdirectory
<tt>debian</tt> of the top level of the Debianised source
tree. They are described below.
ORIG -->
Debian のために作られた特別なファイルは、
Debian 化されたソースツリーのトップレベルの <tt>debian</tt>
ディレクトリに置かれます。
</p>
<!-- ORIG
<sect1 id="debianrules"><heading><tt>debian/rules</tt> - the main building
script
ORIG -->
<sect1 id="debianrules"><heading><tt>debian/rules</tt>
- メイン構築スクリプト
</heading>
<p>
<!-- ORIG
This file is an executable makefile, and contains the
package-specific recipies for compiling the package and
building binary package(s) out of the source.
ORIG -->
このファイルは実行可能な makefile で、ソースから
パッケージをコンパイルしバイナリパッケージを構築するための
パッケージ特有のレシピを含んでいます。
</p>
<p>
<!-- ORIG
It must start with the line <tt>#!/usr/bin/make -f</tt>,
so that it can be invoked by saying its name rather than
invoking <prgn>make</prgn> explicitly.
ORIG -->
このファイルの先頭は <tt>#!/usr/bin/make -f</tt> という
行でなければなりません。make を明示的に実行するのではなく、
<tt>debian/rules</tt> という名前で実行できるように
する為です。
</p>
<p>
<!-- ORIG
Since an interactive <tt>debian/rules</tt> script makes it
impossible to autocompile that package and also makes it
hard for other people to reproduce the same binary
package, all <strong>required targets</strong> have to be
non-interactive. At a minimul, required targets are the
ones called by <prgn>dpkg-buildpackage</prgn>, namely,
<em>clean</em>, <em>binary</em>, <em>binary-arch</em>, and
<em>build</em>. It also follows that any target that these
targets depend on must also be non-interactive.
ORIG -->
対話型の <tt>debian/rules</tt> スクリプトは、
そのパッケージの自動コンパイルを不可能にし、さらに、
メンテナー以外の人が同じバイナリーパッケージを
再構築するのを難しくします。ですから、全ての
<strong>必要なターゲット</strong> は非対話的で
なくてはなりません。最小限の範囲で言えば、
必要なターゲットとは、<prgn>dpkg-buildpackage</prgn>
によって呼び出されるターゲット、つまり <em>clean</em>、
<em>binary</em>、<em>binary-arch</em>、<em>build</em> の
ことです。また、これらのターゲットによって呼び出される
ターゲットも非対話的でなくてはなりません。
</p>
<p>
<!-- ORIG
The targets which are required to be present are:
ORIG -->
必要なターゲットは次の通りです。
<taglist>
<tag><tt>build</tt></tag>
<item>
<p>
<!-- ORIG
This should perform all non-interactive
configuration and compilation of the package. If a
package has an interactive pre-build configuration
routine, the Debianised source package should be
built after this has taken place, so that it can be
built without rerunning the configuration.
ORIG -->
パッケージの構築、すなわち全てのパッケージの
非対話的な設定とコンパイルを行ないます。
もしパッケージに構築前の設定作業がある場合は、
Debian 化されたソースパッケージは設定作業を
行なった後で構築しなければなりません。これは、
設定を再びせずに構築出来るようにするためです。
</p>
<p>
<!-- ORIG
For some packages, notably ones where the same
source tree is compiled in different ways to produce
two binary packages, the <prgn>build</prgn> target
does not make much sense. For these packages it is
good enough to provide two (or more) targets
(<tt>build-a</tt> and <tt>build-b</tt> or whatever)
for each of the ways of building the package, and a
<prgn>build</prgn> target that does nothing. The
<prgn>binary</prgn> target will have to build the
package in each of the possible ways and make the
binary package out of each.
ORIG -->
いくつかのパッケージで、同一のソースツリーから
それぞれ違う二つのバイナリパッケージを生成する場合が
あります。<prgn>build</prgn> ターゲットは、
そういう場合には対応できません。これらの場合は、
それぞれの構築方法にしたがって、2 つまたは
それ以上のターゲット (<tt>build-a</tt> と
<tt>build-b</tt> やその他) を使用するのがよいでしょう。
そしてこの場合、単独の <prgn>build</prgn> は
なにも実行しません。<prgn>binary</prgn>
ターゲットで、これらの可能な方法でパッケージを
作成して、それぞれに対応したバイナリのパッケージを
生成することになります。
</p>
<p>
<!-- ORIG
The <prgn>build</prgn> target must not do anything
that might require root privilege.
ORIG -->
ルート権限が必要なことを <prgn>build</prgn>
ターゲットで実行してはいけません。
</p>
<p>
<!-- ORIG
The <prgn>build</prgn> target may need to run
<prgn>clean</prgn> first - see below.
ORIG -->
また、<prgn>build</prgn> ターゲットの前には、
<prgn>clean</prgn> を走らせなければならないでしょう。
</p>
<p>
<!-- ORIG
When a package has a configuration routine that
takes a long time, or when the makefiles are poorly
designed, or when <prgn>build</prgn> needs to run
<prgn>clean</prgn> first, it is a good idea to
<tt>touch build</tt> when the build process is
complete. This will ensure that if <tt>debian/rules
build</tt> is run again it will not rebuild the
whole program.
ORIG -->
パッケージの設定ルーチンに長い時間がかかる時や、
makefile があまりよく設計されていない時、
<prgn>build</prgn> の前に <prgn>clean</prgn> が
必要な時、構築プロセスの終了時に <tt>touch build</tt>
を実行するのがよいでしょう。これによって、
<tt>debian/rules build</tt> が再度実行されたときに、
プログラム全体を再構築しなくてすみます。
</p>
</item>
<tag><tt>binary</tt>, <tt>binary-arch</tt>,
<tt>binary-indep</tt>
</tag>
<item>
<p>
<!-- ORIG
The <prgn>binary</prgn> target should be all that is
necessary for the user to build the binary
package. All these targets are required to be
non-interactive. It is split into two parts:
<prgn>binary-arch</prgn> builds the packages' output
files which are specific to a particular
architecture, and <prgn>binary-indep</prgn> builds
those which are not.
ORIG -->
<prgn>binary</prgn>ターゲットは、ユーザにとって
バイナリ・パッケージを構築するときに必要な唯一の
ものでなければいけません。全てのこれらのターゲットは、
非対話的でなければなりません。<prgn>binary</prgn>
ターゲットは、二つの部分に分けられます:
<prgn>binary-arch</prgn> は、特定のアーキテクチャ用の
ファイル、<prgn>binary-indep</prgn> は、
そうでないものを生成します。
</p>
<p>
<!-- ORIG
<prgn>binary</prgn> should usually be a target with
no commands which simply depends on
<prgn>binary-arch</prgn> and
<prgn>binary-indep</prgn>.
ORIG -->
通常、<prgn>binary</prgn> は、余分なコマンドを
必要とせず、単純に <prgn>binary-arch</prgn> と
<prgn>binary-indep</prgn> に依存するターゲットで
なければいけません。
</p>
<p>
<!-- ORIG
Both <prgn>binary-*</prgn> targets should depend on
the <prgn>build</prgn> target, above, so that the
package is built if it has not been already. It
should then create the relevant binary package(s),
using <prgn>dpkg-gencontrol</prgn> to make their
control files and <prgn>dpkg-deb</prgn> to build
them and place them in the parent of the top level
directory.
ORIG -->
両方の <prgn>binary-*</prgn> ターゲットは、
<prgn>build</prgn> ターゲットに依存しなければ
いけません。このようにしておけば、もしパッケージ
構築処理が済んでいないときは構築処理が実施されます。
そして次に関連したバイナリ・パッケージを
生成しなければいけません。この時、
<prgn>dpkg-gencontrol</prgn> を使って
コントロールファイルを作成し、
<prgn>dpkg-deb</prgn> を使って構築し、それらを
トップのディレクトリの上に置きます。
</p>
<p>
<!-- ORIG
If one of the <prgn>binary-*</prgn> targets has
nothing to do (this will be always be the case if
the source generates only a single binary package,
whether architecture-dependent or not) it
<em>must</em> still exist, but should always
succeed.
ORIG -->
<prgn>binary-*</prgn> のうちの一つがなにもしない
場合(アーキテクチャ依存・非依存に関わらずソースから
一つのバイナリ・パッケージしか生成しない場合)
においても、なにもしない側の <prgn>binary-*</prgn>
が存在しなければなりませんし、処理が成功したという
あつかいとしなければなりません。
</p>
<p>
<!-- ORIG
<ref id="binarypkg"> describes how to construct
binary packages.
ORIG -->
<ref id="binarypkg"> に、どのようにして
バイナリ・パッケージを構築するかについて
書かれています。
</p>
<p>
<!-- ORIG
The <prgn>binary</prgn> targets must be invoked as
root.
ORIG -->
<prgn>binary</prgn> ターゲットは、ルートで
起動されなければいけません。
</p>
</item>
<tag><tt>clean</tt></tag>
<item>
<p>
<!-- ORIG
This should undo any effects that the
<prgn>build</prgn> and <prgn>binary</prgn> targets
may have had, except that it should leave alone any
output files created in the parent directory by a
run of <prgn>binary</prgn>. This target is required
to be non-interactive.
ORIG -->
<prgn>build</prgn> と <prgn>binary</prgn>
ターゲットによる実行結果を元に戻します。ただし、
<prgn>binary</prgn> の実行による親ディレクトリへ
生成された出力ファイルはそのまま残します。
このターゲットは、非対話的である必要があります。
</p>
<p>
<!-- ORIG
If a <prgn>build</prgn> file is touched at the end
of the <prgn>build</prgn> target, as suggested
above, it must be removed as the first thing that
<prgn>clean</prgn> does, so that running
<prgn>build</prgn> again after an interrupted
<prgn>clean</prgn> doesn't think that everything is
already done.
ORIG -->
<prgn>build</prgn> されたファイルが、
上で述べたように、<prgn>build</prgn>ターゲットの
最後に touch されていた場合、そのファイルは、
<prgn>clean</prgn> の最初の作業として
削除しなければいけません。中断された
<prgn>clean</prgn> の後に <prgn>build</prgn> が
実行された場合、すべてが終了したと認識されて
しまいかねないからです。
</p>
<p>
<!-- ORIG
The <prgn>clean</prgn> target must be invoked as
root if <prgn>binary</prgn> has been invoked since
the last <prgn>clean</prgn>, or if
<prgn>build</prgn> has been invoked as root (since
<prgn>build</prgn> may create directories, for
example).
ORIG -->
<prgn>build</prgn> がルートで起動されてから、または
<prgn>binary</prgn> が起動された後には、
<prgn>clean</prgn> ターゲットはルートで
起動されなければいけません
(例えば、<prgn>build</prgn> はディレクトリを
作成することもあるからです)。
</p>
</item>
<!-- ORIG
<tag><tt>get-orig-source</tt> (optional)</tag>
ORIG -->
<tag><tt>get-orig-source</tt> (オプション)</tag>
<item>
<p>
<!-- ORIG
This target fetches the most recent version of the
original source package from a canonical archive
site (via FTP or WWW, for example), does any
necessary rearrangement to turn it into the original
source tarfile format described below, and leaves it
in the current directory.
ORIG -->
主要なアーカイブサイトから最新版の
オリジナル・ソースパッケージを取得します
(FTP や WWW 経由)。以下に述べるように、オリジナルの
ソースの tar ファイル形式に再構成し、
現在のディレクトリに置きます。
</p>
<p>
<!-- ORIG
This target may be invoked in any directory, and
should take care to clean up any temporary files it
may have left.
ORIG -->
このターゲットは、どのディレクトリからも実行できます。
一時ファイルを残している場合がありますので、
その時は削除してください。
</p>
<p>
<!-- ORIG
This target is optional, but providing it if
possible is a good idea.
ORIG -->
このターゲットはオプションです。
しかしつけた方がよいでしょう。
</p>
</item>
</taglist>
<p>
<!-- ORIG
The <prgn>build</prgn>, <prgn>binary</prgn> and
<prgn>clean</prgn> targets must be invoked with a current
directory of the package's top-level directory.
ORIG -->
<prgn>build</prgn> と <prgn>binary</prgn>、
<prgn>clean</prgn> ターゲットはパッケージの
トップディレクトリをカレント・ディレクトリとして
実行されなければいけません。
</p>
<p>
<!-- ORIG
Additional targets may exist in <tt>debian/rules</tt>,
either as published or undocumented interfaces or for the
package's internal use.
ORIG -->
<tt>debian/rules</tt> に他のターゲットがあることもあります。
これらは、公開されている、またはいないインターフェースや、
パッケージ内部で使用されるものです。
</p>
<p>
<!-- ORIG
The architecture we build on and build for is determined by make
variables via dpkg-architecture (see <ref id="dpkgarch">). You can
get the Debian architecture and the GNU style architecture
specification string for the build machine as well as the host
machine. Here is a list of supported make variables:
ORIG -->
パッケージを実際に構築するマシンや、インストールの対象となる
マシンのアーキテクチュアは、dpkg-architecture を通して
変数を設定することによって決定されます (<ref id="dpkgarch">
を見て下さい)。これにより、ホストマシンだけでなく
パッケージの構築をするマシンの Debian アーキテクチュアと
GNU 型のアーキテクチュア指定文字列を得ることができます。
以下に、サポートされている make 変数を示します。
<list compact="compact">
<item>
<!-- ORIG
<p><tt>DEB_*_ARCH</tt> (the Debian architecture)</p>
ORIG -->
<p><tt>DEB_*_ARCH</tt> (Debian アーキテクチュア)</p>
</item>
<item>
<!-- ORIG
<p><tt>DEB_*_GNU_TYPE</tt> (the GNU style architecture
specification string)</p>
ORIG -->
<p><tt>DEB_*_GNU_TYPE</tt> (GNU 型アーキテクチュア
指定文字列)</p>
</item>
<item>
<!-- ORIG
<p><tt>DEB_*_GNU_CPU</tt> (the CPU part of DEB_*_GNU_TYPE)</p>
ORIG -->
<p><tt>DEB_*_GNU_CPU</tt> (DEB_*_GNU_TYPE の CPU の部分)</p>
</item>
<item>
<!-- ORIG
<p><tt>DEB_*_GNU_SYSTEM</tt> (the System part of
DEB_*_GNU_TYPE)</p>
ORIG -->
<p><tt>DEB_*_GNU_SYSTEM</tt> (DEB_*_GNU_TYPE の
システムの部分)</p>
</list>
</p>
<p>
<!-- ORIG
where <tt>*</tt> is either <tt>BUILD</tt> for specification of
the build machine or <tt>HOST</tt> for specification of the machine
we build for.
ORIG -->
<tt>*</tt> は <tt>BUILD</tt> か <tt>HOST</tt> のどちらかです。
<tt>BUILD</tt> の場合はパッケージを構築するマシンの
指定になり、<tt>HOST</tt> の場合にはインストールされる
マシンの指定になります。
</p>
<p>
<!-- ORIG
Backward compatibility can be provided in the rules file
by setting the needed variables to suitable default
values, please refer to the documentation of
dpkg-architecture for details.
ORIG -->
rules ファイル中で適当なデフォルト値を設定することに
よって、後方互換性を保つことができます。
詳しくは dpkg-architecture のドキュメントを参照して下さい。
</p>
<p>
<!-- ORIG
It is important to understand that the <tt>DEB_*_ARCH</tt>
string does only determine which Debian architecture we
build on resp. for. It should not be used to get the CPU
or System information, the GNU style variables should be
used for that.
ORIG -->
<tt>DEB_*_ARCH</tt> は、マシンの Debian アーキテクチュア
のみ決定するということは、重要です。CPU や システムの
情報を得るのに <tt>DEB_*_ARCH</tt> を使ってはいけません。
その場合には GNU 型変数を使わなくてはいけません。
</p>
</sect1>
<sect1><heading><tt>debian/control</tt>
</heading>
<p>
<!-- ORIG
This file contains version-independent details about the
source package and about the binary packages it creates.
ORIG -->
ソース・パッケージとそれから生成される
バイナリ・パッケージについてのバージョン非依存の詳細を
含みます。
</p>
<p>
<!-- ORIG
It is a series of sets of control fields, each
syntactically similar to a binary package control file.
The sets are separated by one or more blank lines. The
first set is information about the source package in
general; each subsequent set describes one binary package
that the source tree builds.
ORIG -->
それは、コントロール・フィールドのセットが連続したものです。
その書式はバイナリ・パッケージ・コントロール・ファイルに
似ています。フィールドのセットは、一つ以上のブランクで
区切られます。そして、最初のセットは、ソース・パッケージに
ついての全般的な情報です; それに続くセットには、ソースの
ツリーがバイナリ・パッケージを生成する方法について
書かれています。
</p>
<p>
<!-- ORIG
The syntax and semantics of the fields are described below
in <ref id="controlfields">.
ORIG -->
フィールドの書式とその意味するところについては、
<ref id="controlfields"> をご覧ください。
</p>
<p>
<!-- ORIG
The general (binary-package-independent) fields are:
ORIG -->
一般的な、(バイナリ・パッケージ非依存) フィールド:
<list compact="compact">
<item>
<!-- ORIG
<p><qref id="f-Source"><tt>Source</tt></qref> (mandatory)</p>
ORIG -->
<p><qref id="f-Source"><tt>Source</tt></qref> (必須)</p>
</item>
<item>
<p><qref id="f-Maintainer"><tt>Maintainer</tt></qref></p>
</item>
<item>
<p>
<!-- ORIG
<qref id="f-classification"><tt>Section</tt> and
<tt>Priority</tt></qref>
(classification, mandatory)
ORIG -->
<qref id="f-classification"><tt>Section</tt> と
<tt>Priority</tt></qref>
(分類用、必須)
</p>
</item>
<item>
<p>
<qref id="f-Standards-Version"><tt>Standards-Version</tt></qref>
</p>
</item>
</list>
<p>
<!-- ORIG
The per-binary-package fields are:
ORIG -->
バイナリ・パッケージごとのフィールド:
<list compact="compact">
<item>
<!-- ORIG
<p><qref id="f-Package"><tt>Package</tt></qref> (mandatory)</p>
ORIG -->
<p><qref id="f-Package"><tt>Package</tt></qref> (必須)</p>
</item>
<item>
<p>
<!-- ORIG
<qref id="f-Architecture"><tt>Architecture</tt></qref>
(mandatory)</p>
ORIG -->
<qref id="f-Architecture"><tt>Architecture</tt></qref>
(必須)</p>
</item>
<item>
<p><qref id="descriptions"><tt>Description</tt></qref></p>
</item>
<item>
<p>
<!-- ORIG
<qref id="f-classification"><tt>Section</tt> and
<tt>Priority</tt></qref> (classification)</p>
ORIG -->
<qref id="f-classification"><tt>Section</tt> と
<tt>Priority</tt></qref> (分類用)</p>
</item>
<item>
<p><qref id="f-Essential"><tt>Essential</tt></qref></p>
</item>
<item>
<p>
<!-- ORIG
<qref id="relationships"><tt>Depends</tt> et
al.</qref> (package interrelationships)
ORIG -->
<qref id="relationships"><tt>Depends</tt> その他</qref>
(パッケージ間の関連性)
</p>
</item>
</list>
<p>
<!-- ORIG
These fields are used by <prgn>dpkg-gencontrol</prgn> to
generate control files for binary packages (see below), by
<prgn>dpkg-genchanges</prgn> to generate the
<tt>.changes</tt> file to accompany the upload, and by
<prgn>dpkg-source</prgn> when it creates the <tt>.dsc</tt>
source control file as part of a source archive.
ORIG -->
これらのフィールドは、<prgn>dpkg-gencontrol</prgn> が
バイナリ・パッケージ用のコントロールファイルを
生成するとき(以下参照)や <prgn>dpkg-genchanges</prgn> が
アップロードに付随する <tt>.changes</tt> を生成するとき、
<prgn>dpkg-source</prgn> がソースのアーカイブの一部として
<tt>.dsc</tt> ファイルを生成するときに、
使用されます。
</p>
<p>
<!-- ORIG
The fields here may contain variable references - their
values will be substituted by
<prgn>dpkg-gencontrol</prgn>, <prgn>dpkg-genchanges</prgn>
or <prgn>dpkg-source</prgn> when they generate output
control files. See <ref id="srcsubstvars"> for details.
ORIG -->
また、これらのフィールドは、変数参照を含むこともあります。
- それらの値は、出力コントロール・ファイルを
生成するときに <prgn>dpkg-gencontrol</prgn> や
<prgn>dpkg-genchanges</prgn>、<prgn>dpkg-source</prgn> に
よって使用されます。詳細は、
<ref id="srcsubstvars"> をご覧ください。
</p>
<!-- ORIG
<p> <sect2><heading>User-defined fields
ORIG -->
<p> <sect2><heading>ユーザー定義フィールド
</heading>
<p>
<!-- ORIG
Additional user-defined fields may be added to the
source package control file. Such fields will be
ignored, and not copied to (for example) binary or
source package control files or upload control files.
ORIG -->
ソースパッケージ・コントロールファイルには
ユーザ定義フィールドを追加することができます。
これらは無視され、バイナリや
ソースパッケージ・コントロールファイル、
アップロード・コントロールファイルにはコピーされません。
</p>
<p>
<!-- ORIG
If you wish to add additional unsupported fields to
these output files you should use the mechanism
described here.
ORIG -->
出力ファイルにサポートされていないフィールドを
付加したいときは、ここに述べる方法を使用してください。
</p>
<p>
<!-- ORIG
Fields in the main source control information file with
names starting <tt>X</tt>, followed by one or more of
the letters <tt>BCS</tt> and a hyphen <tt>-</tt>, will
be copied to the output files. Only the part of the
field name after the hyphen will be used in the output
file. Where the letter <tt>B</tt> is used the field
will appear in binary package control files, where the
letter <tt>S</tt> is used in source package control
files and where <tt>C</tt> is used in upload control
(<tt>.changes</tt>) files.
ORIG -->
メインのソースコントロールファイルにおいて、
<tt>X</tt> から始まり、<tt>BCS</tt> とハイフン <tt>-</tt>
が続くフィールドは、出力ファイルにコピーされます。
そして出力ファイルには、ハイフンの後に続く
キャラクタのみが、フィールド名として使用されます。
ここで、<tt>B</tt> は、
バイナリパッケージ・コントロールファイルに
使用されるとき、<tt>S</tt> は、
ソースパッケージ・コントロールファイルに使用されるとき、
<tt>C</tt> は、アップロード・コントロール
(<tt>.changes</tt>) ファイルに使用されるときに使われます。
</p>
<p>
<!-- ORIG
For example, if the main source information control file
contains the field
ORIG -->
メインのソース情報コントロールファイルが以下の
フィールドを含んでいるときは、
<example>
XBS-Comment: I stand between the candle and the star.
</example>
<!-- ORIG
then the binary and source package control files will contain the
field
ORIG -->
バイナリとソースパッケージ・コントロールファイルは、次の
フィールドを含みます。
<example>
Comment: I stand between the candle and the star.
</example>
</p>
</sect2>
</sect1>
<sect1 id="dpkgchangelog"><heading><tt>debian/changelog</tt>
</heading>
<p>
<!-- ORIG
This file records the changes to the Debian-specific parts of the
package
ORIG -->
このファイルは、パッケージの Debian 特有の部分の変更を記録します
<footnote>
<p>
<!-- ORIG
Though there is nothing stopping an author who is also
the Debian maintainer from using it for all their
changes, it will have to be renamed if the Debian and
upstream maintainers become different
people.
ORIG -->
changelog の著者がパッケージの保守担当者でもある場合、
パッケージの全ての変更に対して changelog を
使わないようにすることもできますが、パッケージや
元のソースの保守担当者が違う人になった時には、
名前を変更しなければなりません。
</p>
<!-- ORIG
</footnote>.
ORIG -->
</footnote>。
</p>
<p>
<!-- ORIG
It has a special format which allows the package building
tools to discover which version of the package is being
built and find out other release-specific information.
ORIG -->
このファイルは特別な書式を持っています。これは、
どのパッケージのバージョンが現在構築中なのか、また、
その他のリリース特有の情報を、パッケージ構築ツールが
認識するためです。
</p>
<p>
<!-- ORIG
That format is a series of entries like this:
ORIG -->
その書式を以下に示します。:
<example>
<var>package</var> (<var>version</var>) <var>distribution(s)</var>; urgency=<var>urgency</var>
* <var>change details</var>
<var>more change details</var>
* <var>even more change details</var>
-- <var>maintainer name and email address</var> <var>date</var>
</example>
</p>
<p>
<!-- ORIG
<var>package</var> and <var>version</var> are the source
package name and version number.
ORIG -->
<var>package</var> と <var>version</var> は
ソースパッケージの名前とバージョンです。
</p>
<p>
<!-- ORIG
<var>distribution(s)</var> lists the distributions where
this version should be installed when it is uploaded - it
is copied to the <tt>Distribution</tt> field in the
<tt>.changes</tt> file. See <ref id="f-Distribution">.
ORIG -->
<var>distribution(s)</var> には、このバージョンが
アップロードされるときにインストールされる
ディストリビューションがリストされます - これらは、
<tt>.changes</tt> ファイルの <tt>Distribution</tt>
フィールド にコピーされます。
<ref id="f-Distribution"> をご覧ください。
</p>
<p>
<!-- ORIG
<var>urgency</var> is the value for the <tt>Urgency</tt>
field in the <tt>.changes</tt> file for the upload. See
<ref id="f-Urgency">. It is not possible to specify an
urgency containing commas; commas are used to separate
<tt><var>keyword</var>=<var>value</var></tt> settings in
the <prgn>dpkg</prgn> changelog format (though there is
currently only one useful <var>keyword</var>,
<tt>urgency</tt>).
ORIG -->
<var>urgency</var> は、アップロード用の <tt>.changes</tt>
ファイルの <tt>Urgency</tt> フィールドの値です。
<ref id="f-Urgency"> をご覧ください。コンマを含む
フィールドを使用することはできません;
<prgn>dpkg</prgn> の changelog 書式において、コンマは
<tt><var>keyword</var>=<var>value</var></tt> セットを
分離するために使用されています (しかしながら、
現在のところ <tt>urgency</tt>として有効な
<var>keyword</var>は一つだけです)。
</p>
<p>
<!-- ORIG
The change details may in fact be any series of lines
starting with at least two spaces, but conventionally each
change starts with an asterisk and a separating space and
continuation lines are indented so as to bring them in
line with the start of the text above. Blank lines may be
used here to separate groups of changes, if desired.
ORIG -->
詳細な変更点は、実際には最低二つのスペースではじまる
一連の行に記されます。しかしながら、伝統的に、
それぞれの変更箇所はアスタリスクで始まり、文章との間を
空けるためにスペースが続きます。継続行は、
インデントされます。望むのであれば、変更箇所グループを
分離するのに空行が使用できます。
</p>
<p>
<!-- ORIG
The maintainer name and email address should <em>not</em>
necessarily be those of the usual package maintainer.
They should be the details of the person doing
<em>this</em> version. The information here will be
copied to the <tt>.changes</tt> file, and then later used
to send an acknowledgement when the upload has been
installed.
ORIG -->
管理者の名前と電子メールアドレスは必ずしも通常の
パッケージ管理者である必要は<em>ありません</em>。
それらは<em>この</em>バージョンを作成した人について記されて
いなければいけません。この情報は、<tt>.changes</tt>
ファイルにコピーされ、その後アップロードの完了時に通知が
送られることとなります。
</p>
<p>
<!-- ORIG
The <var>date</var> should be in RFC822 format
<footnote>
<p>
This is generated by the <prgn>822-date</prgn>
program.
</p>
</footnote>; it should include the timezone specified
numerically, with the timezone name or abbreviation
optionally present as a comment.
ORIG -->
<var>date</var> は RFC822 フォーマットでなければなりません
<footnote>
<p>
これは <prgn>822-date</prgn> プログラムによって
作成されます。
</p>
</footnote>。; それらは、数字によって表現された
タイムゾーンを必ず含んでおり、オプションとしてコメントの
形でタイムゾーン名かその省略形を付加することができます。
</p>
<p>
<!-- ORIG
The first `title' line with the package name should start
at the left hand margin; the `trailer' line with the
maintainer and date details should be preceded by exactly
one space. The maintainer details and the date must be
separated by exactly two spaces.
ORIG -->
パッケージ名ではじまる最初の `タイトル' の行は、左詰めに
しなければいけません。それに続く管理者、日付フィールドの
詳細は正確に一つのスペースによって
はじまらなければいけません。管理者と日付フィールドの
詳細は、正確に2つのスペースによって区切られていなければ
いけません。
</p>
<p>
<!-- ORIG
An Emacs mode for editing this format is available: it is
called <tt>debian-changelog-mode</tt>. You can have this
mode selected automatically when you edit a Debian
changelog by adding a local variables clause to the end of
the changelog.
ORIG -->
この書式を編集するための <tt>debian-changelog-mode</tt> と
呼ばれている Emacs モードがあります。changelog の最後に
変数節を付加することで、編集時に自動的にこのモードを
選択するようにすることができます。
</p>
<!-- ORIG
<sect2><heading>Defining alternative changelog formats
ORIG -->
<sect2><heading>changelog の別書式の定義
</heading>
<p>
<!-- ORIG
It is possible to use a different format to the standard
one, by providing a parser for the format you wish to
use.
ORIG -->
使用したい書式のパーサを用意することで、標準的でない
書式を使用することが可能です。
</p>
<p>
<!-- ORIG
In order to have <tt>dpkg-parsechangelog</tt> run your
parser, you must include a line within the last 40 lines
of your file matching the Perl regular expression:
<tt>\schangelog-format:\s+([0-9a-z]+)\W</tt> The part in
parentheses should be the name of the format. For
example, you might say:
<example>
@@@ changelog-format: joebloggs @@@
</example>
Changelog format names are non-empty strings of alphanumerics.
ORIG -->
<tt>dpkg-parsechangelog</tt> にそのパーサを
実行させるためには、そのファイルの最後の 40 行のある行を
Perl の正規表現でマッチさせなければいけません:
<tt>\schangelog-format:\s+([0-9a-z]+)\W</tt>
括弧内はフォーマット名でなければいけません。例えば、
以下のようなものです。
<example>
@@@ changelog-format: joebloggs @@@
</example>
changelog 書式名は空文字でない数字の文字列となります。
</p>
<p>
<!-- ORIG
If such a line exists then <tt>dpkg-parsechangelog</tt>
will look for the parser as
<tt>/usr/lib/dpkg/parsechangelog/<var>format-name</var></tt>
or
<tt>/usr/local/lib/dpkg/parsechangelog/<var>format-name</var></tt>;
it is an error for it not to find it, or for it not to
be an executable program. The default changelog format
is <tt>dpkg</tt>, and a parser for it is provided with
the <tt>dpkg</tt> package.
ORIG -->
もしそのような行があった場合、
<tt>dpkg-parsechangelog</tt> は、
<tt>/usr/lib/dpkg/parsechangelog/<var>format-name</var></tt>
か、
<tt>/usr/local/lib/dpkg/parsechangelog/<var>format-name</var></tt>
にパーサを探しにいきます。それが見つからない場合や
実行形式のプログラムでなかった場合はエラーになります。
デフォルトの changelog 書式は <tt>dpkg</tt> になっていて、
そのパーサは <tt>dpkg</tt> によって提供されています。
</p>
<p>
<!-- ORIG
The parser will be invoked with the changelog open on
standard input at the start of the file. It should read
the file (it may seek if it wishes) to determine the
information required and return the parsed information
to standard output in the form of a series of control
fields in the standard format. By default it should
return information about only the most recent version in
the changelog; it should accept a
<tt>-v<var>version</var></tt> option to return changes
information from all versions present <em>strictly
after</em> <var>version</var>, and it should then be an
error for <var>version</var> not to be present in the
changelog.
ORIG -->
パーサはファイルの最初に changelog が標準入力で
オープンされた時に実行されます。そして、必要な情報を
決定するためにファイルを読みこみ
(場合によってはファイルを探しもします)、
標準的な書式で一連のコントロール・フィールドを標準出力に
パース出力します。デフォルトでは changelog 中に
記載されている最新のバージョンのみの情報を
出力しなければいけません。;
<tt>-v<var>version</var></tt> オプションによって、正確に
そのバージョン以降のすべての変更情報を出力しなければ
いけません。この場合、changelog に <var>version</var> が
存在していなかったら、エラーにしなければいけません。
</p>
<p>
<!-- ORIG
The fields are:
ORIG -->
利用可能なフィールドを以下に示します。
<list compact="compact">
<item>
<p><qref id="f-Source"><tt>Source</tt></qref></p>
</item>
<item>
<!-- ORIG
<p><qref id="versions"><tt>Version</tt></qref> (mandatory)</p>
ORIG -->
<p><qref id="versions"><tt>Version</tt></qref> (必須)</p>
</item>
<item>
<p>
<qref id="f-Distribution"><tt>Distribution</tt></qref>
<!-- ORIG
(mandatory)
ORIG -->
(必須)
</p>
</item>
<item>
<!-- ORIG
<p><qref id="f-Urgency"><tt>Urgency</tt></qref> (mandatory)</p>
ORIG -->
<p><qref id="f-Urgency"><tt>Urgency</tt></qref> (必須)</p>
</item>
<item>
<p>
<qref id="f-Maintainer"><tt>Maintainer</tt></qref>
<!-- ORIG
(mandatory)
ORIG -->
(必須)
</p>
</item>
<item>
<p><qref id="f-Date"><tt>Date</tt></qref></p>
</item>
<item>
<p>
<qref id="f-Changes"><tt>Changes</tt></qref>
<!-- ORIG
(mandatory)
ORIG -->
(必須)
</p>
</item>
</list>
<p>
<!-- ORIG
If several versions are being returned (due to the use
of <tt>-v</tt>), the urgency value should be of the
highest urgency code listed at the start of any of the
versions requested followed by the concatenated
(space-separated) comments from all the versions
requested; the maintainer, version, distribution and
date should always be from the most recent version.
ORIG -->
(<tt>-v</tt> の使用によって) いくつかのバージョンに
関する値が返されたとき、urgency の値は、すべての
バージョンの中で一番高い urgency の値になります。
maintainer と version、distribution、date は常に
最新のバージョンのものとなります。
</p>
<p>
<!-- ORIG
For the format of the <tt>Changes</tt> field see <ref
id="f-Changes">.
ORIG -->
<tt>Changes</tt> フィールドの書式については、
<ref id="f-Changes"> をご覧ください。
</p>
<p>
<!-- ORIG
If the changelog format which is being parsed always or
almost always leaves a blank line between individual
change notes these blank lines should be stripped out,
so as to make the resulting output compact.
ORIG -->
パースされた changelog フォーマットがすべて、または
ほとんどすべてのそれぞれの change 項目間の空行が
残されているときは、出力結果をコンパクトにするために、
それらの空行は削除されなければいけません。
</p>
<p>
<!-- ORIG
If the changelog format does not contain date or package
name information this information should be omitted from
the output. The parser should not attempt to synthesise
it or find it from other sources.
ORIG -->
changelog フォーマットが日付やパッケージ名に関する情報を
含んでいないときは、これらの情報は出力から
削除されなければなりません。パーサはそれらの情報を
調合してはいけません。または、他のソースからそれらの
情報を見つけてきてはいけません。
</p>
<p>
<!-- ORIG
If the changelog does not have the expected format the
parser should exit with a nonzero exit status, rather
than trying to muddle through and possibly generating
incorrect output.
ORIG -->
changelog 中の書式が、予期されるものではないときは、
混乱したままパースを試みて、多分に不正確な出力を
生成するよりは、非ゼロの終了状態で終了しなければ
いけません。
</p>
<p>
<!-- ORIG
A changelog parser may not interact with the user at
all.</p></sect2>
ORIG -->
changelog パーサはユーザとの対話的処理を一切行っては
なりません。</p></sect2>
</sect1>
<!-- ORIG
<sect1 id="srcsubstvars"><heading><tt>debian/substvars</tt>
and variable substitutions
ORIG -->
<sect1 id="srcsubstvars"><heading><tt>debian/substvars</tt>
と変数の置換
</heading>
<p>
<!-- ORIG
When <prgn>dpkg-gencontrol</prgn>,
<prgn>dpkg-genchanges</prgn> and <prgn>dpkg-source</prgn>
generate control files they do variable substitutions on
their output just before writing it. Variable
substitutions have the form
<tt>${<var>variable-name</var>}</tt>. The optional file
<tt>debian/substvars</tt> contains variable substitutions
to be used; variables can also be set directly from
<tt>debian/rules</tt> using the <tt>-V</tt> option to the
source packaging commands, and certain predefined
variables are available.
ORIG -->
<prgn>dpkg-gencontrol</prgn> と <prgn>dpkg-genchanges</prgn>、
<prgn>dpkg-source</prgn> コントロールファイルを生成するとき、
出力に書きこむ前に変数置換を行います。変数置換の形式は
以下の通りです。<tt>${<var>variable-name</var>}</tt>
オプションファイルの <tt>debian/substvars</tt> が、
変数置換に用いられる変数を含んでいます; これらの変数は、
ソースをパッケージするコマンドに <tt>-V</tt> オプションを
指定することで、直接 <tt>debian/rules</tt> から設定することも
できます。この場合、確実に先行定義されている変数が
使用できるようになります。
</p>
<p>
<!-- ORIG
The is usually generated and modified dynamically by
<tt>debian/rules</tt> targets; in this case it must be
removed by the <prgn>clean</prgn> target.
ORIG -->
これらは <tt>debian/rules</tt> ターゲットによって生成され、
動的に変更されます; この場合は <prgn>clean</prgn>
ターゲットによって削除されなければいけません。
</p>
<p>
<!-- ORIG
See <manref name="dpkg-source" section="1"> for full
details about source variable substitutions, including the
format of <tt>debian/substvars</tt>.</p>
ORIG -->
<tt>debian/substvars</tt> の書式を含んだソースの変数置換の
詳細については、<manref name="dpkg-source" section="1">
をご覧ください。</p>
</sect1>
<sect1><heading><tt>debian/files</tt>
</heading>
<p>
<!-- ORIG
This file is not a permanent part of the source tree; it
is used while building packages to record which files are
being generated. <prgn>dpkg-genchanges</prgn> uses it
when it generates a <tt>.changes</tt> file.
ORIG -->
このファイルは、ソースツリーの恒常的な部分ではありません。;
パッケージを構築する途中、どのファイルが生成されたのかを
記録するのに用いられます。<prgn>dpkg-genchanges</prgn> が、
<tt>.changes</tt> ファイルを生成するときにこれを用います。
</p>
<p>
<!-- ORIG
It should not exist in a shipped source package, and so it
(and any backup files or temporary files such as
<tt>files.new</tt>
<footnote>
<p>
<tt>files.new</tt> is used as a temporary file by
<prgn>dpkg-gencontrol</prgn> and
<prgn>dpkg-distaddfile</prgn> - they write a new
version of <tt>files</tt> here before renaming it,
to avoid leaving a corrupted copy if an error
occurs
</p>
</footnote>) should be removed by the
<prgn>clean</prgn> target. It may also be wise to
ensure a fresh start by emptying or removing it at the
start of the <prgn>binary</prgn> target.
ORIG -->
これらはソースパッケージのアップロード版に含まれていては
いけません。そして、それら
(およびすべてのバックアップファイルと一時ファイル、
例えば、<tt>files.new</tt>
<footnote>
<p>
<tt>files.new</tt> は <prgn>dpkg-gencontrol</prgn>
と <prgn>dpkg-distaddfile</prgn> が一時的な
ファイルとして使います。エラーが起こったときに
作られる問題のあるファイルをそのまま残して
おかないようにするため、
<prgn>dpkg-gencontrol</prgn> と
<prgn>dpkg-distaddfile</prgn> は、新しいバージョンの
<tt>files</tt> をここに書き出し、そしてファイル名を
かえます。
</p>
</footnote>) は、<prgn>clean</prgn> ターゲットによって
削除されなければいけません。また、<prgn>binary</prgn>
ターゲットのスタート時には、これらのファイルは、
削除されるか空にして新しいスタートを確認することは
よいやり方です。
</p>
<p>
<!-- ORIG
<prgn>dpkg-gencontrol</prgn> adds an entry to this file
for the <tt>.deb</tt> file that will be created by
<prgn>dpkg-deb</prgn> from the control file that it
generates, so for most packages all that needs to be done
with this file is to delete it in <prgn>clean</prgn>.
ORIG -->
<prgn>dpkg-gencontrol</prgn> は、<tt>.deb</tt> ファイル用の
エントリを追加します。<tt>.deb</tt> ファイルは、これが
作成するコントロールファイルを使って、<prgn>dpkg-deb</prgn>
によって生成されます。たいていのパッケージが、この
ファイルに関してやらなければいけないことは、
<prgn>clean</prgn> ターゲットによって削除される
ことだけです。
</p>
<p>
<!-- ORIG
If a package upload includes files besides the source
package and any binary packages whose control files were
made with <prgn>dpkg-gencontrol</prgn> then they should be
placed in the parent of the package's top-level directory
and <prgn>dpkg-distaddfile</prgn> should be called to add
the file to the list in <tt>debian/files</tt>.</p>
ORIG -->
アップロードされたパッケージが、ソースパッケージとすべての
バイナリパッケージ、<prgn>dpkg-gencontrol</prgn> によって
生成されたそれらのコントロールファイル以外のファイルを
含んでいるときは、それらのファイルはパッケージの
トップ階層ディレクトリの親ディレクトリに
置かれなければいけません。そして、
<tt>debian/files</tt> のリストにファイルを
追加するために <prgn>dpkg-distaddfile</prgn> が
呼ばれなければいけません。</p>
</sect1>
<sect1><heading><tt>debian/tmp</tt>
</heading>
<p>
<!-- ORIG
This is the canonical temporary location for the
construction of binary packages by the <prgn>binary</prgn>
target. The directory <tt>tmp</tt> serves as the root of
the filesystem tree as it is being constructed (for
example, by using the package's upstream makefiles install
targets and redirecting the output there), and it also
contains the <tt>DEBIAN</tt> subdirectory. See <ref
id="bincreating">.
ORIG -->
<prgn>binary</prgn> ターゲットによってバイナリパッケージを
構築する際に標準的に使用される一時的ディレクトリです。
パッケージ構築の際は、<tt>tmp</tt> ディレクトリが
ファイルシステムツリーのルートになります。
(例えば、パッケージに付属する makefile の install
ターゲットを使用するときや、出力をリダイレクトする
場合です)。また、<tt>DEBIAN</tt> サブディレクトリを
含みます。<ref id="bincreating"> をご覧ください。
</p>
<p>
<!-- ORIG
If several binary packages are generated from the same
source tree it is usual to use several
<tt>debian/tmp<var>something</var></tt> directories, for
example <tt>tmp-a</tt> or <tt>tmp-doc</tt>.
ORIG -->
同じソースツリーから複数のバイナリパッケージが生成される
ときは、通常、複数の
<tt>debian/tmp<var>something</var></tt>
ディレクトリを使用します。例えば、<tt>tmp-a</tt> や
<tt>tmp-doc</tt> といった具合です。
</p>
<p>
<!-- ORIG
Whatever <tt>tmp</tt> directories are created and used by
<prgn>binary</prgn> must of course be removed by the
<prgn>clean</prgn> target.</p></sect1>
ORIG -->
<prgn>binary</prgn> によって、どんな <tt>tmp</tt>
ディレクトリが作成されたとしても、もちろん、
<prgn>clean</prgn> ターゲットによって削除されなければ
いけません。</p></sect1>
</sect>
<!-- ORIG
<sect id="sourcearchives"><heading>Source packages as archives
ORIG -->
<sect id="sourcearchives"><heading>アーカイブとしてのソースファイル
</heading>
<p>
<!-- ORIG
As it exists on the FTP site, a Debian source package
consists of three related files. You must have the right
versions of all three to be able to use them.
ORIG -->
FTP サイトにおいてある様に、Debian ソースパッケージは
3つの関連したファイルから成ります。これら3つのファイルは、
正しいバージョンのものを入手しないと利用することが出来ません。
</p>
<p>
<taglist>
<!-- ORIG
<tag>Debian source control file - <tt>.dsc</tt></tag>
ORIG -->
<tag>Debian ソース管理ファイル - <tt>.dsc</tt></tag>
<item>
<p>
<!-- ORIG
This file contains a series of fields, identified and
separated just like the fields in the control file of
a binary package. The fields are listed below; their
syntax is described above, in <ref id="controlfields">.
ORIG -->
このファイルは一連のフィールドを含んでいて、
各フィールドはバイナリパッケージの管理ファイルと
同様に識別され分離されています。それぞれのフィールドの
構文は <ref id="controlfields"> で述べられています。
<list compact="compact">
<item>
<p><qref id="f-Source"><tt>Source</tt></qref></p>
</item>
<item>
<p><qref id="versions"><tt>Version</tt></qref></p>
</item>
<item>
<p><qref id="f-Maintainer"><tt>Maintainer</tt></qref></p>
</item>
<item>
<p><qref id="f-Binary"><tt>Binary</tt></qref></p>
</item>
<item>
<p><qref id="f-Architecture"><tt>Architecture</tt></qref></p>
</item>
<item>
<p>
<qref id="f-Standards-Version"><tt>Standards-Version</tt></qref></p>
</item>
<item>
<p><qref id="f-Files"><tt>Files</tt></qref></p>
</item>
</list>
<p>
<!-- ORIG
The source package control file is generated by
<prgn>dpkg-source</prgn> when it builds the source
archive, from other files in the source package,
described above. When unpacking it is checked against
the files and directories in the other parts of the
source package, as described below.</p>
ORIG -->
ソースパッケージ管理ファイルは、ソースアーカイブ
構築時にソースパッケージの他のファイルから
<prgn>dpkg-source</prgn> によって作られます。
ソースパッケージのアンパック時には、ソースアーカイブの
他の2つの部分に含まれるファイルやディレクトリとの
チェックが行なわれます。</p>
</item>
<tag>
<!-- ORIG
Original source archive -
ORIG -->
オリジナルソースアーカイブ -
<tt>
<var>package</var>_<var>upstream-version</var>.orig.tar.gz
</tt>
</tag>
<item>
<p>
<!-- ORIG
This is a compressed (with <tt>gzip -9</tt>)
<prgn>tar</prgn> file containing the source code from
the upstream authors of the program. The tarfile
unpacks into a directory
<tt><var>package</var>-<var>upstream-version</var>.orig</tt>,
and does not contain files anywhere other than in
there or in its subdirectories.</p>
ORIG -->
このファイルは、プログラムの上流の作者からの
ソースコードを含む <prgn>tar</prgn> ファイル
(<tt>gzip -9</tt> されている)です。
この tar ファイルは
<tt><var>package</var>-<var>upstream-version</var>.orig</tt>
というディレクトリ以下に展開されます。
それ以外の場所に展開されるようなファイルは
入っていません。</p>
</item>
<tag>
<!-- ORIG
Debianisation diff -
ORIG -->
Debian 化の diff -
<tt>
<var>package</var>_<var>upstream_version-revision</var>.diff.gz
</tt>
</tag>
<item>
<p>
<!-- ORIG
This is a unified context diff (<tt>diff -u</tt>)
giving the changes which are required to turn the
original source into the Debian source. These changes
may only include editing and creating plain files.
The permissions of files, the targets of symbolic
links and the characteristics of special files or
pipes may not be changed and no files may be removed
or renamed.
ORIG -->
このファイルは、オリジナルソースを Debian ソースに
変換するのに必要な変更を行なうための
unified context diff (<tt>diff -u</tt>) です。
プレインファイルの編集や作成といった変更のみを
含むことが出来ます。ファイルのパーミッション、
シンボリックリンク先、特殊ファイルやパイプの
特性の変更は出来ません。またファイルの移動や
名前変更も出来ません。
</p>
<p>
<!-- ORIG
All the directories in the diff must exist, except the
<tt>debian</tt> subdirectory of the top of the source
tree, which will be created by
<prgn>dpkg-source</prgn> if necessary when unpacking.
ORIG -->
diff に含まれるディレクトリは、ソースツリーのトップに
ある <tt>debian</tt> ディレクトリ以外は前もって
存在していないといけません。<tt>debian</tt>
ディレクトリは、アンパック時に必要な場合は
<prgn>dpkg-source</prgn> によって作られます。
</p>
<p>
<!-- ORIG
The <prgn>dpkg-source</prgn> program will
automatically make the <tt>debian/rules</tt> file
executable (see below).</p></item>
ORIG -->
<prgn>dpkg-source</prgn> は <tt>debian/rules</tt>
という実行ファイルを自動的に作ります
(下を参照)。</p></item>
</taglist>
<p>
<!-- ORIG
If there is no original source code - for example, if the
package is specially prepared for Debian or the Debian
maintainer is the same as the upstream maintainer - the
format is slightly different: then there is no diff, and the
tarfile is named
<tt><var>package</var>_<var>version</var>.tar.gz</tt> and
contains a directory
<tt><var>package</var>-<var>version</var></tt>.
ORIG -->
オリジナルのソースコードがない場合 - 例えば、パッケージが
Debian のために特別に用意されたものだったり、
Debian maintainer が上流の maintainer でもある場合 - は、
構成が少し違います。diff ファイルは無く、tar ファイルは
<tt><var>package</var>_<var>version</var>.tar.gz</tt>
という名前で
<tt><var>package</var>-<var>version</var></tt>
というディレクトリを含むものになります。
</p>
</sect>
<!-- ORIG
<sect><heading>Unpacking a Debian source package without
<prgn>dpkg-source</prgn>
ORIG -->
<sect><heading><prgn>dpkg-source</prgn> を使わない Debian
ソースパッケージのアンパック
</heading>
<p>
<!-- ORIG
<tt>dpkg-source -x</tt> is the recommended way to unpack a
Debian source package. However, if it is not available it
is possible to unpack a Debian source archive as follows:
ORIG -->
Debian ソースパッケージのアンパックには
<tt>dpkg-source -x</tt> がお勧めです。しかし、それが
出来ない場合には次のような方法でアンパック出来ます。
<enumlist compact="compact">
<item>
<p>
<!-- ORIG
Untar the tarfile, which will create a <tt>.orig</tt>
directory.</p>
ORIG -->
tar ファイルを展開し、<tt>.orig</tt> ディレクトリを
作ります。</p>
</item>
<item>
<!-- ORIG
<p>Rename the <tt>.orig</tt> directory to
<tt><var>package</var>-<var>version</var></tt>.</p>
ORIG -->
<p><tt>.orig</tt> ディレクトリの名前を
<tt><var>package</var>-<var>version</var></tt> に
変えます。</p>
</item>
<item>
<p>
<!-- ORIG
Create the subdirectory <tt>debian</tt> at the top of
the source tree.</p>
ORIG -->
<tt>debian</tt> ディレクトリをソースツリーのトップに
作ります。</p>
</item>
<!-- ORIG
<item><p>Apply the diff using <tt>patch -p0</tt>.</p>
ORIG -->
<item><p>diff を <tt>patch -p0</tt> として適用します。</p>
</item>
<!-- ORIG
<item><p>Untar the tarfile again if you want a copy of the original
source code alongside the Debianised version.</p>
ORIG -->
<item><p>Debian 化されたバージョンと一緒にオリジナルの
ソースコードも欲しい場合は、tar ファイルをもう一度
展開します。</p>
</item>
</enumlist>
<p>
<!-- ORIG
It is not possible to generate a valid Debian source archive
without using <prgn>dpkg-source</prgn>. In particular,
attempting to use <prgn>diff</prgn> directly to generate the
<tt>.diff.gz</tt> file will not work.
ORIG -->
<prgn>dpkg-source</prgn> を使わずに正当な Debian
ソースアーカイブを作ることは出来ません。特に、
<tt>.diff.gz</tt> ファイルを作るのに <prgn>diff</prgn> を
直接使おうとしてもうまくいかないでしょう。
</p>
<!-- ORIG
<sect1><heading>Restrictions on objects in source packages
ORIG -->
<sect1><heading>ソースパッケージに含まれるものに対する制限
</heading>
<p>
<!-- ORIG
The source package may not contain any hard links
<footnote>
<p>
This is not currently detected when building source
packages, but only when extracting
them.
</p>
</footnote>
<footnote>
<p>
Hard links may be permitted at some point in the
future, but would require a fair amount of
work.
</p>
</footnote>, device special files, sockets or setuid or
setgid files.
<footnote>
<p>
Setgid directories are allowed.
</p>
</footnote>
ORIG -->
ソースパッケージには、ハードリンク
<footnote>
<p>
現在、ソースパッケージの構築中にハードリンクは
検出されませんが、ソースパッケージの展開時にのみ
検出されます。
</p>
</footnote>
<footnote>
<p>
将来、ハードリンクが認められるかもしれませんが、
それにはとても多くの作業が必要となります。
</p>
</footnote>、
デバイスファイル、ソケットファイル、及び setuid や setgid
されたファイルが含まれていてはいけません。
<footnote>
<p>
setgid されたディレクトリーは認められています。
</p>
</footnote>
</p>
<p>
<!-- ORIG
The source packaging tools manage the changes between the
original and Debianised source using <prgn>diff</prgn> and
<prgn>patch</prgn>. Turning the original source tree as
included in the <tt>.orig.tar.gz</tt> into the debianised
source must not involve any changes which cannot be
handled by these tools. Problematic changes which cause
<prgn>dpkg-source</prgn> to halt with an error when
building the source package are:
ORIG -->
ソースパッケージングツールは <prgn>diff</prgn> と
<prgn>patch</prgn> を用いてオリジナルのソースと
Debian 化されたソースの間の変更を処理します。
<tt>.orig.tar.gz</tt> に含まれたオリジナルのソースツリーを
Debian 化されたソースにするのに、これらのツールで
処理出来ないような変更を伴ってはいけません。
ソースパッケージを構築する時に <prgn>dpkg-source</prgn> が
エラーで停止してしまうような問題のある変更は次の通りです。
<!-- ORIG
<list compact="compact">
<item><p>Adding or removing symbolic links, sockets or pipes.</p>
</item>
<item><p>Changing the targets of symbolic links.</p>
</item>
<item><p>Creating directories, other than <tt>debian</tt>.</p>
</item>
<item><p>Changes to the contents of binary files.</p></item>
</list> Changes which cause <prgn>dpkg-source</prgn> to
print a warning but continue anyway are:
ORIG -->
<list compact="compact">
<item><p>シンボリックリンク、ソケット、パイプの追加や削除。</p>
</item>
<item><p>シンボリックリンク先の変更。</p>
</item>
<item><p><tt>debian</tt> ディレクトリ以外の
ディレクトリの作成。</p>
</item>
<item><p>バイナリファイルの内容に対する変更。</p></item>
</list>
ソースパッケージを構築する時に、<prgn>dpkg-source</prgn>が
警告を表示し、処理は継続するような問題のある変更は次の
通りです。
<list compact="compact">
<item>
<p>
<!-- ORIG
Removing files, directories or symlinks.
<footnote>
<p>
Renaming a file is not treated specially - it is
seen as the removal of the old file (which
generates a warning, but is otherwise ignored),
and the creation of the new
one.</p>
</footnote>
ORIG -->
ファイル、ディレクトリ、シンボリックリンクの削除。
<footnote>
<p>
ファイル名の変更については特別扱いしません。
つまり、古いファイルの削除
(dpkg-source によって警告が発せられるか、
そうでなければ無視されます。)と
新しいファイルの作成として扱われます。</p>
</footnote>
</p>
</item>
<item>
<p>
<!-- ORIG
Changed text files which are missing the usual final
newline (either in the original or the modified
source tree).
ORIG -->
通常の最後の改行が (オリジナル及び修正版のどちらの
ソースツリーにも) ない変更されたテキストファイル。
</p>
</item>
</list>
<!-- ORIG
Changes which are not represented, but which are not detected by
<prgn>dpkg-source</prgn>, are:
ORIG -->
指摘されないが、<prgn>dpkg-source</prgn> によって
検出されない変更は次の通りです。
<list compact="compact">
<!-- ORIG
<item><p>Changing the permissions of files (other than
<tt>debian/rules</tt>) and directories.</p></item>
ORIG -->
<item><p>(<tt>debian/rules</tt> 以外の)ファイルや
ディレクトリのパーミッションの変更。</p></item>
</list>
</p>
<p>
<!-- ORIG
The <tt>debian</tt> directory and <tt>debian/rules</tt>
are handled specially by <prgn>dpkg-source</prgn> - before
applying the changes it will create the <tt>debian</tt>
directory, and afterwards it will make
<tt>debian/rules</tt> world-exectuable.
ORIG -->
<tt>debian</tt> ディレクトリと <tt>debian/rules</tt> は
<prgn>dpkg-source</prgn> によって別々に処理されます
- 変更を行なう前に <tt>debian</tt> ディレクトリを作成し、
その後 <tt>debian/rules</tt> を誰もが実行できるように
します。
</p>
</sect1>
</sect>
</chapt>