diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-06-25 12:45:53 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-06-27 14:38:15 -0400 |
commit | 316dfdd917bec6a218f431211d28bf8df6b6fb0f (patch) | |
tree | 5541073f9851f44c2bd67b4959dc776ee3c3810f /import-layers/yocto-poky/meta/classes/multilib_global.bbclass | |
parent | 36acd3e888044dea2ac0b2946f15616f968388c9 (diff) | |
download | talos-openbmc-316dfdd917bec6a218f431211d28bf8df6b6fb0f.tar.gz talos-openbmc-316dfdd917bec6a218f431211d28bf8df6b6fb0f.zip |
Yocto 2.5
Move OpenBMC to Yocto 2.5(sumo)
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Change-Id: I5c5ad6904a16e14c1c397f0baf10c9d465594a78
Diffstat (limited to 'import-layers/yocto-poky/meta/classes/multilib_global.bbclass')
-rw-r--r-- | import-layers/yocto-poky/meta/classes/multilib_global.bbclass | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/import-layers/yocto-poky/meta/classes/multilib_global.bbclass b/import-layers/yocto-poky/meta/classes/multilib_global.bbclass index fd0bfe127..d2ec1adfe 100644 --- a/import-layers/yocto-poky/meta/classes/multilib_global.bbclass +++ b/import-layers/yocto-poky/meta/classes/multilib_global.bbclass @@ -13,11 +13,14 @@ def preferred_ml_updates(d): versions = [] providers = [] + rproviders = [] for v in d.keys(): if v.startswith("PREFERRED_VERSION_"): versions.append(v) if v.startswith("PREFERRED_PROVIDER_"): providers.append(v) + if v.startswith("PREFERRED_RPROVIDER_"): + rproviders.append(v) for v in versions: val = d.getVar(v, False) @@ -91,6 +94,29 @@ def preferred_ml_updates(d): if prov != provexp and d.getVar(prov, False): d.renameVar(prov, provexp) + for prov in rproviders: + val = d.getVar(prov, False) + pkg = prov.replace("PREFERRED_RPROVIDER_", "") + for p in prefixes: + newval = p + "-" + val + + # implement variable keys + localdata = bb.data.createCopy(d) + override = ":virtclass-multilib-" + p + localdata.setVar("OVERRIDES", localdata.getVar("OVERRIDES", False) + override) + newname = localdata.expand(prov) + if newname != prov and not d.getVar(newname, False): + d.setVar(newname, localdata.expand(newval)) + + # implement alternative multilib name + newname = localdata.expand("PREFERRED_RPROVIDER_" + p + "-" + pkg) + if not d.getVar(newname, False) and newval != None: + d.setVar(newname, localdata.expand(newval)) + # Avoid future variable key expansion + provexp = d.expand(prov) + if prov != provexp and d.getVar(prov, False): + d.renameVar(prov, provexp) + def translate_provide(prefix, prov): if not prov.startswith("virtual/"): return prefix + "-" + prov @@ -162,7 +188,7 @@ python multilib_virtclass_handler_global () { if rprovs.strip(): e.data.setVar("RPROVIDES", rprovs) - # Process RPROVIDES_${PN}... + # Process RPROVIDES_${PN}... for pkg in (e.data.getVar("PACKAGES") or "").split(): origrprovs = rprovs = e.data.getVar("RPROVIDES_%s" % pkg) or "" for clsextend in clsextends: |