summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorAlejandro Enedino Hernandez Samaniego <alejandro.enedino.hernandez-samaniego@xilinx.com>2018-11-20 10:22:51 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-22 10:45:14 +0000
commitd9175f3748fbf92be4b8858070fd19bd92fa9593 (patch)
treeb6531468e34cb32d361d7037006faca2bf1ac73c /bitbake
parentba1456ab7e6101ae83532ef5e01d5c252d13465c (diff)
downloadpoky-d9175f3748fbf92be4b8858070fd19bd92fa9593.tar.gz
bitbake: cooker: Fix multiconfig dependencies
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] (Bitbake rev: f2106a3a767542359fdde238abcf5fe35ab3a144) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/cooker.py9
1 files changed, 1 insertions, 8 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 71a0eba8e4..16681ba244 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -609,14 +609,7 @@ class BBCooker:
609 k2 = k.split(":do_") 609 k2 = k.split(":do_")
610 k = k2[0] 610 k = k2[0]
611 ktask = k2[1] 611 ktask = k2[1]
612 if mc: 612 taskdata[mc].add_provider(localdata[mc], self.recipecaches[mc], k)
613 # Provider might be from another mc
614 for mcavailable in self.multiconfigs:
615 # The first element is empty
616 if mcavailable:
617 taskdata[mcavailable].add_provider(localdata[mcavailable], self.recipecaches[mcavailable], k)
618 else:
619 taskdata[mc].add_provider(localdata[mc], self.recipecaches[mc], k)
620 current += 1 613 current += 1
621 if not ktask.startswith("do_"): 614 if not ktask.startswith("do_"):
622 ktask = "do_%s" % ktask 615 ktask = "do_%s" % ktask