[bitbake-devel] [PATCH] cooker: Fix multiconfig dependencies

Alejandro Enedino Hernandez Samaniego alejandro.enedino.hernandez-samaniego at xilinx.com
Tue Nov 20 18:22:51 UTC 2018


When multiconfig is enabled the cooker adds providers
for all the targets to be built on all the multiconfig
variables that were set, regardless if there is a dependency
to it or not.

This causes an issue when a certain target is incompatible
with one or more of the multiconfigs, e.g. the target is not
in COMPATIBLE_MACHINE for one of the MACHINEs being built,
causing the cooker to error out since no providers can be
found for that certain target on that multiconfig.

This patch modifies the behavior to only look for PROVIDERS
for a target on the multiconfig that was selected to be built,
PROVIDERS are then looked for in other multiconfigs only when
there is a defined dependency to them.

[YOCTO #12985]

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr at xilinx.com>
---
 lib/bb/cooker.py | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 71a0eba..16681ba 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -609,14 +609,7 @@ class BBCooker:
                 k2 = k.split(":do_")
                 k = k2[0]
                 ktask = k2[1]
-            if mc:
-                # Provider might be from another mc
-                for mcavailable in self.multiconfigs:
-                    # The first element is empty
-                    if mcavailable:
-                        taskdata[mcavailable].add_provider(localdata[mcavailable], self.recipecaches[mcavailable], k)
-            else:
-                taskdata[mc].add_provider(localdata[mc], self.recipecaches[mc], k)
+            taskdata[mc].add_provider(localdata[mc], self.recipecaches[mc], k)
             current += 1
             if not ktask.startswith("do_"):
                 ktask = "do_%s" % ktask
-- 
2.7.4



More information about the bitbake-devel mailing list