1

我收到来自 lintian 的警告和一个错误:

W: openrobertalab: init.d-script-not-marked-as-conffile etc/init.d/openrobertalab
E: openrobertalab: init.d-script-not-included-in-package etc/init.d/openrobertalab

我在这里不明白的是etc/init.d/openrobertalab我的包中没有这样的文件:

dpkg --contents openrobertalab_1.3.0-1_amd64.deb | grep etc
drwxr-xr-x root/root         0 2015-09-22 10:53 ./etc/
drwxr-xr-x root/root         0 2015-09-22 10:53 ./etc/dbus-1/
drwxr-xr-x root/root         0 2015-09-22 10:53 ./etc/dbus-1/system.d/
-rw-r--r-- root/root       489 2015-09-22 10:53 ./etc/dbus-1/system.d/openrobertalab.conf

如果我遵循 lintiants 的建议并创建一个debian/openrobertalab.conffiles列表这个不存在的文件,则包构建失败:

dpkg-deb: error: conffile `etc/init.d/openrobertalab' does not appear in package
dh_builddeb: dpkg-deb --build debian/openrobertalab .. returned exit code 2
make: *** [binary] Error 1
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

有任何想法吗?

4

2 回答 2

1

我设法通过将以下几行添加到我的规则文件中来“解决”这个问题:

override_dh_installinit:
# don't do anything, silences lintian warnings
于 2015-09-22T10:27:23.447 回答
1

首先,联系文档实际的 lintian 错误是什么意思:

 lintian-info --tags \
       init.d-script-not-included-in-package \
       init.d-script-not-marked-as-conffile

第一个警告的解释表明,postinst您的包的脚本安装了一个 init-script,但它不是包的一部分。

所以正确的解决方案是修复你的包的维护者脚本。

于 2015-09-22T10:51:43.110 回答