Bug 1263

Summary: DEPENDS are leaking into the RDEPENDS list
Product: [Build System, Metadata & Runtime] Hob Reporter: Joshua Lock - Disabled <josh>
Component: hobAssignee: Joshua Lock - Disabled <josh>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: High CC: jessica.zhang, lianhao.lu, liping.ke, poky.bs.watcher, poky.watcher, richard.purdie
Version: unspecified   
Target Milestone: 1.1   
Hardware: x86   
OS: Multiple   
Whiteboard: Patch out for review
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Joshua Lock - Disabled 2011-07-21 11:33:51 UTC
select something like systemd the gui will list 'gtk' as a runtime dep for the image, while it's only a transitive buildtime one.
Comment 1 liping Ke 2011-07-21 17:21:49 UTC
does this cause because in the old implementation, we not only include package dependency, but also task dependency.
After the performance patch we hold checked in, the problem should just be gone?

Thanks& Regards,
criping
Comment 2 Joshua Lock - Disabled 2011-07-26 20:32:32 UTC
What's actually happening here is that in an effort to reflect the generated images contents the UI's model merges RDEPENDS and DEPENDS. In reality what happens is that people notice oddities where transitive build-time dependencies are listed in the image contents (both Richard and Koen have reported this issue).

The problem is that the full image contains cannot be easily and reliably determined with current infrastructure.

RDEPENDS only lists explicit run-time dependencies from the metadata, there will actually be several of the build dependencies linked against and therefore included in the image by the package manager. To my knowledge we cannot determine this data in advance of the build.

For 1.1 we can:
a) leave this as is - trivially easy non-fix.
b) only show RDEPENDS in the Image contents view and explain that it's a partial contents of the final image - easy minor fix.
c) ??? - who knows?
Comment 3 Joshua Lock - Disabled 2011-07-28 16:02:58 UTC
I'd like to try and get some others' opinions on this before I push ahead with a specific direction. FWIW, I have at least part of the code to handle b.
Comment 4 Richard Purdie 2011-08-02 03:21:25 UTC
I don't think we can fallback to just the RDEPENDS info since its often largely incomplete and figured out at package build time.

As a result I think the UI will just need to make it clear that there are dependencies and that they may or may not end up in the final image.


Longer term, we may want to "cache" build results and package dependency data which the UI could use as a more accurate source of RDEPENDS.

Its messy really but I can't see any alternative since bitbake itself has no idea whether something is used at runtime or not until after its built. We certainly cannot start mandating all RDEPENDS info be included in the metadata :(.
Comment 5 Joshua Lock - Disabled 2011-08-02 16:16:49 UTC
I'll work on tweaking the UI to indicate that some of the listed items may be strictly transient build dependencies.

I've filed bug 1316 to track the suggested enhancements where we'd utilise cached build results.
Comment 6 Joshua Lock - Disabled 2011-08-03 18:23:18 UTC
Partial solution for educating users about what's happening here has been submitted.
Comment 7 Joshua Lock - Disabled 2011-08-04 10:40:08 UTC
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=cf4ab5363ff9396447f7a04ec8fd21945d315aa6

There's more work we can do here but this change at least ameliorates the issue.
Comment 8 Joshua Lock - Disabled 2011-08-18 14:12:54 UTC
Verify fix