After the merge of #18331, there are now two ways to create source tarballs.
make distgit archive
It would seem that both methods are being used in our Gitian descriptor.
First, we run make dist to create a bootstrapped tarball: https://github.com/bitcoin/bitcoin/blob/c5966a87d1fdd7a98f2baee5b2deddd541fdfb5a/contrib/gitian-descriptors/gitian-linux.yml#L143-L148
Which is used by each host to build the binary tarballs in the for loop: https://github.com/bitcoin/bitcoin/blob/c5966a87d1fdd7a98f2baee5b2deddd541fdfb5a/contrib/gitian-descriptors/gitian-linux.yml#L154-L191
Then, we use git archive to create the final source tarball: https://github.com/bitcoin/bitcoin/blob/c5966a87d1fdd7a98f2baee5b2deddd541fdfb5a/contrib/gitian-descriptors/gitian-linux.yml#L194
It seems to me that perhaps it’d be good to reinstate the behaviour whereby our binary tarballs are built from the source tarball, just for robustness’s sake.
A simple fix might be:
- switch the earlier
make disttogit archive ./autogen.shfor each host- Remove the last call to
git archive
Perhaps this can even allow us to specify the no-dist automake option and clean up dist related targets in Makefile.am.