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
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAl+Vd5ZfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ qgYapxAAwYukdTAHEXtB//PlhTwa1rg4k+JY+f/a19RuHUuETQOpDixQ3WjuBlCs bFMUMyEABRZGuP94G3fyW3vpDPHLqNZnXPc8hyB5q31OK5UCDBkxAQUa4DMApWBx 71YPKacS/V05NOsYHFtJTii0JiGYBtNdQxRwgVHnrV8Ezx4GpHpy7pKSyuyjX7KR /aiYH2CKt3n9Qf5/Mrf/vpamg/aajqbV01g3n9rmSCKNB/6GhHsQR4dk+1mONpZ1 Sxfi7ZnTh4o8BIQhf4rjd/GOqItWrZZl9qav02CUfT5NL5cPAe9Lywo+0SB0RuX9 fugENNUW6CN2KJcQ71IBmNFrCrzNb3SodkML0/le89+ATBbdlGsFBkwxmZlfuOBT lGm09wisno5QL2GmZJ9beahpdEBMdnno5Di/5Ty2No4vnLIxwL48Ug8gS+QP+ovF
vC3oTnxnlINJB