Debian JP Project

(for vocal browsers: toc, main)

Google
WWW 全体 www.debian.or.jp 検索


[ 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--builddpkg-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/controldebian/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-03

The Debian Policy Mailing List