Description of problem:
After last night's Rawhide compose, rpmlint is now completely broken. All invocations of it result in only this output:
Traceback (most recent call last):
File "/usr/bin/rpmlint", line 381, in <module>
File "/usr/bin/rpmlint", line 169, in main
File "/usr/bin/rpmlint", line 226, in runChecks
File "/usr/share/rpmlint/TagsCheck.py", line 695, in check
self.check_summary(pkg, lang, ignored_words)
File "/usr/share/rpmlint/TagsCheck.py", line 903, in check_summary
if not Pkg.is_utf8_bytestr(summary):
File "/usr/share/rpmlint/Pkg.py", line 168, in is_utf8_bytestr
AttributeError: 'str' object has no attribute 'decode'
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Run rpmlint on anything
An AttributeError is thrown.
This is the definition of is_utf8_bytestr, at line 166 of /usr/share/rpmlint/Pkg.py:
This crude change to the function is probably not the right fix for the issue, but does allow me to do useful work with rpmlint again:
The fix is a bit more complicated than that, see the upstream bug I attached to this bz.
*** Bug 1693760 has been marked as a duplicate of this bug. ***
This should fix it: https://src.fedoraproject.org/rpms/rpmlint/pull-request/8
However note that we are figuring more and more problematic places in the codebase that fail. Trying to lint an RPM with non-UTF-8 data in headers will most likely crash it.
I confirm rpmlint-1.11-1.fc31.noarch works for me.
How could a Fedora's RPM package contain non-UTF-8 data when guidelines state the UTF-8 is mandatory :)
(In reply to Petr Pisar from comment #6)
> How could a Fedora's RPM package contain non-UTF-8 data when guidelines
> state the UTF-8 is mandatory :)
Ahhh, much better; rpmlint-1.11-2.fc31.noarch works for me. Thank you!
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.
This package has changed maintainer in the Fedora.
Reassigning to the new maintainer of this component.