web-dev-qa-db-ja.com

dh_installを使用して非実行ファイルをインストールする

次のinstallファイルを持つdebianパッケージがあります。

src/an_executable_python_script usr/bin
src/web/* usr/share/packagename

src/webフォルダー内には、いくつかのhtmlおよびcssファイルがあります。互換性レベル7では、すべてが正常に機能したようです。しかし、compatレベル9では、次のエラーメッセージが表示されます。

/home/user/package/debian/packagename.install: 2: 
/home/user/package/debian/packagename.install: src/web/index.html: Permission denied

Dh_installのmanページはこのトピックに関して明確です:ファイルは実行可能でなければなりません。 残念ながら、これはおそらく古いdebhelperでは強制されていなかったので、多くのパッケージがdh_installで非実行可能ファイルをインストールするこのプラクティスを使用していることがわかります。 編集:多分私はマンページを誤解した。インストールファイル自体が実行可能でなければならないことを意味すると思いますか?しかし、ここにあります:index.html実行可能ファイルをマークすると、このエラーメッセージが表示されます。

src/web/index.html: 2: src/web/index.html: cannot open !DOCTYPE: No such file
src/web/index.html: 2: src/web/index.html: html: not found
src/web/index.html: 4: src/web/index.html: Syntax error: newline unexpected
dh_install: debian/packagename.install (executable config) returned exit code 2

互換性レベル9の非実行可能ファイルをインストールする方法を見つけることができませんでした。

いくつかの試行錯誤の後に編集します。すべてのインストールファイルから実行可能ファイルを削除しましたが、現在は機能しています...しかし、これはマンページに反していますか?!ここで何が起こっていますか?

2
reox

Dh-installの bug です。 .installファイルの実行可能ビットを削除します。

chmod -x debian/*.install

この答えが誰かを助けることを願って、それは解決するために私に血の汗と涙を要した。

1
Nadav

Dh_installツールの指示として読むだけでなく、インストールファイルに記載されているファイルが実行されているように見えます。偶然 "debian/install"を呼び出していますか?

まず、単なる「インストール」ではなく、インストールファイルにyourpackagename.installという名前を付けることをお勧めします。 debian/rulesファイルも自由に投稿してください。そして、debianフォルダーの「ls -l」を見たいと思います。

0
smoe