Hi, On Sat, May 28, 2022 at 11:13:20AM +0200, Mattia Rizzolo wrote: > On Sat, May 28, 2022 at 11:10:26AM +0200, Guido Günther wrote: > > > You need a tree that has the component's tarball dirs dropped: > > > > > > https://github.com/agx/git-buildpackage/blob/master/gbp/scripts/export_orig.py#L77 > > > > > > gbp-buildpackage uses the same code when generating tarballs. > > > > Is there still an issue with opencv and it's additional tarball that I > > could reproduce? > > I don't think so. I understand now that in those cases I need to use > `gbp export-orig` instead of just running `pristine-tar checkout`. > > However, now I'm mostly confused why you're requiring such special tree > when in my tests a plain `pristine-tar` using the main tree seemed to > just work, mhh.
I assume that worked since you still had the tree in your git repo (which is the same tree gbp-export-orig regenerates). If you drop unused trees it fails (i'm using selinux-python as example as it's pretty small): $ git reflog expire --expire=now --all $ git gc --prune=now Enumerating objects: 594, done. Counting objects: 100% (594/594), done. Delta compression using up to 4 threads Compressing objects: 100% (304/304), done. Writing objects: 100% (594/594), done. Total 594 (delta 269), reused 594 (delta 269), pack-reused 0 $ pristine-tar checkout selinux-python_3.4.orig.tar.gz fatal: ambiguous argument '66959325048ceffde0999354208467adc63a5ec6^{tree}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' fatal: not a valid object name: 66959325048ceffde0999354208467adc63a5ec6^{tree} tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors pristine-tar: command failed: git archive --format=tar 66959325048ceffde0999354208467adc63a5ec6\^\{tree\} | (cd '/tmp/pristine-tar.M6ynn876_U' && tar x) while gbp export-orig recreates it $ gbp export-orig -v … gbp:debug: pristine-tar [] ['verify', '/tmp/a/selinux-python/../selinux-python_3.4.orig.tar.gz'] gbp:debug: pristine-tar [] ['verify', '/tmp/a/selinux-python/../selinux-python_3.4.orig-sandbox.tar.gz'] gbp:debug: pristine-tar [] ['verify', '/tmp/a/selinux-python/../selinux-python_3.4.orig-gui.tar.gz'] Which then also makes pristine-tar work again (until the tree is pruned again): $ pristine-tar checkout selinux-python_3.4.orig.tar.gz pristine-tar: /tmp/a/selinux-python/selinux-python_3.4.orig.tar.gz already exists and is valid pristine-tar: successfully generated selinux-python_3.4.orig.tar.gz Cheers, -- Guido > (or at least, that's what my memory of this old matter claims) > > -- > regards, > Mattia Rizzolo > > GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`. > More about me: https://mapreri.org : :' : > Launchpad user: https://launchpad.net/~mapreri `. `'` > Debian QA page: https://qa.debian.org/developer.php?login=mattia `-