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.
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:
Blindly following examples on web pages, and have shot myself in the foot.
[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:
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)