我可以在不重新编译源代码的情况下重建包吗?

crb*_*crb 19 dpkg compiling

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

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

Gil*_*il' 27

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

对于测试构建,您可以简单地执行fakeroot debian/rules binary(根据多二进制包调整目标)。


lfa*_*one 8

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

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

debuild --prepend-path=/usr/lib/ccache --preserve-envvars=CCACHE_*
Run Code Online (Sandbox Code Playgroud)

  • 我得到了 `dpkg-buildpackage: unknown option or argument --preserve-envvars=CCACHE_*` 但我删除了那个选项,没有它似乎可以正常工作 (2认同)