Bug 12273

Summary: Shlibs should only be public if they're in $libdir etc
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Juro Bystricky <juro.bystricky>
Component: coreAssignee: Unassigned <unassigned>
Status: NEW --- QA Contact:
Severity: normal    
Priority: Medium+ CC: meta.mr.watcher, meta.watcher, randy.macleod
Version: 3.0   
Target Milestone: 6.99   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Attachments:
Description Flags
diffoscopr output
none
diffoscope output demonstrating the bug. none

Description Juro Bystricky 2017-10-25 17:01:33 UTC
Created attachment 4099 [details]
diffoscopr output

While I was trying to fix failing dbus-test-ptest (this is going to be filed as a separate bug) I installed a separate libdbus.so in the /usr/lib/dbus-test/ptest 
After this, the image contained two separate libdbus.so libraries:
1. One in /usr/lib
2. One in /usr/lib/dbus-test/ptest

Later on, I built two separate images of core-image-sato-sdk-ptest (from scratch).
In one of them I got 114 different warnings of the variety:

WARNING: matchbox-panel-2-2.11-r0 do_package_qa: QA Issue: matchbox-panel-2 rdepends on dbus-test-ptest, but it isn't a build dependency, missing dbus-test in DEPENDS or PACKAGECONFIG? [build-deps]

Needless to say, the final packages were binary different as well (see attachments). I see no way/reason how any package could depend on on anything in "ptest" folder, so a remedy would be to not to exclude "ptest" folders from search for dependencies.

This could be also related to the bug 
https://bugzilla.yoctoproject.org/show_bug.cgi?id=11551

This resulted in two distinct binary files differences via "Depends" or "Recommends:"
Comment 1 Juro Bystricky 2017-10-25 17:02:44 UTC
Created attachment 4100 [details]
diffoscope output demonstrating the bug.
Comment 2 Juro Bystricky 2017-10-25 17:04:40 UTC
(In reply to comment #0)
> Created attachment 4099 [details]
> diffoscopr output
> 
> While I was trying to fix failing dbus-test-ptest (this is going to be filed
> as a separate bug) I installed a separate libdbus.so in the
> /usr/lib/dbus-test/ptest 
> After this, the image contained two separate libdbus.so libraries:
> 1. One in /usr/lib
> 2. One in /usr/lib/dbus-test/ptest
> 
> Later on, I built two separate images of core-image-sato-sdk-ptest (from
> scratch).
> In one of them I got 114 different warnings of the variety:
> 
> WARNING: matchbox-panel-2-2.11-r0 do_package_qa: QA Issue: matchbox-panel-2
> rdepends on dbus-test-ptest, but it isn't a build dependency, missing
> dbus-test in DEPENDS or PACKAGECONFIG? [build-deps]
> 
> Needless to say, the final packages were binary different as well (see
> attachments). I see no way/reason how any package could depend on on
> anything in "ptest" folder, so a remedy would be to not to exclude "ptest"
> folders from search for dependencies.
> 
> This could be also related to the bug 
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=11551
> 
> This resulted in two distinct binary files differences via "Depends" or
> "Recommends:"

s/not to exclude/to exclude/
Comment 3 Juro Bystricky 2017-10-25 17:07:02 UTC
Maybe there should be a new warning if there are multiple packages satisfying dependencies
Comment 4 Ross Burton 2018-01-22 14:15:03 UTC
You'll have got a warning that the library provider for libdbus.so changed when it built dbus-test.

Yeah it shouldn't have considered a binary in a subdirectory as a candidate.
Comment 5 Ross Burton 2018-03-05 07:51:57 UTC
The recent dbus-test changes have solved the dbus-specific issue.

Expanding the scope to the general issue: a package which has a /some/random/directory/libfoo.so shouldn't be a shlib provider of libfoo.so.
Comment 6 Randy MacLeod 2023-10-24 14:24:54 UTC
Bulk move from 4.99 or 0.00 to 5.99