我正在玩dpkg,但我遇到了一个相当奇怪的问题:第一个包成功构建后第二次无法构建包。
dpkg-buildpackage -sa
....
dpkg-source: warning: newly created empty file 'build/lib.linux-x86_64-2.7/neutron/api/__init__.py' will not be represented in diff
(repeats 100500 times for different files).
我怎样才能第二次重建deb?
看起来我错过了一些清理命令。
答案 0 :(得分:12)
debian/rules
文件实际上是Makefile
,必须(根据Debian policy)有一个 clean 目标清理构建。
如果此目标未自动运行,您可以使用以下内容明确地调用它:
dpkg-buildpackage -rfakeroot -Tclean
答案 1 :(得分:2)
另一种可能性是使用debuild
而不是直接调用dpkg-buildpackage
。
最简单的方法是构建二进制包以及未签名的源和未签名的更改日志,cd到源的debian/
目录,并且:
$ debuild -uc -us
您可以致电clean
上的debuild
目标进行清理。
$ debuild clean
答案 2 :(得分:0)
debian/rules
文件通常设置为清除旧的构建文件,但是您的文件似乎有错误,或者只是缺少此功能。 (提交错误报告?)
如果不了解您的软件包,这是推测性的,但请尝试删除build
目录。
在最坏的情况下,重新打开包装来重新开始。
答案 3 :(得分:0)
感谢大家的帮助。
在我的案例中,问题分为两部分:
所以在我看来,解决方案相当复杂: