Bug 907492

Summary: rpmlint crashes on RPMs that contain files with special characters in their names
Product: [openSUSE] openSUSE Distribution Reporter: Forgotten User LaNjmHgfHB <forgotten_LaNjmHgfHB>
Component: DevelopmentAssignee: Dirk Mueller <dmueller>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P2 - High CC: bwiedemann, forgotten_LaNjmHgfHB, forgotten_PJiZ3VsoA-, lazy.kent, lnussel, meissner, mls, opensuse.lietuviu.kalba
Version: 13.2   
Target Milestone: ---   
Hardware: All   
OS: openSUSE 13.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: rpmlint crash traceback

Description Forgotten User LaNjmHgfHB 2014-11-27 11:59:57 UTC
Created attachment 615249 [details]
rpmlint crash traceback

When rpmlint is used to check an RPM that includes files with special characters in their names it crashes, throwing a UnicodeDecodeError. I've attached the attached traceback.

This occurs when I run rpmlint locally and when the openSUSE Build Service runs it after compiling the package (which results in the package not being published).
I've seen this bug in openSUSE 13.2 and 13.1, but it probably affects all versions, and probably all other RPM distros as well.

I encountered this problem when I was creating my first RPM package.
This is the package: https://build.opensuse.org/package/show/home:brunonova/drmips
Currently the .spec file has a workaround for that issue (the offending file is renamed in the %install section). That workaround must be removed to reproduce this issue (it should be easy to find).
Comment 1 Bernhard Wiedemann 2014-11-27 14:45:01 UTC
IMHO rpmlint should be changed to work 
with any filenames that can be in a rpm


somehow I can not reproduce it here with osc build of the patched spec
# rpm -qpl drmips-1.2.3-2.noarch.rpm|grep o-pt_PT.pdf
/usr/share/doc/packages/drmips/manuals/configuração-pt_PT.pdf
Comment 2 Forgotten User LaNjmHgfHB 2014-12-01 22:29:23 UTC
Sorry for not responding. I was too busy.

I have compiled the .spec (without the workaround) in a virtual machine with openSUSE 13.1, and rpmlint worked correctly.
I thought I had tested this in 13.1, but I was wrong (don't know about OBS).

So I guess this is a new bug in openSUSE 13.2 (I'm sure rpmlint fails in this version).
@Bernhard, what openSUSE version did you test in?
Comment 3 Bernhard Wiedemann 2014-12-04 14:28:04 UTC
can reproduce it with

osc co home:brunonova drmips
cd home:brunonova/drmips
vim +71 *spec # 2dd (delete two lines workaround)
osc build openSUSE_13.2

so it is a new problem in 13.2
Comment 5 Bernhard Wiedemann 2014-12-14 19:29:14 UTC
*** Bug 909850 has been marked as a duplicate of this bug. ***
Comment 6 Dirk Mueller 2016-02-22 08:24:31 UTC
*** Bug 967556 has been marked as a duplicate of this bug. ***
Comment 7 Dirk Mueller 2016-02-22 08:24:47 UTC
*** Bug 962091 has been marked as a duplicate of this bug. ***