Can I rebuild a package without recompiling the source?

That depends on how you're building the package. dpkg-buildpackage doesn't call the clean target if you pass it the -nc option. Another useful option for test build is -uc (don't sign the changes file). debuild inherits these options from dpkg-buildpackage.

For a test build, you can simply do fakeroot debian/rules binary (adjust the target as appropriate for a multiple-binary package).


Using ccache, you can build the package as normal, without actually recompiling unchanged source files.

ccache works by storing old results of compilations, and only rebuilds if the source actually changed.

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