diff options
| author | Kai Kang <kai.kang@windriver.com> | 2024-06-05 09:37:19 +0800 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2024-08-01 06:08:09 -0700 |
| commit | 901b78e8ff2bde6181c01e83023a9668c4fcaafc (patch) | |
| tree | e4b9647f84a9ec903d1a1a4e090cabee2e7c6d16 /meta/classes | |
| parent | a9517d232ef74af25083cb340240541da23a48e0 (diff) | |
| download | poky-901b78e8ff2bde6181c01e83023a9668c4fcaafc.tar.gz | |
multilib.bbclass: replace deprecated e.data with d
Replace deprecated e.data with d in multilib.bbclass and
multilib_global.bbclass.
Remove event check in function multilib_virtclass_handler_vendor in
multilib_global.bbclass. The function flag 'eventmask' has been set
with 'bb.event.ConfigParsed', so no need to check the event any more.
(From OE-Core rev: 01a84c3db74e8cc4923016c312a484a252fcfee0)
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8d87662d676a2b9ef921cb49ea6edc07b37410e2)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'meta/classes')
| -rw-r--r-- | meta/classes/multilib.bbclass | 87 | ||||
| -rw-r--r-- | meta/classes/multilib_global.bbclass | 25 |
2 files changed, 56 insertions, 56 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index b6c09969b1..a4151658a6 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass | |||
| @@ -5,30 +5,30 @@ | |||
| 5 | # | 5 | # |
| 6 | 6 | ||
| 7 | python multilib_virtclass_handler () { | 7 | python multilib_virtclass_handler () { |
| 8 | cls = e.data.getVar("BBEXTENDCURR") | 8 | cls = d.getVar("BBEXTENDCURR") |
| 9 | variant = e.data.getVar("BBEXTENDVARIANT") | 9 | variant = d.getVar("BBEXTENDVARIANT") |
| 10 | if cls != "multilib" or not variant: | 10 | if cls != "multilib" or not variant: |
| 11 | return | 11 | return |
| 12 | 12 | ||
| 13 | localdata = bb.data.createCopy(e.data) | 13 | localdata = bb.data.createCopy(d) |
| 14 | localdata.delVar('TMPDIR') | 14 | localdata.delVar('TMPDIR') |
| 15 | e.data.setVar('STAGING_KERNEL_DIR', localdata.getVar('STAGING_KERNEL_DIR')) | 15 | d.setVar('STAGING_KERNEL_DIR', localdata.getVar('STAGING_KERNEL_DIR')) |
| 16 | 16 | ||
| 17 | # There should only be one kernel in multilib configs | 17 | # There should only be one kernel in multilib configs |
| 18 | # We also skip multilib setup for module packages. | 18 | # We also skip multilib setup for module packages. |
| 19 | provides = (e.data.getVar("PROVIDES") or "").split() | 19 | provides = (d.getVar("PROVIDES") or "").split() |
| 20 | non_ml_recipes = d.getVar('NON_MULTILIB_RECIPES').split() | 20 | non_ml_recipes = d.getVar('NON_MULTILIB_RECIPES').split() |
| 21 | bpn = e.data.getVar("BPN") | 21 | bpn = d.getVar("BPN") |
| 22 | if "virtual/kernel" in provides or \ | 22 | if ("virtual/kernel" in provides |
| 23 | bb.data.inherits_class('module-base', e.data) or \ | 23 | or bb.data.inherits_class('module-base', d) |
| 24 | bpn in non_ml_recipes: | 24 | or bpn in non_ml_recipes): |
| 25 | raise bb.parse.SkipRecipe("We shouldn't have multilib variants for %s" % bpn) | 25 | raise bb.parse.SkipRecipe("We shouldn't have multilib variants for %s" % bpn) |
| 26 | 26 | ||
| 27 | save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME") or "" | 27 | save_var_name = d.getVar("MULTILIB_SAVE_VARNAME") or "" |
| 28 | for name in save_var_name.split(): | 28 | for name in save_var_name.split(): |
| 29 | val=e.data.getVar(name) | 29 | val = d.getVar(name) |
| 30 | if val: | 30 | if val: |
| 31 | e.data.setVar(name + "_MULTILIB_ORIGINAL", val) | 31 | d.setVar(name + "_MULTILIB_ORIGINAL", val) |
| 32 | 32 | ||
| 33 | # We nearly don't need this but dependencies on NON_MULTILIB_RECIPES don't work without it | 33 | # We nearly don't need this but dependencies on NON_MULTILIB_RECIPES don't work without it |
| 34 | d.setVar("SSTATE_ARCHS_TUNEPKG", "${@all_multilib_tune_values(d, 'TUNE_PKGARCH')}") | 34 | d.setVar("SSTATE_ARCHS_TUNEPKG", "${@all_multilib_tune_values(d, 'TUNE_PKGARCH')}") |
| @@ -36,66 +36,67 @@ python multilib_virtclass_handler () { | |||
| 36 | overrides = e.data.getVar("OVERRIDES", False) | 36 | overrides = e.data.getVar("OVERRIDES", False) |
| 37 | pn = e.data.getVar("PN", False) | 37 | pn = e.data.getVar("PN", False) |
| 38 | overrides = overrides.replace("pn-${PN}", "pn-${PN}:pn-" + pn) | 38 | overrides = overrides.replace("pn-${PN}", "pn-${PN}:pn-" + pn) |
| 39 | e.data.setVar("OVERRIDES", overrides) | 39 | d.setVar("OVERRIDES", overrides) |
| 40 | 40 | ||
| 41 | if bb.data.inherits_class('image', e.data): | 41 | if bb.data.inherits_class('image', d): |
| 42 | e.data.setVar("MLPREFIX", variant + "-") | 42 | d.setVar("MLPREFIX", variant + "-") |
| 43 | e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False)) | 43 | d.setVar("PN", variant + "-" + d.getVar("PN", False)) |
| 44 | e.data.setVar('SDKTARGETSYSROOT', e.data.getVar('SDKTARGETSYSROOT')) | 44 | d.setVar('SDKTARGETSYSROOT', d.getVar('SDKTARGETSYSROOT')) |
| 45 | override = ":virtclass-multilib-" + variant | 45 | override = ":virtclass-multilib-" + variant |
| 46 | e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) | 46 | d.setVar("OVERRIDES", d.getVar("OVERRIDES", False) + override) |
| 47 | target_vendor = e.data.getVar("TARGET_VENDOR:" + "virtclass-multilib-" + variant, False) | 47 | target_vendor = d.getVar("TARGET_VENDOR:" + "virtclass-multilib-" + variant, False) |
| 48 | if target_vendor: | 48 | if target_vendor: |
| 49 | e.data.setVar("TARGET_VENDOR", target_vendor) | 49 | d.setVar("TARGET_VENDOR", target_vendor) |
| 50 | return | 50 | return |
| 51 | 51 | ||
| 52 | if bb.data.inherits_class('cross-canadian', e.data): | 52 | if bb.data.inherits_class('cross-canadian', d): |
| 53 | # Multilib cross-candian should use the same nativesdk sysroot without MLPREFIX | 53 | # Multilib cross-candian should use the same nativesdk sysroot without MLPREFIX |
| 54 | e.data.setVar("RECIPE_SYSROOT", "${WORKDIR}/recipe-sysroot") | 54 | d.setVar("RECIPE_SYSROOT", "${WORKDIR}/recipe-sysroot") |
| 55 | e.data.setVar("STAGING_DIR_TARGET", "${WORKDIR}/recipe-sysroot") | 55 | d.setVar("STAGING_DIR_TARGET", "${WORKDIR}/recipe-sysroot") |
| 56 | e.data.setVar("STAGING_DIR_HOST", "${WORKDIR}/recipe-sysroot") | 56 | d.setVar("STAGING_DIR_HOST", "${WORKDIR}/recipe-sysroot") |
| 57 | e.data.setVar("RECIPE_SYSROOT_MANIFEST_SUBDIR", "nativesdk-" + variant) | 57 | d.setVar("RECIPE_SYSROOT_MANIFEST_SUBDIR", "nativesdk-" + variant) |
| 58 | e.data.setVar("MLPREFIX", variant + "-") | 58 | d.setVar("MLPREFIX", variant + "-") |
| 59 | override = ":virtclass-multilib-" + variant | 59 | override = ":virtclass-multilib-" + variant |
| 60 | e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) | 60 | d.setVar("OVERRIDES", d.getVar("OVERRIDES", False) + override) |
| 61 | return | 61 | return |
| 62 | 62 | ||
| 63 | if bb.data.inherits_class('native', e.data): | 63 | if bb.data.inherits_class('native', d): |
| 64 | raise bb.parse.SkipRecipe("We can't extend native recipes") | 64 | raise bb.parse.SkipRecipe("We can't extend native recipes") |
| 65 | 65 | ||
| 66 | if bb.data.inherits_class('nativesdk', e.data) or bb.data.inherits_class('crosssdk', e.data): | 66 | if bb.data.inherits_class('nativesdk', d) or bb.data.inherits_class('crosssdk', d): |
| 67 | raise bb.parse.SkipRecipe("We can't extend nativesdk recipes") | 67 | raise bb.parse.SkipRecipe("We can't extend nativesdk recipes") |
| 68 | 68 | ||
| 69 | if bb.data.inherits_class('allarch', e.data) and not d.getVar('MULTILIB_VARIANTS') \ | 69 | if (bb.data.inherits_class('allarch', d) |
| 70 | and not bb.data.inherits_class('packagegroup', e.data): | 70 | and not d.getVar('MULTILIB_VARIANTS') |
| 71 | and not bb.data.inherits_class('packagegroup', d)): | ||
| 71 | raise bb.parse.SkipRecipe("Don't extend allarch recipes which are not packagegroups") | 72 | raise bb.parse.SkipRecipe("Don't extend allarch recipes which are not packagegroups") |
| 72 | 73 | ||
| 73 | # Expand this since this won't work correctly once we set a multilib into place | 74 | # Expand this since this won't work correctly once we set a multilib into place |
| 74 | e.data.setVar("ALL_MULTILIB_PACKAGE_ARCHS", e.data.getVar("ALL_MULTILIB_PACKAGE_ARCHS")) | 75 | d.setVar("ALL_MULTILIB_PACKAGE_ARCHS", d.getVar("ALL_MULTILIB_PACKAGE_ARCHS")) |
| 75 | 76 | ||
| 76 | override = ":virtclass-multilib-" + variant | 77 | override = ":virtclass-multilib-" + variant |
| 77 | 78 | ||
| 78 | skip_msg = e.data.getVarFlag('SKIP_RECIPE', e.data.getVar('PN')) | 79 | skip_msg = d.getVarFlag('SKIP_RECIPE', d.getVar('PN')) |
| 79 | if skip_msg: | 80 | if skip_msg: |
| 80 | pn_new = variant + "-" + e.data.getVar('PN') | 81 | pn_new = variant + "-" + d.getVar('PN') |
| 81 | if not e.data.getVarFlag('SKIP_RECIPE', pn_new): | 82 | if not d.getVarFlag('SKIP_RECIPE', pn_new): |
| 82 | e.data.setVarFlag('SKIP_RECIPE', pn_new, skip_msg) | 83 | d.setVarFlag('SKIP_RECIPE', pn_new, skip_msg) |
| 83 | 84 | ||
| 84 | e.data.setVar("MLPREFIX", variant + "-") | 85 | d.setVar("MLPREFIX", variant + "-") |
| 85 | e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False)) | 86 | d.setVar("PN", variant + "-" + d.getVar("PN", False)) |
| 86 | e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) | 87 | d.setVar("OVERRIDES", d.getVar("OVERRIDES", False) + override) |
| 87 | 88 | ||
| 88 | # Expand INCOMPATIBLE_LICENSE_EXCEPTIONS with multilib prefix | 89 | # Expand INCOMPATIBLE_LICENSE_EXCEPTIONS with multilib prefix |
| 89 | pkgs = e.data.getVar("INCOMPATIBLE_LICENSE_EXCEPTIONS") | 90 | pkgs = d.getVar("INCOMPATIBLE_LICENSE_EXCEPTIONS") |
| 90 | if pkgs: | 91 | if pkgs: |
| 91 | for pkg in pkgs.split(): | 92 | for pkg in pkgs.split(): |
| 92 | pkgs += " " + variant + "-" + pkg | 93 | pkgs += " " + variant + "-" + pkg |
| 93 | e.data.setVar("INCOMPATIBLE_LICENSE_EXCEPTIONS", pkgs) | 94 | d.setVar("INCOMPATIBLE_LICENSE_EXCEPTIONS", pkgs) |
| 94 | 95 | ||
| 95 | # DEFAULTTUNE can change TARGET_ARCH override so expand this now before update_data | 96 | # DEFAULTTUNE can change TARGET_ARCH override so expand this now before update_data |
| 96 | newtune = e.data.getVar("DEFAULTTUNE:" + "virtclass-multilib-" + variant, False) | 97 | newtune = d.getVar("DEFAULTTUNE:" + "virtclass-multilib-" + variant, False) |
| 97 | if newtune: | 98 | if newtune: |
| 98 | e.data.setVar("DEFAULTTUNE", newtune) | 99 | d.setVar("DEFAULTTUNE", newtune) |
| 99 | } | 100 | } |
| 100 | 101 | ||
| 101 | addhandler multilib_virtclass_handler | 102 | addhandler multilib_virtclass_handler |
diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass index 6095d278dd..973ac9130b 100644 --- a/meta/classes/multilib_global.bbclass +++ b/meta/classes/multilib_global.bbclass | |||
| @@ -171,24 +171,23 @@ def preferred_ml_updates(d): | |||
| 171 | d.appendVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS", " " + " ".join(extras)) | 171 | d.appendVar("SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS", " " + " ".join(extras)) |
| 172 | 172 | ||
| 173 | python multilib_virtclass_handler_vendor () { | 173 | python multilib_virtclass_handler_vendor () { |
| 174 | if isinstance(e, bb.event.ConfigParsed): | 174 | for v in d.getVar("MULTILIB_VARIANTS").split(): |
| 175 | for v in e.data.getVar("MULTILIB_VARIANTS").split(): | 175 | if d.getVar("TARGET_VENDOR:virtclass-multilib-" + v, False) is None: |
| 176 | if e.data.getVar("TARGET_VENDOR:virtclass-multilib-" + v, False) is None: | 176 | d.setVar("TARGET_VENDOR:virtclass-multilib-" + v, d.getVar("TARGET_VENDOR", False) + "ml" + v) |
| 177 | e.data.setVar("TARGET_VENDOR:virtclass-multilib-" + v, e.data.getVar("TARGET_VENDOR", False) + "ml" + v) | 177 | preferred_ml_updates(d) |
| 178 | preferred_ml_updates(e.data) | ||
| 179 | } | 178 | } |
| 180 | addhandler multilib_virtclass_handler_vendor | 179 | addhandler multilib_virtclass_handler_vendor |
| 181 | multilib_virtclass_handler_vendor[eventmask] = "bb.event.ConfigParsed" | 180 | multilib_virtclass_handler_vendor[eventmask] = "bb.event.ConfigParsed" |
| 182 | 181 | ||
| 183 | python multilib_virtclass_handler_global () { | 182 | python multilib_virtclass_handler_global () { |
| 184 | variant = e.data.getVar("BBEXTENDVARIANT") | 183 | variant = d.getVar("BBEXTENDVARIANT") |
| 185 | if variant: | 184 | if variant: |
| 186 | return | 185 | return |
| 187 | 186 | ||
| 188 | non_ml_recipes = d.getVar('NON_MULTILIB_RECIPES').split() | 187 | non_ml_recipes = d.getVar('NON_MULTILIB_RECIPES').split() |
| 189 | 188 | ||
| 190 | if bb.data.inherits_class('kernel', e.data) or \ | 189 | if bb.data.inherits_class('kernel', d) or \ |
| 191 | bb.data.inherits_class('module-base', e.data) or \ | 190 | bb.data.inherits_class('module-base', d) or \ |
| 192 | d.getVar('BPN') in non_ml_recipes: | 191 | d.getVar('BPN') in non_ml_recipes: |
| 193 | 192 | ||
| 194 | # We need to avoid expanding KERNEL_VERSION which we can do by deleting it | 193 | # We need to avoid expanding KERNEL_VERSION which we can do by deleting it |
| @@ -197,7 +196,7 @@ python multilib_virtclass_handler_global () { | |||
| 197 | localdata.delVar("KERNEL_VERSION") | 196 | localdata.delVar("KERNEL_VERSION") |
| 198 | localdata.delVar("KERNEL_VERSION_PKG_NAME") | 197 | localdata.delVar("KERNEL_VERSION_PKG_NAME") |
| 199 | 198 | ||
| 200 | variants = (e.data.getVar("MULTILIB_VARIANTS") or "").split() | 199 | variants = (d.getVar("MULTILIB_VARIANTS") or "").split() |
| 201 | 200 | ||
| 202 | import oe.classextend | 201 | import oe.classextend |
| 203 | clsextends = [] | 202 | clsextends = [] |
| @@ -208,22 +207,22 @@ python multilib_virtclass_handler_global () { | |||
| 208 | origprovs = provs = localdata.getVar("PROVIDES") or "" | 207 | origprovs = provs = localdata.getVar("PROVIDES") or "" |
| 209 | for clsextend in clsextends: | 208 | for clsextend in clsextends: |
| 210 | provs = provs + " " + clsextend.map_variable("PROVIDES", setvar=False) | 209 | provs = provs + " " + clsextend.map_variable("PROVIDES", setvar=False) |
| 211 | e.data.setVar("PROVIDES", provs) | 210 | d.setVar("PROVIDES", provs) |
| 212 | 211 | ||
| 213 | # Process RPROVIDES | 212 | # Process RPROVIDES |
| 214 | origrprovs = rprovs = localdata.getVar("RPROVIDES") or "" | 213 | origrprovs = rprovs = localdata.getVar("RPROVIDES") or "" |
| 215 | for clsextend in clsextends: | 214 | for clsextend in clsextends: |
| 216 | rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES", setvar=False) | 215 | rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES", setvar=False) |
| 217 | if rprovs.strip(): | 216 | if rprovs.strip(): |
| 218 | e.data.setVar("RPROVIDES", rprovs) | 217 | d.setVar("RPROVIDES", rprovs) |
| 219 | 218 | ||
| 220 | # Process RPROVIDES:${PN}... | 219 | # Process RPROVIDES:${PN}... |
| 221 | for pkg in (e.data.getVar("PACKAGES") or "").split(): | 220 | for pkg in (d.getVar("PACKAGES") or "").split(): |
| 222 | origrprovs = rprovs = localdata.getVar("RPROVIDES:%s" % pkg) or "" | 221 | origrprovs = rprovs = localdata.getVar("RPROVIDES:%s" % pkg) or "" |
| 223 | for clsextend in clsextends: | 222 | for clsextend in clsextends: |
| 224 | rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES:%s" % pkg, setvar=False) | 223 | rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES:%s" % pkg, setvar=False) |
| 225 | rprovs = rprovs + " " + clsextend.extname + "-" + pkg | 224 | rprovs = rprovs + " " + clsextend.extname + "-" + pkg |
| 226 | e.data.setVar("RPROVIDES:%s" % pkg, rprovs) | 225 | d.setVar("RPROVIDES:%s" % pkg, rprovs) |
| 227 | } | 226 | } |
| 228 | 227 | ||
| 229 | addhandler multilib_virtclass_handler_global | 228 | addhandler multilib_virtclass_handler_global |
