Preserve the sources extracted by dpkg-source so as to save time
It takes a long time to build even the source package for a PPA of a huge project, and while the build isn't finished my computer is under heavy load so I can barely navigate a browser. The frustration is doubled when I get an error during that process.
Most of the times, errors are caused by a "malformed" patch. To avoid those, I incorporated the habit of copying the patches directory over to the unpacked
.orig tarball and executing
quilt push -a -v to make sure all patches apply successfully.
However, the Debian tool chest can be a bit arcane at times. That very same patch set occasionally fails when building the package with
debuild -S -d -sd. For example,
dpkg-source -b . dpkg-source: info: using source format '3.0 (quilt)' dpkg-source: info: building chromium-browser using existing ./huge-stuff_116.0.521.orig.tar.xz ### AFTER A LONG TIME... ### dpkg-source: info: using patch list from debian/patches/series dpkg-source: error: line after --- isn't as expected in diff 'huge-stuff.orig.lbv71S/debian/patches/priority.patch' (line 5)
This long time, I reckon, is caused by
dpkg-source extracting the
.orig tarball every single time I issue a build, even if it had just done so for the previous failed build.
Is there a way to preserve the extracted sources so that
dpkg-source doesn't have to extract it again in the next iteration?
I couldn't find anything in the manual when looking for tarball.
Only keep reading if you are curious; The following is irrelevant to the question.
The actual error in the question was stupid, caused by the patch header being
--- a/foo/bar.h --- b/foo/bar.h
--- a/foo/bar.h +++ b/foo/bar.h
quilt push -a -v did happily apply it somehow (exit status 0) when I tried it on the unpacked sources:
Applying patch patches/priority.patch patching file foo/bar.h Now at patch patches/priority.patch