Processed: Re: Bug#977083: pristine-tar: fails to checkout when there are multiple source tarballs

2020-12-10 Thread Debian Bug Tracking System
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

2020-12-10 Thread Mattia Rizzolo
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

2020-12-10 Thread Pirate Praveen

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)