Apologies for the length of the email.
I have started processing the `libintl-perl` changes manually using:
gbp import-dsc --verbose ../source-libintl-perl/libintl-perl_1.20-1.dsc
Note `~/.gbp.conf` has the default options set for `pristine-tar` etc.
Everything has gone as planned in your previous email, until we get to the point of break at the above version.
I noted with interest - based on How to unpack a Debian source package <
http://ftp.debian.org/debian/doc/source-unpack.txt>, that prior to 1.20-1 (above) has format 1.0, whereas from 1.20-1 onwards the format is 3.0
(quilt).
Following the process yields a project folder for 1.20.
Time to follow the `gbp import-dsc` process to see what is happening.
Step 1 - what do we have in the temporary folder after unpacking?
I updated my local version of `/lib/python3/dist-packages/gbp/scripts/import_dsc.py` to stop the `tmp`
folder being removed on failure.
Ran the import, yielding the same result:
gbp import-dsc --verbose ../source-libintl-perl/libintl-perl_1.20-1.dsc gbp:debug: ['git', 'rev-parse', '--show-cdup']
gbp:debug: ['git', 'rev-parse', '--is-bare-repository']
gbp:debug: ['git', 'rev-parse', '--git-dir']
gbp:debug: ['git', 'for-each-ref', '--format=%(refname:short)',
'refs/heads/']
gbp:debug: ['git', 'status', '--porcelain']
gbp:debug: Upstream version: 1.20
gbp:debug: Debian version: 1
gbp:debug: Upstream tarball: /home/keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20.orig.tar.gz
gbp:debug: Debian patch: /home/keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20-1.debian.tar.gz
gbp:debug: tar ['--exclude=.gitignore', '--exclude=debian/*', '--exclude=.git/*', '--exclude=.git', '-C', '/home/keni/src/pkg-perl/packages/tmp95ak6wa1', '-a', '-xf', '/home/keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20.orig.tar.gz']
[]
gbp:debug: ['git', 'tag', '-l', 'debian/1.20-1']
gbp:debug: ['git', 'tag', '-l', 'debian/1.20-1']
gbp:debug: ['git', 'tag', '-l', 'upstream/1.20']
gbp:debug: ['git', 'rev-parse', '--quiet', '--verify', 'upstream/1.20^0'] gbp:debug: ['git', 'tag', '-l', 'upstream/1.20']
gbp:debug: ['git', 'rev-parse', '--quiet', '--verify', 'upstream/1.20^0'] gbp:debug: ['git', 'show-ref', '--verify', 'refs/heads/master']
gbp:debug: tar ['--exclude=.gitignore', '--exclude=debian/*', '--exclude=.git/*', '--exclude=.git', '-C', '.', '-a', '-xf', '/home/keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20-1.debian.tar.gz']
[]
gbp:debug: ['git', 'rev-parse', '--quiet', '--verify', 'c4f8aaef153903f678dd29928f4550b19f3aca8c^{commit}']
gbp:debug: ['git', 'branch', '--contains', 'c4f8aaef153903f678dd29928f4550b19f3aca8c']
gbp:debug: Tag 'c4f8aaef153903f678dd29928f4550b19f3aca8c' not yet merged
into 'master'
Traceback (most recent call last):
File "/usr/bin/gbp", line 149, in <module>
sys.exit(supercommand())
File "/usr/bin/gbp", line 145, in supercommand
return module.main(args)
File "/usr/lib/python3/dist-packages/gbp/scripts/import_dsc.py", line
529, in main
apply_debian_patch(repo, sources[0], dsc, commit, options)
File "/usr/lib/python3/dist-packages/gbp/scripts/import_dsc.py", line
175, in apply_debian_patch
author = get_author_from_changelog(source.unpacked)
File "/usr/lib/python3/dist-packages/gbp/scripts/import_dsc.py", line
115, in get_author_from_changelog
dch = ChangeLog(filename=os.path.join(dir, 'debian/changelog'))
File "/usr/lib/python3/dist-packages/gbp/deb/changelog.py", line 84, in __init__
raise NoChangeLogError("Changelog %s not found" % (filename, )) gbp.deb.changelog.NoChangeLogError: Changelog /home/keni/src/pkg-perl/packages/tmp95ak6wa1/libintl-perl-1.20/debian/changelog not found
The `debian` folder exists but it is empty.
Manually unpacking the `libintl-perl_1.20-1.debian.tar.gz` shows that the
files are present.
Which seems to imply that the unpack under python, though never yielded an exception.
Step 2 - trace the unpack process.
One line in the above output yields that we are telling `tar` to ignore the `debian/*` content:
gbp:debug: tar ['--exclude=.gitignore', '--exclude=debian/*', '--exclude=.git/*', '--exclude=.git', '-C', '.', '-a', '-xf', '/home/keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20-1.debian.tar.gz']
[]
Found it!
Curses!
Blindly following examples on web pages, and have shot myself in the foot.
The Git guide git - Debian Perl Group Packaging and Git Guide <
https://perl-team.pages.debian.net/git.html> under `Tips and Tricks` has
an entry Prevent surprises in the upstream tarball <
https://perl-team.pages.debian.net/git.html#Prevent_surprises_in_the_upstream_tarball>
which includes the following inclusion for the `gbp.conf` file:
[import-dsc]
filter = [ '.gitignore', 'debian/*', '.git/*', '.git' ]
After removing the `debian/*` entry from the above line in the `gbp.conf`,
all individual versions complete normally.
Is there any reason why the web page entry should not be updated to prevent further people experiencing the same issue?
Step 3 - Execute takeover for the whole to make sure it woks.
Running the takeover did not complete successfully:
dpt takeover libintl-perl -a 945988 -n
The local repository was created okay, but for some reason the `-n` was
ignored and a push to salsa occurred.
Oh, it is only the pristine tar being pushed based on `gbp.conf`, which explains the error for held changes.
Try this again without the `-n` option.
dpt takeover libintl-perl -a 945988
***
*** Taking over libintl-perl
***
gbp:info: Downloading snapshots of 'libintl-perl' to '/tmp/tmpfv07857w'... gbp:info: No git repository found, creating one.
gbp:info: Version '1.11-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.11-2' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.16-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.16-2' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.16-3' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.16-4' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.20-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.23-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.23-1+deb8u1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.24-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.26-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.26-2' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Version '1.26-2.1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'
gbp:info: Everything imported under /home/keni/src/pkg-perl/packages/libintl-perl
Pushing to
git@salsa.debian.org:perl-team/modules/packages/libintl-perl.git
To salsa.debian.org:perl-team/modules/packages/libintl-perl.git
! [rejected] master -> master (fetch first)
! [rejected] pristine-tar -> pristine-tar (fetch first)
! [rejected] upstream -> upstream (fetch first)
error: failed to push some refs to '
git@salsa.debian.org: perl-team/modules/packages/libintl-perl.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
push --all --verbose --set-upstream origin: command returned error: 1
Oh, still have previous attempt up on salsa at:
https://salsa.debian.org/perl-team/modules/packages/libintl-perl
I do not have access to remove the project, but not sure if that is the
right way to go either.
I do know that the process is now working, and only failing on the upload
to salsa.
Can we delete the existing upstream salsa version?
--
Ken Ibbotson
E:
keni@computer.org
*"Reality is merely an illusion, albeit a very persistent one."*
- Albert Einstein (1879-1955)
On Sat, 28 Nov 2020 at 06:43, gregor herrmann <
gregoa@debian.org> wrote:
On Fri, 27 Nov 2020 20:31:07 +1030, Ken Ibbotson wrote:
Package: libintl-perl
Origin: remote.origin.url=git@salsa.debian.org: perl-team/modules/packages/libintl-perl.git
I don't have the time for a real review right now (and I want to play
a bit more with the question if and how we can get the old versions
into git, where something is missing on snapshots), but: The repo
looks incomplete, there's only a master branch, no pristine-tar or
upstream branches, and also no upstream tag.
If you have them locally please push them; if not we'll think about
ways about restarting :)
Cheers,
gregor
--
.''`. https://info.comodo.priv.at -- Debian Developer https://www.debian.org
: :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06
`. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
`- NP: Beatles: Fool On The Hill
<div dir="ltr"><div dir="ltr">Apologies for the length of the email.<div><br></div><div>I have started processing the `libintl-perl` changes manually using:</div><div style="margin-left:40px"><span style="font-family:monospace">gbp import-dsc --verbose ..
/source-libintl-perl/libintl-perl_1.20-1.dsc</span></div><div>Note `~/.gbp.conf` has the default options set for `pristine-tar` etc.<br></div><div><br></div><div>Everything has gone as planned in your previous email, until we get to the point of break at
the above version.</div><div><br></div><div>I noted with interest - based on <a href="
http://ftp.debian.org/debian/doc/source-unpack.txt" target="_blank">How to unpack a Debian source package</a>, that prior to 1.20-1 (above) has format 1.0, whereas from
1.20-1 onwards the format is 3.0 (quilt).</div><br><div>Following the process yields a project folder for 1.20.</div><div>Time to follow the `gbp import-dsc` process to see what is happening.</div><div><br></div><div>Step 1 - what do we have in the
temporary folder after unpacking?</div><div>I updated my local version of `/lib/python3/dist-packages/gbp/scripts/import_dsc.py` to stop the `tmp` folder being removed on failure.</div><div>Ran the import, yielding the same result:</div><div style="
margin-left:40px"><span style="font-family:monospace">gbp import-dsc --verbose ../source-libintl-perl/libintl-perl_1.20-1.dsc<br>gbp:debug: ['git', 'rev-parse', '--show-cdup']<br>gbp:debug: ['git', 'rev-parse', &#
39;--is-bare-repository']<br>gbp:debug: ['git', 'rev-parse', '--git-dir']<br>gbp:debug: ['git', 'for-each-ref', '--format=%(refname:short)', 'refs/heads/']<br>gbp:debug: ['git', '
status', '--porcelain']<br>gbp:debug: Upstream version: 1.20<br>gbp:debug: Debian version: 1<br>gbp:debug: Upstream tarball: /home/keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20.orig.tar.gz<br>gbp:debug: Debian patch: /home/
keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20-1.debian.tar.gz<br>gbp:debug: tar ['--exclude=.gitignore', '--exclude=debian/*', '--exclude=.git/*', '--exclude=.git', '-C', '/home/keni/src/pkg-
perl/packages/tmp95ak6wa1', '-a', '-xf', '/home/keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20.orig.tar.gz'] []<br>gbp:debug: ['git', 'tag', '-l', 'debian/1.20-1']<br>gbp:debug:
['git', 'tag', '-l', 'debian/1.20-1']<br>gbp:debug: ['git', 'tag', '-l', 'upstream/1.20']<br>gbp:debug: ['git', 'rev-parse', '--quiet', '--verify', '
upstream/1.20^0']<br>gbp:debug: ['git', 'tag', '-l', 'upstream/1.20']<br>gbp:debug: ['git', 'rev-parse', '--quiet', '--verify', 'upstream/1.20^0']<br>gbp:debug: ['git', &#
39;show-ref', '--verify', 'refs/heads/master']<br>gbp:debug: tar ['--exclude=.gitignore', '--exclude=debian/*', '--exclude=.git/*', '--exclude=.git', '-C', '.', '-a', '-xf&#
39;, '/home/keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20-1.debian.tar.gz'] []<br>gbp:debug: ['git', 'rev-parse', '--quiet', '--verify', 'c4f8aaef153903f678dd29928f4550b19f3aca8c^{commit}'
]<br>gbp:debug: ['git', 'branch', '--contains', 'c4f8aaef153903f678dd29928f4550b19f3aca8c']<br>gbp:debug: Tag 'c4f8aaef153903f678dd29928f4550b19f3aca8c' not yet merged into 'master'<br>Traceback (most
recent call last):<br>Â File "/usr/bin/gbp", line 149, in <module><br>Â Â sys.exit(supercommand())<br>Â File "/usr/bin/gbp", line 145, in supercommand<br>Â Â return module.main(args)<br>Â File "/usr/lib/python3/dist-
packages/gbp/scripts/import_dsc.py", line 529, in main<br>Â Â apply_debian_patch(repo, sources[0], dsc, commit, options)<br>Â File "/usr/lib/python3/dist-packages/gbp/scripts/import_dsc.py", line 175, in apply_debian_patch<br>Â Â
author = get_author_from_changelog(source.unpacked)<br>Â File "/usr/lib/python3/dist-packages/gbp/scripts/import_dsc.py", line 115, in get_author_from_changelog<br>Â Â dch = ChangeLog(filename=os.path.join(dir, 'debian/changelog'))<
 File "/usr/lib/python3/dist-packages/gbp/deb/changelog.py", line 84, in __init__<br>  raise NoChangeLogError("Changelog %s not found" % (filename, ))<br>gbp.deb.changelog.NoChangeLogError: Changelog /home/keni/src/pkg-perl/
packages/tmp95ak6wa1/libintl-perl-1.20/debian/changelog not found</span></div><div>The `debian` folder exists but it is empty.</div><div>Manually unpacking the `libintl-perl_1.20-1.debian.tar.gz` shows that the files are present.</div><div>Which seems to
imply that the unpack under python, though never yielded an exception.</div><div><br></div><div><br></div><div>Step 2 - trace the unpack process.</div>One line in the above output yields that we are telling `tar` to ignore the `debian/*` content:</div><
div dir="ltr"><div style="margin-left:40px"><span style="font-family:monospace">gbp:debug: tar ['--exclude=.gitignore', '--exclude=debian/*', '--exclude=.git/*', '--exclude=.git', '-C', '.', '-a', &#
39;-xf', '/home/keni/src/pkg-perl/packages/source-libintl-perl/libintl-perl_1.20-1.debian.tar.gz'] []</span><br></div></div><br><div>Found it!</div><div>Curses!</div><div>Blindly following examples on web pages, and have shot myself in the
foot.</div><div>The Git guide <a href="
https://perl-team.pages.debian.net/git.html" target="_blank">git - Debian Perl Group Packaging and Git Guide</a> under `Tips and Tricks` has an entry <a href="
https://perl-team.pages.debian.net/git.html#Prevent_
surprises_in_the_upstream_tarball" target="_blank">Prevent surprises in the upstream tarball</a> which includes the following inclusion for the `gbp.conf` file:<br></div><div dir="ltr"><div style="margin-left:40px"><pre>[import-dsc]
filter = [ '.gitignore', 'debian/*', '.git/*', '.git' ]</pre></div><div>After removing the `debian/*` entry from the above line in the `gbp.conf`, all individual versions complete normally.<br></div><div><div><br></div><
Is there any reason why the web page entry should not be updated to prevent further people experiencing the same issue?</div></div><div><br></div><div><br></div><div>Step 3 - Execute takeover for the whole to make sure it woks.</div><div></div><div>
Running the takeover did not complete successfully:</div><div style="margin-left:40px"><span style="font-family:monospace">dpt takeover libintl-perl -a 945988 -n</span></div><div><br></div><div>The local repository was created okay, but for some reason
the `-n` was ignored and a push to salsa occurred.</div><div>Oh, it is only the pristine tar being pushed based on `gbp.conf`, which explains the error for held changes.<br></div><div><br></div><div>Try this again without the `-n` option.</div><div><div
style="margin-left:40px"><span style="font-family:monospace">dpt takeover libintl-perl -a 945988<br>***<br>*** Taking over libintl-perl<br>***<br>gbp:info: Downloading snapshots of 'libintl-perl' to '/tmp/tmpfv07857w'...<br>gbp:info: No
git repository found, creating one.<br>gbp:info: Version '1.11-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Version '1.11-2' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<
gbp:info: Version '1.16-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Version '1.16-2' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Version '1.16-3'
imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Version '1.16-4' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Version '1.20-1' imported under '/home/keni/src/
pkg-perl/packages/libintl-perl'<br>gbp:info: Version '1.23-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Version '1.23-1+deb8u1' imported under '/home/keni/src/pkg-perl/packages/libintl-
perl'<br>gbp:info: Version '1.24-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Version '1.26-1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Version '
1.26-2' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Version '1.26-2.1' imported under '/home/keni/src/pkg-perl/packages/libintl-perl'<br>gbp:info: Everything imported under /home/keni/src/pkg-
perl/packages/libintl-perl<br>Pushing to
git@salsa.debian.org:perl-team/modules/packages/libintl-perl.git<br>To salsa.debian.org:perl-team/modules/packages/libintl-perl.git<br>Â ! [rejected] Â Â Â Â master -> master (fetch first)<br>Â ! [rejected] Â
   pristine-tar -> pristine-tar (fetch first)<br> ! [rejected]     upstream -> upstream (fetch first)<br>error: failed to push some refs to '
git@salsa.debian.org:perl-team/modules/packages/libintl-perl.git'<br>hint: Updates
were rejected because the remote contains work that you do<br>hint: not have locally. This is usually caused by another repository pushing<br>hint: to the same ref. You may want to first integrate the remote changes<br>hint: (e.g., 'git pull ...')
before pushing again.<br>hint: See the 'Note about fast-forwards' in 'git push --help' for details.<br>push --all --verbose --set-upstream origin: command returned error: 1</span></div></div><div>Oh, still have previous attempt up on
salsa at:</div><div style="margin-left:40px"><span style="font-family:monospace"><a href="
https://salsa.debian.org/perl-team/modules/packages/libintl-perl">https://salsa.debian.org/perl-team/modules/packages/libintl-perl</a></span></div><div></div><div>I
do not have access to remove the project, but not sure if that is the right way to go either.</div><div><br></div><div>I do know that the process is now working, and only failing on the upload to salsa.</div><div>Can we delete the existing upstream salsa
version?<br></div><div><br></div><div><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><div>--<br>Ken Ibbotson</div>E: <a href="mailto:
keni@computer.org" target="_blank">
keni@computer.org</a><br><div><br></div><div><i>"
Reality is merely an illusion, albeit a very persistent one."</i></div>Â Â Â - Albert Einstein (1879-1955)<br></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 28 Nov 2020 at 06:43,
gregor herrmann <<a href="mailto:
gregoa@debian.org" target="_blank">
gregoa@debian.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 27 Nov 2020
20:31:07 +1030, Ken Ibbotson wrote:<br>
> Package: libintl-perl<br>
> Origin: remote.origin.url=<a href="mailto:
git@salsa.debian.org" target="_blank">
git@salsa.debian.org</a>:<br>
> perl-team/modules/packages/libintl-perl.git<br>
I don't have the time for a real review right now (and I want to play<br>
a bit more with the question if and how we can get the old versions<br>
into git, where something is missing on snapshots), but: The repo<br>
looks incomplete, there's only a master branch, no pristine-tar or<br> upstream branches, and also no upstream tag.<br>
If you have them locally please push them; if not we'll think about<br> ways about restarting :)<br>
Cheers,<br>
gregor<br>
-- <br>
 .''`. <a href="
https://info.comodo.priv.at" rel="noreferrer" target="_blank">
https://info.comodo.priv.at</a> -- Debian Developer <a href="
https://www.debian.org" rel="noreferrer" target="_blank">
https://www.debian.org</a><br>
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06<br>
 `. `' Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe<br>
  `-  NP: Beatles: Fool On The Hill<br>
</blockquote></div></div>
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)