Processed: Re: Bug#977083: pristine-tar: fails to checkout when there are multiple source tarballs
Processing control commands: > reassign -1 git-buildpackage Bug #977083 [pristine-tar,git-buildpackage,devscripts] pristine-tar: fails to checkout when there are multiple source tarballs Bug reassigned from package 'pristine-tar,git-buildpackage,devscripts' to 'git-buildpackage'. No longer marked as found in versions git-buildpackage/0.9.20, pristine-tar/1.49, and devscripts/2.20.5. Ignoring request to alter fixed versions of bug #977083 to the same values previously set > forcemerge 917789 -1 Bug #917789 [git-buildpackage] Wrong tarball id (pristine-tar) when import-orig with --components Bug #977083 [git-buildpackage] pristine-tar: fails to checkout when there are multiple source tarballs Severity set to 'important' from 'serious' Marked as found in versions git-buildpackage/0.9.13. Merged 917789 977083 -- 917789: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917789 977083: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=977083 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#977083: pristine-tar: fails to checkout when there are multiple source tarballs
Control: reassign -1 git-buildpackage Control: forcemerge 917789 -1 On Fri, Dec 11, 2020 at 01:39:35AM +0530, Pirate Praveen wrote: > Package: pristine-tar,git-buildpackage,devscripts > Control: found -1 pristine-tar/1.49 > Control: found -1 devscripts/2.20.5 > Control: found -1 git-buildpackage/0.9.20 > severity: serious please, how could this be serios for either of them… > I'm filing against all 3 possible packages which might have a bug here. > > Example package node-mermaid. It fails on all packages that uses multiple > source tarballs. (gitlab is another example and many node packages use > multiple source tarballs). > > These are usually created with gbp import-orig --pristine-tar > > We have to always fall back to 'apt source' command whcih makes pristine-tar > useless in these situations. > > I think origtargz should try apt source when pristine-tar fails. > > I'm not sure if it fails only with tar.xz though. > > $ origtargz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-webpack-node-externals.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-stylis.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-strip-css-comments.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-slugify.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-scope-css.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-sanitize-url.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-khroma.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-is-regexp.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-escaper.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-entity-decode.tar.xz > pristine-tar: successfully generated > ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-crypto-random-string.tar.xz > fatal: ambiguous argument 'cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4^{tree}': > unknown revision or path not in the working tree. > Use '--' to separate paths from revisions, like this: > 'git [...] -- [...]' > fatal: not a valid object name: > cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4^{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 > cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4\^\{tree\} | (cd > '/tmp/pristine-tar.x11yV6IWxf' && tar x) See #917789 - that's what you are seeing. gbp import-orig does extra things (that honestly I don't understand why they are needed), and plain pristine-tar can't checkout a tarball, as the tree id recorded are something that is build especially by gbp. You need to use `gbp export-orig` to export such tarballs. > $ pristine-tar checkout ../node-mermaid_8.7.0+ds+~cs27.17.17.orig.tar.xz > fatal: ambiguous argument 'cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4^{tree}': > unknown revision or path not in the working tree. > Use '--' to separate paths from revisions, like this: > 'git [...] -- [...]' > fatal: not a valid object name: > cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4^{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 > cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4\^\{tree\} | (cd > '/tmp/pristine-tar.JY3lejdcNL' && tar x) If you wish to use `pristine-tar checkout` see #917789 that contains a way to hack the .id files so that pristine-tar can do its work again directly, without the help from gbp. -- 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 `- signature.asc Description: PGP signature
Bug#977083: pristine-tar: fails to checkout when there are multiple source tarballs
Package: pristine-tar,git-buildpackage,devscripts Control: found -1 pristine-tar/1.49 Control: found -1 devscripts/2.20.5 Control: found -1 git-buildpackage/0.9.20 severity: serious I'm filing against all 3 possible packages which might have a bug here. Example package node-mermaid. It fails on all packages that uses multiple source tarballs. (gitlab is another example and many node packages use multiple source tarballs). These are usually created with gbp import-orig --pristine-tar We have to always fall back to 'apt source' command whcih makes pristine-tar useless in these situations. I think origtargz should try apt source when pristine-tar fails. I'm not sure if it fails only with tar.xz though. $ origtargz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-webpack-node-externals.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-stylis.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-strip-css-comments.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-slugify.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-scope-css.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-sanitize-url.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-khroma.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-is-regexp.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-escaper.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-entity-decode.tar.xz pristine-tar: successfully generated ./node-mermaid_8.7.0+ds+~cs27.17.17.orig-crypto-random-string.tar.xz fatal: ambiguous argument 'cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4^{tree}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git [...] -- [...]' fatal: not a valid object name: cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4^{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 cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4\^\{tree\} | (cd '/tmp/pristine-tar.x11yV6IWxf' && tar x) $ pristine-tar list |grep 8.7.0+ds+~cs27.17.17.orig.tar.xz node-mermaid_8.7.0+ds+~cs27.17.17.orig.tar.xz $ pristine-tar checkout ../node-mermaid_8.7.0+ds+~cs27.17.17.orig.tar.xz fatal: ambiguous argument 'cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4^{tree}': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git [...] -- [...]' fatal: not a valid object name: cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4^{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 cb3a82caf3951fbab382b5a0d7dbdd7936bee2c4\^\{tree\} | (cd '/tmp/pristine-tar.JY3lejdcNL' && tar x)