質問

次の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

いくつかの選択肢があります:

  1. パッケージ(バイナリパッケージ)を生成するにファイルをディレクトリに配置します
  2. パッケージをビルドしてインストールするために 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レベルの間接参照が欠落しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top