[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ next ]
Debian ポリシーマニュアル
Appendix B - バイナリパッケージ (旧 Packaging Manual より)
deb(5)
マニュアルページ、および本マニュアルの パッケージ制御情報ファイル, Section B.2
を見てください。
B.1 パッケージファイルの作成 - dpkg-deb
バイナリパッケージファイルの操作はすべて dpkg-deb
で行ないます。この dpkg-deb
はこの (バイナリ)
パッケージフォーマットを理解する唯一のプログラムです。 (dpkg-deb
は必要に応じて dpkg
から呼び出されます。dpkg
は依頼されたオプションが dpkg-deb
に適切なものかどうかを見分け、同じ引数で代わりに dpkg-deb
を呼び出します)。
バイナリパッケージを作るためには、
パッケージのファイルシステムデータ部分に入れたいファイルやディレクトリを全て含むディレクトリツリーを作らなければなりません。
Debian
フォーマットのソースパッケージでは、このディレクトリは通常はパッケージのソースツリーのトップからの相対パスで
debian/tmp
です。
これらのファイルやディレクトリは、インストールされた時にあなたが期待するシステム上での (あなたが作るディレクトリツリーのルートとの相対での) 位置と所有者と許可属性を持っていなければなりません。
現在のバージョンの dpkg
では、 ユーザとグループに用いる
uid/username、gid/groupname の
対応はパッケージが作られたシステムとインストールされるシステムとで同じにすべきです
あなたが作るミニチュアファイルシステムのルートに DEBIAN
という特別なディレクトリを 追加しなければなりません。
そこには制御情報ファイル、特にバイナリパッケージコントロールファイルが含まれます
(メイン制御情報ファイル: control,
Section B.3 を見て下さい)。
DEBIAN
ディレクトリはパッケージのファイルシステムアーカイブには入れられません。
従って、dpkg
によってパッケージが展開される時にはインストールされません。
パッケージの準備ができたら次のようにします。
dpkg --build directory
これにより directory.deb
にパッケージが構築されます
(dpkg
は --build が dpkg-deb
のオプションであることを知っているため、 パッケージを構築するために
dpkg-deb
を同じオプションで起動します)。
新しく作られたファイルの中身を調べる方法についての詳細は man ページの
dpkg-deb(8)
を見てください。
次のコマンドの出力から役に立つ情報が得られることがわかるでしょう。
dpkg-deb --info filename.deb dpkg-deb --contents filename.deb dpkg --contents filename.deb
パッケージの copyright 関連のファイルを見るには、以下のコマンドを使います。
dpkg --fsys-tarfile filename.deb | tar xOf - --wildcards \*/copyright | pager
B.2 パッケージ制御情報ファイル
バイナリパッケージの制御情報部は dpkg
が知っている名前を持ったファイルの集合です。 dpkg
はこれらのファイルの内容を特別に扱います。
この中の一部の内容はパッケージのインストールや削除の時に dpkg
に使われるものであったり、 パッケージ管理者が dpkg
に実行させたいスクリプトであったりします。
パッケージ制御情報ファイルエリアにそれ以外のファイルを入れることはできますが、あまりいい考えではありません (もっとも、それらは多くの場合無視されますが)。
ここで、dpkg
がサポートする制御情報ファイルの簡単なリストと、それらが何に使われるかについての概要を挙げておきます。
- control
-
このファイルには
dpkg
が使う鍵となる情報が書かれています。 このファイルによりパッケージ名とバージョンの指定や、パッケージに関する説明のユーザへの提供、 他のパッケージとの関連の指定などを行ないます。 See ソースパッケージコントロールファイル --debian/control
, Section 5.2 と バイナリパッケージコントロールファイル --DEBIAN/control
, Section 5.3 を見て下さい。このファイルは、通常
dpkg-gencontrol
がソースパッケージ内の情報から自動的に作ります。その際dpkg-shlibdeps
が補助として使われます。 ソースパッケージを処理するためのツール, Section C.1 を見て下さい。
- postinst, preinst, postrm, prerm
-
これらは
dpkg
が、パッケージのインストール、アップグレード、削除の時に起動する実行可能なファイル (通常はスクリプト) です。 これらのファイルにより、パッケージがパッケージに特有の事柄を扱ったり、dpkg
が提供するよりもより複雑な処理をさせることが可能になります。 これらのファイルが、いつ、どの様に呼び出されるかについての詳細は パッケージ管理スクリプトとインストールの手順, Chapter 6 を見て下さい。これらのスクリプトに「再入結果の同一性」を持たせておくことは非常に重要です。 メンテナスクリプトの再入結果の同一性, Section 6.2 を参照ください。
管理スクリプトは制御端末で実行されることが保証されておらず、ユーザと対話することができないかもしれません。 メンテナスクリプトからのターミナルの制御, Section 6.3 を参照ください。
- conffiles
-
このファイルには
dpkg
により自動的に扱うことが意図された設定ファイルのリストが含まれます (設定ファイルの取り扱い (旧 Packaging Manual より), Appendix E を参照)。 すべての設定ファイルをここに書く必要はないことに注意して下さい。
- shlibs
-
このファイルにはパッケージが提供する共有ライブラリのリストが、それぞれの依存関係の詳細と共に含まれます。 このファイルは
dpkg-shlibdeps
により利用され、 パッケージコントロールファイルでどの依存関係が必要かを決めるために使われます。shlibs
ファイルの書式についてはshlibs
ファイルフォーマット, Section 8.6.4.2 に記述があります。
B.3 メイン制御情報ファイル: control
dpkg
がパッケージをインストールする時に使うもっとも重要な制御情報ファイルが この
control
です。 このファイルはパッケージの「人口動態統計」をすべて
含んでいます。
Debian ソースから作られたパッケージのバイナリパッケージ control
ファイルは dpkg-gencontrol
という特別なツールで作られます。このツールは debian/control
と
debian/changelog
から必要な情報を捜し出します。詳細は ソースパッケージ (旧 Packaging Manual より),
Appendix C を見て下さい。
バイナリパッケージコントロールファイルのフィールドは バイナリパッケージコントロールファイル
-- DEBIAN/control
, Section 5.3 に列挙されています。
コントロールファイルの文法とこれらのフィールドの目的についての記述は コントロールファイル (Control) とそのフィールド, Chapter 5 で得られます。
B.4 タイムスタンプ
タイムスタンプ, Section 4.7 を参照ください。
[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ next ]
Debian ポリシーマニュアル
バージョン 3.9.5.0, 2014-07-03The Debian Policy Mailing List