On Sun, 25 Oct 2020 16:16:32 +1030, Ken Ibbotson wrote:
> I have been endeavouring to adopt 'libintl-perl', however the execution of
> 'dpt takeover' is throwing an error for a missing `debian/changelog' in the
> package description.
Hm, not nice.
> dpt takeover libintl-perl -a 945988 -n
> 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_dscs.py", line
> 185, in main
> if importer.importdsc(dsc):
> File "/usr/lib/python3/dist-packages/gbp/scripts/import_dscs.py", line
> 72, in importdsc
> return import_dsc.main(['import-dsc'] + self.args + [dsc.dscfile])
> 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/tmpe8bg7289/libintl-perl-1.20/debian/changelog
> not found
So that's gbp-import-dscs bailing out.
> The code doing the work is Python - not my forte, but viewing through the
> call stack I can see where the issue is happening.
I'd check if there is a bug filed against git-buildpackage already,
and file one if not.
You should be able to reproduce the issue with just
gbp import-dscs --debsnap --pristine-tar $PACKAGE
(taken from dpt-takeover code)
> This is my first execution of the script, so not sure if the following is
> an option - based on updates performed.
> Perhaps someone is able to guide me through circumvention of the Python
> exception to complete the 'takeover' script, and thereby leave the option
> open to add the missing entry manually to the change log, assuming that we
> can locate the actual text
(The changelog entry won't be missing as it should be in that last
version anyway.)
A simple option whould be to just download the last version of
libintl-perl, create a Git repo with gbp-import-dsc, and then run
dpt packagecheck -a -A -C -p \"$PACKAGE\" -c -H -V -n
(or some version thereof; aga taken from dpt-takeover).
More involved would be to download all versions of libintl-perl with
debsnap, then run gbp-import-dsc on all of them (where at least 1.20
will bailout again), and then continue with dpt-packagecheck.
Maybe dgit could help as well; not sure …
And I wouldn't spend too much time on this; importing all versions
into a new Git repo is nice, but ultimately we need the last upload,
change it, bring it into our Git namespace and upload it.
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: Bettina Wegner: wenn du mir nicht mehr ins gesicht siehst
Attachment:
signature.asc
Description: Digital Signature