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.