DPKG-SCANPACKAGES(1)

名前
dpkg-scanpackages - Packages ファイルの作成

書式
dpkg-scanpackages [-u] [-a<arch>] binarydir overridefile [pathprefix] > Packages

説明
dpkg-scanpackages は Debian バイナリパッケージのツリーを見て Packages ファイルを生成する。 Packages ファイルは dselect(8) などに、どのパッケージがインストールできるかをユーザに知らせるために利用している。 これらの Packages ファイルは Debian アーカイブサイトや CD-ROM などで使われている ものと同じものである。 もし、たくさんのマシンにインストールしたいローカルなパッケージの ディレクトリを作るなら、自分で dpkg-scanpackages を使うことができる。

binarydir は処理するバイナリツリーの名前である(例えば contrib/binary-i386 など)。 Debian アーカイブのルートからの相対にしておくのが最もいい方法である。 なぜなら Packages ファイルに含まれている各々の Filename フィールドは この文字列で始まるからである。

overridefile はパッケージがディストリビューションにあうようにするための情報を 含んでいるファイルの名前である。以下を参照のこと。

pathprefix は Filename フィールドで前に追加できるオプションの文字列である。

-u を指定した場合は、*.deb の代わりに *.udeb をスキャンする。

-a<arch> を指定した場合は、すべての deb ファイルをスキャンする代わりに、 *_all.deb や *_arch.deb パターンにマッチするファイルを対象とする。

OVERRIDE ファイル
パッケージに関するほとんどの情報は control ファイルで見つけることができるが、 いくつかはメンテナではなくディストリビューション作成者により、それらの情報を 与える必要がある。パッケージの実際の依存関係や説明よりも、リリースに むけてファイルをどう配置するかに関係してくるからである。 これらの情報は override ファイルにある。

override ファイルは簡単な空白で区切られた形式になっている。コメントも 許されている( # 以降がコメント )。

package priority section [maintainerinfo]

package はパッケージ名である。override ファイルにあるがバイナリツリーには ないパッケージ名のエントリは無視される。

priority と section はパッケージをリリースツリーでどこに置くかを指定する。これらは control ファイルにあるべきではない。もしパッケージが binarydir のサブディレクトリにあれば section の値とチェックされる。

maintainerinfo, がもしあればメンテナの名前を無条件に上書きできる。もしくは oldmaintainer => newmaintainer の場合は置換される。

公式の Packages リストを作成するために使われている override ファイルは、 Debian ミラーの indices ディレクトリにある。

診断
dpkg-scanpackages は通常の自己説明的なエラーを出力する。パッケージが間違ったディレクトリに ある、複数ある、control ファイルに Filename フィールドがある、override ファイルにない、実行されなかったメンテナの置換があるなどといった警告も する。

関連項目
dpkg(8), dselect(8), dpkg-scansources(1).

翻訳者
鵜飼文敏 <ukai@debian.or.jp>