Bug 12387

Summary: BBMASK is ignored for populate_sdk_ext
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: Nathan Illerbrun <nathani.pub>
Component: meta-yoctoAssignee: Paul Eggleton <bluelightning>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: Medium+ CC: poky.bs.watcher, poky.watcher, randy.macleod, stephano
Version: 2.3.2   
Target Milestone: 2.5 M4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Nathan Illerbrun 2017-11-29 16:36:35 UTC
BBMASK is ignored for populate_sdk_ext

SDK_LOCAL_CONF_WHITELIST += " BBMASK" 
does not whitelist BBMASK

SDK_LAYERS_EXCLUDE += " /meta-example/recipe-to-exclue/"
does not exclude recipe either

Steps to reproduce:
1. https://boundarydevices.com/pyro-yocto-release/
2. Remove 'meta-qt5' directory
3. Remove '${BSPDIR}/sources/meta-qt5' line from bblayers.conf
4. Add 'BBMASK += " ${BSPDIR}/sources/meta-boundary/recipes-qtbrowser"' to bblayers.conf
5. # bitbake -c populate_sdk_ext populate_sdk_ext
6. Try above methods to exclude recipes-qtbrowser
7. Try additional methods that I am not aware of
8. Delete '/meta-boundary/recipes-qtbrowser' directory and see that populate_sdk_ext succeeds. 

Changing the SDK_EXT_TYPE to 'minimal' allows the eSDK to be built, but there doesn't seem to be a method currently to exclude recipes from the 'full' eSDK.
Comment 1 Nathan Illerbrun 2017-11-29 16:51:57 UTC
edit: 
5. # bitbake -c populate_sdk_ext core-image-minimal
Comment 2 Paul Eggleton 2018-02-02 00:05:26 UTC
Sorry I didn't have a chance to look into this until now.

The issue here is that BBMASK *and* BSPDIR are being eliminated in the eSDK configuration because we haven't allowed for additional variables to be set in bblayers.conf there - we create a brand new file from scratch. However, since BBMASK is a regex and will match anywhere, you can work around that by using this instead:

BBMASK += " meta-boundary/recipes-qtbrowser"

I'm not entirely sure we can fix this so that the original value will work. Even if we adjusted bblayers.conf handling such that BSPDIR were allowed through, its value would be incorrect within the eSDK unless you also set it outright. We may need to document this issue somewhere so that people understand the limitation and how to work around it, however, and we could potentially detect and warn when additional variables were being set in bblayers.conf.
Comment 3 Nathan Illerbrun 2018-02-02 18:38:25 UTC
Hi Paul, thanks for looking into that. I can confirm it works now that I've removed the variables from BBMASK.
Comment 4 Paul Eggleton 2018-04-18 15:48:26 UTC
Good to hear you got past this.

As per above I think we have to mark this as WONTFIX since it isn't really practical to fix.