[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Debian JP master SVN www commits (rev.1180)
=======================================================
Repository: /org/svn.debian.or.jp/repos
Revision: 1180
Commiter: iwamatsu
Date: 2011-07-05 12:28:45 +0900 (火, 05 7月 2011)
=======================================================
Log:
Update html of policy
=======================================================
Changed:
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-binarypkg.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-conffiles.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-controlfields.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-scope.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-sourcepkg.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-archive.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-binary.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-controlfields.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-customized-programs.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-docs.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-files.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-maintainerscripts.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-opersys.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-relationships.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-sharedlibs.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-source.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/footnotes.tt2
U www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/index.tt2
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-binarypkg.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-binarypkg.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-binarypkg.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -152,13 +152,13 @@
</p>
<p>
-パッケージ制御エリアにそれ以外のファイルを入れることはできますが、あまりいい考えではありません
+パッケージ制御情報ファイルエリアにそれ以外のファイルを入れることはできますが、あまりいい考えではありません
(もっとも、それらは通常無視されますが)。
</p>
<p>
ここで、<code>dpkg</code>
-がサポートする制御情報ファイルの簡単なリストとそれらが何に使われるかについての概要を挙げておきます。
+がサポートする制御情報ファイルの簡単なリストと、それらが何に使われるかについての概要を挙げておきます。
</p>
<dl>
<dt><samp>control</samp></dt>
@@ -203,7 +203,7 @@
</p>
<p>
-管理スクリプトは制御端末で実行されることが保証されており、ユーザと対話することができます。
+管理スクリプトは制御端末で実行されることが保証されておらず、ユーザと対話することができないかもしれません。
<a
href="ch-maintainerscripts.html#s-controllingterminal">メンテナスクリプトからのターミナルの制御,
Section 6.3</a> を参照ください。
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-conffiles.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-conffiles.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-conffiles.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -64,7 +64,7 @@
<p>
パッケージに は、<code>conffiles</code>
-と呼ばれるコントロールファイルを含めることができます。
+と呼ばれる制御情報ファイルを含めることができます。
このファイルは、自動操作を必要とする設定ファイル名一覧です。
設定ファイル名は、一行につきひとつのファイルを絶対パスで書かれていなければいけません。
また、参照されるファイルはパッケージ中に含まれていなければいけません。
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-controlfields.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-controlfields.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-controlfields.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -141,7 +141,7 @@
<dd>
<p>
パッケージバージョンの Debian
-バージョンの部分は、以前はコントロールファイル中の分離された一つのフィールドでした。
+バージョンの部分は、以前は独立のコントロールフィールドでした。
このフィールドは、このようにいくつかの名前で実装されていました。
</p>
</dd>
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-scope.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-scope.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-scope.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -69,7 +69,7 @@
<p>
<code>dpkg</code> はバイナリファイルを作成し、Unix
システムにそれをインストールしたり削除したりするための一群のプログラム [<a
-href="footnotes.html#f99" name="fr99">99</a>]です。
+href="footnotes.html#f106" name="fr106">106</a>]です。
</p>
<p>
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-sourcepkg.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-sourcepkg.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ap-pkg-sourcepkg.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -167,14 +167,14 @@
<p>
このプログラムは通常ソースツリーのトップレベルで <code>debian/rules</code> (<a
-href="#s-pkg-sourcetree">Debian 化されたソースツリー, Section
+href="#s-pkg-sourcetree">Debian パッケージソースツリー, Section
C.2</a>を見て下さい) から呼び出されます。
</p>
<p>
これは通常、パッケージが構築されている一時的なディレクトリツリー中のファイルやディレクトリの許可属性や所有権を設定したあと、パッケージが
-<code>dpkg-deb</code> を用いて構築される直前に [<a href="footnotes.html#f100"
-name="fr100">100</a>] 行なわれます
+<code>dpkg-deb</code> を用いて構築される直前に [<a href="footnotes.html#f107"
+name="fr107">107</a>] 行なわれます
</p>
<p>
@@ -223,14 +223,14 @@
<p>
通常、このプログラムは <code>dpkg-gencontrol</code> (<a
-href="#s-pkg-sourcetree">Debian 化されたソースツリー, Section C.2</a> を参照)
+href="#s-pkg-sourcetree">Debian パッケージソースツリー, Section C.2</a> を参照)
の直前に、ソースツリーのトップレベルで <code>debian/rules</code>
から呼ばれます。
</p>
<p>
このプログラムの引数は、バイナリパッケージのコントロールファイルに共有ライブラリの依存関係を含める必要のある実行形式および共有ライブラリ
-[<a href="footnotes.html#f101" name="fr101">101</a>] です。
+[<a href="footnotes.html#f108" name="fr108">108</a>] です。
</p>
<p>
@@ -254,8 +254,8 @@
例えば、依存関係を必要 (depend) とする主要部と、依存関係として
"Recommendation"
のみを必要とするオプション部を生成するパッケージでは、これらの二種類の依存関係を二つの異なったフィールドとして分離します
-[<a href="footnotes.html#f102"
-name="fr102">102</a>]。この場合、<code>debian/rules</code>
+[<a href="footnotes.html#f109"
+name="fr109">109</a>]。この場合、<code>debian/rules</code>
では以下のように書きます。
</p>
@@ -366,18 +366,19 @@
<hr>
-<h3><a name="s-pkg-sourcetree"></a>C.2 Debian 化されたソースツリー</h3>
+<h3><a name="s-pkg-sourcetree"></a>C.2 Debian パッケージソースツリー</h3>
<p>
以降で述べるソースアーカイブの構成は、関連した制御情報をもつ Debian
-化されたソースツリーが容易に再現され輸送されるようにすることを意図したものになっています。
-Debian 化されたソースツリーは、オリジナルのプログラムに Debian
-化の工程の為のファイルを付け、残りのソースコードとインストールスクリプトに必要な変更を加えたものです。
+パッケージソースツリーが容易に再現され、容易に持ち運べるようにすることを意図したものになっています。
+Debian
+パッケージソースツリーは、オリジナルのプログラムにパッケージ化の工程の為のファイルを付け、
+残りのソースコードとインストールスクリプトに必要な変更を加えたものです。
</p>
<p>
Debian のために作られた特別なファイルは、 Debian
-化されたソースツリーのトップレベルの <code>debian</code>
+パッケージソースツリーのトップレベルの <code>debian</code>
ディレクトリに置かれます。
</p>
@@ -402,150 +403,16 @@
<hr>
-<h4><a name="s-pkg-dpkgchangelog"></a>C.2.3 <code>debian/changelog</code></h4>
+<h4><a name="s-pkg-srcsubstvars"></a>C.2.3 <code>debian/substvars</code> と変数の置換</h4>
<p>
-<a href="ch-source.html#s-dpkgchangelog">Debian changelog:
-<code>debian/changelog</code>, Section 4.4</a> を参照ください。
-</p>
-
-<hr>
-
-<h5><a name="sC.2.3.1"></a>C.2.3.1 changelog の別書式の定義</h5>
-
-<p>
-使用したい書式のパーザを用意することで、標準的でない書式を使用することが可能です。
-</p>
-
-<p>
-<samp>dpkg-parsechangelog</samp>
-にそのパーザを実行させるためには、そのファイルの最後の 40 行のある行を Perl
-の正規表現でマッチさせなければいけません:
-<samp>\schangelog-format:\s+([0-9a-z]+)\W</samp>
-かっこ内はフォーマット名でなければいけません。 例えば、以下のようなものです。
-</p>
-
-<pre>
- @@@ changelog-format: joebloggs @@@
-</pre>
-
-<p>
-changelog 書式名は空文字でない英数字の文字列となります。
-</p>
-
-<p>
-もしそのような行があった場合、<samp>dpkg-parsechangelog</samp>
-は、<code>/usr/lib/dpkg/parsechangelog/<var>format-name</var></code>
-か、<code>/usr/local/lib/dpkg/parsechangelog/<var>format-name</var></code>
-にパーザを探しにいきます。
-それが見つからない場合や実行形式のプログラムでなかった場合はエラーになります。
-デフォルトのchangelog 書式は <samp>dpkg</samp> で、そのパーザは
-<samp>dpkg</samp> パッケージに収録されています。
-</p>
-
-<p>
-パーザはファイルの最初に changelog が標準入力でオープンされた時に実行されます。
-そして、必要な情報を決定するためにファイルを読みこみ
-(場合によってはファイルを探しもします)、
-標準的な書式で一連の制御フィールドを標準出力にパース出力します。 デフォルトでは
-changelog
-中に記載されている最新のバージョンのみの情報を出力しなければいけません。
-<samp>-v<var>version</var></samp>
-オプションによって、正確にそのバージョン以降のすべての変更情報を出力しなければいけません。
-この場合、changelog に <var>version</var>
-存在していなかったら、エラーにしなければ <em>いけません</em>。
-</p>
-
-<p>
-利用可能なフィールドを以下に示します。
-</p>
-<ul>
-<li>
-<p>
-<a href="ch-controlfields.html#s-f-Source"><samp>Source</samp></a>
-</p>
-</li>
-<li>
-<p>
-<a href="ch-binary.html#s-versions"><samp>Version</samp></a> (必須)
-</p>
-</li>
-<li>
-<p>
-<a href="ch-controlfields.html#s-f-Distribution"><samp>Distribution</samp></a>
-(必須)
-</p>
-</li>
-<li>
-<p>
-<a href="ch-controlfields.html#s-f-Urgency"><samp>Urgency</samp></a> (必須)
-</p>
-</li>
-<li>
-<p>
-<a href="ch-controlfields.html#s-f-Maintainer"><samp>Maintainer</samp></a>
-(必須)
-</p>
-</li>
-<li>
-<p>
-<a href="ch-controlfields.html#s-f-Date"><samp>Date</samp></a>
-</p>
-</li>
-<li>
-<p>
-<a href="ch-controlfields.html#s-f-Changes"><samp>Changes</samp></a> (必須)
-</p>
-</li>
-</ul>
-
-<p>
-(<samp>-v</samp> の使用によって)
-いくつかのバージョンに関する値が返されたとき、urgency
-の値は、すべてのバージョンの中で一番高い urgency の値になります。 maintainer と
-version、distribution、date は常に 最新のバージョンのものとなります。
-</p>
-
-<p>
-<samp>Changes</samp> フィールドの書式については、 <a
-href="ch-controlfields.html#s-f-Changes"><samp>Changes</samp>, Section
-5.6.18</a> をご覧ください。
-</p>
-
-<p>
-パースされた changelog フォーマットがすべて、またはほとんどすべてのそれぞれの
-change
-項目間の空行が残されているときは、出力結果を小さくするために、それらの空行は削除しておくべきです。
-</p>
-
-<p>
-changelog
-フォーマットが日付やパッケージ名に関する情報を含んでいないときは、これらの情報は出力から削除されなければなりません。
-パーザはそれらの情報を調合してはいけません。
-または、他のソースからそれらの情報を見つけてきてはいけません。
-</p>
-
-<p>
-changelog
-中の書式が、予期したものではないときは、混乱したままパースを試みて多分に不正確な出力を生成するよりは、非ゼロの終了状態で終了すべきです。
-</p>
-
-<p>
-changelog パーザはユーザとの対話的処理を一切行ってはなりません。
-</p>
-
-<hr>
-
-<h4><a name="s-pkg-srcsubstvars"></a>C.2.4 <code>debian/substvars</code> と変数の置換</h4>
-
-<p>
<a href="ch-source.html#s-substvars">変数置換: <code>debian/substvars</code>,
Section 4.10</a> を参照ください。
</p>
<hr>
-<h4><a name="sC.2.5"></a>C.2.5 <code>debian/files</code></h4>
+<h4><a name="sC.2.4"></a>C.2.4 <code>debian/files</code></h4>
<p>
<a href="ch-source.html#s-debianfiles"><code>debian/files</code>, Section
@@ -554,7 +421,7 @@
<hr>
-<h4><a name="sC.2.6"></a>C.2.6 <code>debian/tmp</code></h4>
+<h4><a name="sC.2.5"></a>C.2.5 <code>debian/tmp</code></h4>
<p>
<samp>binary</samp>
@@ -610,7 +477,7 @@
</dd>
</dl>
<dl>
-<dt>Debian 化に伴う diff ファイル <code><var>package</var>_<var>upstream_version-revision</var>.diff.gz</code></dt>
+<dt>Debian パッケージの diff ファイル <code><var>package</var>_<var>upstream_version-revision</var>.diff.gz</code></dt>
<dd>
<p>
このファイルは、オリジナルソースを Debian
@@ -694,18 +561,18 @@
<h4><a name="sC.4.1"></a>C.4.1 ソースパッケージに含まれるものに対する制限</h4>
<p>
-ソースパッケージには、ハードリンク [<a href="footnotes.html#f103"
-name="fr103">103</a>] [<a href="footnotes.html#f104" name="fr104">104</a>]
+ソースパッケージには、ハードリンク [<a href="footnotes.html#f110"
+name="fr110">110</a>] [<a href="footnotes.html#f111" name="fr111">111</a>]
デバイスファイル、ソケットファイル、及び setuid や setgid されたファイル [<a
-href="footnotes.html#f105" name="fr105">105</a>] が含まれていてはいけません。
+href="footnotes.html#f112" name="fr112">112</a>] が含まれていてはいけません。
</p>
<p>
ソースパッケージングツールは <code>diff</code> と <code>patch</code>
を用いてオリジナルのソースと Debian
-化されたソースの間の変更を処理します。<code>.orig.tar.gz</code>
+パッケージソースの間の変更を処理します。<code>.orig.tar.gz</code>
に含まれたオリジナルのソースツリーを Debian
-化されたソースにするのに、これらのツールで処理出来ないような変更を伴ってはいけません。
+パッケージのソースにするために、これらのツールで処理出来ないような変更を伴ってはいけません。
ソースパッケージを構築する時に <code>dpkg-source</code>
エラーで停止してしまうような問題のある変更は次の通りです。
</p>
@@ -739,8 +606,8 @@
<ul>
<li>
<p>
-ファイル、ディレクトリ、シンボリックリンクの削除 [<a href="footnotes.html#f106"
-name="fr106">106</a>] 。
+ファイル、ディレクトリ、シンボリックリンクの削除 [<a href="footnotes.html#f113"
+name="fr113">113</a>] 。
</p>
</li>
<li>
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-archive.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-archive.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-archive.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -101,7 +101,7 @@
「フリーソフトウェア」であると考えるソフトウェアの定義です。
</p>
<dl>
-<dt>自由な再配布</dt>
+<dt>1. 自由な再配布</dt>
<dd>
<p>
Debian を構成する個々の部分要素 (パッケージなど)
@@ -112,7 +112,7 @@
</dd>
</dl>
<dl>
-<dt>ソースコード</dt>
+<dt>2. ソースコード</dt>
<dd>
<p>
プログラムはソースコードを含んでいなければならず、コンパイル済み形式の配布だけでなくソースコードの配布も許可しなければなりません。
@@ -120,7 +120,7 @@
</dd>
</dl>
<dl>
-<dt>派生物作成の許諾</dt>
+<dt>3. 派生物作成の許諾</dt>
<dd>
<p>
ライセンスはソフトウェアの変更、およびその派生物の作成を許可しなければなりません。
@@ -129,7 +129,7 @@
</dd>
</dl>
<dl>
-<dt>作者のソースコードへの変更の制限と配布条件</dt>
+<dt>4. 作者のソースコードへの変更の制限と配布条件</dt>
<dd>
<p>
プログラムをビルドする際に、ソースコードを変更するための
@@ -143,7 +143,7 @@
</dd>
</dl>
<dl>
-<dt>個人ないし団体に対する排斥の禁止</dt>
+<dt>5. 個人ないし団体に対する排斥の禁止</dt>
<dd>
<p>
ライセンスは、いかなる個人ないし個人からなる団体に対しても差別をしてはなりません。
@@ -151,7 +151,7 @@
</dd>
</dl>
<dl>
-<dt>使用分野に対する排斥の禁止</dt>
+<dt>6. 使用分野に対する排斥の禁止</dt>
<dd>
<p>
ライセンスは誰に対しても、プログラムをある特定の分野で使用することを制限してはなりません。
@@ -160,7 +160,7 @@
</dd>
</dl>
<dl>
-<dt>ライセンスの配布時の均一性</dt>
+<dt>7. ライセンスの配布時の均一性</dt>
<dd>
<p>
プログラムに付属する諸権利は、そのプログラムが再配布されるすべての人びとに、その人びとによるライセンスの追加条項の履行を必要とせずに適用されなければなりません。
@@ -168,7 +168,7 @@
</dd>
</dl>
<dl>
-<dt>ライセンスは Debian においてのみ適用されるものであってはならない</dt>
+<dt>8. ライセンスは Debian においてのみ適用されるものであってはならない</dt>
<dd>
<p>
プログラムに付属する諸権利は、そのプログラムがある Debian
@@ -180,7 +180,7 @@
</dd>
</dl>
<dl>
-<dt>ライセンスは他のソフトウェアに影響を及ぼしてはならない</dt>
+<dt>9. ライセンスは他のソフトウェアに影響を及ぼしてはならない</dt>
<dd>
<p>
ライセンスはそのライセンスが適用されたソフトウェアと一緒に配布される他のソフトウェアに制限を設けてはなりません。
@@ -189,7 +189,7 @@
</dd>
</dl>
<dl>
-<dt>ライセンスの例</dt>
+<dt>10. ライセンスの例</dt>
<dd>
<p>
「GPL」、「BSD」、「Artistic」ライセンスなどが 私たちが <em>フリー</em>
@@ -309,7 +309,7 @@
<h3><a name="s-pkgcopyright"></a>2.3 著作権に関する考慮</h3>
<p>
-全てのパッケージは、その著作権や配布ライセンスの無修正のコピーを
+全てのパッケージは、その著作権情報や配布ライセンスの無修正のコピーを
<code>/usr/share/doc/<var>package</var>/copyright</code>
ファイルとして同封して配布されなければなりません (詳細は <a
href="ch-docs.html#s-copyrightfile">著作権関連情報, Section 12.5</a>
@@ -430,9 +430,17 @@
<em>php</em>, <em>python</em>, <em>ruby</em>, <em>science</em>,
<em>shells</em>, <em>sound</em>, <em>tex</em>, <em>text</em>, <em>utils</em>,
<em>vcs</em>, <em>video</em>, <em>web</em>, <em>x11</em>, <em>xfce</em>,
-<em>zope</em>.
+<em>zope</em> さらに追加の <em>debian-installer</em>
+セクションがあり、そこにはインストーラで利用し通常の Debian
+パッケージでは使わないような、特殊なパッケージが収録されています。
</p>
+<p>
+セクションとその定義については、 <code><a
+href="http://packages.debian.org/unstable/">list of sections in
+unstable</a></code> を参照ください。
+</p>
+
<hr>
<h3><a name="s-priorities"></a>2.5 プライオリティ</h3>
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-binary.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-binary.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-binary.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -44,6 +44,34 @@
<samp>.deb</samp>ファイル形式で提供されなければなりません。
</p>
+<p>
+<samp>.deb</samp> パッケージは二つのファイルの集合が含まれます。
+パッケージインストールの際にシステムにインストールされる一連のファイル群と、
+パッケージに対する追加のメタデータの提供や、パッケージインストールや削除の際に実行するための一連のファイル群です。
+二番目のファイル群を <em>制御情報ファイル</em> と呼びます。
+これらのファイルには、パッケージメンテナスクリプトや <code>control</code>
+ファイル、パッケージのコントロールフィールドを収録した <a
+href="ch-controlfields.html#s-binarycontrolfiles">バイナリパッケージコントロールファイル</a>
+などがあります。その他の制御情報ファイルには、共有ライブラリの依存情報を格納するのに用いる
+<a href="ch-sharedlibs.html#s-sharedlibs-shlibdeps"><code>shlibs</code>
+ファイル</a> や、パッケージ設定ファイルを列挙した <code>conffiles</code> (<a
+href="ch-files.html#s-config-files">設定ファイル, Section 10.7</a> で詳説)
+などがあります。
+</p>
+
+<p>
+制御情報ファイル群と、Debian
+コントロールファイルフォーマット間に残念ながら用語の衝突があります。
+この文書では、<em>コントロールファイル (control file)</em> は Debian
+コントロールファイルフォーマットにそったファイルを指します。
+それらファイルについては <a href="ch-controlfields.html">コントロールファイル
+(Control) とそのフィールド, Chapter 5</a> で文書化されています。
+<em>制御情報ファイル</em>
+として参照されるファイルとは、バイナリパッケージで利用される <code>.deb</code>
+ファイルフォーマットの制御情報ファイルのメンバとして含まれているもののみです。
+殆どの制御情報ファイルは、Debian 制御情報ファイル形式ではありません。
+</p>
+
<hr>
<h3><a name="s3.1"></a>3.1 パッケージ名</h3>
@@ -54,7 +82,7 @@
</p>
<p>
-パッケージ名は制御フィールド <samp>Package</samp> に含まれます。
+パッケージ名はコントロールフィールド <samp>Package</samp> に含まれます。
また、そのフォーマットは <a
href="ch-controlfields.html#s-f-Package"><samp>Package</samp>, Section
5.6.7</a> で記載されています。 パッケージ名は <samp>.deb</samp>
@@ -66,7 +94,7 @@
<h3><a name="s-versions"></a>3.2 パッケージのバージョン</h3>
<p>
-各パッケージは制御フィールド <samp>Version</samp>
+各パッケージはコントロールフィールド <samp>Version</samp>
にバージョン番号を持ちます。また、そのフォーマットは <a
href="ch-controlfields.html#s-f-Version"><samp>Version</samp>, Section
5.6.12</a> で記載されています。
@@ -92,32 +120,26 @@
<p>
一般的に、Debian パッケージは上流ソースと同じバージョン番号を使うべきです。
-</p>
-
-<p>
-しかし、上流のバージョン番号が日付に基づくような場合 (例えば、開発中の
+しかし、上流のバージョン番号が日付に基づくような場合 (例えば、開発中や
"snapshot" リリースの場合)
-には、パッケージ管理システムはこのようなバージョン番号を epoch
-を使わずに扱うことはできません。 例えば、dpkg は "96May01" を
-"96Dec24" よりも大きいと判断するでしょう。
+には、パッケージ管理システムはこのようなバージョン番号を正しく順序判断することができません。
+例えば、dpkg は "96May01" を "96Dec24"
+よりも大きいと判断するでしょう。
</p>
<p>
そのような場合に、今後の新しい上流バージョンに対して epoch
-を使わなくて済むようにするためには、日付を元にしたバージョン番号部を
-"19960501"、"19961224" といった書式に変更すべきです。
-上流のメンテナに、上流のバージョン番号も変更するようにお願いするかどうかはメンテナの裁量範囲です。
+を使わなくて済むようにするためには、上流のバージョン番号を順序づけが正しく行われるような方法に変更すべきです。
+具体的には、日付を元にしたバージョン番号部を 4 桁の年、 2 桁の月、2
+桁の日で、各部の間に区切り文字を挿入可、と言うように直すべきです。
</p>
<p>
-日付に基づいた、このほかのバージョン番号の書式がパッケージ管理システムによって正しく解析されるなら、そのバージョン番号を変更
-<em>すべきではない</em> ことに注意して下さい。
-</p>
-
-<p>
Debian 固有のパッケージ (つまり、Debian 向けに特別に書かれたパッケージ)
-のバージョン番号に日付を含めるならば、 常に `YYYYMMDD'
-という書式を使うべきです。
+の日付を含んだバージョン番号は、同じ規則に従うべきです。
+日付の各部の間に区切り文字を含めたい場合、ハイフン (<samp>-</samp>)
+は固有パッケージのバージョンには使えないことに注意してください。
+通常は、ピリオド (<samp>.</samp>) が適切です。
</p>
<hr>
@@ -133,7 +155,7 @@
<p>
Debian パッケージのメンテナは各パッケージの <samp>Maintainer</samp>
-制御フィールドに、正しい名前と有効な電子メールアドレスの両方により指定されていなければなりません。
+コントロールフィールドに、正しい名前と有効な電子メールアドレスの両方により指定されていなければなりません。
もしその人がいくつかのパッケージを管理している場合、個々のパッケージの
<samp>Maintainer</samp>
フィールドに異なった形式の名前と電子メールアドレスを記入することは避けるべきです。
@@ -158,8 +180,8 @@
<h3><a name="s-descriptions"></a>3.4 パッケージの説明</h3>
<p>
-全ての Debian
-パッケージには、コントロールファイル中の適切なフィールドに詳細な説明文が記入されていなければなりません。
+全ての Debian パッケージは、パッケージの簡潔な説明文と、やや詳細な説明文を含む
+<samp>Description</samp> フィールドを持たなければなりません。
<samp>Description</samp> フィールドの書式の技術的詳細は <a
href="ch-controlfields.html#s-f-Description"><samp>Description</samp>, Section
5.6.13</a> に記載されています。
@@ -260,7 +282,7 @@
</p>
<p>
-パッケージ相互関係を指定する制御フィールドの書式は <a
+パッケージ相互関係を指定するコントロールフィールドの書式は <a
href="ch-relationships.html">パッケージ間の関連性の宣言, Chapter 7</a>
に記載されています。
</p>
@@ -325,11 +347,11 @@
<h3><a name="s-essential"></a>3.8 Essential パッケージ</h3>
<p>
-Essential
-は、パッケージ群が展開されてはいるが未設定な状態でも、システム上で提供され使用できなければならない最小の機能の集合として定義されています。
-そのようなパッケージには <samp>Essential</samp> 制御ファイルフィールドで
+Essential は、パッケージ群が展開されてはいるが未設定な状態でも、
+システム上で提供され使用できなければならない最小の機能の集合として定義されています。
+そのようなパッケージには <samp>Essential</samp> コントロールフィールドで
<samp>Essential</samp> 指定が付加されています。<samp>Essential</samp>
-制御ファイルフィールドの書式は <a
+コントロールフィールドの書式は <a
href="ch-controlfields.html#s-f-Essential"><samp>Essential</samp>, Section
5.6.9</a> で記載されています。
</p>
@@ -392,6 +414,9 @@
<p>
あるパッケージのメンテナと協議せずに、そのパッケージに属するファイルを置きかえるべく
<code>dpkg-divert</code> を使うべきではありません。
+代替指定を追加あるいは削除する際には、パッケージメンテナスクリプトでは
+<code>dpkg-divert</code> に <samp>--package</samp> フラグを必ずつけ、
+<samp>--local</samp> を使用してはいけません。
</p>
<p>
@@ -417,8 +442,9 @@
</p>
<p>
-Essential パッケージ、または Essential
-パッケージから依存されるパッケージは、その実行時点で上記管理仕様にそったインターフェースが存在しない場合には他のプロンプト表示手段を代替として使用することができます。
+Essential パッケージ、または Essential パッケージから依存されるパッケージは、
+その実行時点で上記管理仕様にそったインターフェースが存在しない場合には、
+他のプロンプト表示手段を代替として使用することができます。
</p>
<p>
@@ -430,14 +456,15 @@
</p>
<p>
-Debian 設定管理仕様を用いるパッケージには、制御アーカイブ [<a
-href="footnotes.html#f10" name="fr10">10</a>] 中に追加で <code>config</code>
-スクリプトと <samp>templates</samp> ファイルを含めることができます。
+Debian 設定管理仕様を用いるパッケージには、制御情報ファイル <code>config</code>
+と <samp>templates</samp> ファイルを含めることができます。 <code>config</code>
+ファイルはパッケージ設定のための追加のメンテナスクリプトで、
+<code>templates</code> にはユーザ問い合わせ用のテンプレートが収録されています。
<code>config</code> は、<code>preinst</code>
の前、かつパッケージがアンパックされる前、かつ 依存関係 (dependency)
および先行依存関係 (pre-dependency) が満たされる前に走ることがありますので、
-<em>Essential</em> パッケージに属するツールのみを [<a href="footnotes.html#f11"
-name="fr11">11</a>] 使う必要があります。
+<em>Essential</em> パッケージに属するツールのみを [<a href="footnotes.html#f10"
+name="fr10">10</a>] 使う必要があります。
</p>
<p>
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-controlfields.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-controlfields.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-controlfields.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -75,6 +75,10 @@
</p>
<p>
+一つの段落に、特定のフィールド名が二回以上現れることは許されません。
+</p>
+
+<p>
多くのフィールドが、複数行で構成されています;
この場合、継続行は、空白かタブで始まらなければ <em>なりません</em>。
フィールドの行の最後に続く空白やタブは全て無視されます。
@@ -249,7 +253,7 @@
<p>
<code>DEBIAN/control</code> ファイルには、バイナリパッケージに関する最も重要な
-(バージョン依存の) 情報が収録されています。
+(バージョン依存の) 情報が収録されています。これは一つの段落からなります。
</p>
<p>
@@ -323,7 +327,7 @@
<h3><a name="s-debiansourcecontrolfiles"></a>5.4 Debian ソースコントロールファイル -- <samp>.dsc</samp></h3>
<p>
-このファイルは、バイナリパッケージのフィールド同様に認識され、分離される一連のフィールドを含みます。
+このファイルは、一つの段落からなり、恐らく PGP 署名で囲われています。
含まれるフィールドを以下に示します。またフィールドの書式は前に <a
href="ap-pkg-controlfields.html">コントロールファイルとそのフィールド (旧
Packaging Manual より), Appendix D</a> で説明されています。
@@ -341,6 +345,16 @@
</li>
<li>
<p>
+<a href="#s-f-Binary"><samp>Binary</samp></a>
+</p>
+</li>
+<li>
+<p>
+<a href="#s-f-Architecture"><samp>Architecture</samp></a>
+</p>
+</li>
+<li>
+<p>
<a href="#s-f-Version"><samp>Version</samp></a> (必須)
</p>
</li>
@@ -356,12 +370,12 @@
</li>
<li>
<p>
-<a href="#s-f-Binary"><samp>Binary</samp></a>
+<a href="#s-f-Homepage"><samp>Homepage</samp></a>
</p>
</li>
<li>
<p>
-<a href="#s-f-Architecture"><samp>Architecture</samp></a>
+<a href="#s-f-Standards-Version"><samp>Standards-Version</samp></a>(推奨)
</p>
</li>
<li>
@@ -372,7 +386,8 @@
</li>
<li>
<p>
-<a href="#s-f-Standards-Version"><samp>Standards-Version</samp></a>(推奨)
+<a href="#s-f-Checksums"><samp>Checksums-Sha1</samp> および
+<samp>Checksums-Sha256</samp></a> (推奨)
</p>
</li>
<li>
@@ -380,11 +395,6 @@
<a href="#s-f-Files"><samp>Files</samp></a> (必須)
</p>
</li>
-<li>
-<p>
-<a href="#s-f-Homepage"><samp>Homepage</samp></a>
-</p>
-</li>
</ul>
<p>
@@ -400,13 +410,20 @@
<p>
<code>.changes</code> ファイルは、パッケージ更新を処理する際に Debian
-アーカイブ管理ソフトウェアによって使用されます。 このファイルには
-<samp>debian/control</samp> と、 <samp>debian/changelog</samp> や
-<samp>debian/rules</samp>
+アーカイブ管理ソフトウェアによって使用されます。
+このファイルは一つの段落からなり、<samp>debian/control</samp> と、
+<samp>debian/changelog</samp> や <samp>debian/rules</samp>
などから抽出したソースパッケージの情報が含まれています。
</p>
<p>
+<code>.changes</code>
+ファイルは、文書化されたフィールドまたはその意味が変更されるたびに +1
+されるフォーマットバージョン番号を持っています。 この文書では、1.8
+フォーマットを記載します。
+</p>
+
+<p>
このファイルのフィールドは以下のものです。
</p>
<ul>
@@ -477,6 +494,12 @@
</li>
<li>
<p>
+<a href="#s-f-Checksums"><samp>Checksums-Sha1</samp> および
+<samp>Checksums-Sha256</samp></a> (推奨)
+</p>
+</li>
+<li>
+<p>
<a href="#s-f-Files"><samp>Files</samp></a> (必須)
</p>
</li>
@@ -549,9 +572,8 @@
アドレスの一覧です。もし、パッケージに <a href="#s-f-Maintainer">Maintainer
フィールド</a> に記載した以外のメンテナがいる場合、その人たちの名前と email
アドレスをここに記載します。
-書式はメンテナタグのものと同じであり、複数のエントリはコンマ ","
-で区切ります。 現時点では、このフィールドはデータ一行のみに制限されています。
-このフィールドはオプションです。
+書式はメンテナフィールドのものと同じであり、複数のエントリはコンマ
+"," で区切ります。 このフィールドはオプションです。
</p>
<p>
@@ -565,8 +587,8 @@
<h4><a name="s-f-Changed-By"></a>5.6.4 <samp>Changed-By</samp></h4>
<p>
-対象となるパッケージを修正した人の名前と電子メールアドレスです。
-通常はメンテナ名です。 メンテナフィールドと同じルールが適用されます。
+この版のパッケージを用意した人、通常はメンテナ、の名前と電子メールアドレスです。
+<a href="#s-f-Maintainer">Maintainer field</a>と同じ書式が適用されます。
</p>
<hr>
@@ -622,7 +644,7 @@
<h4><a name="s-f-Architecture"></a>5.6.8 <samp>Architecture</samp></h4>
<p>
-これまでのコンテキストと、制御ファイルの内容に依存しますが、
+これまでのコンテキストと、コントロールファイルの内容に依存しますが、
<samp>Architecture</samp> は以下の値を取ることができます。
</p>
<ul>
@@ -637,49 +659,58 @@
<ul>
<li>
<p>
-<samp>all</samp>
-これはアーキテクチャに依存しないパッケージであることを示します。
+アーキテクチャワイルドカードは Debian マシンアーキテクチャの集合を指定します。
+<a
+href="ch-customized-programs.html#s-arch-wildcard-spec">アーキテクチャワイルドカード,
+Section 11.1.1</a> を参照ください。 <samp>any</samp> は全ての Debian
+マシンアーキテクチャにマッチし、もっとも良く使われます。
</p>
</li>
</ul>
<ul>
<li>
<p>
-<samp>any</samp>
-これはこのパッケージがどのアーキテクチャでもビルド可能であることを示します。
+<samp>all</samp>
+これはアーキテクチャに依存しないパッケージであることを示します。
</p>
</li>
</ul>
<ul>
<li>
<p>
-<samp>source</samp> ソースパッケージであることを示します。
+<samp>source</samp> 、つまりソースパッケージであることを示します。
</p>
</li>
</ul>
<p>
ソースパッケージの中の、メインの <code>debian/control</code>
-ファイル中では、このフィールドには特別な値 <samp>any</samp> または
-<samp>all</samp>
-か、スペースで区切られた複数のアーキテクチャのリストが許されます。
+ファイル中では、このフィールドには特別な値 <samp>all</samp> または
+特別のアーキテクチャワイルドカード <samp>any</samp>
+か、スペースで区切られた複数のアーキテクチャまたはアーキテクチャワイルドカードのリストが許されます。
<samp>any</samp> または <samp>all</samp>
が記載されている場合、これ以外の値を書くことは許されません。
殆どのパッケージでは、<samp>any</samp> または <samp>all</samp>
のいずれかを使うことになります。
-特定のアーキテクチャのリストを使う場合は例外的で、プログラムに可搬性がないか、一部のアーキテクチャでは役に立たない場合であり、可能な限りプログラムは可搬性を持つように作成すべきです。
-また、
</p>
<p>
+特定のアーキテクチャのリストを使う場合、そのソースからはフィールドに含まれているアーキテクチャのみに依存したパッケージがビルドされることを意味します。
+特定のアーキテクチャのワイルドカードリストを使う場合、そのソースがフィールドにマッチするアーキテクチャのみに依存したパッケージをビルドすることを意味します。
+アーキテクチャのリストや、<samp>any</samp>
+以外のアーキテクチャワイルドカードを使う場合は例外的で、プログラムに可搬性がないか、一部のアーキテクチャでは役に立たない場合です。
+一般的に言って、可能な限りプログラムは可搬性を持つように作成すべきです。
+</p>
+
+<p>
ソースパッケージの中の、ソースパッケージコントロールファイル <code>.dsc</code>
-の中には、特別な値 <samp>any</samp>
-か、スペースで区切られた複数のアーキテクチャのリストを書くことができます。
+の中には、アーキテクチャワイルドカード <samp>any</samp>
+か、スペースで区切られた複数のアーキテクチャまたはアーキテクチャワイルドカードのリストを書くことができます。
リストが記載されている場合、特別な値 <samp>all</samp> (あるいはそれのみ)
を記載することが許されます。言い方を変えれば、<code>.dsc</code> は
<code>debian/control</code> とは異なり、<samp>all</samp>
は他の特定のアーキテクチャとの組み合わせとして記載することが許されています。
-ソースパッケージコントロールファイル中の <code>.dsc</code> の
+ソースパッケージコントロールファイル <code>.dsc</code> 中の
<samp>Architecture</samp> フィールドは、通常はソースパッケージの
<code>debian/control</code> の <samp>Architecture</samp>
フィールドから作成されます。
@@ -701,7 +732,8 @@
</p>
<p>
-アーキテクチャが列挙されている場合、ソースはアーキテクチャ依存としてビルドされることを示しており、列挙されたアーキテクチャでのみ動作します。
+アーキテクチャあるいはアーキテクチャワイルドカードが列挙されている場合、
+ソースはアーキテクチャ依存としてビルドされることを示しており、列挙されているか、あるいはワイルドカードにマッチしたアーキテクチャでのみ動作します。
ソースパッケージから少なくとも一種類のアーキテクチャ非依存のパッケージがビルドされる場合、リストに
<samp>all</samp> を含めてください。
</p>
@@ -713,7 +745,8 @@
があれば、そのパッケージのソースもアップロードされます。
アーキテクチャ非依存のパッケージがアップロードされる場合、<samp>all</samp>
を含めます。<code>.changes</code> ファイルの <samp>Architecture</samp>
-フィールドに <samp>any</samp> が現れてはいけません。
+フィールドに <samp>any</samp>
+などのアーキテクチャワイルドカードが現れてはいけません。
</p>
<p>
@@ -844,8 +877,9 @@
この部分はオプションです。 <var>debian-revision</var> を持たない場合には、
<var>upstream-version</var> はハイフンを含んでいてはいけません。 この
<var>debian-revision</var> を持たない形式のものは Debian
-バイナリパッケージになるように特別に書かれたソフトウェアであることを示しています。
-そのようなソフトウェアの『Debian化』は一つだけですから、レビジョンの追加は必要ありません。
+パッケージとして特別に書かれたソフトウェアであることを示しています。
+その場合、Debian
+パッケージソースは元のソースと常に同一の筈ですから、レビジョンの追加は必要ありません。
</p>
<p>
@@ -908,11 +942,9 @@
それをうまく扱えるようにするためだということに注意してください。
パッケージ管理システムが解釈することのできない文字 (<samp>ALPHA</samp> や
<samp>pre-</samp> など)
-から成る文字列を含むバージョン番号や、思慮の浅い順序付け
-(このマニュアルの著者は、<samp>1.1</samp>、<samp>1.2</samp>、<samp>1.3</samp>、
-<samp>1</samp>、<samp>2.1</samp>、<samp>2.2</samp>、<samp>2</samp>
-とバージョンが進んでいったパッケージのことを聞いたことがあります)
-をうまく処理するためでは <em>ありません</em>。
+から成る文字列を含むバージョン番号や、思慮の浅い順序付け[<a
+href="footnotes.html#f36" name="fr36">36</a>] をうまく処理するためでは
+<em>ありません</em>。
</p>
<hr>
@@ -960,8 +992,8 @@
<li>
<p>
空白とドット ('.') のみからなる行は、空行として表示されます。
-これは空行を表示させる<em>唯一の</em>手段です[<a href="footnotes.html#f36"
-name="fr36">36</a>]。
+これは空行を表示させる<em>唯一の</em>手段です[<a href="footnotes.html#f37"
+name="fr37">37</a>]。
</p>
</li>
</ul>
@@ -1000,7 +1032,7 @@
<code>.changes</code> ファイルか changelog の解析出力には、
このパッケージがインストールされていた、またはこれからインストールされるディストリビューションの名前が空白で区切られて含まれます。
有効なディストリビューション名はアーカイブメンテナが決定します。 [<a
-href="footnotes.html#f37" name="fr37">37</a>] Debian
+href="footnotes.html#f38" name="fr38">38</a>] Debian
アーカイブソフトウェアは、単一のディストリビューションの記載しかサポートしていません。
パッケージを他のディストリビューションに移動する処理はアップロードプロセスの外で行われます。
</p>
@@ -1011,6 +1043,8 @@
<p>
このフィールドにはパッケージがビルドされた、または修正された日付を記載します。
+これは、<code>debian/changelog</code> エントリの <var>date</var>
+と同じフォーマットでなければいけません。
</p>
<p>
@@ -1024,14 +1058,25 @@
<h4><a name="s-f-Format"></a>5.6.16 <samp>Format</samp></h4>
<p>
-このフィールドには、ファイルのフォーマットレビジョンを記載します。
-このポリシーマニュアルで記載されたフォーマットのレビジョンは
-<strong>1.5</strong> です。
-このフォーマットの値の書式はパッケージバージョン番号と同じですが、 epoch や
-Debian revision は付けることができません。 <a
-href="#s-f-Version"><samp>Version</samp>, Section 5.6.12</a> を参照ください。
+<a href="#s-debianchangesfiles"><code>.changes</code></a>
+ファイルでは、このフィールドはこのファイルのフォーマットバージョンを宣言します。
+このフィールドの値の書式は <a
+href="#s-f-Version">パッケージバージョン番号</a>と同じですが、 epoch や Debian
+revision は付けることができません。 書式は、本文書では <samp>1.8</samp>
+に記載されています。
</p>
+<p>
+<a href="#s-debiansourcecontrolfiles">Debian ソースコントロールファイル
+<code>.dsc</code></a>
+では、このフィールドはソースパッケージのフォーマットを宣言します。
+このフィールドの値は、ソースパッケージ内のファイルのリストを解釈し、アンパック方法を判断する必要があるような、パッケージを操作するためのプログラムで用いられます。
+このフィールドの値の書式は、数字のメジャーレビジョン、ピリオド、数字のマイナーレビジョンに、その後空白を挟んでオプションのサブタイプが続くものです。
+サブタイプがある場合、それはかっこで囲まれた英数字の語です。
+サブタイプは書式上は省略可能ですが、特定のソースフォーマットレビジョンでは必須になります
+[<a href="footnotes.html#f39" name="fr39">39</a>]。
+</p>
+
<hr>
<h4><a name="s-f-Urgency"></a>5.6.17 <samp>Urgency</samp></h4>
@@ -1041,7 +1086,7 @@
以下のいずれかのキーワードのひとつを指定します
<samp>low</samp>、<samp>medium</samp>、 <samp>high</samp>
<samp>emergency</samp> および <samp>critical</samp>[<a
-href="footnotes.html#f38" name="fr38">38</a>]
+href="footnotes.html#f40" name="fr40">40</a>]
(大文字と小文字は区別されません)。 空白で区切られたコメント
(たいていかっこにはいっています) がオプションとしてつくこともあります。例えば:
</p>
@@ -1101,7 +1146,7 @@
<p>
<code>.dsc</code>
ファイルに記載されている場合は、それはそのソースパッケージが生成できるバイナリパッケージのカンマで区切られたリストです
-[<a href="footnotes.html#f39" name="fr39">39</a>]。
+[<a href="footnotes.html#f41" name="fr41">41</a>]。
ソースパッケージでは、すべてのアーキテクチャで、ここに記載された全バイナリパッケージが生成できる必要はありません。
個々のバイナリパッケージがどのアーキテクチャに対応しているかの詳細は、ソースコントロールファイルには含まれません。
</p>
@@ -1148,8 +1193,8 @@
<code>.dsc</code> ファイルの場合には、このフィールドには tar
ファイルと、ソースパッケージの残りの部分である diff ファイル (存在する場合)
の各々について、MD5 チェックサム、サイズ、ファイル名が記されます。 この diff
-ファイルは、ソースパッケージの変更分 [<a href="footnotes.html#f40"
-name="fr40">40</a>] です。例を挙げます。
+ファイルは、ソースパッケージの変更分 [<a href="footnotes.html#f42"
+name="fr42">42</a>] です。例を挙げます。
</p>
<pre>
@@ -1201,7 +1246,7 @@
パッケージをリリースする時に、新しい上流のソースアーカイブの配布を伴わない場合、
<code>.dsc</code> ファイルの <samp>Files</samp>
フィールドには、オリジナルのソースアーカイブ
-<code><var>package</var>-<var>upstream-version</var>.orig.tar.gz</code>
+<code><var>package</var>_<var>upstream-version</var>.orig.tar.gz</code>
に対するエントリを含んでいなければなりません。 一方、<code>.changes</code>
ファイル中の <samp>Files</samp>
フィールドにはこのエントリがあってはいけません。
@@ -1232,6 +1277,50 @@
<hr>
+<h4><a name="s-f-Checksums"></a>5.6.24 <samp>Checksums-Sha1</samp> および <samp>Checksums-Sha256</samp></h4>
+
+<p>
+これらのフィールドには、各ファイルに対しチェックサムとサイズが付けられたリストが格納されています。
+<samp>Checksums-Sha1</samp> と <samp>Checksums-Sha256</samp>
+は同じ書式で、使ったチェックサムアルゴリズムのみ異なります。
+<samp>Checksums-Sha1</samp> では SHA-1 が用いられ、
+<samp>Checksums-Sha256</samp> では SHA-256 が使われます。
+</p>
+
+<p>
+<samp>Checksums-Sha1</samp> と <samp>Checksums-Sha256</samp>
+は、複数行からなるフィールドです。フィールドの最初の行の値
+(つまり、<samp>Checksums-Sha1</samp> や <samp>Checksums-Sha256</samp>
+と同じ行にある値) は、常に空白です。
+実際のフィールドの内容は継続行に記載され、ファイル一つにつき一行です。
+各行は、チェックサム、空白、ファイルサイズ、空白、ファイル名となります。 例を
+(<code>.changes</code> ファイルから) 以下に示します。
+</p>
+
+<pre>
+ Checksums-Sha1:
+ 1f418afaa01464e63cc1ee8a66a05f0848bd155c 1276 example_1.0-1.dsc
+ a0ed1456fad61116f868b1855530dbe948e20f06 171602 example_1.0.orig.tar.gz
+ 5e86ecf0671e113b63388dac81dd8d00e00ef298 6137 example_1.0-1.debian.tar.gz
+ 71a0ff7da0faaf608481195f9cf30974b142c183 548402 example_1.0-1_i386.deb
+ Checksums-Sha256:
+ ac9d57254f7e835bed299926fd51bf6f534597cc3fcc52db01c4bffedae81272 1276 example_1.0-1.dsc
+ 0d123be7f51e61c4bf15e5c492b484054be7e90f3081608a5517007bfb1fd128 171602 example_1.0.orig.tar.gz
+ f54ae966a5f580571ae7d9ef5e1df0bd42d63e27cb505b27957351a495bc6288 6137 example_1.0-1.debian.tar.gz
+ 3bec05c03974fdecd11d020fc2e8250de8404867a8a2ce865160c250eb723664 548402 example_1.0-1_i386.deb
+</pre>
+
+<p>
+<code>.dsc</code>
+ファイルには、これらのフィールドにはソースパッケージを構成する全てのファイルを列挙すべきです。
+<code>.changes</code>
+ファイルには、これらのフィールドにはアップロードしようとする全てのファイルを列挙すべきです。
+これらのフィールド中のファイルのリストは、<samp>Files</samp>
+フィールドのファイルのリストと一致している必要があります。
+</p>
+
+<hr>
+
<h3><a name="s5.7"></a>5.7 ユーザ定義フィールド</h3>
<p>
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-customized-programs.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-customized-programs.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-customized-programs.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -44,8 +44,7 @@
が必要な場合には、<samp>dpkg-architecture -L</samp>
で提供される文字列の一つを使うべきです。この文字列は、
<samp><var>os</var>-<var>arch</var></samp> という書式になっています。 OS が
-Linux である場合には、OS 部分は省略されることがあります [<a
-href="footnotes.html#f74" name="fr74">74</a>]。
+Linux である場合には、OS 部分は省略されることがあります。
</p>
<p>
@@ -58,6 +57,18 @@
<hr>
+<h4><a name="s-arch-wildcard-spec"></a>11.1.1 アーキテクチャワイルドカード</h4>
+
+<p>
+パッケージは、アーキテクチャワイルドカードを指定することができます。
+アーキテクチャワイルドカードは、<samp>ant</samp>
+(全アーキテクチャにマッチします)、 <samp><var>os</var></samp>-any, または
+any-<samp><var>cpu</var></samp> の形式 [<a href="footnotes.html#f81"
+name="fr81">81</a>] をとります。
+</p>
+
+<hr>
+
<h3><a name="s11.2"></a>11.2 デーモン類</h3>
<p>
@@ -132,8 +143,12 @@
これら 2 つのプログラムは <code>dpkg</code> の代替パッケージ機能 (alternatives)
を通して管理されています。
このため、エディタとページャ機能を提供する各プログラムは
-<code>update-alternatives</code>
-スクリプトを呼んで自分を登録しておかなければいけません。
+<code>update-alternatives</code> スクリプトを呼んで、自分を
+<code>/usr/bin/editor</code> または <code>/usr/bin/pager</code>
+の適切な方の代替プログラムとして登録しておかなければいけません。
+代替処理では、<code>/usr/share/man/man1/editor.1.gz</code> または
+<code>/usr/share/man/man1/pager.1.gz</code> が対応 man
+ページを指すよう、副代替指定 (slave alternative) を行うべきです。
</p>
<p>
@@ -156,7 +171,7 @@
<p>
パッケージは <samp>editor</samp> や <samp>pager</samp> に依存する必要はなく [<a
-href="footnotes.html#f75" name="fr75">75</a>]
+href="footnotes.html#f82" name="fr82">82</a>]
、パッケージからこの二つの仮想パッケージを提供する必要もありません。
</p>
@@ -172,18 +187,24 @@
<ol type="1" start="1" >
<li>
<p>
-cgi-bin 実行ファイルは次のディレクトリにインストールしてください。
+cgi-bin
+実行ファイルは次のディレクトリ、またはそのサブディレクトリにインストールしてください。
</p>
<pre>
/usr/lib/cgi-bin/<var>cgi-bin-name</var>
</pre>
<p>
-そして次のようにして参照できるように設定するべきです。
+そして次のようにして参照できるように
</p>
<pre>
http://localhost/cgi-bin/<var>cgi-bin-name</var>
</pre>
+
+<p>
+(または、<var>cgi-bin-name</var> の前にサブディレクトリ名がついたものに)
+設定するべきです。
+</p>
</li>
</ol>
<ol type="1" start="2" >
@@ -306,16 +327,16 @@
によるロックはドットファイルによるロックと併用しなければなりません。
デッドロックを避けるため、プログラムではまず <samp>fcntl()</samp>
を使って、その次にドットファイルロックを使うか、二つのロックをブロックしないやり方
-[<a href="footnotes.html#f76" name="fr76">76</a>] で使うべきです。
-<samp>liblockfile*</samp>パッケージ [<a href="footnotes.html#f77"
-name="fr77">77</a>] に含まれる <samp>maillock</samp> と <samp>mailunlock</samp>
+[<a href="footnotes.html#f83" name="fr83">83</a>] で使うべきです。
+<samp>liblockfile*</samp>パッケージ [<a href="footnotes.html#f84"
+name="fr84">84</a>] に含まれる <samp>maillock</samp> と <samp>mailunlock</samp>
を使うのが上記を実現するお勧めのやり方です。
</p>
<p>
メールボックスは、通常は <var>user</var> 所有でモード 600
か、<samp><var>user</var>:mail</samp> 所有でモード 660 のいずれかとします [<a
-href="footnotes.html#f78" name="fr78">78</a>]。
+href="footnotes.html#f85" name="fr85">85</a>]。
ローカルのシステム管理者は、これと異なったパーミッション手法をとることができます。
このため、パッケージは特定の要求 (例えば新規にメールボックスを作成するなど)
がない限り、メールボックスのパーミッションと所有者について仮定を置くべきではありません。
@@ -340,9 +361,10 @@
(実際には何もしないものであったとしても) <code>newaliases</code>
プログラムを同梱していなければなりませんが 古い MTA
パッケージにはこれがないものもありますので、たとえ <code>newaliases</code>
-が見つからなくてもプログラムが落ちな いようにするべきです。また、このため全 MTA
-パッケージは <samp>mail-transport-agent</samp> 仮想パッケージに対して
-<samp>Provides</samp>、<samp>Conflicts</samp> と <samp>Replaces</samp>
+が見つからなくてもプログラムが落ちな いようにするべきです。また、このため、全
+MTA パッケージは <samp>mail-transport-agent</samp> 仮想パッケージに対して
+<samp>Provides</samp>、<samp>Conflicts</samp> と <samp>Replaces:
+mail-transport-agent</samp>
の三つの関連性の定義をコントロールフィールド中で行う必要があります。
</p>
@@ -450,9 +472,10 @@
<p>
X
-サーバを提供するパッケージ、言い換えると直接または間接に実際の入力機器と表示ハードウェアを操作するパッケージはコントロールファイル中に仮想パッケージ
-<samp>xserver</samp>を提供することを [<a href="footnotes.html#f79"
-name="fr79">79</a>] 宣言すべきです。
+サーバを提供するパッケージ、言い換えると直接または間接に実際の入力機器と表示ハードウェアを操作するパッケージは
+<samp>Provides</samp> コントロールフィールド中に仮想パッケージ
+<samp>xserver</samp>を提供することを [<a href="footnotes.html#f86"
+name="fr86">86</a>] 宣言すべきです。
</p>
<hr>
@@ -460,10 +483,15 @@
<h4><a name="s11.8.3"></a>11.8.3 ターミナルエミュレータを提供するパッケージ</h4>
<p>
-以下で記載する条件を満たすターミナルエミュレータを提供するパッケージは、コントロールファイル中に仮想パッケージ
-<samp>x-terminal-emulator</samp> を提供することを宣言すべきです。
+以下で記載する条件を満たすターミナルエミュレータを提供するパッケージは、<samp>Provides</samp>
+コントロールフィールド中に仮想パッケージ <samp>x-terminal-emulator</samp>
+を提供することを宣言すべきです。
また、このようなパッケージはまた自分自身をプライオリティ 20 で
-<code>/usr/bin/x-terminal-emulator</code> の代替とするよう宣言するべきです。
+<code>/usr/bin/x-terminal-emulator</code>
+の代替とするよう宣言するべきです。代替パッケージでは、
+<code>/usr/share/man/man1/x-terminal-emulator.1.gz</code>
+が対象マニュアルページを指すよう、副代替指定 (slave alternative)
+を行うべきです。
</p>
<p>
@@ -479,8 +507,8 @@
<li>
<p>
コマンド行オプション <samp>-e <var>command</var></samp>
-によって、新しいターミナルウィンドウを作成でき [<a href="footnotes.html#f80"
-name="fr80">80</a>] 、その上で指定の<var>コマンド</var>を、<samp>xterm</samp>
+によって、新しいターミナルウィンドウを作成でき [<a href="footnotes.html#f87"
+name="fr87">87</a>] 、その上で指定の<var>コマンド</var>を、<samp>xterm</samp>
と同様にコマンドラインの残りの部分を exec
に渡すことで解釈実行させることができること。
</p>
@@ -498,8 +526,9 @@
<h4><a name="s11.8.4"></a>11.8.4 ウィンドウマネージャを提供するパッケージ</h4>
<p>
-ウィンドウマネージャを提供するパッケージは、コントロールファイル中に仮想パッケージ
-<samp>x-window-manager</samp> を提供することを宣言すべきです。
+ウィンドウマネージャを提供するパッケージは、<samp>Provides</samp>
+コントロールフィールド中に仮想パッケージ <samp>x-window-manager</samp>
+を提供することを宣言すべきです。
このようなパッケージはまた自分自身を次に説明するプライオリティで
<code>/usr/bin/x-window-manager</code> の代替とするよう宣言するべきです。
</p>
@@ -536,13 +565,19 @@
</li>
</ul>
+<p>
+代替パッケージでは、 <code>/usr/share/man/man1/x-window-manager.1.gz</code>
+が対象マニュアルページを指すよう、副代替指定 (slave alternative)
+を行うべきです。
+</p>
+
<hr>
<h4><a name="s11.8.5"></a>11.8.5 フォントを提供するパッケージ</h4>
<p>
-X ウィンドウシステムのフォント [<a href="footnotes.html#f81"
-name="fr81">81</a>] を提供するパッケージでは X
+X ウィンドウシステムのフォント [<a href="footnotes.html#f88"
+name="fr88">88</a>] を提供するパッケージでは X
およびフォントサーバの変更なしにそれが有効になるように、また自分自身の情報を登録する際に他のフォントパッケージの情報を壊さないようにするため、いくつかの作業を行う必要があります。
</p>
<ol type="1" start="1" >
@@ -557,7 +592,7 @@
Recommended を、単に拡張機能を提供するだけなら Suggests
を問題のフォントパッケージに指定してください。
パッケージからフォントパッケージに対して Depend を指定してはいけません [<a
-href="footnotes.html#f82" name="fr82">82</a>] 。
+href="footnotes.html#f89" name="fr89">89</a>] 。
</p>
</li>
</ol>
@@ -672,8 +707,9 @@
<ol type="1" start="9" >
<li>
<p>
-フォントパッケージは <samp>xfonts-utils</samp>
-への依存関係を宣言しなければいけません。
+フォントパッケージは <samp>xfonts-utils</samp> への依存関係を
+<samp>Depends</samp> または <samp>Pre-Depends</samp>
+コントロールフィールドに宣言しなければいけません。
</p>
</li>
</ol>
@@ -743,7 +779,7 @@
<p>
X リソースを使ったプログラムの設定も <code>/etc/X11/Xresources/</code>
に置くパッケージと同じ名前のファイルを用意することで [<a
-href="footnotes.html#f83" name="fr83">83</a>]
+href="footnotes.html#f90" name="fr90">90</a>]
サポートされています。このファイルは、<samp>conffile</samp>
であるとの属性を設定するか、設定ファイルとして扱わなければいけません。
</p>
@@ -791,7 +827,7 @@
<p>
<em>DFSG 非互換の OSF/Motif または OpenMotif ライブラリ</em> [<a
-href="footnotes.html#f84" name="fr84">84</a>] を必要とするプログラムでは、Motif
+href="footnotes.html#f91" name="fr91">91</a>] を必要とするプログラムでは、Motif
の別実装でフリーな LessTif で問題なく動作するかを調べるべきです。 もし、Motif
では動作するプログラムが LessTif
では配布、サポートに耐えるだけ満足に動作しないとメンテナが判断したならば、二つの版のパッケージ、一方は
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-docs.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-docs.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-docs.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -57,7 +57,7 @@
バグトラッキングシステムにバグとして報告すべきです
(自分で報告しておく、という処理でもかまいません)。
適切なマニュアルが収録されるまではバグ報告を閉じないでください。 [<a
-href="footnotes.html#f85" name="fr85">85</a>]
+href="footnotes.html#f92" name="fr92">92</a>]
</p>
<p>
@@ -75,8 +75,8 @@
<p>
一つのマニュアルページを複数の名前で参照する必要がある場合は、 <code>.so</code>
機能を使うよりもシンボリックリンクを使う方が望ましいやり方です。
-ただ、上流のソースが <code>.so</code> [<a href="footnotes.html#f86"
-name="fr86">86</a>]
+ただ、上流のソースが <code>.so</code> [<a href="footnotes.html#f93"
+name="fr93">93</a>]
を使っている場合、それをあえてシンボリックリンクへ変更する必要はありません。
それがよほど簡単でないかぎり行わないでください。 man
のディレクトリではハードリンクを作成すべきではありません。
@@ -88,7 +88,7 @@
<samp>.so</samp> コマンド)
をファイルシステム中で使っていない場合、<code>man</code> があなたの man
ページの別名を man ページのヘッダだけの情報から見つけることを [<a
-href="footnotes.html#f87" name="fr87">87</a>] 期待するべきではありません。
+href="footnotes.html#f94" name="fr94">94</a>] 期待するべきではありません。
</p>
<p>
@@ -99,14 +99,14 @@
にその言語関連の最短のロカール名が記載されているもの)
を使用することができます。 例えば、<code>/usr/share/man/fr</code>
のページは、UTF-8 と ISO-8859-1 のいずれかを使用することができます [<a
-href="footnotes.html#f88" name="fr88">88</a>]。
+href="footnotes.html#f95" name="fr95">95</a>]。
</p>
<p>
国名 (<samp>de_DE</samp> の <samp>DE</samp>)
は、言語に対して大きな違いを示す場合でなければ、サブディレクトリ名に使用してはいけません。
これは、他の国のその言語を利用者を除外することになるからです [<a
-href="footnotes.html#f89" name="fr89">89</a>]。
+href="footnotes.html#f96" name="fr96">96</a>]。
</p>
<p>
@@ -126,8 +126,8 @@
<p>
<code>install-info</code> プログラムが info の読み手のため
<code>/usr/share/info/dir</code> にインストールされた info
-ドキュメントの管理を行います[<a href="footnotes.html#f90"
-name="fr90">90</a>]。このファイルはパッケージに含めてはいけません。info
+ドキュメントの管理を行います[<a href="footnotes.html#f97"
+name="fr97">97</a>]。このファイルはパッケージに含めてはいけません。info
文書を含むパッケージは <samp>dpkg (>= 1.15.4) | install-info</samp>
に依存関係を宣言し、ディレクトリファイルが確実に Debian 5.0 (lenny)
およびそれ以前のリリースからの部分アップグレードで再ビルドされるようにすべきです。
@@ -153,7 +153,7 @@
どのセクションを使うべきかについては、自分のシステムの
<code>/usr/share/info/dir</code> を調べて最も関係の深そうなものを
(現状に適切なものがない場合には、新規に作成して) 選択してください [<a
-href="footnotes.html#f91" name="fr91">91</a>]。
+href="footnotes.html#f98" name="fr98">98</a>]。
</p>
<hr>
@@ -184,7 +184,7 @@
<p>
パッケージは、動作のために <code>/usr/share/doc/</code>
以下のファイルが存在することを要求していてはいけません。 [<a
-href="footnotes.html#f92" name="fr92">92</a>]
+href="footnotes.html#f99" name="fr99">99</a>]
プログラムから参照されるが、同時に単独のドキュメントとしても役に立つようなファイルは
<code>/usr/share/<var>package</var>/</code> 以下にインストールして、
<code>/usr/share/doc/<var>package</var></code>
@@ -195,8 +195,8 @@
<code>/usr/share/doc/<var>package</var></code> が、 <code>/usr/share/doc</code>
以下に置かれている他のディレクトリへのシンボリックリンクとすることは、
この両方のパッケージが同じソースから作成されたもので、かつ前者から後者へ
-Depends が指定されているときのみ許されています [<a href="footnotes.html#f93"
-name="fr93">93</a>]。
+Depends が指定されているときのみ許されています [<a href="footnotes.html#f100"
+name="fr100">100</a>]。
</p>
<p>
@@ -205,7 +205,7 @@
<code>/usr/share/doc/<var>package</var></code>
に変更になっており、パッケージはディレクトリ
<code>/usr/doc/<var>package</var></code> に文書を置いてはいけません [<a
-href="footnotes.html#f94" name="fr94">94</a>]。
+href="footnotes.html#f101" name="fr101">101</a>]。
</p>
<hr>
@@ -218,7 +218,7 @@
<p>
パッケージに各種書式に変換可能なマークアップ形式の詳細文書が付属している場合は、バイナリパッケージには可能なかぎり
-HTML 形式のものを [<a href="footnotes.html#f95" name="fr95">95</a>]
+HTML 形式のものを [<a href="footnotes.html#f102" name="fr102">102</a>]
<code>/usr/share/doc/<var>appropriate-package</var></code>、
およびそのサブディレクトリにインストールしてください。
</p>
@@ -232,11 +232,11 @@
<h3><a name="s-copyrightfile"></a>12.5 著作権関連情報</h3>
<p>
-各パッケージには、著作権と配布条件のライセンス文書が元のままの形式で
+各パッケージには、著作権情報と配布条件のライセンス文書が元のままの形式で
<code>/usr/share/doc/<var>package</var>/copyright</code>
に収録されていなければいけません。
このファイルは圧縮されていたり、シンボリックリンクであったりしてはいけません
-[<a href="footnotes.html#f96" name="fr96">96</a>]。
+[<a href="footnotes.html#f103" name="fr103">103</a>]。
</p>
<p>
@@ -266,13 +266,16 @@
</p>
<p>
-パッケージがカリフォルニア大学バークレイ校の BSD ライセンス、 Apache ライセンス
-(version 2)、 Artistic License、the GNU GPL (version 2 または 3), GNU LGPL
-(versions 2, 2.1, または 3) または the GNU FDL (version 1.2 または 1.3)
-に基づいて配布されている場合には、copyright
+パッケージが Apache ライセンス (version 2)、 Artistic License、the GNU GPL
+(version 1、2 または 3), GNU LGPL (versions 2, 2.1, または 3) または the GNU
+FDL (version 1.2 または 1.3) に基づいて配布されている場合には、copyright
ファイルで引用するのではなく、<code>/usr/share/common-licenses</code>
-以下の各ファイル[<a href="footnotes.html#f97" name="fr97">97</a>]
-を参照するようにしてください。
+以下の各ファイル[<a href="footnotes.html#f104" name="fr104">104</a>]
+を参照するようにしてください。カリフォルニア大 BSD ライセンスも、
+<code>base-files</code> に <code>/usr/share/common-licenses/BSD</code>
+として収録されていますが、ライセンスが簡潔なこと、明示的に著作権を Regents of
+the University of California
+としていること、そして細かい用語の変更の頻度が高いことから、このファイルを参照するのではなく著作権情報ファイルに本文を含めるようにしてください。
</p>
<p>
@@ -325,8 +328,8 @@
としてアクセスできるようにすべきです。 changelog ファイルが HTML
形式で配布されているならば
<code>/usr/share/doc/<var>package</var>/changelog.html.gz</code>
-という名称で参照できるようにすべきで [<a href="footnotes.html#f98"
-name="fr98">98</a>] 、<code>changelog.gz</code>
+という名称で参照できるようにすべきで [<a href="footnotes.html#f105"
+name="fr105">105</a>] 、<code>changelog.gz</code>
はプレーンテキスト形式として、例えば <samp>lynx -dump -nolist</samp> で HTML
ファイルから作成すべきです。 上流の changelog
ファイルがここで書いている命名規則に沿っていない場合での、ファイル名を変更する、
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-files.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-files.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-files.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -37,7 +37,7 @@
<hr>
-<h3><a name="s10.1"></a>10.1 バイナリファイル</h3>
+<h3><a name="s-binaries"></a>10.1 バイナリファイル</h3>
<p>
二つのパッケージが、異なった機能を持つ同じ名前のプログラムを
@@ -104,14 +104,14 @@
となっている場合には、共有ライブラリのコンパイルとリンクフラグには
<samp>-fPIC</samp> を含めなければいけません。
さもなければ、一部のサポートされているアーキテクチャでビルドに失敗します [<a
-href="footnotes.html#f61" name="fr61">61</a>] 。この規則の例外は必ず
+href="footnotes.html#f67" name="fr67">67</a>] 。この規則の例外は必ず
<em>debian-devel@lists.debian.org</em>
メーリングリストで議論して、一応の合意を得ておく必要があります。
<samp>-fPIC</samp> フラグを使わないでコンパイルした理由は必ず
<samp>README.Debian</samp> ファイルに記載をしなければいけませんし、
同時にアーキテクチャを制限するか、必要なアーキテクチャでは <samp>-fPIC</samp>
-を用いるようにするケアを行わなければいけません [<a href="footnotes.html#f62"
-name="fr62">62</a>]。
+を用いるようにするケアを行わなければいけません [<a href="footnotes.html#f68"
+name="fr68">68</a>]。
</p>
<p>
@@ -120,9 +120,7 @@
</p>
<p>
-LinuxThreads と互換性を持ったライブラリ (スタティック、共有 の両方で)
-を作成するために、gcc のオプションに <samp>-D_REENTRANT</samp>
-を指定しなければいけません。
+ライブラリは、スレッドサポートを行うようビルドすべきで、さらにライブラリのサポートがある場合はスレッドセーフとすべきです。
</p>
<p>
@@ -137,7 +135,7 @@
にリロケーション処理に必要のないシンボルのみを削除するように指示します)
ダイナミックリンクの際に使用するシンボルは別の ELF
オブジェクトにあるので、共有ライブラリは strip されても完全に機能 [<a
-href="footnotes.html#f63" name="fr63">63</a>] します。
+href="footnotes.html#f69" name="fr69">69</a>] します。
</p>
<p>
@@ -154,32 +152,50 @@
ディレクトリのサブディレクトリにインストールすべきです。
このようなファイルは通常の共有ライブラリに適用される規則に沿わなくともかまいませんが、
実行可能ビットを立ててインストールしてはいけないこと、及び strip
-すべきこと、の二つの規則は守る必要があります [<a href="footnotes.html#f64"
-name="fr64">64</a>]。
+すべきこと、の二つの規則は守る必要があります [<a href="footnotes.html#f70"
+name="fr70">70</a>]。
</p>
<p>
-リンク処理に <code>libtool</code> を使うパッケージが増えてきています。 最新の
-GNU libtools (>= 1.3a) ではインストールされた <code>libtool</code>
-アーカイブのファイル (<code>*.la</code>) を活用できます。<code>libtool</code>
-の <code>.la</code>
-ファイルの主な利点は作成するライブラリについてのメタデータを格納し引き続いて参照できることです。
-<code>libtool</code> はこれらのライブラリに関する豊富な情報
-(たとえばスタティックリンク時に依存関係にあるライブラリについて)
-を含むファイルを検索することができます。 また、<samp>libltdl</samp>
-を使うプログラムでは、<code>libtool</code> の使用は <em>必須</em> [<a
-href="footnotes.html#f65" name="fr65">65</a>] です。
+共有ライブラリを作成・インストールする際に <code>libtool</code>
+を使うパッケージは、追加のメタデータを含むファイル (<code>.la</code>
+という拡張子を持つファイル) をライブラリ以外にインストールします。
+他のパッケージからの利用を想定した公開ライブラリでは、これらのファイルを Debian
+パッケージには通常は収録すべきではありません。
+これは、このファイルに含まれる情報は、Debian
+では共有ライブラリとリンクする際に必要ではなく、さらに他のプログラムやライブラリへの不要な依存関係を追加してしまうためです[<a
+href="footnotes.html#f71" name="fr71">71</a>]。 ライブラリに <code>.la</code>
+ファイルが必要な場合 (例えば、 メタ情報が必要となるやり方で
+<samp>libltdl</samp> よりロードされる場合など) <code>.la</code> ファイルの
+<samp>dependency_libs</samp> 設定には、通常は空文字列をセットすべきです。
+共有ライブラリの開発向けパッケージで、歴史的な経緯から <code>.la</code>
+が含まれている場合、開発向けパッケージには、それに依存している全てのライブラリに収録された
+<code>.la</code> ファイル内の <samp>dependency_libs</samp>
+が削除されるか空になるまで (つまり、<code>libtool</code>
+を使った他のパッケージのリンクが失敗しないようになるまで)、 それを維持
+(<samp>dependency_libs</samp> を空にして) しなければいけません。
</p>
<p>
-というわけで、共有ライブラリを <code>libtool</code>
-を使って作成するパッケージでは、<samp>-dev</samp> パッケージに <code>.la</code>
-ファイルを含めるべきです。ただし、<samp>libtool</samp> の <em>libltdl</em>
-ライブラリに依存するパッケージは例外で、この場合には <code>.la</code>
+<code>.la</code> を含めなければならない場合で、ライブラリが
+<code>libtool</code> の <samp>libltdl</samp>
+ライブラリからロードされるのでなければ、 <code>.la</code>
+ファイルは開発用パッケージ (<samp>-dev</samp>) に含めるべきです。
+<samp>libltdl</samp> での利用を想定している場合には、<code>.la</code>
ファイルはランタイムパッケージに含めなければいけません。
</p>
<p>
+以上の <code>.la</code> ファイルの扱いに関する規定は、ローダブルモジュールや、
+標準状態ではダイナミックリンカがサーチしないディレクトリにインストールされるライブラリに対しては適用されません。
+ローダブルモジュールをインストールするパッケージは、多くの場合モジュールに加えて
+<code>.la</code> ファイルをインストールし、<samp>libltdl</samp>
+によってロードできるようにする必要があるでしょう。 <samp>dependency_libs</samp>
+は、ダイナミックリンカがサーチしないディレクトリにインストールされ、
+他のパッケージからの利用を意図していないライブラリやモジュールの場合は、変更する必要はありません。
+</p>
+
+<p>
自分のパッケージを作成する際には、リリースされている版の共有ライブラリのみを使うように気をつけなければいけません。
ここで間違えるとほかのユーザはあなたのプログラムを正しく実行することができません。
リリースされていないコンパイラに依存するパッケージを作成することも通常好ましくありません。
@@ -218,17 +234,24 @@
<p>
シェルスクリプト (<code>sh</code> や <code>bash</code> を使う)
-では、特殊な場合をのぞいて最初に <samp>set -e</samp>
-を書いてエラーを検出するようにすべきです。 スクリプトはすべて <samp>set
--e</samp> を使うか、<em>全</em>
-コマンドの終了ステータスを明示的に調べてエラーを検出すべきです。
+で、<code>init.d</code> 以外のものは、特殊な場合をのぞいて最初に <samp>set
+-e</samp> を書いてエラーを検出するようにすべきです。 <code>init.d</code>
+スクリプトはここでは特殊な場合で、失敗することが許されるコマンドを実行する必要がある頻度が異なるため、代わりにコマンドの終了ステータスをチェックするほうが容易でしょう。
+<code>init.d</code> スクリプトについての詳細は <a
+href="ch-opersys.html#s-writing-init">スクリプトの書き方, Section 9.3.2</a>
+を参照ください。
</p>
<p>
-スクリプトは、SUSv3 Shell Command Language 規定[<a href="footnotes.html#f66"
-name="fr66">66</a>]の仕様に沿っており、かつ SUSv3
-で必須とはされていない以下の機能 [<a href="footnotes.html#f67"
-name="fr67">67</a>] をもつような <code>/bin/sh</code>
+全てのスクリプトは、<samp>set -e</samp> を使うか、<em>すべての</em>
+コマンドの終了ステータスをチェックすべきです。
+</p>
+
+<p>
+スクリプトは、SUSv3 Shell Command Language 規定[<a href="footnotes.html#f72"
+name="fr72">72</a>]の仕様に沿っており、かつ SUSv3
+で必須とはされていない以下の機能 [<a href="footnotes.html#f73"
+name="fr73">73</a>] をもつような <code>/bin/sh</code>
の実装であることを仮定してかまいません。
</p>
<ul>
@@ -266,6 +289,27 @@
</pre>
</li>
</ul>
+<ul>
+<li>
+<p>
+<samp>kill -<var>signal</var></samp> という書式を許している <code>kill</code>
+の XSI 機能拡張は、<code>kill</code>
+がシェルのビルトインコマンドとして実装されている場合でも、<var>signal</var>
+としてシグナル名か、XSI 機能拡張で列挙されている数字で指定したシグナル (0, 1,
+2, 3, 6, 9, 14, および 15) を、サポートしている必要があります。
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+数字で指定するシグナルを許す <code>trap</code> の XSI
+機能拡張をサポートする必要があります。
+機能拡張で列挙されている、<code>kill</code> と同じシグナル番号群以外に、 13
+(SIGPIPE) を許さなければいけません。
+</p>
+</li>
+</ul>
<p>
もし、シェルスクリプトが上記記載以外の SUSv3
@@ -363,15 +407,15 @@
<h3><a name="s10.6"></a>10.6 デバイスファイル</h3>
<p>
-パッケージファイルツリーにデバイスファイルを含めることは許されていません。
+パッケージファイルツリーにデバイスファイルや名前付きパイプを含めることは許されていません。
</p>
<p>
パッケージが base
システムに含まれていない特殊なデバイスファイルを必要とする場合には、
<code>postinst</code> スクリプト中でユーザに許可を問い合わせた後
-<code>MAKEDEV</code> を呼び出してください[<a href="footnotes.html#f68"
-name="fr68">68</a>] 。
+<code>MAKEDEV</code> を呼び出してください[<a href="footnotes.html#f74"
+name="fr74">74</a>] 。
</p>
<p>
@@ -386,6 +430,13 @@
<code>/dev/ttyS*</code> に変更すべきです。
</p>
+<p>
+パッケージで必要な名前付きパイプは、<code>postinst</code>
+スクリプトで作成しなければいけません [<a href="footnotes.html#f75"
+name="fr75">75</a>]。また、必要に応じて <code>prerm</code> または
+<code>postrm</code> スクリプトで削除しなければいけません。
+</p>
+
<hr>
<h3><a name="s-config-files"></a>10.7 設定ファイル</h3>
@@ -474,6 +525,10 @@
</ul>
<p>
+ローカルでの修正の無い、廃止になった設定ファイルはアップグレードの際に削除しても構いません。
+</p>
+
+<p>
この挙動を行わせるやさしい方法は設定ファイルを <samp>conffile</samp>
にしてしまうことです。 これはほとんどのインストールの場合にそのままで使え、
一部のシステム管理者が変更するかもしれない、そういう設定ファイルを添付できる場合だけに適した方法です。
@@ -485,7 +540,7 @@
<p>
パッケージの conffile
にハードリンクを張ることは、ローカルで加えた変更を正しく残せなくなるため、許されていません
-[<a href="footnotes.html#f69" name="fr69">69</a>]。
+[<a href="footnotes.html#f76" name="fr76">76</a>]。
</p>
<p>
@@ -650,26 +705,31 @@
<p>
ログファイルは時々循環させるようにして、どこまでも大きくなることがないようにしなければいけません。
-これを実現する最良の方法は、ディレクトリ <code>/etc/logrotate.d</code>
-にスクリプトを置き、logrotate の提供する機能を使うやり方 [<a
-href="footnotes.html#f70" name="fr70">70</a>] です。 次に logrotate
-の設定ファイルのいい例を挙げましょう (詳しくは <code>logrotate(8)</code>
-を見てください)。
+これを実現する最良の方法は、<code>/etc/logrotate.d</code>
+ディレクトリにログ循環設定ファイル (通常、
+<code>/etc/logrotate.d/<var>package</var></code> という名前です)
+を置き、logrotate の提供する機能を使うやり方 [<a href="footnotes.html#f77"
+name="fr77">77</a>] です。 次に logrotate の設定ファイルのいい例を挙げましょう
+(詳しくは <code>logrotate(8)</code> を見てください)。
</p>
<pre>
/var/log/foo/*.log {
- rotate 12
- weekly
- compress
- postrotate
- /etc/init.d/foo force-reload
- endscript
+ rotate 12
+ weekly
+ compress
+ missingok
+ postrotate
+ start-stop-daemon -K -p /var/run/foo.pid -s HUP -x /usr/sbin/foo -q
+ endscript
}
</pre>
<p>
上記の例は <code>/var/log/foo</code> 以下の全ファイルを巡回させ、12
-世代分保存し、循環終了時にデーモンに設定ファイルを再読込させるものです。
+世代分保存し、循環終了時にデーモンに設定ファイルを再オープンさせるものです。
+もしログがなかった場合にはログ循環をスキップする (<samp>missingok</samp>
+経由で)
+ようになっており、パッケージが削除されているが完全削除状態でない場合にエラーにならないようにしています。
</p>
<p>
@@ -683,7 +743,7 @@
<hr>
-<h3><a name="s10.9"></a>10.9 ファイル属性と所有者</h3>
+<h3><a name="s-permissions-owners"></a>10.9 ファイル属性と所有者</h3>
<p>
この節のここ以降で記載されているのは一般的なガイドラインですので、
@@ -704,10 +764,17 @@
にすべきです。ディレクトリの所有者は パーミッションに合わせてください。
つまりディレクトリのパーミッションが 2775
であれば、そこに書き込む必要のあるグループのユーザを所有者に設定してください
-[<a href="footnotes.html#f71" name="fr71">71</a>]。
+[<a href="footnotes.html#f78" name="fr78">78</a>]。
</p>
<p>
+制御情報ファイルは、<samp>root:root</samp> の所有権で、パーミッション 644
+(ほとんどのファイルでは) か、755 (<a
+href="ch-binary.html#s-maintscripts">maintainer scripts</a>
+などの実行可能なファイル) にすべきです。
+</p>
+
+<p>
setuid や setgid された実行ファイルのパーミッションはそれぞれ 4755、2755
で、適切な所有者とグループに設定されねばなりません。 それらを読み込み不可 (4711
や 2711、4111 など) にしてはいけません。 誰でも自由に利用可能な Debian
@@ -729,7 +796,7 @@
システム管理者がローカルなセキュリティの方針に合わせるため、
各バイナリのパーミッションを変えてパッケージを再設定する枠組にしてもかまいません。
その場合は、以下で記載の通り <code>dpkg-statoverride</code> [<a
-href="footnotes.html#f72" name="fr72">72</a>] を使うことができます。
+href="footnotes.html#f79" name="fr79">79</a>] を使うことができます。
もう一つの方法として、例えばプログラムを利用することができるグループを作り、
setuid
した実行ファイルはそのグループだけが実行できるような設定とすることもできます。
@@ -761,8 +828,8 @@
<p>
第二の方法は、プログラムが実行時にグループ名から uid、gid
-を決定するようにするもので、ID は動的に [<a href="footnotes.html#f73"
-name="fr73">73</a>] 割り当てられます。この場合、<code>debian-devel</code>
+を決定するようにするもので、ID は動的に [<a href="footnotes.html#f80"
+name="fr80">80</a>] 割り当てられます。この場合、<code>debian-devel</code>
で討議を行ない、また <code>base-passwd</code>
のメンテナにその名前が一意であること、静的に ID
を割り当てたほうが望ましいということがないか、の二点を問い合わせて、その後適切なユーザ名あるいはグループ名を選ぶべきです。
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-maintainerscripts.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-maintainerscripts.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-maintainerscripts.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -44,9 +44,9 @@
</p>
<p>
-これらのスクリプトはパッケージの制御エリア内にある
+これらのスクリプトは
<code>preinst</code>、<code>postinst</code>、<code>prerm</code> と
-<code>postrm</code> というファイルです。
+<code>postrm</code> という制御情報ファイルです。
これらは適正な実行可能ファイルでなくてはなりません。 もし、これらがスクリプト
(スクリプトであることを推奨します) ならば、 通常行われているように
<samp>#!</samp> で始めなくてはなりません。
@@ -67,7 +67,7 @@
<p>
さらに、<code>postinst</code> 中で <samp>debconf</samp>
-を用いてユーザとの対話を行うパッケージでは、コントロールエリア内に
+を用いてユーザとの対話を行うパッケージでは、制御情報ファイル内に
<code>config</code> スクリプトをインストールすべきです。 詳細は、<a
href="ch-binary.html#s-maintscriptprompt">メンテナスクリプト中のプロンプト使用について,
Section 3.9.1</a> を参照ください。
@@ -114,7 +114,7 @@
もし、一回目の呼び出しが失敗した、または何らかの理由によって途中で中止した場合、
二回目の呼び出しでは一回目で実行し残したものを単に実行し、
もし何もかもうまくいったなら成功ステータスで終了するようにすべき [<a
-href="footnotes.html#f41" name="fr41">41</a>] です。
+href="footnotes.html#f43" name="fr43">43</a>] です。
</p>
<hr>
@@ -122,12 +122,24 @@
<h3><a name="s-controllingterminal"></a>6.3 メンテナスクリプトからのターミナルの制御</h3>
<p>
-メンテナスクリプトは制御ターミナルがある状態で実行されており、ユーザとの対話ができることが保証されています。
-スクリプトがログ採取の目的のため標準出力をパイプでリダイレクトしている場合があるため、Perl
-スクリプトでは出力がバッファされず直接出力されるように <samp>$|=1</samp>
-と設定してバッファなし出力モードにすべきです。
+メンテナスクリプトは制御端末がある状態で実行されているとは限らず、
+ユーザとの対話ができることは保証されていません。
+制御端末が提供されていない場合、非対話型で処理することができるようにしなければなりません。
+Debian Configuration Management Specification
+に準拠したプログラムを使ってプロンプトを出しているメンテナスクリプト (<a
+href="ch-binary.html#s-maintscriptprompt">メンテナスクリプト中のプロンプト使用について,
+Section 3.9.1</a> 参照)
+は、非対話型の動作になった場合の扱いを、そのプログラムが行うと仮定して構いません。
</p>
+<p>
+優先順位の高い、妥当な標準回答の無いような対話を行いたい場合、
+制御端末がない際に異常終了することは許されています。
+但し、可能な限りそのようなことが起きないようにすべきです。
+これは、自動インストールや、無人インストールの妨げになるからです。
+大抵の場合は、このような挙動はユーザにそのパッケージのバグと見做されるでしょう。
+</p>
+
<hr>
<h3><a name="s-exitstatus"></a>6.4 終了ステータス</h3>
@@ -319,7 +331,7 @@
<p>
これが正常動作するなら、"old-version"
がインストールされています。正常動作しないなら、 "old-version" は
-"Failed-Config" 状態になっています。
+"Half-Configured" 状態になっています。
</p>
</li>
</ol>
@@ -481,7 +493,7 @@
<p>
です。これが正常終了しない場合、パッケージは "Half-Installed"
状態で残っており、この修正には再インストールが必要になります。
-正常終了した場合には、パッケージは "Config Files"
+正常終了した場合には、パッケージは "Config-Files"
状態になっています。
</p>
</li>
@@ -541,7 +553,7 @@
お互いのファイルに上書きするパッケージは、決定論的に決まるのではあるけれども、システム管理者には理解しがたい振る舞いをします。
この状態では、簡単にプログラムを「見失う」事態が起こり得ます。
例えば、他のパッケージからのファイルに上書きするようなパッケージをインストールして、それから、そのパッケージを削除することでこのような
-「見失い」 [<a href="footnotes.html#f42" name="fr42">42</a>] が起こります。
+「見失い」 [<a href="footnotes.html#f44" name="fr44">44</a>] が起こります。
</p>
<p>
@@ -732,8 +744,8 @@
<p>
もし最近設定されたバージョン (上の呼び出しの
<var>most-recently-configured-version</var>) が存在しなければ、
-<code>dpkg</code> は引数として何も渡しません。 [<a href="footnotes.html#f43"
-name="fr43">43</a>]。
+<code>dpkg</code> は引数として何も渡しません。 [<a href="footnotes.html#f45"
+name="fr45">45</a>]。
</p>
<hr>
@@ -767,7 +779,7 @@
</p>
<p>
-これが正常終了しない場合、パッケージは "Failed-Config"
+これが正常終了しない場合、パッケージは "Half-Configured"
状態か、"Installed" 状態のままのいずれかになります。
</p>
</li>
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-opersys.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-opersys.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-opersys.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -72,12 +72,42 @@
<ol type="1" start="3" >
<li>
<p>
+オブジェクトファイル、内部で使うバイナリ、ライブラリ (<code>libc.so.*</code>
+を含む) は、<code>/lib{,32}</code> または <code>/lib{,32}</code>
+以下に直接配置するという要求事項は改訂され、
+<code>/lib/<var>triplet</var></code> および
+<code>/usr/lib/<var>triplet</var></code> 以下に置くことも許されています。ここで
+<samp><var>triplet</var></samp> は対象アーキテクチャでの
+<samp>dpkg-architecture -qDEB_HOST_GNU_TYPE</samp> の返す値です。
+パッケージが、その対象アーキテクチャ以外の <var>triplet</var>
+パスにファイルをインストールすることは許されていません。
+例えば、<samp>Architecture: amd64</samp> であるパッケージに 32-bit x86
+向けライブラリが含まれている場合、 それらのライブラリを
+<code>/usr/lib/i486-linux-gnu</code> にインストールすることは許されません [<a
+href="footnotes.html#f63" name="fr63">63</a>]。
+</p>
+
+<p>
+アプリケーションは、<code>/usr/lib/<var>triplet</var></code>
+以下にサブディレクトリを一つ作成して使うことも許されています。
+</p>
+
+<p>
+実行時のリンカ・ローダ、ld* などは /lib または /lib64
+以下の既存の場所に置くことが引き続き必須となっています。
+これは、この仕様が各アーキテクチャでの ELF ABI 仕様の一部であるためです。
+</p>
+</li>
+</ol>
+<ol type="1" start="4" >
+<li>
+<p>
<code>/usr/local/share/man</code> と、 <code>/usr/local/man</code>
を同一視するという制約は、 推奨に緩和されています。
</p>
</li>
</ol>
-<ol type="1" start="4" >
+<ol type="1" start="5" >
<li>
<p>
ウィンドウマネージャが、<code>system.*wmrc</code>
@@ -86,7 +116,7 @@
</p>
</li>
</ol>
-<ol type="1" start="5" >
+<ol type="1" start="6" >
<li>
<p>
ブートマネージャの設定ファイルを <code>/etc</code> 以下に置くか、少なくとも
@@ -95,6 +125,15 @@
</p>
</li>
</ol>
+<ol type="1" start="7" >
+<li>
+<p>
+root ファイルシステムで、<code>/sys</code> と <code>/selinux</code>
+ディレクトリが追加で許されるようになりました[<a href="footnotes.html#f64"
+name="fr64">64</a>]。
+</p>
+</li>
+</ol>
<p>
この文書で言及されている版は <samp>debian-policy</samp>
@@ -288,7 +327,7 @@
</dd>
</dl>
<dl>
-<dt>1000-29999:</dt>
+<dt>1000-59999:</dt>
<dd>
<p>
動的に割り当てられるユーザアカウントです。標準設定の <code>adduser</code>
@@ -298,14 +337,6 @@
</dd>
</dl>
<dl>
-<dt>30000-59999:</dt>
-<dd>
-<p>
-予約されています。
-</p>
-</dd>
-</dl>
-<dl>
<dt>60000-64999:</dt>
<dd>
<p>
@@ -442,7 +473,7 @@
<hr>
-<h4><a name="s9.3.2"></a>9.3.2 スクリプトの書き方</h4>
+<h4><a name="s-writing-init"></a>9.3.2 スクリプトの書き方</h4>
<p>
システムサービスを行うデーモンを含むパッケージは、
@@ -512,6 +543,18 @@
</p>
<p>
+<code>init.d</code> スクリプトで <samp>set -e</samp>
+を使う場合は注意してください。 正しい <code>init.d</code>
+スクリプトでは、デーモンが既に実行されていた、
+またはすでに異常終了ではなく停止していたなどの様々な異常終了状態を受け付ける必要があり、共通に使われる
+<code>init.d</code> 関数ライブラリは、<samp>set -e</samp>
+を付けた安全な呼び出しが行えない [<a href="footnotes.html#f65"
+name="fr65">65</a>] 可能性があります。<samp>init.d</samp>
+スクリプトでは、多くの場合 <samp>set -e</samp>
+を使わずに個々のコマンドの結果を別々にチェックするほうが容易です。
+</p>
+
+<p>
もしサービスが設定を自動的に再読み込みするような場合 (例えば <code>cron</code>
などで)、<code>init.d</code> スクリプトに付けられた <samp>reload</samp>
オプションは、 再読み込みに成功したかのように振る舞う必要があります。
@@ -575,7 +618,7 @@
<p>
<code>/var/run</code> および <code>/var/lock</code>
は一時ファイルシステムとしてマウントされている場合があるため[<a
-href="footnotes.html#f60" name="fr60">60</a>]、<code>init.d</code>
+href="footnotes.html#f66" name="fr66">66</a>]、<code>init.d</code>
はそのような場合を正しく処理できなければいけません。これは <code>init.d</code>
実行時に、パッケージにサブディレクトリを含めて <code>dpkg</code>
に作成を任せるのではなく、必要なディレクトリを動的に生成することによって実現可能です。
@@ -1002,11 +1045,86 @@
</p>
<p>
-これらのディレクトリにあるスクリプトは、実行する前に必要なプログラムがインストールされているかをチェックするようになっていなければいけません。
+<code><a href="http://www.opengroup.org/onlinepubs/9699919799/">The Open
+Group</a></code> から取得できる IEEE Std 1003.1-2008 (POSIX.1) で記載された
+<code>crontab</code> とは異なり、 <code>/etc/cron.d</code> のファイル、および
+<code>/etc/crontab</code> は 7 つのフィールドを持ちます。具体的には
+</p>
+<ol type="1" start="1" >
+<li>
+<p>
+分 [0,59]
+</p>
+</li>
+</ol>
+<ol type="1" start="2" >
+<li>
+<p>
+時 [0,23]
+</p>
+</li>
+</ol>
+<ol type="1" start="3" >
+<li>
+<p>
+月中の日付 [1,31]
+</p>
+</li>
+</ol>
+<ol type="1" start="4" >
+<li>
+<p>
+月 [1,12]
+</p>
+</li>
+</ol>
+<ol type="1" start="5" >
+<li>
+<p>
+曜日 ([0,6] with 0=Sunday)
+</p>
+</li>
+</ol>
+<ol type="1" start="6" >
+<li>
+<p>
+ユーザ名
+</p>
+</li>
+</ol>
+<ol type="1" start="7" >
+<li>
+<p>
+実行するコマンド
+</p>
+</li>
+</ol>
+
+<p>
+数字の範囲が指定できます。範囲は、ハイフンで分離した二つの数字で指定します。
+指定する範囲は排他的ではありません。また、リストも許されます。
+リストは、一連の数字 (または数字の範囲) をカンマで区切って指定します。
+範囲と飛び飛びの値は併用できます。
+</p>
+
+<p>
+これらのディレクトリにあるスクリプトまたは <samp>crontab</samp>
+エントリは、実行する前に必要なプログラムがインストールされているかをチェックするようになっていなければいけません。
そうしないと、パッケージをパージ (完全削除)
ではなく単に削除したときには設定ファイルがシステムに残ったままになっているので、問題が起きてしまいます。
</p>
+<p>
+<samp>cron</samp> デーモンは、<code>/usr/bin/crontab</code> と POSIX
+規定に従った <samp>crontab</samp>
+サポートを提供しなければいけません。またデーモンは月日の名前、
+範囲、飛び飛びの値などをサポートしなければいけません。 また
+<code>/etc/crontab</code> をサポートし、<code>/etc/cron.d</code>
+のスクリプトを正しく実行しなければいけません。 また、デーモンは
+<code>/etc/cron.{hourly,daily,weekly,monthly}</code>
+中のスクリプトを正しく実行しなければいけません。
+</p>
+
<hr>
<h3><a name="s-menus"></a>9.6 メニュー</h3>
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-relationships.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-relationships.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-relationships.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -47,12 +47,12 @@
<p>
パッケージの <samp>Depends</samp>、<samp>Recommends</samp>、
<samp>Suggests</samp>、<samp>Pre-Depends</samp>、<samp>Build-Depends</samp>
-及び <samp>Build-Depends-Indep</samp> の各コントロールファイルフィールド
+及び <samp>Build-Depends-Indep</samp> の各コントロールフィールド
(他のパッケージに依存関係がある場合に宣言するフィールド)
内に記述するパッケージ名は、代替パッケージ名の一覧でもかまいません。
代替パッケージ名は、 垂直バーシンボル <samp>|</samp> (パイプシンボル)
で区切って書きます。
-この場合、任意の代替パッケージの一つがインストールされていればこの部分の依存関係は満たされているものと判断されます。
+この場合、任意の代替パッケージの一つがインストールされていれば、この部分の依存関係は満たされているものと判断されます。
</p>
<p>
@@ -102,17 +102,21 @@
</pre>
<p>
-ビルド時のパッケージ間の関連を示す全てのフィールド
-(<samp>Build-Depends</samp>、<samp>Build-Depends-Indep</samp>、
-<samp>Build-Conflicts</samp> 及び <samp>Build-Conflicts-Indep</samp>)
-は、ある特定のアーキテクチャのセットに限定してもかまいません。
+依存関係は、ある特定のアーキテクチャの集合に限定してもかまいません。
これは、それぞれのパッケージ名とオプションのバージョン指定の後に、
角括弧ではさんで指定します。角括弧のなかには、空白で区切られた Debian
アーキテクチャの名前のリストを入れます。感嘆符 (!)
を一つまたは複数の各アーキテクチャ名の前に置くこともできます
(一部の名前に感嘆符を置き、他の名前に置かない、という指定は許されません)。
-もし、現在の Debian
-ホストのアーキテクチャがこのリストに無く、感嘆符のついた指定も無い場合、もしくは感嘆符付きでこのリスト中にある場合には、
+</p>
+
+<p>
+ビルド時のパッケージ間の関連を示すフィールド
+(<samp>Build-Depends</samp>、<samp>Build-Depends-Indep</samp>、
+<samp>Build-Conflicts</samp> 及び <samp>Build-Conflicts-Indep</samp>)
+で、現在の Debian
+ホストのアーキテクチャがこのリストに無く、感嘆符のついた指定も無い場合、
+もしくは感嘆符付きでこのリスト中にある場合には、
そのパッケージ名とバージョン指定はパッケージ間の関連を定義するためには使われず、完全に無視されます。
</p>
@@ -133,6 +137,29 @@
</p>
<p>
+バイナリの依存関係を示すフィールドについては、アーキテクチャによる制限書式はソースパッケージコントロールファイル
+<code>debian/control</code> でのみサポートされます。
+対応したバイナリパッケージコントロールファイルが作成される際、依存関係は省かれるか、そのバイナリパッケージのアーキテクチャに基づいてアーキテクチャ制限部を削除した形で収録されます。
+つまり、アーキテクチャ制限は、アーキテクチャ非依存のパッケージ
+(<samp>Architecture: all</samp>)
+のバイナリ依存関係フィールドでは使うことはできません。
+</p>
+
+<p>
+例を以下に示します。
+</p>
+<pre>
+ Depends: foo [i386], bar [amd64]
+</pre>
+
+<p>
+上記の例では、パッケージが <samp>i386</samp> アーキテクチャでビルドされた場合
+<samp>Depends: foo</samp> に変換され、<samp>amd64</samp>
+アーキテクチャでビルドされた場合 <samp>Depends: bar</samp>
+に変換され、それ以外のアーキテクチャでビルドされたバイナリパッケージでは省略されます。
+</p>
+
+<p>
アーキテクチャ制限つきの依存関係が <samp>|</samp>
を使った代替パッケージ集合の一部であった場合、制約を満たさないアーキテクチャ上では代替パッケージは完全に無視されます。
例を以下に示します。
@@ -148,6 +175,20 @@
</p>
<p>
+依存関係は、アーキテクチャワイルドカードを使って特定アーキテクチャへの制限を与えることも可能です。
+そのような制限の宣言の書式は、アーキテクチャワイルドカードを使わずにアーキテクチャを列挙する場合の宣言と同様です。例を以下に示します。
+</p>
+<pre>
+ Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any]
+</pre>
+
+<p>
+上記の例では、<samp>foo</samp> は Linux カーネルで任意の cpu、 <samp>bar</samp>
+は任意のカーネルで i386 cpu、そして <samp>baz</samp> は Linux
+以外のカーネルで任意のアーキテクチャ、という意味になります。
+</p>
+
+<p>
注意してほしいのは、バイナリパッケージの依存関係、例えば <samp>Depends</samp>
など、はコントロールファイルのうちの一つのバイナリパッケージセクションで指定され、一方構築時の依存関係、例えば
<samp>Build-Depends</samp> はコントロールファイルのソースパッケージセクション
@@ -167,10 +208,10 @@
</p>
<p>
-この宣言には、コントロールファイルの <samp>Depends</samp>、
+この宣言には、<samp>Depends</samp>、
<samp>Pre-Depends</samp>、<samp>Recommends</samp>、<samp>Suggests</samp>、
<samp>Enhances</samp>、<samp>Breaks</samp>、<samp>Conflicts</samp>
-フィールドを使用します。 <samp>Breaks</samp> は <a
+コントロールフィールドを使用します。 <samp>Breaks</samp> は <a
href="#s-breaks">他のパッケージを壊すパッケージ - <samp>Breaks</samp>, Section
7.3</a> で、<samp>Conflicts</samp> は <a
href="#s-conflicts">競合するバイナリパッケージ - <samp>Conflicts</samp>,
@@ -301,9 +342,11 @@
しようとする際、先行依存関係は依存されたパッケージがきちんと設定されている場合、そして先行依存されているパッケージ
(群)
が、過去のある時点できちんと設定され、以後削除も部分的削除もされていない場合には、
-そのパッケージが現時点で展開中や中途半端に設定されている状態で
+そのパッケージが現時点で展開中や "Half-Configured" 状態で
<em>あっても</em> 満たされます。
-この場合は、以前に設定されていたパッケージのバージョンと、現在展開された、またはある程度設定されたバージョンとの両方が、<samp>Pre-Depends</samp>
+この場合は、以前に設定されていたパッケージのバージョンと、現在展開のみされた、または
+"Half-Configured"
+状態のバージョンとの両方が、<samp>Pre-Depends</samp>
フィールドのバージョン部分を満たしている必要があります。
</p>
@@ -350,7 +393,7 @@
<p>
パッケージは、設定ファイルがインストールされているだけの状態で、壊されるとは見なされません。
-少なくとも half-installed 以上の状態である必要があります。
+少なくとも "Half-Installed" 以上の状態である必要があります。
</p>
<p>
@@ -362,17 +405,31 @@
通常は、<samp>Breaks</samp> エントリには「これ以前のバージョン」
を指定する節を持ちます。このような <samp>Breaks</samp>
は、明示的あるいは暗示的な依存関係が何らかの前提を壊したか、
-以前の「壊れている」バージョンのパッケージのバグを顕在化させてしまうなどの理由で指定されます。
-このような <samp>Breaks</samp> の用法は高度なパッケージ管理ツールに、
+以前の「壊れている」バージョンのパッケージのバグを顕在化させてしまう、 または
+<samp>Breaks</samp>
+で指定された以前のバージョンのパッケージのファイルを引き継いだためなどの理由で指定されます。
+このような <samp>Breaks</samp> の用法は上位階層のパッケージ管理ツールに、
「壊れている」パッケージを新版にアップグレードしなければならないことを伝えます。
</p>
<p>
パッケージを壊す際、旧パッケージの一部のファイルを上書きする場合、
-処理がスムーズに進むように <samp>Replaces</samp> (<samp>Conflicts</samp>
-ではなく) を指定すべきです。
+処理がスムーズに進むように <samp>Replaces</samp> を指定すべきです。
+他のパッケージを引き継ぐ場合の詳細な説明は <a
+href="#s-replaces">ファイルの上書きとパッケージの置換 - <samp>Replaces</samp>,
+Section 7.6</a> を参照ください。そこにはそのような場合での <samp>Breaks</samp>
+の利用法についても記載されています。
</p>
+<p>
+<samp>Breaks</samp> を使うべき場合の多くは、以前は <samp>Breaks</samp>
+がなかったため、<samp>Conflicts</samp> が使われていました。 多くの
+<samp>Conflicts</samp> フィールドが <samp>Breaks</samp>
+に置き換えられています。 違いの詳細は <a
+href="#s-conflicts">競合するバイナリパッケージ - <samp>Conflicts</samp>,
+Section 7.4</a> をご覧ください。
+</p>
+
<hr>
<h3><a name="s-conflicts"></a>7.4 競合するバイナリパッケージ - <samp>Conflicts</samp></h3>
@@ -381,13 +438,17 @@
あるバイナリパッケージが他のパッケージとの競合関係を <samp>Conflicts</samp>
フィールドを使って宣言している場合、 <code>dpkg</code>
は、それら二つのパッケージを同時にインストールすることを拒否します。
+これは、両方のパッケージが同時に設定されることだけを妨げる <samp>Breaks</samp>
+より強い制約です。Conflict
+するパッケージは、同時にシステム上でアンパックすることが許されないのです。
</p>
<p>
このようなパッケージをインストールするには、もう一方のパッケージをまず削除しなければいけません。
実際の動作としては、インストールしようとしているパッケージに、システム上にあるパッケージを置きかえる
(<a href="#s-replaces">ファイルの上書きとパッケージの置換 -
-<samp>Replaces</samp>, Section 7.6</a> 参照)
+<samp>Replaces</samp>, Section 7.6</a> 参照。但しこの場合は通常は
+<samp>Breaks</samp> を使うべきです。)
ようにマークが付けられている場合、システムにインストールされているパッケージに選択を解除するようマークが付けられている場合、また両方のパッケージに
<samp>Essential</samp> という宣言がされている場合は、 <code>dpkg</code>
は、競合関係の原因となっているパッケージを自動的に削除します。
@@ -399,7 +460,8 @@
<p>
あるパッケージが、単に設定ファイルのみがまだインストールされている場合に競合関係をひきおこすことはありません。
-競合関係にあるためには最低でも half-installed の状態でなければいけません。
+競合関係にあるためには最低でも "Half-Installed"
+の状態でなければいけません。
</p>
<p>
@@ -413,11 +475,88 @@
</p>
<p>
+通常は、<samp>Conflicts</samp> ではなく <samp>Breaks</samp> を用いるべきです。
+これは、<samp>Conflicts</samp>
+がパッケージインストールやアップグレードに対してより強い制約を課すため、パッケージマネージャがアップグレードやインストールを行う際の問題の適切な回答を得るのがより難しくなるためです。
+<samp>Breaks</samp> は以下の場合に使用すべきです。
+</p>
+<ul>
+<li>
+<p>
+ファイルをパッケージ間で移動する場合 (<a
+href="#s-replaces">ファイルの上書きとパッケージの置換 - <samp>Replaces</samp>,
+Section 7.6</a> 参照のこと)
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+パッケージを分割する場合 (ファイル移動の特殊な場合)
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+(対象パッケージをインストールすることにより) <samp>Breaks</samp>
+を指定したパッケージの以前の版でバグが表に出たり、ひどい相互干渉がある場合
+</p>
+</li>
+</ul>
+
+<p>
+そして <samp>Conflicts</samp> は以下の場合に使用すべきです。
+</p>
+<ul>
+<li>
+<p>
+二つのパッケージが同じファイルを提供し、かつその状況を続ける場合
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+<samp>Provides</samp>
+と組み合わせて、指定された仮想パッケージ機能を提供するパッケージをインストールするのは、どの時点でも一つにしたい場合
+(<a href="#s-virtual">仮想パッケージ - <samp>Provides</samp>, Section 7.5</a>
+参照)
+</p>
+</li>
+</ul>
+<ul>
+<li>
+<p>
+その他の場合で、同時に二つのパッケージがインストールされることを当面避ける
+(そのパッケージの後続の版で修正予定が無い)
+または両方のパッケージが設定ではなく、アンパックされることを避ける必要がある場合。
+</p>
+</li>
+</ul>
+
+<p>
+ただし、一般的に二つのパッケージが同じファイルを提供する場合に
+<samp>Conflicts</samp> を指定するのは良い方法ではありません。
+競合の理由に依存しますが、代替パッケージ機能を使うか、ファイルの名称変更を行う方が通常はより良い方法です。例を
+<a href="ch-files.html#s-binaries">バイナリファイル, Section 10.1</a>
+で参照ください。
+</p>
+
+<p>
+二つのパッケージが同時にインストールできないか、同時にインストールした場合に何れかのパッケージが壊れたり利用不能になったりするのでなければ、
+<samp>Breaks</samp> や <samp>Conflicts</samp> を指定すべきではありません。
+他のパッケージと似た機能を持っていたり、同じ仕事をおこなえることは、
+<samp>Breaks</samp> や <samp>Conflicts</samp>
+をパッケージに指定するのに十分な理由とはなりません。
+</p>
+
+<p>
<samp>Conflicts</samp>
-フィールドは、ほとんど常にバージョン番号の指定に「より古い」という指定を含むべきではありません。
-このような指定を行うと、<code>dpkg</code>
-は、その競合関係を宣言しているパッケージが削除されるかアップグレードされるまで、そのパッケージのインストールまたはアップグレードを中止します。
-代わりにこの場合は <samp>Breaks</samp> を使うことができます。
+フィールドは、将来の版で競合が解消される場合には、バージョン番号の指定に「より古い」という指定を含むことができます。
+但し、通常そのような「より古い」という指定を含む場合は、<samp>Breaks</samp>
+を代わりに使うべき場合でしょう。「より古い」という指定を行うと、<code>dpkg</code>
+は、その競合関係を宣言しているパッケージが削除されるかアップグレードされるまで、そのパッケージのインストールまたはアップグレードを中止するため、より強い制限になります。
</p>
<hr>
@@ -435,9 +574,9 @@
</p>
<p>
-この仮想パッケージ名は、あるパッケージのコントロールファイルの、
-<samp>Provides</samp> フィールドに書かれるものです。
-これによって、そのパッケージが所定の仮想パッケージ名が書かれているところすべてにリストされるという扱いになります
+この仮想パッケージ名は、他のパッケージの <samp>Provides</samp>
+コントロールフィールドに書かれるものです。
+これによって、当該の仮想パッケージ名が書かれているところすべてに、そのパッケージ名が指定されるという扱いになります
(<a href="ch-binary.html#s-virtual_pkg">仮想パッケージ, Section 3.6</a> 参照)。
</p>
@@ -467,22 +606,29 @@
<p>
依存関係を示すフィールドにバージョン番号が付けられている場合は、
関係が満たされているかどうか (あるいは、競合関係が侵されていないか、または
-「壊され」ていないか) を見るのには、実在のパッケージだけが考慮されます。
-仮想パッケージを提供する実在のパッケージは、「正しい」バージョン番号ではないと見なされます。
-従って、<samp>Provides</samp>
-フィールドには、バージョン番号を含んではいけません。
-また、仮想パッケージとの競合または依存関係を決定するときには、その仮想パッケージを提供する実際のパッケージのバージョン番号は参照されません。
+「壊され」ていないか) を見るのには、実パッケージだけが考慮されます。
+言い換えれば、バージョン番号が指定されている場合、それはそのパッケージに対する
+<samp>Provides</samp> を無視し、実パッケージのみを考慮します。
+パッケージマネージャは、仮想パッケージを提供するパッケージは、「正しい」バージョン番号ではないと見なします。
+<samp>Provides</samp> フィールドには、バージョン番号を含んではいけません。
+また、仮想パッケージとの競合または依存関係を決定するときには、その仮想パッケージを提供する実際のパッケージのバージョン番号は参照されません
+[<a href="footnotes.html#f46" name="fr46">46</a>]。
</p>
<p>
-将来的には、<code>dpkg</code>
-に提供される仮想パッケージのバージョン番号を特定する機能が付加されることになるとは思います。
-しかし、この機能は今はまだ実装されていませんし、またそれはめったに使われないことと思います。
+ある仮想パッケージに関する依存関係で特定の実際のパッケージの集合を指定する場合は、
+仮想パッケージ名の前に、代替パッケージとして使われる実パッケージ名をフィールド中に列挙してください。
</p>
<p>
-ある仮想パッケージに関する依存関係で特定の実際のパッケージの集合を指定しなければならないときには、
-仮想パッケージ名の前に、代替パッケージとして使われる実際のパッケージ名をフィールド中に列挙してください。
+仮想パッケージが、一度に一つのパッケージからのみ提供可能な機能を持つ、例えば
+<code>mail-transport-agent</code>
+仮想パッケージのように、当該仮想パッケージを提供するパッケージのバイナリインストールと競合する
+( <a
+href="ch-customized-programs.html#s-mail-transport-agents">メール配送、配信、ユーザエージェント,
+Section 11.6</a> 参照) 場合、その仮想パッケージを提供する全てのパッケージは
+<samp>Conflicts</samp> を使って競合を宣言すべきです。
+これにより、その仮想パッケージを提供するパッケージは最大一つまでしかインストールされないことが保証されます。
</p>
<hr>
@@ -491,8 +637,8 @@
<p>
パッケージが、他の特定のパッケージのファイルを上書きする、または他のパッケージを完全に置きかえることを宣言することができます。
-コントロールファイルの <samp>Replaces</samp>
-フィールドは、異なった状況下で作用する二つの異なった目的を持っています。
+<samp>Replaces</samp>
+コントロールフィールドは、異なった状況下で作用する二つの異なった目的を持っています。
</p>
<hr>
@@ -500,18 +646,40 @@
<h4><a name="s7.6.1"></a>7.6.1 他のパッケージ中の一部のファイルを上書きする</h4>
<p>
-まず上で言及したように、システム中の他のパッケージに含まれているファイルを、
+システム中の他のパッケージに含まれているファイルを、
インストールしようとするパッケージが含んでいるケースは、通常エラーです。
-</p>
-
-<p>
但しここで、上書きするパッケージが上書きしようとしているファイルを
<samp>Replaces (置換)</samp> すると宣言していた場合、<code>dpkg</code>
はその処理を実行し、古いパッケージ中のファイルを新しいファイルと置きかえます。
そのファイルは古いパッケージの所有リストからは削除されます。
+通常は、<samp>Replaces</samp> は <samp>Breaks</samp> と組み合わせて用います [<a
+href="footnotes.html#f47" name="fr47">47</a>]
</p>
<p>
+例えば、パッケージ <code>foo</code> を <code>foo</code> と
+<code>foo-data</code> にバージョン 1.2-3 で分割したとします。
+<code>foo-data</code> のコントロールファイルには以下のフィールドを定義します。
+</p>
+<pre>
+ Replaces: foo (<< 1.2-3)
+ Breaks: foo (<< 1.2-3)
+</pre>
+
+<p>
+新たな <code>foo</code> パッケージでは、普通以下のようなフィールドになります。
+</p>
+<pre>
+ Depends: foo-data (>= 1.2-3)
+</pre>
+
+<p>
+<code>foo-data</code> パッケージに移動した内容が通常の動作に必要が無い場合、
+<samp>Recommends</samp> や、さらに <samp>Suggests</samp>
+となる可能性もあります。
+</p>
+
+<p>
このようにして、パッケージが完全に置きかえられてしまったときは、
<code>dpkg</code> はそのパッケージが持っているファイルが無く、
『消えてしまった』と考えます。この場合、「必要とされていない」
@@ -522,22 +690,22 @@
最終的な大掃除が必要であれば、そのパッケージの <code>postrm</code>
スクリプトを必要に応じて実行することになるでしょう。 <a
href="ch-maintainerscripts.html#s-mscriptsinstact">メンテナスクリプトの呼ばれ方のまとめ,
-Section 6.5</a> をごらんください [<a href="footnotes.html#f44"
-name="fr44">44</a>]。
+Section 6.5</a> をごらんください [<a href="footnotes.html#f48"
+name="fr48">48</a>]。
</p>
<p>
<samp>Replaces</samp> のこの使い方では、仮想パッケージ (<a
href="#s-virtual">仮想パッケージ - <samp>Provides</samp>, Section 7.5</a> 参照)
-は <samp>Replaces</samp> フィールドを 見るときには考慮されません -
-置きかえられると宣言されている
+は <samp>Replaces</samp> フィールドを
+見るときには考慮されません。置きかえられると宣言されている
パッケージはその実際の名前で言及されていなければなりません。
</p>
<p>
付け加えておくと、<samp>Replaces</samp> フィールドがこのように使われるのは、
-二つのパッケージが一時的にせよシステム中に同時に存在する場合です。
-つまり、これらのパッケージは競合関係にないか、またはその競合関係がすでに上書きされて解消されている場合です。
+二つのパッケージが部分的にせよシステム中に同時に存在する場合です。
+競合関係がすでに上書きされて解消されている場合でなければ、パッケージが競合関係にあるかどうかとは関係ありません。
</p>
<hr>
@@ -567,6 +735,8 @@
<p>
MTA が一度に一つだけインストールされているようにすることができます。
+このことについては <a href="#s-virtual">仮想パッケージ - <samp>Provides</samp>,
+Section 7.5</a> でより詳しく説明されています。
</p>
<hr>
@@ -579,9 +749,9 @@
</p>
<p>
-これはコントロールファイルの <samp>Build-Depends</samp>、
+これは <samp>Build-Depends</samp>、
<samp>Build-Depends-Indep</samp>、<samp>Build-Conflicts</samp> 及び
-<samp>Build-Conflicts-Indep</samp> ファイルフィールドを使って指定します。
+<samp>Build-Conflicts-Indep</samp> コントロールフィールドを使って指定します。
</p>
<p>
@@ -594,28 +764,25 @@
これらの指示された依存、および競合関係は (上記のバイナリパッケージの場合と同様)
以下で記載するように、<samp>debian/rules</samp>
中のターゲットを起動するために満たされていなければいけません [<a
-href="footnotes.html#f45" name="fr45">45</a>]。
+href="footnotes.html#f49" name="fr49">49</a>]。
</p>
<dl>
-<dt><samp>Build-Depends</samp>, <samp>Build-Conflicts</samp></dt>
+<dt><samp>clean</samp>, <samp>build-arch</samp> および <samp>binary-arch</samp></dt>
<dd>
<p>
-<samp>Build-Depends</samp> と <samp>Build-Conflicts</samp> フィールドは
-<samp>build</samp>、<samp>clean</samp>、<samp>binary</samp>、
-<samp>binary-arch</samp>、<samp>build-arch</samp>、 <samp>build-indep</samp> と
-<samp>binary-indep</samp>
-のどれかのターゲットを起動する際に満たされていなければいけません。
+これらのターゲットの起動の際には、<samp>Build-Depends</samp> と
+<samp>Build-Conflicts</samp>
+フィールドは少なくとも満たされていなければいけません。
</p>
</dd>
</dl>
<dl>
-<dt><samp>Build-Depends-Indep</samp>, <samp>Build-Conflicts-Indep</samp></dt>
+<dt><samp>build</samp>, <samp>build-indep</samp>, <samp>binary</samp> および <samp>binary-indep</samp></dt>
<dd>
<p>
-<samp>Build-Depends-Indep</samp> と <samp>Build-Conflicts-Indep</samp>
-フィールドは 、 <samp>build</samp>、<samp>build-indep</samp>、
-<samp>binary</samp> と <samp>binary-indep</samp>
-のいずれかのターゲットを起動する際には満たされていなければいけません。
+The <samp>Build-Depends</samp>, <samp>Build-Conflicts</samp>,
+<samp>Build-Depends-Indep</samp> および <samp>Build-Conflicts-Indep</samp>
+の各フィールドが、これらのターゲットを起動する際には満たされていなければいけません。
</p>
</dd>
</dl>
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-sharedlibs.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-sharedlibs.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-sharedlibs.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -44,40 +44,108 @@
</p>
<p>
-共有ライブラリを含むパッケージは、複数のバイナリパッケージに分割すべきです。
-本節ではこの分割を行う場合の処理について扱います。
-共有ライブラリパッケージに含めるファイルについての規則は、 <a
-href="ch-files.html#s-libraries">ライブラリ, Section 10.2</a> で扱います。
+この節では公開される共有ライブラリのみを扱います。
+つまり、既定でダイナミックリンカが探索するディレクトリに置かれるか、他の独立したパッケージから普通にリンクされることを意図した共有ライブラリを扱います。
+特定のパッケージの内部で使うための共有ライブラリや、動的モジュールとしてロードされるだけのライブラリはこの節では扱わず、以下の要求事項の対象とはなりません。
</p>
+<p>
+共有ライブラリはダイナミックセクションに格納された <samp>SONAME</samp>
+アトリビュートで識別されます。
+バイナリが共有ライブラリにリンクされている場合、共有ライブラリの
+<samp>SONAME</samp> がバイナリの <samp>NEEDED</samp>
+セクションに記録され、ダイナミックリンカはその情報を使って当該ライブラリを実行時にロードしなければならないことを認識します。
+共有ライブラリの名前の全体 (これには通常 <samp>SONAME</samp>
+には必要ではない追加のバージョン情報が含まれます)
+は、従って直接参照されることはありません。代わりに、共有ライブラリは
+共有ライブラリの実際の名前 (の全体)
+を指すシンボリックリンクとしてシステムに配置された <samp>SONAME</samp>
+を使ってロードされます。
+シンボリックリンクはパッケージ側で提供しなければいけません。
+これを行う方法については、<a
+href="#s-sharedlibs-runtime">ランタイム共有ライブラリ, Section 8.1</a>
+を参照ください [<a href="footnotes.html#f50" name="fr50">50</a>]。
+</p>
+
+<p>
+共有ライブラリに対してバイナリや他の共有ライブラリをリンクする時点では、
+その共有ライブラリの <samp>SONAME</samp> はまだ分かっていません。
+この場合、共有ライブラリは対応するライブラリ名に <samp>.so</samp>
+を付けた名称のファイルの探索により決定されます。
+このようなファイルは、ファイルシステム上では、共有ライブラリを指すシンボリックリンクとして存在します。
+</p>
+
+<p>
+共有ライブラリを含むパッケージは、通常複数のバイナリパッケージに分割されます。
+<samp>SONAME</samp>
+シンボリックリンクは、共有ライブラリのランタイムパッケージによりインストールされます。
+また、生の <samp>.so</samp>
+シンボリックリンクは、バイナリや共有ライブラリとリンクする際にのみ用いるため、開発用パッケージによりインストールされます。
+但し、一般的ではない共有ライブラリや他のプログラムから動的モジュールとしてロードされる共有ライブラリなどは例外になります。
+</p>
+
+<p>
+この節では、共有ライブラリを複数のパッケージに分割するための (適切な)
+手法と、共有ライブラリとバイナリパッケージとの依存関係が Debian
+でどのように処理されるか、を主として記載します。さらに <a
+href="ch-files.html#s-libraries">ライブラリ, Section 10.2</a>
+に共有ライブラリに収録されるファイルに関する追加の規則が記載されていますので、そちらを合わせて読んでください。
+</p>
+
<hr>
<h3><a name="s-sharedlibs-runtime"></a>8.1 ランタイム共有ライブラリ</h3>
<p>
-ランタイム共有ライブラリのパッケージは、収録された共有オブジェクトのバージョンが変更されるたびに、パッケージ名称を変更する必要があります
-[<a href="footnotes.html#f46" name="fr46">46</a>]。
-これを実現するもっとも普通のやり方は、ランタイム共有ライブラリは、
-<code><var>libraryname</var><var>soversion</var></code>
-という名称のパッケージに収録します。ここで <code><var>soversion</var></code>
-の部分は、共有ライブラリの .so ファイル名のバージョン番号部分です [<a
-href="footnotes.html#f47"
-name="fr47">47</a>]。これに対して、<var>libraryname</var> に
-<var>soversion</var> を直接付加すると混乱する場合 (例えば、
-<var>libraryname</var> 自体が数字で終わっている場合など) には、
-<code><var>libraryname</var>-<var>soversion</var></code> と
-<code><var>libraryname</var>-<var>soversion</var>-dev</code>
-を代わりに用いることができます。
+ランタイム共有ライブラリのパッケージは、収録された共有オブジェクトの
+<samp>SONAME</samp>
+が変更されるたびに、パッケージ名称を変更する必要があります。
+これにより、共有ライブラリの複数のバージョンを同時にインストールできるため、共有ライブラリの古いバージョンに依存したバイナリを直ぐに動かなくすることなしに新バージョンのインストールが可能です。
+通常は、共有ライブラリのランタイムと、その <samp>SONAME</samp>
+シンボリックリンクは、 <code><var>libraryname</var><var>soversion</var></code>
+という名称のパッケージに収録すべきです。ここで、<var>soversion</var>
+は、共有ライブラリの <samp>SONAME</samp> 中のバージョン番号です。
+バージョンの判定方法の詳細は、<a href="#s-shlibs"><code>shlibs</code>
+ファイルフォーマット, Section 8.6.3</a> を参照ください。
+または、<var>libraryname</var> に <var>soversion</var>
+を直接付加すると混乱する場合 (例えば、 <var>libraryname</var>
+自体が数字で終わっている場合など) には、
+<code><var>libraryname</var>-<var>soversion</var></code>
+を代わりに用いるべきです。
</p>
<p>
-一つのソースツリーから複数の共有ライブラリをビルドする場合には、.so
-ファイル名を一括して変えるようにする[<a href="footnotes.html#f48"
-name="fr48">48</a>]
-ことで、複数の共有ライブラリを一つのパッケージにまとめられます。
+一つのソースツリーから複数の共有ライブラリをビルドする場合には、すべての
+<samp>SONAME</samp>
+名を常に一括して変えるようにすることで、複数の共有ライブラリを一つのパッケージにまとめられます。
+注意点としては、これは一般的な状況ではなく、<samp>SONAME</samp>
+が同期して変更されない場合には、まとめられた共有ライブラリのアップグレードが、旧バージョンのライブラリとのファイル名の競合のため不必要に複雑になります。
+自信の無い場合には、共有ライブラリパッケージを分割して、各バイナリパッケージに一つの共有ライブラリが収録されるようにしてください。
</p>
<p>
+共有ライブラリの旧版とリンクしたバイナリが動かなくなるような ABI
+変更が行われる場合には、ライブラリの <samp>SONAME</samp>
+と、それに対応した共有ライブラリを収録したパッケージ名は毎回変更すべきです。
+これは、共有ライブラリからインターフェースが削除された場合、またはインターフェースの特性の変更があった場合
+(例えば、引数の数や引数のタイプが変更された場合など) <samp>SONAME</samp>
+を通常変更すべきだということです。
+この約束事は、パッケージの旧バージョンからの綺麗なアップグレードに不可欠で、さらに関連パッケージを同期してアップグレードせずに、旧
+ABI から新 ABI に綺麗に移行する処理にも不可欠になります。
+</p>
+
+<p>
+インターフェースの削除や変更なしに単に追加が行われたという場合には、
+<samp>SONAME</samp>
+名とバイナリパッケージ名は変更する必要はありませんし、変更すべきでもありません。
+これは、このような変更は旧共有ライブラリにリンクしていたバイナリを壊すことがないためです。
+新しいインターフェースを用いるバイナリでの、新しい共有ライブラリとの正しい依存関係に対するバージョン付けは、
+<a href="#s-sharedlibs-shlibdeps"><samp>shlibs</samp> system</a>
+またはシンボルファイルを使って (<code>deb-symbols(5)</code> 参照)
+管理されます。
+</p>
+
+<p>
パッケージは、共有ライブラリを普通の名前でインストールすべきです。
例えば、パッケージ <code>libgdbm1</code> は <code>libgdbm.so.3.0.0</code> を
<code>/usr/lib/libgdbm.so.3.0.0</code> へインストールすべきです。
@@ -94,16 +162,17 @@
</p>
<p>
-ランタイムライブラリパッケージは <code>ldconfig</code>
+ランタイムライブラリパッケージは、<samp>SONAME</samp> に対応した
+<code>ldconfig</code>
の作成する共有ライブラリ用のシンボリックリンクを含むべきです。
-例えば、<code>libgdbmg1</code> パッケージは、
+例えば、<code>libgdbmg3</code> パッケージは、
<code>/usr/lib/libgdbm.so.3</code> から <code>libgdbm.so.3.0.0</code>
を含むべきです。これが必要なのは、<code>dpkg</code>
がライブラリをインストールしてから <code>postinst</code> で
<code>ldconfig</code> が実行されるまでの間にダイナミックリンカ
(例えば、<code>ld.so</code> や <code>ld-linux.so.*</code>)
がそのライブラリを見つけることができるようにするため [<a
-href="footnotes.html#f49" name="fr49">49</a>] です。
+href="footnotes.html#f51" name="fr51">51</a>] です。
</p>
<hr>
@@ -113,7 +182,7 @@
<p>
ダイナミックリンカの標準のディレクトリ (現在は <code>/usr/lib</code> と
<code>/lib</code> です)、または <code>/etc/ld.so.conf</code>
-に列挙されたディレクトリ [<a href="footnotes.html#f50" name="fr50">50</a>]
+に列挙されたディレクトリ [<a href="footnotes.html#f52" name="fr52">52</a>]
にライブラリをインストールするパッケージは、
共有ライブラリシステムをアップデートするために <code>ldconfig</code>
を使わなければいけません。
@@ -142,7 +211,7 @@
</ul>
<p>
-[<a href="footnotes.html#f51" name="fr51">51</a>]
+[<a href="footnotes.html#f53" name="fr53">53</a>]
</p>
<hr>
@@ -176,7 +245,7 @@
<p>
ファイルとサポートプログラムで、ライブラリを使うプログラムのコンパイル時にのみ有用なものは、ライブラリの開発用パッケージに含めてください
-[<a href="footnotes.html#f52" name="fr52">52</a>]。
+[<a href="footnotes.html#f54" name="fr54">54</a>]。
</p>
<hr>
@@ -222,11 +291,14 @@
<h3><a name="s-sharedlibs-dev"></a>8.4 開発用ファイル</h3>
<p>
-共有ライブラリに関連した開発用のファイルは、
+共有ライブラリに関連した開発用のファイルがある場合には、ソースパッケージでは
<code><var>libraryname</var><var>soversion</var>-dev</code>
-という名前、または一度に一つの開発用バージョンのみをサポートしたい場合は
+という名前のバイナリ開発用パッケージを作成して収録するか、
+または一度に一つの開発用バージョンのみをサポートしたい場合は
<code><var>libraryname</var>-dev</code>
-という名前のパッケージに収録する必要があります。
+という名前のパッケージを作成して収録する必要があります。
+この開発用のパッケージをインストールすることにより、対象共有ライブラリを使ってプログラムをコンパイルするのに必要な全ての開発用ファイルがインストールされなければいけません[<a
+href="footnotes.html#f55" name="fr55">55</a>]。
</p>
<p>
@@ -246,6 +318,14 @@
リンカは動的コンパイル時に <code>libgdbm.so</code> しか見ないためです。
</p>
+<p>
+パッケージが GMAT で用いる Ada ライブラリ情報 (<code>*.ali</code>)
+ファイルを含む場合、 このファイルは読み出し専用 (mode 0444)
+でインストールし、GNAT がこれを再コンパイルしないようにしなければいけません。
+これは <a href="ch-files.html#s-permissions-owners">ファイル属性と所有者,
+Section 10.9</a> で記載の通常のファイルモード指定に対する例外規定です。
+</p>
+
<hr>
<h3><a name="s-sharedlibs-intradeps"></a>8.5 同一のライブラリのパッケージ間の依存関係</h3>
@@ -253,7 +333,7 @@
<p>
通常、開発用バージョンは、コンパイルとリンクを正しく行うため、ランタイムライブラリに対して正確な依存関係を持たせるべきです。
<samp>${binary:Version}</samp> による変数置換がこの目的には便利です [<a
-href="footnotes.html#f53" name="fr53">53</a>]。
+href="footnotes.html#f56" name="fr56">56</a>]。
</p>
<hr>
@@ -274,13 +354,13 @@
</p>
<p>
-従って、共有ライブラリを含むパッケージをビルドする際には、他のパッケージが使えるよう
+共有ライブラリを含むパッケージをビルドする際には、他のパッケージが使えるよう
<code>shlibs</code> を提供しなければいけません。
また、共有ライブラリやコンパイルされたバイナリを含むパッケージでは、
それらに対して <a
href="ap-pkg-sourcepkg.html#s-pkg-dpkg-shlibdeps"><code>dpkg-shlibdeps</code></a>
を実行して、それらが使っているライブラリと、その使用に伴ってそのパッケージで必要になる依存関係を判断できるようにしなければいけません
-[<a href="footnotes.html#f54" name="fr54">54</a>]。
+[<a href="footnotes.html#f57" name="fr57">57</a>]。
</p>
<p>
@@ -306,9 +386,10 @@
</p>
<p>
-これはパッケージの情報を上書き変更するために使います。 使用法は以下 (<a
-href="#s-shlibslocal"><code>debian/shlibs.local</code> ファイルの書き方,
-Section 8.6.5</a> の項で) で説明します。
+これはこのパッケージの情報を上書き変更するために使います。
+このファイルは通常は使うべきではありませんが、他のパッケージのバグを回避するための特別な場合や、
+インストールされているライブラリに対する <code>shlibs</code>
+の通常の宣言されている依存関係を使うことができないような特別の場合などに一時的に必要になる場合があります。
</p>
</li>
</ul>
@@ -334,8 +415,8 @@
パッケージをビルドしようとする際、各 <code>debian/shlibs</code>
ファイルは一時的に作成されたビルドディレクトリ中のコントロールファイル領域ににコピーされ、
<code>shlibs</code> という名が付けられます。
-これらのファイルはパッケージに含まれる共有ライブラリの詳細情報を提供します [<a
-href="footnotes.html#f55" name="fr55">55</a>]。
+これらのファイルは、そのパッケージに含まれる共有ライブラリの詳細情報を提供します
+[<a href="footnotes.html#f58" name="fr58">58</a>]。
</p>
</li>
</ul>
@@ -384,7 +465,7 @@
<p>
それ以外の場合には、コンパイルされるバイナリとライブラリを明示的に列挙する [<a
-href="footnotes.html#f56" name="fr56">56</a>] 必要があります。
+href="footnotes.html#f59" name="fr59">59</a>] 必要があります。
</p>
<p>
@@ -396,15 +477,6 @@
</p>
<p>
-<code>dpkg-shlibdeps</code>
-が何も文句を言ってこなかったなら、うまくいっています。
-もし、エラーや警告などが出力されたのであれば、たぶん、自前の
-<code>debian/shlibs.local</code> を以下 (<a
-href="#s-shlibslocal"><code>debian/shlibs.local</code> ファイルの書き方,
-Section 8.6.5</a> 参照) で記載するように作成する必要があるでしょう。
-</p>
-
-<p>
複数のバイナリパッケージを生成する場合には、 <code>dpkg-shlibdeps</code>
をコンパイルされたバイナリ及び共有ファイルを含むパッケージ毎に実行する必要があります。
この場合、個別の <code>substvars</code> ファイルを指定するため
@@ -416,15 +488,15 @@
<p>
Debian Installer 中で使用するために udeb を作成する場合には、
<code>dpkg-shlibdeps</code> が <samp>udeb</samp>
-タイプに対する依存指定行を用いるように、オプションとして <samp>-tudeb</samp>[<a
-href="footnotes.html#f57" name="fr57">57</a>]
+タイプに対する依存指定行を用いるように、 <samp>-tudeb</samp> オプション[<a
+href="footnotes.html#f60" name="fr60">60</a>]
を追加する指定を行なう必要があるでしょう。<code>shlibs</code> ファイル中に
<samp>udeb</samp> タイプに対する依存関係の指定行がない場合、
<code>dpkg-shlibdeps</code> は標準の依存関係指定行を用います。
</p>
<p>
-dpkg-shlibdeps について更に詳しく知りたい場合には、 <a
+<code>dpkg-shlibdeps</code> について更に詳しく知りたい場合には、 <a
href="ap-pkg-sourcepkg.html#s-pkg-dpkg-shlibdeps"><code>dpkg-shlibdeps</code> -
共有ライブラリの依存関係の算定, Section C.1.4</a> と
<code>dpkg-shlibdeps(1)</code> をご覧ください。
@@ -464,12 +536,16 @@
<p>
<var>soname-version</var> はライブラリの .so
-ファイル名のバージョンの部分です。.so
-ファイル名にはダイナミックリンカに認識されるライブラリ名と厳密に一致した名前を与えなければいけません。
+ファイル名のバージョンの部分です。soname
+にはダイナミックリンカに認識されるライブラリ名と厳密に一致した名前を与えなければいけません。
これは通常、<samp><var>name</var>.so.<var>major-version</var></samp>
という形式で、ここでの例では <samp>libz.so.1</samp> [<a
-href="footnotes.html#f58" name="fr58">58</a>] です。 バージョン部は
-<samp>.so.</samp> の後に来ている部分で、ここの例では <samp>1</samp> です。
+href="footnotes.html#f61" name="fr61">61</a>] です。 バージョン部は
+<samp>.so.</samp> の後に来ている部分で、ここの例では <samp>1</samp>
+です。soname 部は <samp>libdb-4.8.so</samp> のように
+<samp><var>name</var>-<var>major-version</var>.so</samp>
+とすることもでき、この場合はライブラリ名が <samp>libdb</samp>
+で、バージョン番号が <samp>4.8</samp> になります。
</p>
<p>
@@ -512,7 +588,7 @@
(もし複数のバイナリパッケージを作成する場合には、
<code>debian/shlibs.<var>package</var></code>
としたほうがいい場合もあります)。次に、<code>debian/rules</code>
-でそれを制御領域にインストールしてください。
+でそれを制御情報ファイル領域にインストールしてください。
</p>
<pre>
install -m644 debian/shlibs debian/tmp/DEBIAN
@@ -526,11 +602,11 @@
</pre>
<p>
-もう一つの方法として、<code>debian/rules</code> から制御領域に直接
+もう一つの方法として、<code>debian/rules</code> から制御情報ファイル領域に、
<code>debian/shlibs</code> をまったく使わずに <code>shlibs</code>
-を作成するやり方 [<a href="footnotes.html#f59" name="fr59">59</a>] もあります。
-これは、<code>dpkg-shlibdeps</code> からは <code>debian/shlibs</code>
-ファイル自体は無視されるためです。
+を直接作成するやり方 [<a href="footnotes.html#f62" name="fr62">62</a>]
+もあります。 これは、<code>dpkg-shlibdeps</code> からは
+<code>debian/shlibs</code> ファイル自体は無視されるためです。
</p>
<p>
@@ -543,81 +619,7 @@
<hr>
-<h4><a name="s-shlibslocal"></a>8.6.5 <code>debian/shlibs.local</code> ファイルの書き方</h4>
-
<p>
-このファイルは正しい <code>shlibs</code>
-ファイルを提供していないパッケージの提供するライブラリに依存したバイナリやライブラリのための
-<em>一時的な</em> 解決として意図されたものです。
-</p>
-
-<p>
-ここで、いま <samp>foo</samp>
-バイナリパッケージを作ろうとしているとします。<code>dpkg-shlibdeps</code>
-を実行したとき、以下のエラーメッセージが出力されました。 ここで <samp>-O</samp>
-は依存関係情報を <samp>debian/substvars</samp> ではなく <samp>標準出力</samp>
-に出力するためのものです。 また、読みやすくするため適宜改行しています。
-</p>
-<pre>
- $ dpkg-shlibdeps -O debian/tmp/usr/bin/foo
- dpkg-shlibdeps: warning: unable to find dependency
- information for shared library libbar (soname 1,
- path /usr/lib/libbar.so.1, dependency field Depends)
- shlibs:Depends=libc6 (>= 2.2.2-2)
-</pre>
-
-<p>
-そこで <code>ldd</code>
-をバイナリに実行して、関連するライブラリの位置をすべて捕捉しましょう。
-</p>
-<pre>
- $ ldd foo
- libbar.so.1 => /usr/lib/libbar.so.1 (0x4001e000)
- libc.so.6 => /lib/libc.so.6 (0x40032000)
- /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
-</pre>
-
-<p>
-これによると、<code>foo</code> バイナリは、<code>libbar</code>
-共有ライブラリに依存していますが、<code>/var/lib/dpkg/info/</code> に
-<code>libbar.so.1</code> を扱う <code>*.shlibs</code>
-ファイルを提供しているパッケージはないようです。
-というわけで、責任をとるパッケージを決定しましょう。
-</p>
-<pre>
- $ dpkg -S /usr/lib/libbar.so.1
- bar1: /usr/lib/libbar.so.1
- $ dpkg -s bar1 | grep Version
- Version: 1.0-1
-</pre>
-
-<p>
-どうやら、<code>bar1</code> パッケージのバージョン 1.0-1
-が現在我々の使用しているものということのようです。 ここで、まず
-<samp>bar1</samp> にバグを報告しておき、ローカルでは
-<code>debian/shlibs.local</code> を作成して問題を修正します。
-次の行を、<code>debian/shlibs.local</code> 中に含めてください。
-</p>
-<pre>
- libbar 1 bar1 (>= 1.0-1)
-</pre>
-
-<p>
-これであなたのパッケージビルド作業はうまくいくはずです。
-</p>
-
-<p>
-<code>bar1</code> のパッケージメンテナにより、そのパッケージ用の
-<code>shlibs</code> ファイルが提供されしだい、あなたの
-<code>debian/shlibs.local</code> ファイルの当該行を削除することができます。
-あなたが出会ったビルド時の問題に他の人が出くわさないようにするため
-<samp>bar1</samp> パッケージに対してバージョン付きの <samp>Build-Depends</samp>
-も、恐らくあわせ指定しておくべきでしょう。
-</p>
-
-<hr>
-
-<p>
[ <a href="ch-relationships.html">previous</a> ]
[ <a href="index.html#contents">Contents</a> ]
[ <a href="ch-scope.html">1</a> ]
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-source.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-source.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/ch-source.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -49,8 +49,8 @@
<p>
このバージョンは <samp>Standards-Version</samp>
-制御フィールドで指定されます。<samp>Standards-Version</samp> フィールドの書式は
-<a
+コントロールフィールドで指定されます。<samp>Standards-Version</samp>
+フィールドの書式は <a
href="ch-controlfields.html#s-f-Standards-Version"><samp>Standards-Version</samp>,
Section 5.6.11</a> で記載されています。
</p>
@@ -59,8 +59,8 @@
常に最新のポリシーマニュアルをチェックしておきましょう。
あなたが過去にパッケージしたものがあって、それが古くなってしまっているなら特に必要です。
その上で必要があればパッケージのアップデートを行って下さい。
-あなたのパッケージが新しい基準 [<a href="footnotes.html#f12"
-name="fr12">12</a>] に則った際には、ソースパッケージの
+あなたのパッケージが新しい基準 [<a href="footnotes.html#f11"
+name="fr11">11</a>] に則った際には、ソースパッケージの
<samp>Standards-Version</samp> を変更してリリースするべきです。
</p>
@@ -81,14 +81,14 @@
までビルド時依存のものとして指定する必要はありません。
このような場合に必要となるパッケージは <em>build-essential</em>
と呼ばれ、<samp>build-essential</samp> パッケージに収録されているファイル
-<code>/usr/share/doc/build-essential/list</code> [<a href="footnotes.html#f13"
-name="fr13">13</a>] にリストアップされています。
+<code>/usr/share/doc/build-essential/list</code> [<a href="footnotes.html#f12"
+name="fr12">12</a>] にリストアップされています。
</p>
<p>
ビルド時依存のパッケージを指定する場合、目的のパッケージをビルドするのに直接必要であるもののみをリストアップするべきです。
ビルド時依存として挙げたパッケージが依存しているという理由でパッケージを列挙する必要はありません
-[<a href="footnotes.html#f14" name="fr14">14</a>]。
+[<a href="footnotes.html#f13" name="fr13">13</a>]。
</p>
<p>
@@ -148,9 +148,9 @@
<p>
Debian 版のパッケージの変更は全て簡潔に Debian changelog ファイル
-<code>debian/changelog</code> [<a href="footnotes.html#f15" name="fr15">15</a>]
+<code>debian/changelog</code> [<a href="footnotes.html#f14" name="fr14">14</a>]
に記載すべきです。 これには上流の版に加えた Debian パッケージ向けの変更 [<a
-href="footnotes.html#f16" name="fr16">16</a>]、
+href="footnotes.html#f15" name="fr15">15</a>]、
およびパッケージに対するそれ以外の修正や更新を記載します。
</p>
@@ -206,7 +206,7 @@
<p>
このアップロードがバグトラッキングシステム (BTS)
で記録されたバグを修正するものならば、changelog 中に <samp>closes:
-Bug#<var>nnnnn</var></samp> [<a href="footnotes.html#f17" name="fr17">17</a>]
+Bug#<var>nnnnn</var></samp> [<a href="footnotes.html#f16" name="fr16">16</a>]
の文字列を含めることで、パッケージが Debian
アーカイブに収録された時点でバグが自動的に閉じられます。
</p>
@@ -214,7 +214,8 @@
<p>
changelog ファイルに記載するメンテナの名前と電子メールアドレスは <em>この</em>
バージョンをアップロードした人について記されているべきです。
-必ずしも通常のパッケージ管理者である必要は <em>ありません</em>。
+それは、必ずしも通常のパッケージ管理者である必要は <em>ありません</em> [<a
+href="footnotes.html#f17" name="fr17">17</a>]。
ここでの情報は、<samp>.changes</samp> ファイルの <samp>Changed-By</samp> (<a
href="ch-controlfields.html#s-f-Changed-By"><samp>Changed-By</samp>, Section
5.6.4</a> 参照)
@@ -222,9 +223,66 @@
</p>
<p>
-<var>日付</var> は RFC822 フォーマット [<a href="footnotes.html#f18"
-name="fr18">18</a>] [<a href="footnotes.html#f19" name="fr19">19</a>]
-でなければいけません。
+<var>日付</var> は以下のフォーマット [<a href="footnotes.html#f18"
+name="fr18">18</a>] (RFC2822 および RFC5322 と互換で、同じ意味をもちます)
+でなければいけません。以下に例を示します。
+</p>
+
+<pre>
+ day-of-week, dd month yyyy hh:mm:ss +zzzz
+</pre>
+
+<p>
+ここで、
+</p>
+<ul>
+<li>
+<p>
+day-of-week は Mon, Tue, Wed, Thu, Fri, Sat, Sun のいずれかです。
+</p>
+</li>
+<li>
+<p>
+dd は、1 桁または 2 桁の月内の日付を示します (01-31)。
+</p>
+</li>
+<li>
+<p>
+月は、Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
+のうちのいずれかです。
+</p>
+</li>
+<li>
+<p>
+yyyy は 4 桁の年を示します (e.g. 2010)
+</p>
+</li>
+<li>
+<p>
+hh は 2 桁の 24 時間制の時刻です (00-23)
+</p>
+</li>
+<li>
+<p>
+mm は 2 桁の分を示します (00-59)
+</p>
+</li>
+<li>
+<p>
+ss は 2 桁の秒を示します (00-60)
+</p>
+</li>
+<li>
+<p>
++zzzz および -zzzz は国際標準時 (UTC) からの標準時間帯のずれを示します。 + は
+UTC より進んでいる (東にある) ことを、- は UTC より遅れている (西にある)
+ことを示します。最初の 2 桁は UTC からの 1 時間単位の差を、下位 2 桁は UTC
+からの追加の時差を示します。 下位 2 桁は 00 と 59 の間でなければいけません。
+</p>
+</li>
+</ul>
+
+<p>
このフォーマットは、数字によって表現されたタイムゾーンを含まなければならず、
オプションとして、かっこに入ったコメントの形でタイムゾーン名かその省略形を付加することができます。
</p>
@@ -292,7 +350,7 @@
<p>
メンテナは可能な限り上流のソースファイルの更新時刻をパッケージ中で変更しないでおくべきです[<a
-href="footnotes.html#f20" name="fr20">20</a>]。
+href="footnotes.html#f19" name="fr19">19</a>]。
</p>
<hr>
@@ -300,9 +358,9 @@
<h3><a name="s-restrictions"></a>4.8 ソースパッケージに含まれるものに対する制限</h3>
<p>
-ソースパッケージには、ハードリンク [<a href="footnotes.html#f21"
-name="fr21">21</a>] 、デバイスファイル、ソケットファイル、及び setuid や setgid
-されたファイル [<a href="footnotes.html#f22" name="fr22">22</a>]
+ソースパッケージには、ハードリンク [<a href="footnotes.html#f20"
+name="fr20">20</a>] 、デバイスファイル、ソケットファイル、及び setuid や setgid
+されたファイル [<a href="footnotes.html#f21" name="fr21">21</a>]
が含まれていてはいけません。
</p>
@@ -319,13 +377,16 @@
このファイルの先頭は <samp>#!/usr/bin/make -f</samp>
という行でなければなりません。 <code>make</code> を明示的に実行するのではなく、
<samp>debian/rules</samp> という名前で実行できるようにする為です。
+つまり、<samp>make -f debian/rules <em>args...</em></samp>
+と実行した場合と、<samp>./debian/rules <em>args...</em></samp>
+と実行した場合が同じ結果でなければいけません。
</p>
<p>
対話型の <code>debian/rules</code>
スクリプトは、そのパッケージの自動コンパイルを不可能にし、さらにメンテナ以外の人が同じバイナリパッケージを再構築するのを難しくします。
ですから、全ての <em>必要なターゲット</em> は非対話的でなくては
-<em>なりません</em>。最小限の範囲で言えば、必要なターゲットとは、
+なりません。最小限の範囲で言えば、必要なターゲットとは、
<code>dpkg-buildpackage</code> によって呼び出されるターゲット、つまり
<em>clean</em>、<em>binary</em>、<em>binary-arch</em>、 <em>binary-indep</em>
と <em>build</em> のことです。
@@ -343,7 +404,7 @@
<samp>build</samp> ターゲットはパッケージの構築 (ビルド)、
すなわち全てのパッケージの非対話的な設定とコンパイルを行ないます。
もしパッケージにビルド前の対話型の設定ルーチンがある場合は、Debian
-化されたソースパッケージは設定作業を行なった後でビルドするか
+ソースパッケージは設定作業を行なった後でビルドするか
(これは、設定を再びせずにバイナリパッケージをビルド出来るようにするためです)、設定ルーチンを非対話型になるように変更しなければいけません。
アーキテクチャ固有の機能の検出が設定ルーチンで行われるようになっている場合は、後者の方が適切です。
</p>
@@ -373,7 +434,7 @@
の実行が必要な場合には、ビルドプロセスの終了時に <samp>touch build</samp>
を実行しておくのがよいでしょう。これによって、 <samp>debian/rules build</samp>
が再度実行されたときに、プログラム全体を再構築しなくてすみます [<a
-href="footnotes.html#f23" name="fr23">23</a>]。
+href="footnotes.html#f22" name="fr22">22</a>]。
</p>
</dd>
</dl>
@@ -385,16 +446,16 @@
の両方のターゲットを指定することが出来ます。 <samp>build-arch</samp>
ターゲットが指定された場合、これはアーキテクチャ依存のバイナリパッケージ
(これらのパッケージには、<samp>debian/control</samp> の
-<samp>Architecture</samp> フィールドに <samp>all</samp>
-以外のものが指定されています)
+<samp>Architecture</samp> フィールドに <samp>all</samp> 以外が指定されています)
を作成するのに必要なすべての非対話型の処理を実行します。 同様に
<samp>build-indep</samp>
ターゲットが指定された場合、これはアーキテクチャ非依存のバイナリパッケージ
-(これらのパッケージには、<samp>debian/control</samp> の
+(これらのパッケージでは、<samp>debian/control</samp> の
<samp>Architecture</samp> フィールドの値は <samp>all</samp> です)
を作成するのに必要なすべての非対話型の処理を実行します。 <samp>build</samp>
ターゲットは、<samp>build-arch</samp> または <samp>build-indep</samp> が rules
-ファイルに指定されている場合、それらに依存関係を指定すべきです。
+ファイルに指定されている場合、それらに依存関係を指定すべきです[<a
+href="footnotes.html#f23" name="fr23">23</a>]。
</p>
<p>
@@ -696,9 +757,10 @@
<h3><a name="s-substvars"></a>4.10 変数置換: <code>debian/substvars</code></h3>
<p>
-<code>dpkg-gencontrol</code>、<code>dpkg-genchanges</code> 及び
-<code>dpkg-source</code> は、コントロールファイルを生成するとき、
-出力に書きこむ前に変数置換を行ないます。 変数置換は
+<code>dpkg-gencontrol</code> が、<a
+href="ch-controlfields.html#s-binarycontrolfiles">バイナリパッケージコントロールファイル</a>
+(<code>DEBIAN/control</code>)
+を生成するとき、出力に書きこむ前に変数置換を行ないます。 変数置換は
<samp>${<var>変数名</var>}</samp> の書式を持ちます。 オプションであるファイルの
<code>debian/substvars</code> 中に使用する変数置換定義を記載します。
また、変数置換はソースをパッケージするコマンドに <samp>-V</samp>
@@ -724,10 +786,9 @@
<h3><a name="s-debianwatch"></a>4.11 上流のソースの場所の設定 (オプション): <code>debian/watch</code></h3>
<p>
-これは、オプションではありますが推奨のコントロールファイルで、
-<samp>uscan</samp>
-ユーティリティに対して、新しく提供されたパッケージのアップデートを ftp および
-http サイトで走査する方法を記載したものです。 これは、<code><a
+これは、オプションではありますが推奨の設定ファイルで、新しく提供されたパッケージのアップデートを
+ftp および http サイトで走査する方法を <samp>uscan</samp>
+ユーティリティに対して、伝えるためのものです。 これは、<code><a
href="http://dehs.alioth.debian.org/">http://dehs.alioth.debian.org/</a></code>
および他の Debian QA
ツールで、パッケージ品質管理とディストリビューション全体の保守のために用いられています。
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/footnotes.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/footnotes.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/footnotes.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -112,25 +112,20 @@
<h3><a href="ch-binary.html#fr10" name="f10">10</a></h3>
<p>
-.deb パッケージ中の control.tar.gz です。 <code>deb(5)</code> 参照。
-</p>
-
-<h3><a href="ch-binary.html#fr11" name="f11">11</a></h3>
-
-<p>
初期設定が始まるまでに Debian 設定管理仕様を満たす <code>Debconf</code>
や他のツールもインストールされていて、
-それらからのバージョン指定の依存関係がある場合、それがあらかじめ満たされている必要があります。
+それらからのバージョン指定の依存関係がある場合、
+その依存関係があらかじめ満たされている必要があります。
</p>
-<h3><a href="ch-source.html#fr12" name="f12">12</a></h3>
+<h3><a href="ch-source.html#fr11" name="f11">11</a></h3>
<p>
この文書の各版の間でポリシーにどのような変更が加えられたかについては
<code>upgrading-checklist</code> ファイルを参照ください。
</p>
-<h3><a href="ch-source.html#fr13" name="f13">13</a></h3>
+<h3><a href="ch-source.html#fr12" name="f12">12</a></h3>
<p>
原則の解説:
@@ -158,7 +153,7 @@
</li>
</ul>
-<h3><a href="ch-source.html#fr14" name="f14">14</a></h3>
+<h3><a href="ch-source.html#fr13" name="f13">13</a></h3>
<p>
これは、依存関係は変化するものですし、そしてあなたは <em>自分</em>
@@ -171,7 +166,7 @@
パッケージをインストールすることで、実行時の依存関係が満たされることは自動的に保証されます。
</p>
-<h3><a href="ch-source.html#fr15" name="f15">15</a></h3>
+<h3><a href="ch-source.html#fr14" name="f14">14</a></h3>
<p>
changelogs の誤記は通常は古い changelog
@@ -179,7 +174,7 @@
を追加して修正する方がよい方法です。
</p>
-<h3><a href="ch-source.html#fr16" name="f16">16</a></h3>
+<h3><a href="ch-source.html#fr15" name="f15">15</a></h3>
<p>
作者がパッケージの保守担当者でもある場合、パッケージの全ての変更に対してこの
@@ -189,7 +184,7 @@
向けのパッケージとはせずに保守した方がより良いでしょう。
</p>
-<h3><a href="ch-source.html#fr17" name="f17">17</a></h3>
+<h3><a href="ch-source.html#fr16" name="f16">16</a></h3>
<p>
より正確には、以下の Perl 正規表現にマッチするような文字列です。
@@ -203,19 +198,27 @@
を使ってアーカイブメンテナスクリプト (<code>katie</code>) で閉じられます。
</p>
-<h3><a href="ch-source.html#fr18" name="f18">18</a></h3>
+<h3><a href="ch-source.html#fr17" name="f17">17</a></h3>
<p>
-これは <code>date -R</code> プログラムで作成します。
+パッケージをアップロードした開発者がそのパッケージの通常のメンテナで無い場合
+(つまり、パッケージのコントロールフィールドの <a
+href="ch-controlfields.html#s-f-Maintainer"><samp>Maintainer</samp></a> や <a
+href="ch-controlfields.html#s-f-Uploaders"><samp>Uploaders</samp></a>
+に列挙されていない場合)、 changelog
+の最初の一行にメンテナ以外のパッケージのアップロードを行った理由を説明することが慣行になっています。
+The Debian Developer's Reference (see <a
+href="ch-scope.html#s-related">関連するドキュメント, Section 1.4</a>)
+に使われている慣行の説明があります。
</p>
-<h3><a href="ch-source.html#fr19" name="f19">19</a></h3>
+<h3><a href="ch-source.html#fr18" name="f18">18</a></h3>
<p>
-訳注: RFC2822 参照。
+これは <code>date -R</code> プログラムで作成したものと同じです。
</p>
-<h3><a href="ch-source.html#fr20" name="f20">20</a></h3>
+<h3><a href="ch-source.html#fr19" name="f19">19</a></h3>
<p>
タイムスタンプを保持する理由付けとしては、ファイルの作成時間を知ることによって伝わる情報があるからです。
@@ -223,7 +226,7 @@
ですから、上流のソースの修正時間を保持しておくのはとても良いことです。
</p>
-<h3><a href="ch-source.html#fr21" name="f21">21</a></h3>
+<h3><a href="ch-source.html#fr20" name="f20">20</a></h3>
<p>
現在、ソースパッケージのビルド中にハードリンクは検出されず、
@@ -235,13 +238,13 @@
それにはまだ多くの作業が必要となります。
</p>
-<h3><a href="ch-source.html#fr22" name="f22">22</a></h3>
+<h3><a href="ch-source.html#fr21" name="f21">21</a></h3>
<p>
setgid されたディレクトリは許されます。
</p>
-<h3><a href="ch-source.html#fr23" name="f23">23</a></h3>
+<h3><a href="ch-source.html#fr22" name="f22">22</a></h3>
<p>
同様のことを行う際によく使われている別法に、 <samp>build</samp> を
@@ -256,6 +259,18 @@
のドキュメントを参照ください。
</p>
+<h3><a href="ch-source.html#fr23" name="f23">23</a></h3>
+
+<p>
+この分割の意図は、バイナリのみのビルド時に <samp>build-indep</samp>
+ターゲットで必要になる依存パッケージのインストールを行わなくてよいようにするためです。
+但し、この条件はまだ実運用に入っていません。それは <samp>dpkg-buildpackage
+-B</samp> が、そしてオートビルダがオプションの <samp>build-arch</samp>
+ターゲットが存在するかどうかの難しい判定を回避するため、
+<samp>build-arch</samp> ではなく <samp>build</samp>
+を呼ぶようになっているためです。
+</p>
+
<h3><a href="ch-source.html#fr24" name="f24">24</a></h3>
<p>
@@ -346,11 +361,19 @@
<h3><a href="ch-controlfields.html#fr36" name="f36">36</a></h3>
<p>
+このマニュアルの著者は、<samp>1.1</samp>、<samp>1.2</samp>、<samp>1.3</samp>、
+<samp>1</samp>、<samp>2.1</samp>、<samp>2.2</samp>、<samp>2</samp>
+とバージョンが進んでいったパッケージのことを聞いたことがあります。
+</p>
+
+<h3><a href="ch-controlfields.html#fr37" name="f37">37</a></h3>
+
+<p>
完全な空の行は空白としては処理されず、パーザにコントロールファイルの新しいレコードを開始するものとして解釈されます。
このため、詳細説明中に空白行を入れると、普通はエラーで異常終了します。
</p>
-<h3><a href="ch-controlfields.html#fr37" name="f37">37</a></h3>
+<h3><a href="ch-controlfields.html#fr38" name="f38">38</a></h3>
<p>
現在、<code>.changes</code> ファイル中で使用されている Debian
@@ -388,29 +411,36 @@
の項を参照してください。
</p>
-<h3><a href="ch-controlfields.html#fr38" name="f38">38</a></h3>
+<h3><a href="ch-controlfields.html#fr39" name="f39">39</a></h3>
<p>
+Debian アーカイブで現在サポートされているソースフォーマットは <samp>1.0</samp>,
+<samp>3.0 (native)</samp>, <samp>3.0 (quilt)</samp> です。
+</p>
+
+<h3><a href="ch-controlfields.html#fr40" name="f40">40</a></h3>
+
+<p>
これ以外の緊急性を示す値もアーカイブソフトウェアの設定を変更することでサポートされていますが、Debian
使われていません。緊急性の値はそのパッケージが <samp>testing</samp>
ディストリビューションに収録される早さの判断に影響し、アップロードの際の修正の重要性を示す目安も与えます。
<samp>Emergency</samp> と <samp>critical</samp> は同じものとして扱われます。
</p>
-<h3><a href="ch-controlfields.html#fr39" name="f39">39</a></h3>
+<h3><a href="ch-controlfields.html#fr41" name="f41">41</a></h3>
<p>
慣行上、カンマの後には空白を入れます。
</p>
-<h3><a href="ch-controlfields.html#fr40" name="f40">40</a></h3>
+<h3><a href="ch-controlfields.html#fr42" name="f42">42</a></h3>
<p>
つまり、tar ファイルに無い部分のうちで、<samp>.dsc</samp>
ファイル以外の部分のことです。
</p>
-<h3><a href="ch-maintainerscripts.html#fr41" name="f41">41</a></h3>
+<h3><a href="ch-maintainerscripts.html#fr43" name="f43">43</a></h3>
<p>
これがそうあるべきなのは、ユーザからの <code>dpkg</code>
@@ -418,14 +448,14 @@
が処理を再実行しようとした場合、ひどく壊れたパッケージを残さないようにするためです。
</p>
-<h3><a href="ch-maintainerscripts.html#fr42" name="f42">42</a></h3>
+<h3><a href="ch-maintainerscripts.html#fr44" name="f44">44</a></h3>
<p>
問題のうちの一部は、おそらく、<code>dpkg</code>
のバグとされている挙動のためです。
</p>
-<h3><a href="ch-maintainerscripts.html#fr43" name="f43">43</a></h3>
+<h3><a href="ch-maintainerscripts.html#fr45" name="f45">45</a></h3>
<p>
歴史に関する注記:とても古い (1997 年以前の) バージョンの <code>dpkg</code>
@@ -436,68 +466,77 @@
スクリプト中でその場合の引数の処理が考慮されていたとしても、そのほかの理由もあって動くとは期待できません。
</p>
-<h3><a href="ch-relationships.html#fr44" name="f44">44</a></h3>
+<h3><a href="ch-relationships.html#fr46" name="f46">46</a></h3>
<p>
-Replaces は一方通行の依存関係です。
-置換されるパッケージの後で、置換するパッケージをインストールすることだけができます。
+<code>dpkg</code>
+の将来のリリースで提供する仮想パッケージのバージョンを指定する機能が提供される可能性はあります。
+しかし、この機能は今はまだ実装されていませんし、またそれはめったに使われないことと思います。
</p>
-<h3><a href="ch-relationships.html#fr45" name="f45">45</a></h3>
+<h3><a href="ch-relationships.html#fr47" name="f47">47</a></h3>
<p>
-"build-arch" または "binary-arch" を作成する場合には、
-Build-Depends が必要です。"build-indep" または
-"binary-indep" を作成する場合には、Build-Depends と
-Build-Depends-Indep が必要です。 "build" または "binary"
-を作成する場合には、両方が必要です。
+<samp>Replaces</samp> に加えて <samp>Breaks</samp>
+が通常必要になる理由を説明しましょう。 <code>foo</code> パッケージのファイルが
+<code>foo-data</code>
+パッケージのファイルで置き換えられる場合を考えます。<samp>Replaces</samp>
+により、<code>foo-data</code> はインストール時に当該ファイルを置き換えます。
+一方、<samp>Breaks</samp> なしでは、当該ファイルがパッケージに含まれておらず
+<code>foo-data</code> に依存していることを知っている <code>foo</code>
+の新版への更新を誰も要求しません。 また、<code>foo-data</code>
+をインストールし削除した場合、<code>foo</code>
+パッケージから所有権を取ったファイルが削除されることを妨げるものも誰もいません。
+この操作後には、パッケージマネージャはシステムが一貫性の取れた状態だと認識していますが、
+<code>foo</code> の当該ファイルは失われています。
</p>
+<h3><a href="ch-relationships.html#fr48" name="f48">48</a></h3>
+
<p>
+Replaces は一方通行の依存関係です。
+置換されるパッケージの後で、置換するパッケージをインストールすることだけができます。
+</p>
+
+<h3><a href="ch-relationships.html#fr49" name="f49">49</a></h3>
+
+<p>
Build-Depends-Arch はありません。この機能は、Build-Depends
のみで満たされます。<samp>build-indep</samp> 及び <samp>binary-indep</samp>
ターゲットをビルドしようとすることは、
基本的にはパッケージ全体をビルドしていることと等価で、
-ビルドの依存関係で必要なものはすべてインストールされるからです。
-オートビルダは、<samp>dpkg-buildpackage -B</samp> を用います。
-これは、<samp>build</samp> と (<samp>build-arch</samp> ではありません。
-この時点では、このターゲットの有無の判定を行う方法がないためです)
-<samp>binary-arch</samp> を順に実行します。
+ビルドの依存関係で必要なものは、すべてのインストールが必要になるからです。
</p>
<p>
-この分離の基本的目的は、確か、オートビルダが binary-indep
-だけのために必要な追加パッケージをインストールしなくて済むようにするためであったと記憶しています。
+オートビルダは、<samp>dpkg-buildpackage -B</samp> を用います。
+これは、<samp>build</samp> (<samp>build-arch</samp> ではありません。
+この時点では、このターゲットの有無の判定を行う方法がないためです) と
+<samp>binary-arch</samp> を順に実行します。 この <samp>Build-Depends</samp> と
+<samp>Build-Depends-Indep</samp> の分離の基本的目的は、オートビルダが
+binary-indep
+だけのために必要な追加パッケージをインストールしなくて済むようにするためです。
但し、殆どの作業は build ターゲットの作成であり、binary
ターゲットの作成ではありませんから、build-arch/build-indep
の分離なしでは、これは意味をなしません。
</p>
-<h3><a href="ch-sharedlibs.html#fr46" name="f46">46</a></h3>
+<h3><a href="ch-sharedlibs.html#fr50" name="f50">50</a></h3>
<p>
-複数のバージョンのパッケージを、共有ライブラリを提供するのみの目的でインストールすることはよくあることですから、
-たまたまバージョン付きのディレクトリに置かれているものでない限り、バージョンに依存しない追加のファイルを置かないようにするのが適切なやり方です。
+これは共有ライブラリのバージョン付けの慣行であり、要求事項ではありません。
+一部のライブラリでは、<samp>SONAME</samp> をライブラリ名として使っており、
+シンボリックリンクを必要としません。但し、大多数の共有ライブラリでは、
+後方互換のレビジョン番号をマイナーバージョンとしてファイル名に付加しています。
+この場合、<samp>SONAME</samp>
+は、以前のバージョンの共有ライブラリにリンクしていたバイナリが動かなくなる場合にのみ変更されますが、ファイル名はライブラリのリリース毎に細かく変更されます。
+詳しくは <a href="#s-sharedlibs-runtime">ランタイム共有ライブラリ, Section
+8.1</a> を参照ください。
</p>
-<h3><a href="ch-sharedlibs.html#fr47" name="f47">47</a></h3>
+<h3><a href="ch-sharedlibs.html#fr51" name="f51">51</a></h3>
<p>
-.so ファイル名 (<var>soname</var>) は共有ライブラリの共有オブジェクト名です。
-これはプログラムの作成時とダイナミックリンカがプログラムを実行する際に一致させなければならないものです。
-例えば、ライブラリの .so ファイル名が <code>libfoo.so.6</code>
-ならば、パッケージ名は <code>libfoo6</code> になります。
-</p>
-
-<h3><a href="ch-sharedlibs.html#fr48" name="f48">48</a></h3>
-
-<p>
-これは、このまとめた共有ライブラリ群の複数バージョンを同時にインストールする際に、ファイル名が衝突しないようにするためです
-</p>
-
-<h3><a href="ch-sharedlibs.html#fr49" name="f49">49</a></h3>
-
-<p>
パッケージ管理システムでは、<code>.deb</code>
ファイル中でのライブラリは、それへのシンボリックリンクが置かれるより先に置かれていることを要求しています。
これは、<code>dpkg</code> が
@@ -513,7 +552,7 @@
が自動的にファイルそれ自身を並び換えるようになるので、このファイルを作る順序に配慮するという件は重要ではなくなっています。
</p>
-<h3><a href="ch-sharedlibs.html#fr50" name="f50">50</a></h3>
+<h3><a href="ch-sharedlibs.html#fr52" name="f52">52</a></h3>
<p>
これは、現在下記です。
@@ -536,7 +575,7 @@
</li>
</ul>
-<h3><a href="ch-sharedlibs.html#fr51" name="f51">51</a></h3>
+<h3><a href="ch-sharedlibs.html#fr53" name="f53">53</a></h3>
<p>
インストールまたはアップグレードの際には、preinst
@@ -582,41 +621,46 @@
共有ライブラリは一時的な名称でディスク上にあるかもしれません。
</p>
-<h3><a href="ch-sharedlibs.html#fr52" name="f52">52</a></h3>
+<h3><a href="ch-sharedlibs.html#fr54" name="f54">54</a></h3>
<p>
例えば、<code><var>package-name</var>-config</code> スクリプトや
<code>pkg-config</code> 設定ファイルのようなものです。
</p>
-<h3><a href="ch-sharedlibs.html#fr53" name="f53">53</a></h3>
+<h3><a href="ch-sharedlibs.html#fr55" name="f55">55</a></h3>
<p>
+この規定では、開発用のファイルが例えばアーキテクチャに依存して
+<code><var>libraryname</var>-headers</code>
+などの複数のパッケージに分割されることは許されます。
+その場合、開発用パッケージを必要な全ての追加パッケージに依存させなければいけません。
+</p>
+
+<h3><a href="ch-sharedlibs.html#fr56" name="f56">56</a></h3>
+
+<p>
以前は <samp>${Source-Version}</samp> が使用されていましたが、
この名称は混乱を招くため dpkg 1.13.19 からは非推奨となりました。
</p>
-<h3><a href="ch-sharedlibs.html#fr54" name="f54">54</a></h3>
+<h3><a href="ch-sharedlibs.html#fr57" name="f57">57</a></h3>
<p>
-以前はリンクされた共有ライブラリの判断は <code>ldd</code>
-を呼ぶことで行っていましたが、現在は <code>objdump</code>
-で行うようになっています。
-これに伴う唯一の変更は、パッケージビルド時に共有ライブラリに対しても
-<code>dpkg-shlibdeps</code>
-の実行が必要になったという点で、これは以前は不必要でした。
-この注記の以下ではこの方法の利点について補足します。
+<code>dpkg-shlibdeps</code> は <code>objdump</code> や <code>readelf</code>
+を利用して、対象パッケージのバイナリおよび共有ライブラリで直接必要なディレクトリを探索します。
</p>
<p>
-バイナリ <samp>foo</samp> がライブラリ <samp>libbar</samp>
-にリンクされている場合 (すなわち、リンクの段階で <samp>-lbar</samp>
-フラグを使っている場合)、このバイナリはこのライブラリを <em>直接</em>
-使っています。 <samp>libbar</samp> が必要とするその他のライブラリは
-<samp>foo</samp> に <em>間接的に</em> リンクされており、ダイナミックリンカは
-<samp>libbar</samp> をロードする際に自動的にそれらのライブラリをロードします。
-間接的に使われているライブラリは自動的に引いてこられるため、
-パッケージが依存関係を指定する必要があるのは直接リンクしているライブラリだけです。
+ここで、バイナリはこのライブラリを <em>直接</em> 使っているとは、バイナリ
+<samp>foo</samp> がライブラリ <samp>libbar</samp> にリンクされている場合
+(すなわち、リンクの段階で <samp>-lbar</samp> フラグを使って、ライブラリが ELF
+<samp>NEEDED</samp> アトリビュート付きでリストされている場合) のことです。
+<samp>libbar</samp> が必要とするその他のライブラリは <samp>foo</samp> に
+<em>間接的に</em> リンクされており、ダイナミックリンカは <samp>libbar</samp>
+をロードする際に自動的にそれらのライブラリをロードします。
+間接的に使われているライブラリへの依存関係は自動的にロードしてこられるため、
+パッケージが依存関係を指定すべきなのは直接リンクしているライブラリだけです。
</p>
<p>
@@ -630,17 +674,19 @@
<p>
これがなぜ役に立つのかを示す良い例として、<samp>libimlib</samp> を
(メジャーバージョン番号をそのままにしつつ) dgf
-という新しいグラフィックフォーマットに対応した新しいバージョンに更新する場合を考えます。
-もし、古い <code>ldd</code> による方法を用いるとすれば、 <samp>libimlib</samp>
-を使うパッケージは全て <samp>libdgf</samp>
-にも依存するようにコンパイルしなおさなければなりません。 そうしなければ missing
-symbols となって実行できません。
-しかし、新しいシステムでは、<samp>libimlib</samp> 自身に <samp>libdgf</samp>
-への依存関係を持たせられるので、 <samp>libimlib</samp> を使っているパッケージは
-<samp>libimlib</samp> への依存関係を指定しておけば、更新する必要がありません。
+という新しいグラフィックフォーマットに対応し、<samp>libdgf</samp>
+に依存した新しいバージョンに更新する場合を考えます。 もし、<code>ldd</code>
+を使って直接あるいは間接的にバイナリにリンクする全てのパッケージへの依存関係を加えた場合、
+<samp>libimlib</samp> を用いる全てのパッケージも <samp>libdgf</samp>
+に依存するよう再コンパイルが必要になります。
+再コンパイルを行わないとシンボル不足で実行できなくなるためです。 依存関係を ELF
+の <samp>NEEDED</samp> アトリビュートのみに基づいて追加すれば、
+<samp>libimlib</samp> を使っているパッケージは <samp>libimlib</samp> の
+<samp>libdgf</samp>
+への依存関係指定に任せることができ、再ビルドする必要がありません。
</p>
-<h3><a href="ch-sharedlibs.html#fr55" name="f55">55</a></h3>
+<h3><a href="ch-sharedlibs.html#fr58" name="f58">58</a></h3>
<p>
理解の助けになるよう例を挙げておきます。ソースパッケージ <samp>foo</samp>
@@ -663,7 +709,7 @@
ファイルがインストールされてから実行する必要があります。
</p>
-<h3><a href="ch-sharedlibs.html#fr56" name="f56">56</a></h3>
+<h3><a href="ch-sharedlibs.html#fr59" name="f59">59</a></h3>
<p>
<samp>debhelper</samp> を使っているなら、これは <code>dh_shlibdeps</code>
@@ -671,7 +717,7 @@
このプログラムは複数のバイナリパッケージの場合でも正しく処理します。
</p>
-<h3><a href="ch-sharedlibs.html#fr57" name="f57">57</a></h3>
+<h3><a href="ch-sharedlibs.html#fr60" name="f60">60</a></h3>
<p>
<samp>debhelper</samp> プログラム群の <code>dh_shlibdeps</code>
@@ -679,7 +725,7 @@
を使うという判定がなされればこのオプションが自動的に付加されます。
</p>
-<h3><a href="ch-sharedlibs.html#fr58" name="f58">58</a></h3>
+<h3><a href="ch-sharedlibs.html#fr61" name="f61">61</a></h3>
<p>
これは以下のコマンドで判定できます。
@@ -688,7 +734,7 @@
objdump -p /usr/lib/libz.so.1.1.3 | grep SONAME
</pre>
-<h3><a href="ch-sharedlibs.html#fr59" name="f59">59</a></h3>
+<h3><a href="ch-sharedlibs.html#fr62" name="f62">62</a></h3>
<p>
これは <samp>debhelper</samp> ツール群の <code>dh_makeshlibs</code>
@@ -698,14 +744,36 @@
<samp>udeb:</samp> 行を生成することができます。
</p>
-<h3><a href="ch-opersys.html#fr60" name="f60">60</a></h3>
+<h3><a href="ch-opersys.html#fr63" name="f63">63</a></h3>
<p>
+これは、<samp>multiarch</samp>
+向けの計画配置の一環としてライブラリパッケージを他のアーキテクチャ環境にクロスインストールする場合に、
+ディレクトリを確保するために必要となる制約です。
+</p>
+
+<h3><a href="ch-opersys.html#fr64" name="f64">64</a></h3>
+
+<p>
+これらのディレクトリは、カーネル情報にアクセスするための仮想ファイルシステムのマウントポイントとして使われます。
+</p>
+
+<h3><a href="ch-opersys.html#fr65" name="f65">65</a></h3>
+
+<p>
+例として、LSB 準拠の init スクリプトを書く補助となる
+<samp>/lib/lsb/init-functions</samp> は、<samp>set -e</samp>
+が有効で、コンソールへのエラー出力が行え無い場合、動かないかも知れません。
+</p>
+
+<h3><a href="ch-opersys.html#fr66" name="f66">66</a></h3>
+
+<p>
例えば、<code>/etc/default/rcS</code> で <samp>RAMRUN</samp> や
<samp>RAMLOCK</samp> オプションを用いた場合などです。
</p>
-<h3><a href="ch-files.html#fr61" name="f61">61</a></h3>
+<h3><a href="ch-files.html#fr67" name="f67">67</a></h3>
<p>
GCC を使っている場合、<samp>-fPIC</samp>
@@ -720,14 +788,14 @@
位置依存のコードを用いることができる一部のアーキテクチャでのメモリ消費とのトレードオフで考慮しなければなりません。
</p>
-<h3><a href="ch-files.html#fr62" name="f62">62</a></h3>
+<h3><a href="ch-files.html#fr68" name="f68">68</a></h3>
<p>
これが必要になる理由の一つとして、ライブラリに再配置不可の手書きのアセンブラコードが含まれていて、
これを使わない場合の計算主体の作業時の速度の低下が有意である、などの場合があります。
</p>
-<h3><a href="ch-files.html#fr63" name="f63">63</a></h3>
+<h3><a href="ch-files.html#fr69" name="f69">69</a></h3>
<p>
多分、これに加えて <samp>--remove-section=.comment</samp> と
@@ -736,7 +804,7 @@
をスタティックライブラリに指定することも検討に値するでしょう。
</p>
-<h3><a href="ch-files.html#fr64" name="f64">64</a></h3>
+<h3><a href="ch-files.html#fr70" name="f70">70</a></h3>
<p>
典型的な例は、いわゆる『プラグイン』
@@ -744,22 +812,19 @@
を使って動的に読み込まれるもの) です。
</p>
-<h3><a href="ch-files.html#fr65" name="f65">65</a></h3>
+<h3><a href="ch-files.html#fr71" name="f71">71</a></h3>
<p>
-<code>libtool</code> は <code>.la</code>
-ファイルを持たない共有ライブラリをリンクする機能を一通り提供してはいますが、
-<code>libtool</code> 自体はシェルスクリプトにすぎませんので、
-リンクしようとする各ライブラリから初見で上記の情報を引き出そうとすると
+これらのファイルには、他の情報に加えて、共有ライブラリが依存する全てのライブラリの情報が格納されています。
+残念ながら、<code>.la</code> ファイルが存在し、依存関係が含まれていた場合、
<code>libtool</code>
-を使うパッケージのビルド時間が目に見えて伸びることになります。
-<code>libtool</code> バージョン 1.4 からは改良に伴い (<code>libtool</code>
-バージョン 1.3 もある程度は同様の拡張がなされていますが) <code>.la</code>
-ファイルの削除後に導き出せる保証のないようなライブラリ間の依存関係に関する情報を
-<code>.la</code> ファイル中に保存するようになっています。
+を使ってライブラリをリンクした場合には、リンクしようとしたプログラムやライブラリが、不必要なのにも関わらず、それらの依存関係にあるライブラリともリンクされてしまいます。
+これは共有ライブラリパッケージに不必要で、本来ライブラリ ABI
+に隠されているはずの依存関係を生成してしまい、ライブラリの新しい SONAME
+への移行を複雑で管理困難としてしまいます。
</p>
-<h3><a href="ch-files.html#fr66" name="f66">66</a></h3>
+<h3><a href="ch-files.html#fr72" name="f72">72</a></h3>
<p>
Single UNIX Specification, version 3 です。これは IEEE 1003.1-2004(POSIX)
@@ -768,7 +833,7 @@
から入手できます。
</p>
-<h3><a href="ch-files.html#fr67" name="f67">67</a></h3>
+<h3><a href="ch-files.html#fr73" name="f73">73</a></h3>
<p>
これらの機能は Linux コミュニティで広く使用されており、bash, dash, ksh
@@ -776,16 +841,24 @@
として使いたいと思うような最も一般的なシェルのすべてで実装されています。
</p>
-<h3><a href="ch-files.html#fr68" name="f68">68</a></h3>
+<h3><a href="ch-files.html#fr74" name="f74">74</a></h3>
<p>
この問い合わせは (低プライオリティの) debconf メッセージまたは echo (printf)
文で行うことができます。
</p>
-<h3><a href="ch-files.html#fr69" name="f69">69</a></h3>
+<h3><a href="ch-files.html#fr75" name="f75">75</a></h3>
<p>
+名前付きパイプを作成するには、<code>mknod</code> ではなく <code>mkfifo</code>
+を使用するほうが望ましいです。 これは、パッケージで <code>mknod</code>
+を使ったデバイスファイルの誤作成をおこなっていないかの自動チェックでの誤検出を避けるためです。
+</p>
+
+<h3><a href="ch-files.html#fr76" name="f76">76</a></h3>
+
+<p>
原則の解説: ハードリンクには二つの問題があります。
まず第一にそのうちの一つのファイルを編集する際にリンクを切ってしまうエディタがあり、
知らない間に二つのファイルのリンクが切られ、別なものになってしまうことがあります。
@@ -793,7 +866,7 @@
のアップグレード時にリンクを切ってしまうかもしれません。
</p>
-<h3><a href="ch-files.html#fr70" name="f70">70</a></h3>
+<h3><a href="ch-files.html#fr77" name="f77">77</a></h3>
<p>
従来のログファイルの扱いは、単純なスクリプトと cron
@@ -811,7 +884,7 @@
(<code>/etc/logrotate.d</code>) の両方を備えています。
</p>
-<h3><a href="ch-files.html#fr71" name="f71">71</a></h3>
+<h3><a href="ch-files.html#fr78" name="f78">78</a></h3>
<p>
パッケージがアップグレードされる際に、パッケージに含まれるファイルのオーナやパーミッションが変更されていた場合には、dpkg
@@ -825,76 +898,54 @@
この場合、ダウングレードを扱う場合の対処も行わなければいけません。
</p>
-<h3><a href="ch-files.html#fr72" name="f72">72</a></h3>
+<h3><a href="ch-files.html#fr79" name="f79">79</a></h3>
<p>
<code>dpkg</code> でインストールされる通常のファイルは (<samp>conffile</samp>
やその他の同様なファイルとは異なり)
再インストールしたときに配布時のパーミッションに戻ってしまいます。
但し、<code>dpkg-statoverride</code> を使えばこの動作を変更できます。
-このやり方を使う場合には、パッケージの説明書に <code>dpkg-statoverride</code>
-についての記述を忘れずに入れるようにしてください。この機能が Debian
-に加わってまだそれほど経っていないので、多分まだあまり知られていません。
</p>
-<h3><a href="ch-files.html#fr73" name="f73">73</a></h3>
+<h3><a href="ch-files.html#fr80" name="f80">80</a></h3>
<p>
訳注:ここでの動的、はインストール時ホスト毎に、の意。
</p>
-<h3><a href="ch-customized-programs.html#fr74" name="f74">74</a></h3>
+<h3><a href="ch-customized-programs.html#fr81" name="f81">81</a></h3>
<p>
-現在有効な文字列は、以下の通りです。 i386 ia64 alpha amd64 armeb arm hppa m32r
-m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc darwin-i386
-darwin-ia64 darwin-alpha darwin-amd64 darwin-armeb darwin-arm darwin-hppa
-darwin-m32r darwin-m68k darwin-mips darwin-mipsel darwin-powerpc darwin-ppc64
-darwin-s390 darwin-s390x darwin-sh3 darwin-sh3eb darwin-sh4 darwin-sh4eb
-darwin-sparc freebsd-i386 freebsd-ia64 freebsd-alpha freebsd-amd64
-freebsd-armeb freebsd-arm freebsd-hppa freebsd-m32r freebsd-m68k freebsd-mips
-freebsd-mipsel freebsd-powerpc freebsd-ppc64 freebsd-s390 freebsd-s390x
-freebsd-sh3 freebsd-sh3eb freebsd-sh4 freebsd-sh4eb freebsd-sparc kfreebsd-i386
-kfreebsd-ia64 kfreebsd-alpha kfreebsd-amd64 kfreebsd-armeb kfreebsd-arm
-kfreebsd-hppa kfreebsd-m32r kfreebsd-m68k kfreebsd-mips kfreebsd-mipsel
-kfreebsd-powerpc kfreebsd-ppc64 kfreebsd-s390 kfreebsd-s390x kfreebsd-sh3
-kfreebsd-sh3eb kfreebsd-sh4 kfreebsd-sh4eb kfreebsd-sparc knetbsd-i386
-knetbsd-ia64 knetbsd-alpha knetbsd-amd64 knetbsd-armeb knetbsd-arm knetbsd-hppa
-knetbsd-m32r knetbsd-m68k knetbsd-mips knetbsd-mipsel knetbsd-powerpc
-knetbsd-ppc64 knetbsd-s390 knetbsd-s390x knetbsd-sh3 knetbsd-sh3eb knetbsd-sh4
-knetbsd-sh4eb knetbsd-sparc netbsd-i386 netbsd-ia64 netbsd-alpha netbsd-amd64
-netbsd-armeb netbsd-arm netbsd-hppa netbsd-m32r netbsd-m68k netbsd-mips
-netbsd-mipsel netbsd-powerpc netbsd-ppc64 netbsd-s390 netbsd-s390x netbsd-sh3
-netbsd-sh3eb netbsd-sh4 netbsd-sh4eb netbsd-sparc openbsd-i386 openbsd-ia64
-openbsd-alpha openbsd-amd64 openbsd-armeb openbsd-arm openbsd-hppa openbsd-m32r
-openbsd-m68k openbsd-mips openbsd-mipsel openbsd-powerpc openbsd-ppc64
-openbsd-s390 openbsd-s390x openbsd-sh3 openbsd-sh3eb openbsd-sh4 openbsd-sh4eb
-openbsd-sparc hurd-i386 hurd-ia64 hurd-alpha hurd-amd64 hurd-armeb hurd-arm
-hurd-hppa hurd-m32r hurd-m68k hurd-mips hurd-mipsel hurd-powerpc hurd-ppc64
-hurd-s390 hurd-s390x hurd-sh3 hurd-sh3eb hurd-sh4 hurd-sh4eb hurd-sparc
+内部的には、パッケージシステムは GNU 三項識別子と Debian アーキテクチャを
+Debian アーキテクチャ三項識別子 (GNU 三項識別子を逆にしたようなもの)
+に正規化します。 ここで最初の識別子の要素は使っている libc と ABI
+を代表するもので、その後はこの三項識別子に対応するものになります。
+但し、この三項識別子は内部の実装依存であり、パッケージで直接使うべきものではありません。
+libc と ABI の部分は <var>os</var> と <var>cpu</var>
+を元にパッケージシステムの内部で処理されます。
</p>
-<h3><a href="ch-customized-programs.html#fr75" name="f75">75</a></h3>
+<h3><a href="ch-customized-programs.html#fr82" name="f82">82</a></h3>
<p>
Debian 基本システムが editor と pager プログラムを提供しています。
</p>
-<h3><a href="ch-customized-programs.html#fr76" name="f76">76</a></h3>
+<h3><a href="ch-customized-programs.html#fr83" name="f83">83</a></h3>
<p>
二つのロックが取得できない場合には、システムは二つ目のロックが取得できるまで待つのではなく、
最初のロックを解放して、乱数で決定した時間だけ待ち、再度ロックの取得をおこなうようにしてください。
</p>
-<h3><a href="ch-customized-programs.html#fr77" name="f77">77</a></h3>
+<h3><a href="ch-customized-programs.html#fr84" name="f84">84</a></h3>
<p>
これらの関数を使うには、<samp>liblockfile1 (>>1.01)</samp>
への依存を指定する必要があります。
</p>
-<h3><a href="ch-customized-programs.html#fr78" name="f78">78</a></h3>
+<h3><a href="ch-customized-programs.html#fr85" name="f85">85</a></h3>
<p>
メールスプールに関しては、昔から使われている二つのパーミッション手法があります。
@@ -908,7 +959,7 @@
このため Debian Policy では両方の手法を許しています。
</p>
-<h3><a href="ch-customized-programs.html#fr79" name="f79">79</a></h3>
+<h3><a href="ch-customized-programs.html#fr86" name="f86">86</a></h3>
<p>
これは仮想パッケージリストにある <samp>xserver</samp>
@@ -919,7 +970,7 @@
<samp>Xprt</samp> のようなものは仮想パッケージを提供すべきではありません。
</p>
-<h3><a href="ch-customized-programs.html#fr80" name="f80">80</a></h3>
+<h3><a href="ch-customized-programs.html#fr87" name="f87">87</a></h3>
<p>
新しいターミナルウィンドウは、ウィンドウマネージャを親とする新しいトップレベルの
@@ -928,7 +979,7 @@
(MDI) での新しい "ビュー" であってもかまいません。
</p>
-<h3><a href="ch-customized-programs.html#fr81" name="f81">81</a></h3>
+<h3><a href="ch-customized-programs.html#fr88" name="f88">88</a></h3>
<p>
Debian Policy の目的上、ここで X
@@ -940,7 +991,7 @@
ウィンドウシステムで使えるようにするツールは、このフォントポリシーに従う必要があります。
</p>
-<h3><a href="ch-customized-programs.html#fr82" name="f82">82</a></h3>
+<h3><a href="ch-customized-programs.html#fr89" name="f89">89</a></h3>
<p>
これは X サーバはローカルのファイルシステムとネットワーク越しの X
@@ -948,7 +999,7 @@
パッケージシステムはローカルのファイルシステムを管理する能力しかありません。
</p>
-<h3><a href="ch-customized-programs.html#fr83" name="f83">83</a></h3>
+<h3><a href="ch-customized-programs.html#fr90" name="f90">90</a></h3>
<p>
この機構は app-defaults とは同じではないことに注意してください。 app-defaults
@@ -956,13 +1007,13 @@
リソースは X サーバに格納され、すべての接続されるクライアントに適用されます。
</p>
-<h3><a href="ch-customized-programs.html#fr84" name="f84">84</a></h3>
+<h3><a href="ch-customized-programs.html#fr91" name="f91">91</a></h3>
<p>
このポリシー文書では OSF/Motif と OpenMotif をあわせて Motif と呼んでいます。
</p>
-<h3><a href="ch-docs.html#fr85" name="f85">85</a></h3>
+<h3><a href="ch-docs.html#fr92" name="f92">92</a></h3>
<p>
マニュアルページを書くことはそんなに難しくありません。<code><a
@@ -973,13 +1024,13 @@
ディレクトリも参考になります。
</p>
-<h3><a href="ch-docs.html#fr86" name="f86">86</a></h3>
+<h3><a href="ch-docs.html#fr93" name="f93">93</a></h3>
<p>
訳注:共有ライブラリとは関係がなく、nroff の .so コマンドのこと。
</p>
-<h3><a href="ch-docs.html#fr87" name="f87">87</a></h3>
+<h3><a href="ch-docs.html#fr94" name="f94">94</a></h3>
<p>
これを <code>man</code> でサポートすることは man
@@ -989,14 +1040,14 @@
このため、このサポートは非推奨にして、将来削除します。
</p>
-<h3><a href="ch-docs.html#fr88" name="f88">88</a></h3>
+<h3><a href="ch-docs.html#fr95" name="f95">95</a></h3>
<p>
<code>man</code> は自動的に UTF-8 が使われているかどうかを判定します。
将来は、すべてのマニュアルページの UTF-8 の使用が必須になります。
</p>
-<h3><a href="ch-docs.html#fr89" name="f89">89</a></h3>
+<h3><a href="ch-docs.html#fr96" name="f96">96</a></h3>
<p>
これを書いた時点では、中国語とポルトガル語がそのような差違のある主な言語です。
@@ -1004,7 +1055,7 @@
がすべて許されています。
</p>
-<h3><a href="ch-docs.html#fr90" name="f90">90</a></h3>
+<h3><a href="ch-docs.html#fr97" name="f97">97</a></h3>
<p>
以前は各パッケージでメンテナスクリプトから <code>install-info</code>
@@ -1013,7 +1064,7 @@
をトリガーとするようになっています。
</p>
-<h3><a href="ch-docs.html#fr91" name="f91">91</a></h3>
+<h3><a href="ch-docs.html#fr98" name="f98">98</a></h3>
<p>
通常は、info 文書は Texinfo ソースから作成されます。 これらの情報を作成された
@@ -1029,26 +1080,26 @@
@end direntry
</pre>
-<h3><a href="ch-docs.html#fr92" name="f92">92</a></h3>
+<h3><a href="ch-docs.html#fr99" name="f99">99</a></h3>
<p>
システム管理者が、プログラムが動かなくなることなく、
<code>/usr/share/doc</code> 中のファイルを消せるべきです。
</p>
-<h3><a href="ch-docs.html#fr93" name="f93">93</a></h3>
+<h3><a href="ch-docs.html#fr100" name="f100">100</a></h3>
<p>
この規定は以下に記載した changelog
ファイルの節の規定に優先するものではありません。つまり、
-<code>/usr/share/<var>package</var>/changelog.Debian.gz</code>
+<code>/usr/share/doc/<var>package</var>/changelog.Debian.gz</code>
ファイルは、対象となる <var>package (パッケージ)</var> の現在のバージョンの
changelog を指していなければなりません。
実際には、この場合は上記の場合の後者の元ファイルと、シンボリックリンクの指す先は同じ
(同じソースパッケージとバージョンのため) になるでしょう。
</p>
-<h3><a href="ch-docs.html#fr94" name="f94">94</a></h3>
+<h3><a href="ch-docs.html#fr101" name="f101">101</a></h3>
<p>
移行の現在の時点では、<code>/usr/doc/</code>
@@ -1056,7 +1107,7 @@
将来は、シンボリックリンクの作成はバグとなるようポリシーが変更されるでしょう。
</p>
-<h3><a href="ch-docs.html#fr95" name="f95">95</a></h3>
+<h3><a href="ch-docs.html#fr102" name="f102">102</a></h3>
<p>
原則の解説:ここで重要なことは、HTML 形式の文書が一連のパッケージの
@@ -1064,18 +1115,19 @@
主バイナリパッケージ自体に収録されている必要はありません。
</p>
-<h3><a href="ch-docs.html#fr96" name="f96">96</a></h3>
+<h3><a href="ch-docs.html#fr103" name="f103">103</a></h3>
<p>
訳注:本節後半の GPL ほかの項参照
</p>
-<h3><a href="ch-docs.html#fr97" name="f97">97</a></h3>
+<h3><a href="ch-docs.html#fr104" name="f104">104</a></h3>
<p>
具体的には <code>/usr/share/common-licenses/BSD</code>,
<code>/usr/share/common-licenses/Apache-2.0</code>,
<code>/usr/share/common-licenses/Artistic</code>,
+<code>/usr/share/common-licenses/GPL-1</code>,
<code>/usr/share/common-licenses/GPL-2</code>,
<code>/usr/share/common-licenses/GPL-3</code>,
<code>/usr/share/common-licenses/LGPL-2</code>,
@@ -1085,33 +1137,33 @@
<code>/usr/share/common-licenses/GFDL-1.3</code> です。
</p>
-<h3><a href="ch-docs.html#fr98" name="f98">98</a></h3>
+<h3><a href="ch-docs.html#fr105" name="f105">105</a></h3>
<p>
原則の解説: 元が別の名前だからとか HTML 形式だからといって、上流の changelog
を参照するのに二カ所を見なければならないようにすべきではありません。
</p>
-<h3><a href="ap-pkg-scope.html#fr99" name="f99">99</a></h3>
+<h3><a href="ap-pkg-scope.html#fr106" name="f106">106</a></h3>
<p>
<code>dpkg</code> は第一に Debian GNU/Linux
を対象として作られているものではありますが、他のシステムでの動作や移植は可能です。
</p>
-<h3><a href="ap-pkg-sourcepkg.html#fr100" name="f100">100</a></h3>
+<h3><a href="ap-pkg-sourcepkg.html#fr107" name="f107">107</a></h3>
<p>
これは、作成されるコントロールファイルが、正しい許可属性を持つようにするためです。
</p>
-<h3><a href="ap-pkg-sourcepkg.html#fr101" name="f101">101</a></h3>
+<h3><a href="ap-pkg-sourcepkg.html#fr108" name="f108">108</a></h3>
<p>
引数となる実行可能ファイルには、それらの作られるソースツリーのある場所や、バイナリパッケージが作られる前に仮インストールされる構築ツリーのある場所を指定することもできます。
</p>
-<h3><a href="ap-pkg-sourcepkg.html#fr102" name="f102">102</a></h3>
+<h3><a href="ap-pkg-sourcepkg.html#fr109" name="f109">109</a></h3>
<p>
これを書いている時点で、このような例としては <code>xmms</code>
@@ -1120,26 +1172,26 @@
が使われています。
</p>
-<h3><a href="ap-pkg-sourcepkg.html#fr103" name="f103">103</a></h3>
+<h3><a href="ap-pkg-sourcepkg.html#fr110" name="f110">110</a></h3>
<p>
現在、ソースパッケージの構築中にハードリンクは検出されません。
ソースパッケージの展開時にのみ検出されます。
</p>
-<h3><a href="ap-pkg-sourcepkg.html#fr104" name="f104">104</a></h3>
+<h3><a href="ap-pkg-sourcepkg.html#fr111" name="f111">111</a></h3>
<p>
将来、ハードリンクが認められるかもしれませんが、それにはとても多くの作業が必要となります。
</p>
-<h3><a href="ap-pkg-sourcepkg.html#fr105" name="f105">105</a></h3>
+<h3><a href="ap-pkg-sourcepkg.html#fr112" name="f112">112</a></h3>
<p>
setgid されたディレクトリは認められています。
</p>
-<h3><a href="ap-pkg-sourcepkg.html#fr106" name="f106">106</a></h3>
+<h3><a href="ap-pkg-sourcepkg.html#fr113" name="f113">113</a></h3>
<p>
ファイル名の変更については特別扱いしません。
Modified: www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/index.tt2
===================================================================
--- www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/index.tt2 2011-07-05 03:28:04 UTC (rev 1179)
+++ www/trunk/src/community/devel/debian-policy-ja/policy.ja.html/index.tt2 2011-07-05 03:28:45 UTC (rev 1180)
@@ -182,7 +182,8 @@
<li><a href="ch-controlfields.html#s-f-Installed-Size">5.6.20 <samp>Installed-Size</samp></a></li>
<li><a href="ch-controlfields.html#s-f-Files">5.6.21 <samp>Files</samp></a></li>
<li><a href="ch-controlfields.html#s-f-Closes">5.6.22 <samp>Closes</samp></a></li>
- <li><a href="ch-controlfields.html#s-f-Homepage">5.6.23 <samp>Homepage</samp></a>
+ <li><a href="ch-controlfields.html#s-f-Homepage">5.6.23 <samp>Homepage</samp></a></li>
+ <li><a href="ch-controlfields.html#s-f-Checksums">5.6.24 <samp>Checksums-Sha1</samp> および <samp>Checksums-Sha256</samp></a>
</ul></li>
<li><a href="ch-controlfields.html#s5.7">5.7 ユーザ定義フィールド</a>
</ul></li>
@@ -226,8 +227,7 @@
<li><a href="ch-sharedlibs.html#s8.6.1">8.6.1 システム中の <samp>shlibs</samp> ファイル</a></li>
<li><a href="ch-sharedlibs.html#s8.6.2">8.6.2 <code>dpkg-shlibdeps</code> と <code>shlibs</code> の使い方</a></li>
<li><a href="ch-sharedlibs.html#s-shlibs">8.6.3 <code>shlibs</code> ファイルフォーマット</a></li>
- <li><a href="ch-sharedlibs.html#s8.6.4">8.6.4 <code>shlibs</code> ファイルを提供する</a></li>
- <li><a href="ch-sharedlibs.html#s-shlibslocal">8.6.5 <code>debian/shlibs.local</code> ファイルの書き方</a>
+ <li><a href="ch-sharedlibs.html#s8.6.4">8.6.4 <code>shlibs</code> ファイルを提供する</a>
</ul></li>
</ul></li>
<li><a href="ch-opersys.html">9 オペレーティングシステム</a>
@@ -246,7 +246,7 @@
<li><a href="ch-opersys.html#s-sysvinit">9.3 システムランレベルと <code>init.d</code> スクリプト</a>
<ul>
<li><a href="ch-opersys.html#s-/etc/init.d">9.3.1 はじめに</a></li>
- <li><a href="ch-opersys.html#s9.3.2">9.3.2 スクリプトの書き方</a></li>
+ <li><a href="ch-opersys.html#s-writing-init">9.3.2 スクリプトの書き方</a></li>
<li><a href="ch-opersys.html#s9.3.3">9.3.3 initscript システムとのインターフェース</a></li>
<li><a href="ch-opersys.html#s9.3.4">9.3.4 ブート時における初期化</a></li>
<li><a href="ch-opersys.html#s9.3.5">9.3.5 実例</a>
@@ -261,7 +261,7 @@
</ul></li>
<li><a href="ch-files.html">10 ファイル</a>
<ul>
- <li><a href="ch-files.html#s10.1">10.1 バイナリファイル</a></li>
+ <li><a href="ch-files.html#s-binaries">10.1 バイナリファイル</a></li>
<li><a href="ch-files.html#s-libraries">10.2 ライブラリ</a></li>
<li><a href="ch-files.html#s10.3">10.3 共有ライブラリ</a></li>
<li><a href="ch-files.html#s-scripts">10.4 スクリプト</a></li>
@@ -276,14 +276,17 @@
<li><a href="ch-files.html#s10.7.5">10.7.5 ユーザ設定ファイル (ドットファイル)</a>
</ul></li>
<li><a href="ch-files.html#s10.8">10.8 ログファイル</a></li>
- <li><a href="ch-files.html#s10.9">10.9 ファイル属性と所有者</a>
+ <li><a href="ch-files.html#s-permissions-owners">10.9 ファイル属性と所有者</a>
<ul>
<li><a href="ch-files.html#s10.9.1">10.9.1 <code>dpkg-statoverride</code> の使い方</a>
</ul></li>
</ul></li>
<li><a href="ch-customized-programs.html">11 プログラムの個々の設定</a>
<ul>
- <li><a href="ch-customized-programs.html#s-arch-spec">11.1 アーキテクチャ指定のための文字列</a></li>
+ <li><a href="ch-customized-programs.html#s-arch-spec">11.1 アーキテクチャ指定のための文字列</a>
+ <ul>
+ <li><a href="ch-customized-programs.html#s-arch-wildcard-spec">11.1.1 アーキテクチャワイルドカード</a>
+ </ul></li>
<li><a href="ch-customized-programs.html#s11.2">11.2 デーモン類</a></li>
<li><a href="ch-customized-programs.html#s11.3">11.3 仮想 tty の使用、wtmp、utmp、lastlog 等の更新</a></li>
<li><a href="ch-customized-programs.html#s11.4">11.4 エディタとページャ</a></li>
@@ -335,14 +338,13 @@
<li><a href="ap-pkg-sourcepkg.html#s-pkg-dpkg-parsechangelog">C.1.7 <code>dpkg-parsechangelog</code> - changelog の解析結果の生成</a></li>
<li><a href="ap-pkg-sourcepkg.html#s-pkg-dpkg-architecture">C.1.8 <code>dpkg-architecture</code> - パッケージを構築するシステム、あるいはホストシステムについての情報</a>
</ul></li>
- <li><a href="ap-pkg-sourcepkg.html#s-pkg-sourcetree">C.2 Debian 化されたソースツリー</a>
+ <li><a href="ap-pkg-sourcepkg.html#s-pkg-sourcetree">C.2 Debian パッケージソースツリー</a>
<ul>
<li><a href="ap-pkg-sourcepkg.html#s-pkg-debianrules">C.2.1 <code>debian/rules</code> - メイン構築スクリプト</a></li>
<li><a href="ap-pkg-sourcepkg.html#sC.2.2">C.2.2 <code>debian/control</code></a></li>
- <li><a href="ap-pkg-sourcepkg.html#s-pkg-dpkgchangelog">C.2.3 <code>debian/changelog</code></a></li>
- <li><a href="ap-pkg-sourcepkg.html#s-pkg-srcsubstvars">C.2.4 <code>debian/substvars</code> と変数の置換</a></li>
- <li><a href="ap-pkg-sourcepkg.html#sC.2.5">C.2.5 <code>debian/files</code></a></li>
- <li><a href="ap-pkg-sourcepkg.html#sC.2.6">C.2.6 <code>debian/tmp</code></a>
+ <li><a href="ap-pkg-sourcepkg.html#s-pkg-srcsubstvars">C.2.3 <code>debian/substvars</code> と変数の置換</a></li>
+ <li><a href="ap-pkg-sourcepkg.html#sC.2.4">C.2.4 <code>debian/files</code></a></li>
+ <li><a href="ap-pkg-sourcepkg.html#sC.2.5">C.2.5 <code>debian/tmp</code></a>
</ul></li>
<li><a href="ap-pkg-sourcepkg.html#s-pkg-sourcearchives">C.3 Source packages as archives</a></li>
<li><a href="ap-pkg-sourcepkg.html#sC.4">C.4 <code>dpkg-source</code> を使わない Debian ソースパッケージのアンパック</a>