diff options
-rw-r--r-- | meta/classes/multilib.bbclass | 2 | ||||
-rw-r--r-- | meta/lib/oe/classextend.py | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index eaaad5fa62f..3824f3b1177 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass @@ -75,7 +75,7 @@ python __anonymous () { clsextend.map_depends_variable("DEPENDS") clsextend.map_packagevars() clsextend.map_variable("PROVIDES") - clsextend.map_variable("PACKAGES_DYNAMIC") + clsextend.map_regexp_variable("PACKAGES_DYNAMIC") clsextend.map_variable("PACKAGE_INSTALL") clsextend.map_variable("INITSCRIPT_PACKAGES") } diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py index 86b1e8a5549..857a6c97efd 100644 --- a/meta/lib/oe/classextend.py +++ b/meta/lib/oe/classextend.py @@ -33,6 +33,22 @@ class ClassExtender(object): self.d.setVar(varname, newdata) return newdata + def map_regexp_variable(self, varname, setvar = True): + var = self.d.getVar(varname, True) + if not var: + return "" + var = var.split() + newvar = [] + for v in var: + if v.startswith("^"): + newvar.append("^" + self.extname + "-" + v[1:]) + else: + newvar.append(self.extend_name(v)) + newdata = " ".join(newvar) + if setvar: + self.d.setVar(varname, newdata) + return newdata + def map_depends(self, dep): if dep.endswith(("-native", "-native-runtime")): return dep |