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

Packaging Manual - footnotes



早瀬です。

Packaging Manual の footnotes を訳してみましたので、
校正をお願い致します。私は、しっかりとしたパッケージを作ったことが
ありませんので、間違いが多く潜んでいるような気がします。
訳にあたっては、逐語訳より意訳を目指したつもりです。

以下に、原文と訳文を並べて添付します。footnotes という正確上、
footnotes の部分だけでは判断できないような文もありますので、
footnotes の入っている本文を > で示しておきます。

それでは、よろしくお願い致します。


   芳尾さんへ。
     html も添付しておきましたので、ホームページへの
     登録をお願いします。

----------------------------------------------------------------
     早瀬 茂規 (hayase@xxxxxxxxxxxxxxxxxxxxxxxx)


==================================================================
Debian Packaging Manual - 補足説明

----- 1 ----------------------------------------------------------

> dpkg は バイナリーパッケージファイルを作成し、 Unix システム上で
> そのパッケージのインストールと削除をするための
> プログラム群です。[1]

dpkg is targetted primarily at Debian GNU/Linux, but may work on or be
ported to other systems.

dpkg は、主に Debian GNU/Linux を対象としています。 しかし、
他のシステム上でも動くでしょうし、 他のシステムで機能するようにも
できるでしょう。

----- 2 ----------------------------------------------------------

> postinst, preinst, postrm, prerm
>   これらのスクリプトを idempotent にするのは非常に重要なことです。[2]
>   つまり、もしエラーが起きてユーザーが dpkg を中止したり、 その他の
>   予期できない事象が起きても、パッケージが壊れたままになることは
>   ありません。

That means that if it runs successfully or fails and then you call it
again it doesn't bomb out, but just ensures that everything is the way
it ought to be.

つまり、そのスクリプトの実行が成功しても、失敗しても、そのスクリプトが
再び呼び出された時に爆発せず、 ただ、全てがあるべき状態であるように
なるということです。

----- 3 ----------------------------------------------------------

> バイナリーパッケージ管理ファイルの fields は: 
>   ● Architecture(mandatory) [3] 

This field should appear in all packages, though dpkg doesn't require
it yet so that old packages can still be installed.

古いパッケージもインストールできるように、今のところ dpkg は
Architecture フィールドを要求しません。しかし、この Architecture
フィールドは、全てのパッケージに存在しなければなりません。

----- 4 ----------------------------------------------------------

> 3.1.3 dpkg-gencontrol - バイナリパッケージ管理ファイルの生成
>   これは通常、パッケージが構築されている一時的なディレクトリツリー中の
>   ファイルやディレクトリの許可属性や所有権を設定され、 パッケージが
>   dpkg-deb を用いて構築される直前に行なわれます。 [4]。

This is so that the control file which is produced has the right
permissions

これは、作成されるコントロールファイルが、正しい許可属性を持つように
するためです。

----- 5 ----------------------------------------------------------

> 3.1.4 dpkg-shlibdeps - 共有ライブラリの依存関係の算定
>   このプログラムの引数は、 バイナリーパッケージの管理ファイルに
>   共有ライブラリの依存関係を含める必要のある 実行形式[5]です。

They may be specified either in the locations in the source tree where
they are created or in the locations in the temporary build tree where
they are installed prior to binary package creation.

引数となる実行可能ファイルは、それらの作られるソースツリーの
ある場所や、 バイナリーパッケージが作られる前に仮インストールされる
構築ツリーの ある場所で指定することもできます。

----- 6 ----------------------------------------------------------

> 3.2.3 debian/changelog 
>   このファイルは、パッケージの Debian 特有の部分の変更を
>   記録します[6]。

Though there is nothing stopping an author who is also the Debian
maintainer from using it for all their changes, it will have to be
renamed if the Debian and upstream maintainers become different people.

changelog の著者がパッケージの保守担当者でもある場合、 パッケージの
全ての変更に対して changelog を使わないようにすることも できますが、
パッケージや元のソースの保守担当者が違う人になった時には、 名前を
変更しなければなりません。

