summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/native.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-01-25 16:31:07 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-01-26 21:06:57 +0000
commit57d2aa9ffb4187f553a14debe39a223ed4421a51 (patch)
tree1eb45efabdec2b0e86860b794a8e41cffc6474aa /meta/classes-recipe/native.bbclass
parentfb10e3b83b3fb3c22294ef58c30e531388080a89 (diff)
downloadpoky-57d2aa9ffb4187f553a14debe39a223ed4421a51.tar.gz
native: Implement BBCLASSEXTEND PACKAGES_DYNAMIC handling
Recipes that use native BBCLASSEXTEND and set PACKAGES_DYNAMIC will currently see PREFERRED_PROVIDER warnings. Some recipes work around this but lets fix the core code to handle remapping PACKAGES_DYNAMIC correctly so the workarounds aren't necessary any more. (From OE-Core rev: e74b416231610ce3962e5b7bc21bd382579802ad) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-recipe/native.bbclass')
-rw-r--r--meta/classes-recipe/native.bbclass7
1 files changed, 5 insertions, 2 deletions
diff --git a/meta/classes-recipe/native.bbclass b/meta/classes-recipe/native.bbclass
index 1e94585f3e..cfd299d0c8 100644
--- a/meta/classes-recipe/native.bbclass
+++ b/meta/classes-recipe/native.bbclass
@@ -139,7 +139,7 @@ python native_virtclass_handler () {
139 if "native" not in classextend: 139 if "native" not in classextend:
140 return 140 return
141 141
142 def map_dependencies(varname, d, suffix = "", selfref=True): 142 def map_dependencies(varname, d, suffix = "", selfref=True, regex=False):
143 if suffix: 143 if suffix:
144 varname = varname + ":" + suffix 144 varname = varname + ":" + suffix
145 deps = d.getVar(varname) 145 deps = d.getVar(varname)
@@ -148,7 +148,9 @@ python native_virtclass_handler () {
148 deps = bb.utils.explode_deps(deps) 148 deps = bb.utils.explode_deps(deps)
149 newdeps = [] 149 newdeps = []
150 for dep in deps: 150 for dep in deps:
151 if dep == pn: 151 if regex and dep.startswith("^") and dep.endswith("$"):
152 newdeps.append(dep[:-1].replace(pn, bpn) + "-native$")
153 elif dep == pn:
152 if not selfref: 154 if not selfref:
153 continue 155 continue
154 newdeps.append(dep) 156 newdeps.append(dep)
@@ -171,6 +173,7 @@ python native_virtclass_handler () {
171 map_dependencies("RPROVIDES", e.data, pkg) 173 map_dependencies("RPROVIDES", e.data, pkg)
172 map_dependencies("RREPLACES", e.data, pkg) 174 map_dependencies("RREPLACES", e.data, pkg)
173 map_dependencies("PACKAGES", e.data) 175 map_dependencies("PACKAGES", e.data)
176 map_dependencies("PACKAGES_DYNAMIC", e.data, regex=True)
174 177
175 provides = e.data.getVar("PROVIDES") 178 provides = e.data.getVar("PROVIDES")
176 nprovides = [] 179 nprovides = []