On Thu, Dec 10, 2020 at 9:42 pm, Mattia Rizzolo <[email protected]> wrote:
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 did not know where the bug was. As for the serious severity, it does affect the normal working of these tools.

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 <command> [<revision>...] -- [<file>...]'
 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 <command> [<revision>...] -- [<file>...]'
 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.

Can't origtargz use gbp export-orig --pristine-tar when it can detect gbp is used and has multiple tarballs? (when there is a debian/gbp.conf which has components listed in them). I expect origtargz to create the origtar files one way or the other. It does not have to use pristine-tar if it can detect pristine-tar does not work and instead has to use gbp.

Reply via email to