#356 New RPM Python behavior leads to UnicodeWarning: decode() called on unicode string
Opened 4 years ago by eclipseo. Modified 4 years ago

/usr/lib/python3.7/site-packages/FedoraReview/spec_file.py:89: UnicodeWarning: decode() called on unicode string, see https://bugzilla.redhat.com/show_bug.cgi?id=1693751
  self.expand_tag(rpm.RPMTAG_NAME).decode("utf-8"),
/usr/lib/python3.7/site-packages/FedoraReview/spec_file.py:90: UnicodeWarning: decode() called on unicode string, see https://bugzilla.redhat.com/show_bug.cgi?id=1693751
  self.expand_tag(rpm.RPMTAG_VERSION).decode("utf-8"),
/usr/lib/python3.7/site-packages/FedoraReview/spec_file.py:95: UnicodeWarning: decode() called on unicode string, see https://bugzilla.redhat.com/show_bug.cgi?id=1693751
  self.name_vers_rel[2] = self.expand_tag(rpm.RPMTAG_RELEASE).decode("utf-8")


Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/FedoraReview/review_helper.py", line 236, in run
    self._do_run(outfile)
  File "/usr/lib/python3.7/site-packages/FedoraReview/review_helper.py", line 226, in _do_run
    self._do_report(outfile)
  File "/usr/lib/python3.7/site-packages/FedoraReview/review_helper.py", line 99, in _do_report
    self._run_checks(self.bug.spec_file, self.bug.srpm_file, outfile)
  File "/usr/lib/python3.7/site-packages/FedoraReview/review_helper.py", line 117, in _run_checks
    self.checks.run_checks(output=output, writedown=not Settings.no_report)
  File "/usr/lib/python3.7/site-packages/FedoraReview/checks.py", line 382, in run_checks
    run_check(name)
  File "/usr/lib/python3.7/site-packages/FedoraReview/checks.py", line 357, in run_check
    check.run()
  File "/usr/lib/python3.7/site-packages/FedoraReview/plugins/generic_build.py", line 204, in run
    listfiles()
  File "/usr/lib/python3.7/site-packages/FedoraReview/plugins/generic_build.py", line 179, in listfiles
    for pkg in self.spec.packages:
  File "/usr/lib/python3.7/site-packages/FedoraReview/spec_file.py", line 271, in packages
    self._packages = self._get_packages()
  File "/usr/lib/python3.7/site-packages/FedoraReview/spec_file.py", line 116, in _get_packages
    pkgs = [p for p in pkgs if not self.get_files(p) is None]
  File "/usr/lib/python3.7/site-packages/FedoraReview/spec_file.py", line 116, in <listcomp>
    pkgs = [p for p in pkgs if not self.get_files(p) is None]
  File "/usr/lib/python3.7/site-packages/FedoraReview/spec_file.py", line 312, in get_files
    return [l for l in [f.decode("utf-8").strip() for f in files.split(b"\n")] if l]
TypeError: must be str or None, not bytes

See https://bugzilla.redhat.com/show_bug.cgi?id=1693751


We are totally screwed by this change :(

I'll try to work around it soon.

Already reported in pyrpkg, closing.

Metadata Update from @eclipseo:
- Issue close_status updated to: not-a-bug
- Issue status updated to: Closed (was: Open)

4 years ago

Metadata Update from @eclipseo:
- Issue status updated to: Open (was: Closed)

4 years ago

I've renamed the issue now when #357 is merged.

Login to comment on this ticket.

Metadata