Bug 436497

Summary: Valid dlopen'd DSO SONAME being flagged as invalid
Product: [Fedora] Fedora Reporter: Thomas Fitzsimmons <fitzsim>
Component: rpmlintAssignee: Ville Skyttä <ville.skytta>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: manuel.wolfshant, tmz
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-03-07 18:19:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Thomas Fitzsimmons 2008-03-07 16:10:55 UTC
Description of problem:

rpmlint is flagging versionless SONAMEs in dlopen'd DSOs as invalid.

Version-Release number of selected component (if applicable):

$ rpmlint --version
rpmlint version 0.82 Copyright (C) 1999-2007 Frederic Lepied, Mandriva

How reproducible:

Always.

Steps to Reproduce:
1. Build IcedTea rpms: https://bugzilla.redhat.com/show_bug.cgi?id=433070
2. rpmlint
$rpm_topdir/RPMS/i386/java-1.6.0-openjdk-demo-1.6.0.0-0.1.b06.fc8.i386.rpm

Actual results:

java-1.6.0-openjdk-demo.i386: E: invalid-soname
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/demo/jvmti/mtrace/lib/libmtrace.so
libmtrace.so
java-1.6.0-openjdk-demo.i386: E: invalid-soname
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/demo/jvmti/heapTracker/lib/libheapTracker.so
libheapTracker.so
java-1.6.0-openjdk-demo.i386: E: invalid-soname
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/demo/jvmti/waiters/lib/libwaiters.so
libwaiters.so
java-1.6.0-openjdk-demo.i386: E: invalid-soname
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/demo/jvmti/gctest/lib/libgctest.so
libgctest.so
java-1.6.0-openjdk-demo.i386: E: invalid-soname
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/demo/jvmti/heapViewer/lib/libheapViewer.so
libheapViewer.so
java-1.6.0-openjdk-demo.i386: E: invalid-soname
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/demo/jvmti/minst/lib/libminst.so libminst.so
java-1.6.0-openjdk-demo.i386: E: invalid-soname
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/demo/jvmti/versionCheck/lib/libversionCheck.so
libversionCheck.so
java-1.6.0-openjdk-demo.i386: E: invalid-soname
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/demo/jvmti/hprof/lib/libhprof.so libhprof.so

Expected results:

No output.

Comment 1 Thomas Fitzsimmons 2008-03-07 16:13:10 UTC
This is Rawhide rpmlint:

$ rpm -q rpmlint
rpmlint-0.82-3.fc9

My suggestion would be that rpmlint recognize DSOs that 1) have versionless
SONAMEs and 2) are not in a standard library location as valid
implementation-private dlopen'd DSOs.

Comment 2 Ville Skyttä 2008-03-07 18:19:02 UTC
As far as I can tell, SONAMEs are all about versioning, and versionless SONAMEs
do not have any value, no matter where the files they're in are installed in. 
Shouldn't the unversioned SONAMEs in your example cases be just removed?

Closing as dupe of bug 235486, feel free to reopen with an explanation if my
understanding is incorrect.

*** This bug has been marked as a duplicate of 235486 ***