这是我很长时间以来第一次尝试使用 .deb 打包,所以很可能是一个愚蠢的错误。话虽如此,正如标题所说:我的包在可靠的 14.04.3 主机上的 pbuilder 中构建良好,但在启动板上失败。恕我直言,我的直觉是安装将文件放在了不同的地方。
这是基于 debian (jessie) 构建的,效果很好。我不得不调整一些依赖项和安装路径,但经过这些修复后,它可以在 pbuilder 中构建。
第一个问题:在 pbuilder 中构建和在 launchpad 上构建之间可能有什么区别?构建环境?如果是,如何在 pbuilder 中获得相同的环境?
当然,任何提示失败原因的提示都会受到赞赏...构建日志位于 https://launchpad.net/~leamas-alec/+archive/ubuntu/lirc-preview/+build/8102298/+files/buildlog_ubuntu-trusty-amd64.lirc_0.9.3-1.9_BUILDING.txt.gz
答案1
这可能不是正确的解决方案,但它确实有效。在二进制文件中添加对安装目标的显式依赖是解决问题的办法。但是,安装目标是这是序列的一部分,所以这是某种令人憎恶的事情。而且,这是不是pbuilder 中需要。
-override_dh_auto_install:
+override_dh_auto_install: debian/tmp/etc/lirc/lircd.conf
+debian/tmp/etc/lirc/lircd.conf:
dh_testdir
dh_testroot
@@ -46,5 +47,5 @@
# Build architecture-independent files here.
-binary-indep:
+binary-indep: debian/tmp/etc/lirc/lircd.conf
# Use system library instead of bundled jquery.js (symlinked below).
echo INSTALL TREE
@@ -67,6 +68,8 @@
# Build architecture-dependent files here.
-binary-arch:
+binary-arch: debian/tmp/etc/lirc/lircd.conf
echo PWD: $$PWD
+ echo INSTALL TREE
+ tree -L 4 debian