dh_install が明らかに存在するファイルが見つかりません。

dh_install が明らかに存在するファイルが見つかりません。

debuild -us -uc開発中のパッケージビルドを実行すると、ファイルが見つからないことdh_installに関する苦情が表示されます。単独で実行すると、同じエラーメッセージが表示されます。

$ dh_install
/home/felix/work/my_app/debian/install: 1: /home/felix/work/my_app/debian/install: execute.py: not found
/home/felix/work/my_app/debian/install: 2: /home/felix/work/my_app/debian/install: module1: not found

私は正しいディレクトリにあり、ファイルは明らかにそこにありますが:

$ pwd
/home/felix/work/my_app
$ ll
total 56K
[...]
-rwxrwxr-x 1 felix felix  20K Dez  6 10:35 execute.py
[...]
drwxrwxr-x 4 felix felix 4,0K Dez  1 19:10 module1
[...]

これは私のものですdebian/install

execute.py usr/lib/my-cool-app
module1 usr/lib/my-cool-app

私は何が間違っていましたか?これは1日前に機能し、それ以来このディレクトリで何も変更しませんでした。

$ git status
On branch debian_package
nothing to commit, working directory clean

追加情報:

$ dpkg -s debhelper | grep Version
Version: 9.20131227ubuntu1
$ cat debian/compat
9

答え1

たぶんあなたはそのような状況に直面しています抜け穴私が述べたように、dh-installからここファイルから実行可能ビットを削除します.install

chmod -x debian/*.install

答え2

ファイルdebian/installが正しくありません。以下を使用する必要があります。

execute.py usr/lib/my-cool-app
module1 usr/lib/my-cool-app

注:usr/lib前にスラッシュはありません。

これらのファイルはパッケージを準備するためにパッケージ「ルート」(AKA DESTDIR)に配置する必要があるため、相対パス(「DESTDIR」に相対)を使用する必要があります。ファイルが原因でビルドシステムがファイルをシステムに移動するため、/usr一時的な場所にそのファイルが見つかりません。

答え3

WSLでも同じ問題に直面しました。本当の理由はdh_install私にとってとても賢いからです))

しかし、私は次の解決策を見つけました。Debian メールアーカイブ したがって、結果は次のようになります。

Debian/インストール

#!/bin/bash
echo execute.py usr/lib/my-cool-app
echo module1 usr/lib/my-cool-app

関連情報