----- 7 ----------------------------------------------------------

> date は RFC822 フォーマットでなければなりません。[7]

This is generated by the 822-date program.

これは 822-date プログラムによって作成されます。

----- 8 ----------------------------------------------------------

> 3.2.5 debian/files 
>   これらはソースパッケージのアップロード版に含まれていてはいけません。
>   そして、それら (およびすべてのバックアップファイルと一時ファイル、
>   例えば、files.new[8])は、 clean ターゲットによって削除されなければ
>   いけません。また、 binary ターゲットのスタート時には、それら
>   一時ファイルは、削除 されるか空にされていることで、新しいスタートを
>   確認することも目的としています。 

files.new is used as a temporary file by dpkg-gencontrol and
dpkg-distaddfile - they write a new version of files here before
renaming it, to avoid leaving a corrupted copy if an error occurs

files.new は dpkg-gencontrol と dpkg-distaddfile が一時的なファイルと
して使います。 エラーが起こったときに問題のあるファイルを残して
おかないようにするため、 dpkg-gencontrol と dpkg-distaddfile は、
ファイル名をかえる前に新しいバージョンの files を ここに書き出します。

----- 9 ----------------------------------------------------------

> 3.4.1 ソースパッケージに含まれるものに対する制限 
>   ソースパッケージには、ハードリンク [9] [10]、 デバイスファイル、
>   ソケットファイル、及び setuid や setgid された ファイルが
>   含まれていてはいけません。[11]

This is not currently detected when building source packages,
but only when extracting them.

現在、ソースパッケージの構築中にハードリンクは検出されませんが、
ソースパッケージの展開時にのみ検出されます。

----- 10 ----------------------------------------------------------

> 3.4.1 ソースパッケージに含まれるものに対する制限 
>   ソースパッケージには、ハードリンク [9] [10]、 デバイスファイル、
>   ソケットファイル、及び setuid や setgid された ファイルが
>   含まれていてはいけません。[11]

Hard links may be permitted at some point in the future,
but would require a fair amount of work.

将来のある時点でハードリンクが認められるかもしれませんが、
それにはとても多くの作業が必要となります。

----- 11 ----------------------------------------------------------

> 3.4.1 ソースパッケージに含まれるものに対する制限 
>   ソースパッケージには、ハードリンク [9] [10]、 デバイスファイル、
>   ソケットファイル、及び setuid や setgid された ファイルが
>   含まれていてはいけません。[11]

Setgid directories are allowed.

setgid されたディレクトリーは認められています。

----- 12 ----------------------------------------------------------

> ソースパッケージを構築する時に、dpkg-sourceが警告を表示し、
> 処理は継続するような問題のある変更は次の通りです。 
>   ● ファイル、ディレクトリ、シンボリックリンクの削除。 [12]

Renaming a file is not treated specially - it is seen as the removal
of the old file (which generates a warning, but is otherwise ignored),
and the creation of the new one.

ファイル名の変更については特別扱いしません。 つまり、古いファイルの
削除(dpkg-source によって警告が発せられるか、そうでなければ
無視されます。)と新しいファイルの作成として扱われます。

----- 13 ----------------------------------------------------------

> 4.2.1 Package 
>   バイナリ・パッケージの名前です。パッケージの名前は、英数字と
>   + - .(プラスとマイナス、ピリオ ド)から成ります。 [13]

The characters @ : = % _ (at, colon, equals, percent and underscore)
used to be legal and are still accepted when found in a package file,
but may not be used in new packages

@ : = % _ (アットマーク、コロン、等号、パーセント、アンダースコア)
の使用は、 以前は認められていて、パッケージファイルの名前として、
現在でも受け付けられますが、新しいパッケージでは使ってはいけません。

----- 14 ----------------------------------------------------------

