preinstに必要なディレクトリを作成するdebianパッケージ
質問
次のdebian構造を持っています:
- debian / usr / share / test
- debian / usr / share / test / test
- debian / usr / share / test / test / a
- debian / usr / share / test / test / b
dpkg-deb --buildを使用してパッケージをビルドし、dpkg -iを使用してインストールした後、フォルダーtestが存在しない場合は自動的に作成されないようです。 preinstスクリプトで手動で作成する必要がありますか?
更新:問題は、preinstにエラーがあったため、アンパックが発生する機会がなかったためです。
ローラン
解決
私の例をご覧ください こちら 。
debian/DEBIAN
debian/usr/bin
debian/usr/lib
いくつかの選択肢があります:
- パッケージ(バイナリパッケージ)を生成する前にファイルをディレクトリに配置します
- パッケージをビルドしてインストールするために MAKE が呼び出される source パッケージをビルドします。
最初のケースでは、 preinst
スクリプトを使用してディレクトリを作成する必要はありません。必要に応じて、パッケージのインストール時にパッケージマネージャーによってフォルダー階層が作成されます。
2番目の場合、 install
フェーズで mkdir -p
を使用してフォルダー階層を作成する必要があります。
昨年、Debianリポジトリの3つの異なるパッケージング方法を経験しましたが、考慮すべき詳細は数多くあります。安心の1つは、LaunchpadとPPAの公開プロセスを知り合うことでした。
他のヒント
選択したdebhelper compatモードのバージョンに応じて、 tmp
またはdebian / controlにリストされている最初のパッケージと同じ名前のパッケージにあるものが必要です。
E.g。 debhelper
サンプルファイルの1つからの呼び出し:
$(MAKE) prefix=`pwd`/debian/`dh_listpackages`/usr install
ここでは、1レベルの間接参照が欠落しています。
所属していません StackOverflow