mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
multilib_global: Add handling of SIGGEN variables for multilib
multilib task signatures turned out to have issues since SIGGEN_EXCLUDERECIPES_ABISAFE and SIGGEN_EXCLUDE_SAFE_RECIPE_DEP did not have multilib mappings. This adds those mappings in which in turn improves multilib task checksums to match the standard non-mulitlib versions. (From OE-Core rev: ea872b735c92a30d03cfa32953e060430e6f7f0b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -93,20 +93,38 @@ def preferred_ml_updates(d):
|
|||||||
if prov != provexp and d.getVar(prov, False):
|
if prov != provexp and d.getVar(prov, False):
|
||||||
d.renameVar(prov, provexp)
|
d.renameVar(prov, provexp)
|
||||||
|
|
||||||
|
def translate_provide(prefix, prov):
|
||||||
|
if not prov.startswith("virtual/"):
|
||||||
|
return prefix + "-" + prov
|
||||||
|
if prov == "virtual/kernel":
|
||||||
|
return prov
|
||||||
|
prov = prov.replace("virtual/", "")
|
||||||
|
return "virtual/" + prefix + "-" + prov
|
||||||
|
|
||||||
mp = (d.getVar("MULTI_PROVIDER_WHITELIST", True) or "").split()
|
mp = (d.getVar("MULTI_PROVIDER_WHITELIST", True) or "").split()
|
||||||
extramp = []
|
extramp = []
|
||||||
for p in mp:
|
for p in mp:
|
||||||
if p.endswith("-native") or "-crosssdk-" in p or p.startswith(("nativesdk-", "virtual/nativesdk-")) or 'cross-canadian' in p:
|
if p.endswith("-native") or "-crosssdk-" in p or p.startswith(("nativesdk-", "virtual/nativesdk-")) or 'cross-canadian' in p:
|
||||||
continue
|
continue
|
||||||
virt = ""
|
|
||||||
if p.startswith("virtual/"):
|
|
||||||
p = p.replace("virtual/", "")
|
|
||||||
virt = "virtual/"
|
|
||||||
for pref in prefixes:
|
for pref in prefixes:
|
||||||
extramp.append(virt + pref + "-" + p)
|
extramp.append(translate_provide(pref, p))
|
||||||
d.setVar("MULTI_PROVIDER_WHITELIST", " ".join(mp + extramp))
|
d.setVar("MULTI_PROVIDER_WHITELIST", " ".join(mp + extramp))
|
||||||
|
|
||||||
|
abisafe = (d.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE", True) or "").split()
|
||||||
|
extras = []
|
||||||
|
for p in prefixes:
|
||||||
|
for a in abisafe:
|
||||||
|
extras.append(p + "-" + a)
|
||||||
|
d.appendVar("SIGGEN_EXCLUDERECIPES_ABISAFE", " " + " ".join(extras))
|
||||||
|
|
||||||
|
siggen_exclude = (d.getVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS", True) or "").split()
|
||||||
|
extras = []
|
||||||
|
for p in prefixes:
|
||||||
|
for a in siggen_exclude:
|
||||||
|
a1, a2 = a.split("->")
|
||||||
|
extras.append(translate_provide(p, a1) + "->" + translate_provide(p, a2))
|
||||||
|
d.appendVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS", " " + " ".join(extras))
|
||||||
|
|
||||||
python multilib_virtclass_handler_vendor () {
|
python multilib_virtclass_handler_vendor () {
|
||||||
if isinstance(e, bb.event.ConfigParsed):
|
if isinstance(e, bb.event.ConfigParsed):
|
||||||
for v in e.data.getVar("MULTILIB_VARIANTS", True).split():
|
for v in e.data.getVar("MULTILIB_VARIANTS", True).split():
|
||||||
|
|||||||
Reference in New Issue
Block a user