| Summary: | rpmlint complain about private-shared-object-provides only on x86_64 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Ralf Corsepius <rc040203> | ||||||||
| Component: | rpmlint | Assignee: | Tom "spot" Callaway <tcallawa> | ||||||||
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
| Severity: | low | Docs Contact: | |||||||||
| Priority: | unspecified | ||||||||||
| Version: | 14 | CC: | a.badger, manuel.wolfshant, tcallawa, tmz, ville.skytta | ||||||||
| Target Milestone: | --- | ||||||||||
| Target Release: | --- | ||||||||||
| Hardware: | Unspecified | ||||||||||
| OS: | Unspecified | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | rpmlint-1.2-1.fc14 | Doc Type: | Bug Fix | ||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | Environment: | ||||||||||
| Last Closed: | 2011-05-01 03:27:03 UTC | Type: | --- | ||||||||
| Regression: | --- | Mount Type: | --- | ||||||||
| Documentation: | --- | CRM: | |||||||||
| Verified Versions: | Category: | --- | |||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||
| Attachments: |
|
||||||||||
Created attachment 477163 [details]
mock build fc14.i686.rpm
Created attachment 477164 [details]
mock-built fc14.x86_64.rpm
From what I can gather from the sources, the origin of this issue is rpmlint not taking into account the paths being valid on the host architecture, but only the paths of the build architecture. I.e. when running rpmlint on an x86_64 to check i686-packages, its appears to check the package against the library paths being valid on x86_64's. Actually it's the other way around, rpmlint expands %perl_vendorarch and friends on the system it is running on (no matter what the package's architecture is) and triggers private-shared-object-provides only for those dirs. I don't think there's a very good way to fix this (rpmlint doesn't know what %perl_vendorach and friends might expand to on other systems), but this is now improved upstream somewhat and now it catches your test case. http://rpmlint.zarb.org/cgi-bin/trac.cgi/changeset/1835 (In reply to comment #4) > Actually it's the other way around, rpmlint expands %perl_vendorarch and > friends on the system it is running on (no matter what the package's > architecture is) I sense a miscommunication, and believe we actually wanted to express the same: I was using autoconf-terms: host ... system to build for (in rpm's nomenclature: target) build ... native system a process is running on (in rpms's nomenclature: host) > and triggers private-shared-object-provides only for those > dirs. I don't think there's a very good way to fix this (rpmlint doesn't know > what %perl_vendorach and friends might expand to on other systems), but this is > now improved upstream somewhat and now it catches your test case. The only way I can imagine is to equippe rpmlint with a lookup table containing all host's settings and let rpmlint use an rpm's %arch to retrieve arch-dependent paths. rpmlint-1.2-1.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/rpmlint-1.2-1.fc14 rpmlint-1.2-1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/rpmlint-1.2-1.fc15 rpmlint-1.2-1.fc13 has been submitted as an update for Fedora 13. https://admin.fedoraproject.org/updates/rpmlint-1.2-1.fc13 Package rpmlint-1.2-1.fc14: * should fix your issue, * was pushed to the Fedora 14 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing rpmlint-1.2-1.fc14' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/rpmlint-1.2-1.fc14 then log in and leave karma (feedback). rpmlint-1.2-1.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report. rpmlint-1.2-1.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report. rpmlint-1.2-1.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report. |
Created attachment 477162 [details] src-rpm to reproduce this issue Description of problem: rpmlint complains about "private-shared-object-provides" on a perl-modules's shared libraries on x86_64, but doesn't do so i686. Version-Release number of selected component (if applicable): rpmlint-1.0-2.fc14.noarch How reproducible: Always. Steps to Reproduce: 1. rebuild the srpm from the attachment in mock for i686 and x86_64 2. run rpmlint on the resulting rpms. Actual results: # rpmlint perl-Digest-JHash-0.07-1.fc14.x86_64.rpm \ perl-Digest-JHash-0.07-1.fc14.i686.rpm perl-Digest-JHash.x86_64: W: private-shared-object-provides /usr/lib64/perl5/auto/Digest/JHash/JHash.so JHash.so()(64bit) 2 packages and 0 specfiles checked; 0 errors, 1 warnings. Expected results: rpmlint to produce arch-independent results, i.e. either always complain or never.