Description of problem: When I run rpmlint on an x86 machine against an x86_64 package, the file format of the binaries is not recognised and spurious "statically-linked-binary" errors are produced. I wouldn't be surprised if other arch-mixes result in similar behaviour. Version-Release number of selected component (if applicable): rpmlint-0.70-4.fc4.i386 How reproducible: Every time. Steps to Reproduce: $ curl --remote-name http://www.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/extras/4/x86_64/autossh-1.3-2.fc4.x86_64.rpm (nice, small package, but any should do) $ rpmlint -i autossh-1.3-2.fc4.x86_64.rpm Actual results: file format not recognized for /tmp/autossh-1.3-2.fc4.x86_64.rpm.19688/usr/bin/autossh in /usr/bin/autossh E: autossh statically-linked-binary /usr/bin/autossh The package installs a statically linked binary or object file. Usually this is a bug. Otherwise, please contact <flepied at mandriva.com> about this so that this error gets included in the exception file for rpmlint. With that, rpmlint will ignore this bug in the future. Expected results: No output
The root cause is that objdump doesn't grok other-arch binaries, and rpmlint doesn't stop checking stuff even if it notices that objdump didn't produce usable results. The bogus messages should go in these cases though; I looked into it and found that fixing it is pretty trivial, but mainly due to Python's indentation requirements, results in a big patch that I don't feel like maintaining right now. I've let upstream know about this, let's see what they think first. Will roll a 0.71 package without touching this issue, and revisit in the next update.
rpmlint-0.71-3.fc5 (soon in Extras devel, and later probably in FE-4) now outputs: $ rpmlint -i autossh-1.3-2.fc4.x86_64.rpm W: autossh objdump-failed objdump: /tmp/autossh-1.3-2.fc4.x86_64.rpm.6586/usr/bin/autossh: File format not recognized Executing objdump on this file failed, all checks could not be run.
That's a big improvement and I'm personally happy enough with that. I guess it's unlikely that objdump will ever be able to grok all possible architectures, so I think this bug can probably be closed now.
Yep, agreed. Not closed yet because the bug was reported against FC4 and it's still unfixed there, but the fixed version will trickle there too in the near future once the version in devel has received some testing.