Bug 1560

Summary: Enable recipe specific sysroots
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: Richard Purdie <richard.purdie>
Component: meta-yoctoAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: High CC: clemens.lang, dongxiao.xu, igor.stoppa, jessica.zhang, joshuagloe, kergoth, obi, poky.bs.watcher, poky.watcher, randy.macleod, sgw
Version: unspecified   
Target Milestone: 2.3 M2   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Yes (doc changes required)
Bug Depends on:    
Bug Blocks: 10684    

Description Richard Purdie 2011-10-03 07:12:09 UTC
Enabling recipe specific sysroots would mean that only items present in a task's DEPENDS would be present in the sysroot so there would be 100% deterministic builds as dependencies couldn't be accidentally be satifised as per the current shared sysroot.

From a practical implementation level, this would mean the addition of a populate_recipe_sysroot task before do_configure which would replace the existing populate_sysroot task.
Comment 1 Richard Purdie 2016-11-30 16:53:40 UTC
There is a proof of concept patch on the oe-architecture list.
Comment 2 Randy MacLeod 2016-12-07 20:36:27 UTC
I think this would be a great improvement to the build system. 

One minor downside is that we would not accidentally discover missing dependencies by finding race conditions in the builds. Do you think that we should add yet another flag to permit the existing sysroot behaviour or do we just have to come up with a more intelligent way, that doesn't involve error-prone developers, for discovering package dependencies?
Comment 3 Christopher Larson 2016-12-07 20:37:43 UTC
I think if you want to know what optional deps a project has, you should read the documentation on the project, run ./configure --help, or read configure.in :)
Comment 4 Randy MacLeod 2016-12-08 01:38:58 UTC
That's your fix? It'll never work reliably, at least for other people. :)
Random discovery isn't much or any better though.
Comment 5 Richard Purdie 2017-01-23 14:46:37 UTC
Just over 5 years later from when I originally filed this, it finally has landed:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=9107d6ca144ac1f6169830dee25dae2dad775333