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

我究竟做错了什么?这在一天前有效,从那时起我在这个目录中没有更改任何内容:

$ 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没有开头的斜杠。

此类文件应放入包“root”(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

相关内容