これは、ドキュメントが不足していることを常に見つけてきた場所です。他のパッケージでどのように行われるかを見て、これがどのように機能するかをほとんど学びました。Debianパッケージのほとんどのものと同様に、これを行う方法がいくつかあります。最も簡単な方法はdebian/package.install
ファイルを使用することです。これが私が取り組んだパッケージの例です。想像力(bzrブランチ)です。
まず、パッケージをで作成する必要がありますdebian/control
。現在、3つのスタンザがあります。1つはソースパッケージ用で、もう1つは各バイナリパッケージ用です。foo-dataパッケージはであることに注意してくださいArchitecture: all
。また、想像力はに依存することに注意してくださいimagination-common (= ${source:Version})
。
次に、debian/imagination.install
ファイルを作成します。これには、想像パッケージに含める特定のファイルまたはパスが含まれます。このパッケージには、すべてのアーキテクチャ依存ファイルが必要です。デスクトップファイルは、そのExec:
行で呼び出すバイナリと共に言う必要があるため含まれています。
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
debian/imagination-common.install
ファイルを作成する必要があります。これには、アーキテクチャに依存しないすべてのファイル、画像、翻訳、ドキュメントなどが含まれます。
/usr/share/doc/
/usr/share/icons/
/usr/share/imagination/
/usr/share/locale/
man dh_install
ここで実際に何が起こっているかを説明します:
多分、あなたは複数のバイナリパッケージをビルドする大きなパッケージを持っているでしょう。アップストリームのMakefileを使用してすべてをdebian / tmpにインストールし、dh_installを使用してそこからディレクトリとファイルを適切なパッケージビルドディレクトリにコピーできます。
「適切なパッケージビルドディレクトリ」とは、ビルドプロセスが終了するまでに、結果foo.deb
に含まれるすべてのものがにあることを意味しsrc/debian/foo
ます。終わるだろうファイルがfoo-data.deb
中に発見されますsrc/debian/foo-data
。debian/rules
基本的にただのMakefileで、あなたは同じ結果を得ることのように他の方法を想像し始めることができます。