Bug#1095835: python-debian: failed to extract gpg signature information

Gianfranco Costamagna locutusofborg at debian.org
Wed Feb 12 14:59:08 GMT 2025


Source: python-debian
Version: 0.1.52

Hello, for some reasons:

pull-debian-source uwsgi-plugin-ruby
Found uwsgi-plugin-ruby 0.0.2 in sid
Downloading uwsgi-plugin-ruby_0.0.2.dsc from deb.debian.org (0.002 MiB)
[=====================================================>]100%
Traceback (most recent call last):
   File "/usr/bin/pull-debian-source", line 14, in <module>
     PullPkg.main(distro="debian", pull="source")
   File "/usr/lib/python3/dist-packages/ubuntutools/pullpkg.py", line 111, in main
     cls(*args, **kwargs).pull()
   File "/usr/lib/python3/dist-packages/ubuntutools/pullpkg.py", line 449, in pull
     for key in srcpkg.dsc.keys():
                ^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/ubuntutools/archive.py", line 318, in dsc
     self._check_dsc_signature()
   File "/usr/lib/python3/dist-packages/ubuntutools/archive.py", line 374, in _check_dsc_signature
     gpg_info = self.dsc.get_gpg_info(
                ^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/debian/deb822.py", line 1191, in get_gpg_info
     self.gpg_info = GpgInfo.from_sequence(self.raw_text,
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/debian/deb822.py", line 1358, in from_sequence
     return cls.from_output(out.decode('utf-8'),
                            ^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x94 in position 1135: invalid start byte


Now, dumping the signature:
b'[GNUPG:] NEWSIG\ [redacted] KEYEXPIRED [redacted] KEY_CONSIDERED [redacted] 0\n[GNUPG:] EXPKEYSIG [redacted]\n[GNUPG:] NOTATION_NAME [redacted]\n[GNUPG:] NOTATION_DATA \x94\xf9H7\x91\xfbdW%1B\x8e2I\xf8\xd0\xd8P\xb7\xc9\xde2v\xbf\xc9\xb7\xc4V\xe0\xe8c\xc5\xa7\xeb\n[GNUPG:] VALIDSIG [redacted] 2025-01-25 [redacted] 0 4 0 1 10 01 [redacted]\n'

I can see that \x94 in NOTATION_DATA section, that is probably causing the above trace.

changing from:
         return cls.from_output(out.decode('utf-8'),
                                err.decode('utf-8'))

to
         return cls.from_output(out.decode('unicode-escape'),
                                err.decode('unicode-escape'))

Makes it work and validate correctly the signature. However, I don't know if this is acceptable, working, or regressing something else, this is why I don't tag "patch" :)

pull-debian-source uwsgi-plugin-ruby
Found uwsgi-plugin-ruby 0.0.2 in sid
Downloading uwsgi-plugin-ruby_0.0.2.dsc from deb.debian.org (0.002 MiB)
[=====================================================>]100%
Valid signature by 0x9FE3E9C36691A69FF53CC6842C7C3146C1A00121

NOTICE: 'uwsgi-plugin-ruby' packaging is maintained in the 'Git' version control system at:
  https://salsa.debian.org/uwsgi-team/uwsgi-plugin-ruby.git

Please use:
  $ git clone https://salsa.debian.org/uwsgi-team/uwsgi-plugin-ruby.git
to retrieve the latest (possibly unreleased) updates to the package.

Downloading uwsgi-plugin-ruby_0.0.2.tar.xz from deb.debian.org (0.003 MiB)
[=====================================================>]100%


thanks for having a look

Gianfranco



More information about the pkg-python-debian-maint mailing list