mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 21:49:33 +02:00
lib/oe/sstatesig: Fix task mappings from multilib<->non-multilib contexts
If we're in a multilib context already and want a non-multilib context this function returned incorrect values. Try and retain optimisations for the common case not needing to request a datastore but allow the different multilib/non-multilib combinations to work too. This fixes bugs where rootfs generation of a multilib image would write into incorrect locations, or be unable to find sstate manifest files due to incorrect data stores being used to expand data. (From OE-Core rev: af7cd7823a8cc95c9f849498b2416cdb0d4d103e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -372,8 +372,14 @@ def sstate_get_manifest_filename(task, d):
|
|||||||
def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache):
|
def find_sstate_manifest(taskdata, taskdata2, taskname, d, multilibcache):
|
||||||
d2 = d
|
d2 = d
|
||||||
variant = ''
|
variant = ''
|
||||||
|
curr_variant = ''
|
||||||
|
if d.getVar("BBEXTENDCURR") == "multilib":
|
||||||
|
curr_variant = d.getVar("BBEXTENDVARIANT")
|
||||||
|
if "virtclass-multilib" not in d.getVar("OVERRIDES"):
|
||||||
|
curr_variant = "invalid"
|
||||||
if taskdata2.startswith("virtual:multilib"):
|
if taskdata2.startswith("virtual:multilib"):
|
||||||
variant = taskdata2.split(":")[2]
|
variant = taskdata2.split(":")[2]
|
||||||
|
if curr_variant != variant:
|
||||||
if variant not in multilibcache:
|
if variant not in multilibcache:
|
||||||
multilibcache[variant] = oe.utils.get_multilib_datastore(variant, d)
|
multilibcache[variant] = oe.utils.get_multilib_datastore(variant, d)
|
||||||
d2 = multilibcache[variant]
|
d2 = multilibcache[variant]
|
||||||
|
|||||||
Reference in New Issue
Block a user