Ubuntu向けパッケージ作成上のメモ(バイナリパッケージの分割に関するメモ・後半)
「Ubuntu向けパッケージ作成上のメモ(バイナリパッケージの分割に関するメモ・前半)」の続き。
複数のバイナリパッケージへ分割する際のパッケージ情報の記述
debian/controlにおいてソースパッケージに関する記述から1行空けた後ろにバイナリパッケージの情報を記述するのだが、あるソースパッケージから複数のバイナリパッケージを作成したい場合には「Package:」の記述の下に1行空けた後で別のパッケージ名でその情報を記述する。更にパッケージがある場合はその下に1行空けて同様に続ける。
C/Migemoのパッケージでは「cmigemo」というソースパッケージから「cmigemo-common」「cmigemo」「libmigemo1」「libmigemo-dev」「vim-cmigemo」のバイナリパッケージを作成するようにした。
[引用]ファイル名: debian/control より
Source: cmigemo Section: utils Priority: extra (中略) Package: cmigemo-common Architecture: all Depends: ${misc:Depends}, migemo Description: Japanese incremental search tool written in C - common files (詳細な説明は略) Package: cmigemo Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libmigemo1 (= ${binary:Version}) Description: Japanese incremental search tool written in C (詳細な説明は略) Package: libmigemo1 Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, cmigemo-common (= ${source:Version}) Description: Japanese incremental search tool written in C - runtime library (詳細な説明は略) Package: libmigemo-dev Section: libdevel Architecture: any Depends: ${misc:Depends}, libmigemo1 (= ${binary:Version}) Description: Japanese incremental search tool written in C - development files (詳細な説明は略) Package: vim-cmigemo Section: editors Architecture: all Depends: ${misc:Depends}, vim (>= 2:7.2), cmigemo Description: C/Migemo plugin for Vim (詳細な説明は略)
各バイナリパッケージに含まれるファイルを記述する
上の記述はパッケージ自体の情報で、分割されたそれぞれのバイナリパッケージを構成するファイルについては別途記述が必要となり、debian/ディレクトリの中に[個別のバイナリパッケージ名].installというファイルを配置する。その書式は
[そのパッケージに属するようにしたいファイルの場所] [パッケージ内のインストール場所から先頭の「/」を削ったもの]
が1ファイル1行で(ファイル数の行数だけ)並んだもので、1つ目の項目はdebian/ディレクトリを含んだディレクトリ(ソースツリー内の最上位ディレクトリ)からの相対パスもしくはdebian/tmp/ディレクトリからの相対パスをとり、任意の文字列を「*」で指定することもできる。
例として
[引用]ファイル名: debian/cmigemo-common.install より
dict/euc-jp.d/*.dat usr/share/migemo/
上の記述により、ソースツリー内のdict/euc-jp.d/ディレクトリ内の全ての.datファイルが「cmigemo-common」パッケージの/usr/share/migemo/に配置され
[引用]ファイル名: debian/libmigemo-dev.install より
usr/include/migemo.h usr/include/ usr/lib/lib*.so usr/lib/
上の記述により、ビルドシステムによるファイル配置(インストール)処理の後でdebian/tmp/usr/include/migemo.hがパッケージでは/usr/include/以下に,debian/tmp/usr/lib/以下の.soファイル(この場合はシンボリックリンク)が「libmigemo-dev」パッケージの/usr/lib/以下にそれぞれ(パッケージの中で)配置されるようになる。