Post History
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 frustra...
#1: Initial revision
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 ``` instead of ``` --- a/foo/bar.h +++ b/foo/bar.h ``` Nonetheless, `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 ```