Bug 6888

Summary: oe.utils.both_contain() provides poor feature checking
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Paul Eggleton <bluelightning>
Component: coreAssignee: Cristian Iorga <cristian.iorga>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: meta.mr.watcher, meta.watcher
Version: 1.7   
Target Milestone: 1.8 M4   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Paul Eggleton 2014-10-24 16:51:40 UTC
oe.utils.both_contain() just does a find() on the value rather than splitting the value and then looking in the list of split items. The result is that if you add a feature to MACHINE_FEATURES that itself has a substring that matches one of the values looked for when building COMBINED_FEATURES, you end up with an incomprehensible error (here with "ext2i" in MACHINE_FEATURES):

ERROR: Nothing RPROVIDES 'packagegroup-base-ext2' (but /home/balister/src/oe-core/oe-core/meta/recipes-core/packagegroups/packagegroup-base.bb RDEPENDS on or otherwise requires it)
Comment 1 Cristian Iorga 2014-11-26 09:51:09 UTC
Investigation started.
Comment 2 Cristian Iorga 2015-02-25 15:29:56 UTC
oe.utils.both_contain() will be reimplemented similar to bb.utils.contains().
Comment 3 Cristian Iorga 2015-02-25 15:30:18 UTC
Patch sent for review.