On Sun Aug 3, 2025 at 3:15 PM CEST, Sean Whitton wrote:
I thought that the .delta files were mostly to cover, for example, the
tarball containing autotools-generated files that aren't in git?
Isn't that a key use case?
Mhh, I'd say no, maybe. Let me explain.
The main undeniable advantage of pristine-tar is regenerating a tarball
which is bit-by-bit identical to the upstream one, without having to
keep the actual tarball around. This is useful for source
reproducibility use cases (ignoring that Git is better for this anyway).
I argue that containing autotools-generated files is not the main use
case because in the usual git-buildpackage workflow you actually import
the tarballs into git, so the Debian git tree has the autotools stuff as
well.
When one uses a mixed upstream git + tarballs gbp workflow, the tarball
contents gets applied as a new commit on top of the upstream git tag.
So, even there, the contents of the tarball match the contents of the
git tree pointed by the upstream/latest branch (minus stuff like empty
dirs).
So, we can just say: if you want to use pristine-tar, make sure to
commit its contents to the upstream/latest branch (gbp does this by
default anyway).
Note: here I use "upstream/latest" to refer to the branch containing the
upstream code to be used for package builds. It could have a different
name, of course, but that's what DEP14 recommends.