2

私は次の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を使用してインストールした後、フォルダーが存在しない場合、フォルダーテストが自動的に作成されないようです。preinstスクリプトで手動で作成する必要がありますか?

更新:問題は、preinstにエラーがあったため、解凍が発生する機会がなかったことが原因でした。

ローラン

4

2 に答える 2

3

ここで私の例を見てください。

debian/DEBIAN 
debian/usr/bin
debian/usr/lib

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

  1. パッケージ (バイナリ パッケージ) を生成する前に、ディレクトリにファイルを設定します。
  2. パッケージをビルドしてインストールするためにMAKEが呼び出されるソースパッケージをビルドします。

最初のケースでは、スクリプトを使用してディレクトリを作成する必要はありません。必要にpreinst応じて、パッケージのインストール時にパッケージ マネージャーによってフォルダー階層が作成されます。

2 番目のケースでは、フェーズmkdir -p中にフォルダー階層を作成するために を使用する必要があります。install


私は昨年、Debian リポジトリをパッケージ化する 3 つの異なる方法を経験してきましたが、考慮すべき詳細は数多くあります。1 つの安心は、Launchpad とその PPA 公開プロセスについて知り合うことでした。

于 2009-12-01T01:07:55.003 に答える
0

tmp選択したdebhelper互換モードのバージョンに応じて、debian/controlにリストされている最初のパッケージと同じ名前または同じ名前のパッケージが必要です。

debhelperたとえば、サンプルファイルの1つからの呼び出し:

$(MAKE) prefix=`pwd`/debian/`dh_listpackages`/usr install

ここでは、その1レベルの間接参照が欠落しています。

于 2009-11-30T23:51:27.607 に答える