Description of problem:
Currently, rpmlint complains with "binaryinfo-readelf-failed" if it checks an archive containing binaries. It is because such an archive has pkgfile.magic:
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV) (gzip compressed data, from Unix, last modified: Thu Aug 27 11:44:01 2009, max compression)
...rpmlint checks for the "ELF" string, finds it, consider the archive itself to be a binary file, tries readelf and fails.
Either we can skip archives, that is easy to change the corresponding line in BinariesCheck.py to:
is_elf = pkgfile.magic.find('ELF') != -1 and pkgfile.magic.find('compressed') == -1
...or we can try to look into the archive contents and check it.
Version-Release number of selected component (if applicable):
Can you provide a pointer to a package containing such a file/archive? Before doing anything to rpmlint, I'd like to verify that file(1) is doing the right thing.
Have a look here:
(the package is not yet in Fedora)
I took a more generalized magic-from-inside-compressed-files bypass approach upstream; even though BinariesCheck is currently the only consumer of pkgfile.magic, that might change and we'd run into this issue elsewhere (and the problem is not even currently limited to ELF files).
This will probably be in the next > 0.90 upstream release:
rpmlint-0.91-1.fc11 has been submitted as an update for Fedora 11.
rpmlint-0.91-1.fc11 has been pushed to the Fedora 11 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update rpmlint'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-9562
rpmlint-0.91-1.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.