我有一些 debian 包,其中包含以下install
文件:
src/an_executable_python_script usr/bin
src/web/* usr/share/packagename
文件夹中src/web
有一些 html 和 css 文件。看起来,在兼容级别 7 下,一切都运行正常。但在兼容级别 9 下,我收到以下错误消息:
/home/user/package/debian/packagename.install: 2:
/home/user/package/debian/packagename.install: src/web/index.html: Permission denied
dh_install 的手册页明确说明了这一点:文件必须是可执行的。
不幸的是,旧版 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 的不可执行文件,有人可以给我提示吗?
经过反复尝试后进行编辑:我从所有安装文件中删除了可执行位,现在可以正常工作了...但这与手册页相反吗?!这是怎么回事?
答案1
答案2
看起来好像安装文件中提到的文件被执行了,而不仅仅是作为 dh_install 工具的指令读取。您是否在某处偶然调用了“debian/install”?
首先,我建议将安装文件命名为 yourpackagename.install,而不仅仅是“install”。您也可以随意发布您的 debian/rules 文件。我希望看到 debian 文件夹的“ls -l”。