Bug 13721

Summary: [MULTICONFIG] MACHINE specific override of the default configuration pollutes the other configurations
Product: [Build System, Metadata & Runtime] BitBake Reporter: Ahmed Hossam <Ahmed.Hossam>
Component: bitbakeAssignee: Joshua Watt <JPEWhacker>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: alejandro, JPEWhacker, poky.bs.watcher, poky.watcher, randy.macleod
Version: 2.6.4   
Target Milestone: 3.2 M1   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know
Attachments:
Description Flags
conf directory which reproduces the bug none

Description Ahmed Hossam 2019-12-20 14:49:22 UTC
Created attachment 4607 [details]
conf directory which reproduces the bug

When using MACHINE specific overrides using BBMASK for the Default configuration's MACHINE (ex. BBMASK_append_qemuall = " /meta-raspberrypi/") , the other configuration (building for a different MACHINE) is affected by the variable


Preconditions/Environment
-------------------------
Ubuntu 18.04 LTS
The following layers are in bblayers:
poky/meta
poky/meta-poky
poky/meta-yocto-bsp
meta-openembedded/meta-oe
meta-openembedded/meta-python
meta-openembedded/meta-multimedia
meta-openembedded/meta-networking
meta-raspberrypi

The following is appended to the default conf/local.conf:
BBMASK_append_qemuall = " /meta-openembedded/"
BBMASK_append_qemuall = " /meta-raspberrypi/"
ENABLE_UART_raspberrypi3 = "1"
BBMULTICONFIG = "raspberrypi3"

conf/multiconfig/raspberrypi3.conf is created with the following content:
MACHINE = "raspberrypi3"


Triggering Action/Cause
-----------------------
run the following command:
bitbake multiconfig:raspberrypi3:core-image-minimal

Expectation
-----------
core-image-minimal should be built for raspberrypi3

Actual Result
-------------
ERROR: Nothing PROVIDES 'virtual/kernel'
linux-dummy PROVIDES virtual/kernel but was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-raspberrypi, not linux-dummy
linux-dummy PROVIDES virtual/kernel but was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-yocto, not linux-dummy
linux-yocto-dev PROVIDES virtual/kernel but was skipped: incompatible with machine raspberrypi3 (not in COMPATIBLE_MACHINE)
linux-yocto-dev PROVIDES virtual/kernel but was skipped: Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-dev to enable it
linux-yocto-rt PROVIDES virtual/kernel but was skipped: incompatible with machine raspberrypi3 (not in COMPATIBLE_MACHINE)
linux-yocto-rt PROVIDES virtual/kernel but was skipped: Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it
linux-yocto-rt PROVIDES virtual/kernel but was skipped: incompatible with machine raspberrypi3 (not in COMPATIBLE_MACHINE)
linux-yocto-rt PROVIDES virtual/kernel but was skipped: Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it
linux-yocto-tiny PROVIDES virtual/kernel but was skipped: incompatible with machine raspberrypi3 (not in COMPATIBLE_MACHINE)
linux-yocto-tiny PROVIDES virtual/kernel but was skipped: Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-tiny to enable it
linux-yocto-tiny PROVIDES virtual/kernel but was skipped: incompatible with machine raspberrypi3 (not in COMPATIBLE_MACHINE)
linux-yocto-tiny PROVIDES virtual/kernel but was skipped: Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-tiny to enable it
linux-yocto PROVIDES virtual/kernel but was skipped: incompatible with machine raspberrypi3 (not in COMPATIBLE_MACHINE)
linux-yocto PROVIDES virtual/kernel but was skipped: incompatible with machine raspberrypi3 (not in COMPATIBLE_MACHINE)
ERROR: Required build target 'core-image-minimal' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-minimal', 'virtual/kernel']


Reproducibility
---------------
Always (6/6)

Additional notes
----------------
MACHINE=raspberrypi3 bitbake core-image-minimal # Works as expected

I attached my conf files in case it helps.
Comment 1 Ahmed Hossam 2019-12-20 14:56:28 UTC
Also reproduced on zeus