> 4.2.1 Package 
>   これには、少くとも二つのキャラクタが必要です。また、
>   英数字で始まらなければいけません。現在のバージョンの dpkg は、
>   ある程度、大文字と小文字を区別します。[14];作ったパッケージが
>   すでに大文字を使っているか、その他のフィールドから参照されて
>   いる名前 が、大文字でない限り、パッケージの名前は小文字にして
>   ください。 

This is a bug.

これはバグです。

----- 15 ----------------------------------------------------------

> 現在の作成アーキテクチャは、 dpkg--print-architecture.[15]によって
> 決定できます。この 値は、ソースコントロール情報がアーキテクチャ allを
> 指定して いないときのバイナリ・パッケージ用のコントロールファイルを
> 作成するときに、dpkg-gencontrolによって自動的に使用されます。 

This actually invokes
   gcc --print-libgcc-file-name
and parses and decomposes the output and looks the CPU type from
the GCC configuration in a table in dpkg. This is so that it will work
if you're cross-compiling.

これは、実際には dpkg の中で
   gcc --print-libgcc-file-name
を呼び出し、 その出力の構文解析をして分解し、表の中の GCC の設定から
CPU の型を みつけます。これは、クロスコンパイルの場合にも動作するように
するためのものです。

----- 16 ----------------------------------------------------------

> バイナリパッケージなかのコントロールファイルの中 (または、
> Packagesファイルの中) では、バージョン番号が括弧に入って続くことに
> なっています。[16]

It is usual to leave a space after the package name if a version number
is specified.

バージョン番号が指定される場合には、通常、パッケージ名の後に
空白が入ります。

----- 17 ----------------------------------------------------------

> 4.2.10 Binary
>   その書式は、コンマで区切られたバイナリパッケージのリストです。[17]

A space after each comma is conventional.

それぞれのコンマの後には空白を入れるのが決まりです。

----- 18 ----------------------------------------------------------

> 4.2.12 Files 
>   .dsc (デビアンソースコントロール) ファイルには、それぞれの 行に、
>   Tar ファイル中のファイル名および(もしあれば)適切な diff ファイル、
>   MD5 チェックサムとサイズとが記されます。この diff ファイルは、
>   ソースパッ ケージのリマインダの役目を補完します。[18]

That is, the parts which are not the .dsc.

つまり、.dsc でない部分のことです。

----- 19 ----------------------------------------------------------

> お互いのファイルに上書きするパッケージは、決定論的に決まるのではある
> けれども、 システム管理者には理解しがたい振る舞いをします。この状態で
> は、 簡単にプログラムを「見失う」事態が起こり得ます。例えば、他のパッ
> ケージ からのファイルに上書きするようなパッケージをインストールして、
> それか ら、そのパッケージを削除することで起こります。 [19]

Part of the problem is due to what is arguably a bug in dpkg.

問題のうちの一部は、おそらく、dpkg 中にあるバグによるものです。

----- 20 ----------------------------------------------------------

> ここでは、 dpkg-debで、[20]パッケージを作成しようとする とき、
> 空白があると文法エラーを引き起こすことは忘れください。

Version 0.93.23 or later.

バージョン 0.93.23 か、それより新しいもの。

----- 21 ----------------------------------------------------------

> Depends
>   dpkg は、その依存関係が満足されない限り、パッケージを設定しようとし
>   ません。もし、強制的に依存関係を無視してインストールしようとする と、
>   --auto-deconfigure オプションが指定されていないかぎり、 dpkg は文句を
>   いいます[21]。

Current versions (1.2.4) of dpkg have a bug in this area which will
cause some of these problems to be ignored.

現行バージョン(1.2.4)の dpkg には、この領域中のバグがあり、
依存関係の問題のうちのいくらかを無視してしまいます。
  ------------------------------------------------------------------------
Debian Packaging Manual - Copyright 1996 Ian Jackson.
Contents; abstract.
version 2.4.1.0, 14 April 1998
Ian Jackson ijackson@xxxxxxxxxxxxxx
Revised: David A. Morris bweaver@debian.org
Maintainer: Christian Schwarz schwarz@debian.org

Attachment: footnotes.html
Description: HTML document