是否可以在不重新编译源代码的情况下重建软件包?


18

我正在构建一个新的.deb,并希望修复包装中的lintian错误。但是,每次重建时,规则文件都会执行“ make clean”操作,因此会再次开始编译。

有没有一种方法可以指示我不想重新编译的构建过程,即我只是在改变包装,并且现在使用最后一组二进制文件就可以了?

Answers:


26

这取决于您如何构建软件包。如果将选项传递dpkg-buildpackageclean目标,则不会调用目标-nc。测试构建的另一个有用的选项是-uc(不要签署更改文件)。debuild从继承这些选项dpkg-buildpackage

对于测试构建,您可以简单地进行操作fakeroot debian/rules binary(针对多二进制软件包适当地调整目标)。


8

使用ccache,您可以正常构建软件包,而无需实际重新编译未更改的源文件。

ccache 通过存储旧的编译结果来工作,并且仅在源实际更改时才重建。

debuild --prepend-path=/usr/lib/ccache --preserve-envvars=CCACHE_*

2
我得到了dpkg-buildpackage: unknown option or argument --preserve-envvars=CCACHE_*,但我删除选项,似乎好的工作,没有它
戴夫·巴特勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.