summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes-recipe/native.bbclass15
1 files changed, 13 insertions, 2 deletions
diff --git a/meta/classes-recipe/native.bbclass b/meta/classes-recipe/native.bbclass
index d9651a7f22..1d9432138e 100644
--- a/meta/classes-recipe/native.bbclass
+++ b/meta/classes-recipe/native.bbclass
@@ -119,6 +119,7 @@ SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
119INHIBIT_SYSROOT_STRIP ?= "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}" 119INHIBIT_SYSROOT_STRIP ?= "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}"
120 120
121python native_virtclass_handler () { 121python native_virtclass_handler () {
122 import re
122 pn = e.data.getVar("PN") 123 pn = e.data.getVar("PN")
123 if not pn.endswith("-native"): 124 if not pn.endswith("-native"):
124 return 125 return
@@ -158,10 +159,20 @@ python native_virtclass_handler () {
158 newdeps.append(dep.replace(pn, bpn) + "-native") 159 newdeps.append(dep.replace(pn, bpn) + "-native")
159 else: 160 else:
160 newdeps.append(dep) 161 newdeps.append(dep)
161 d.setVar(varname, " ".join(newdeps)) 162 output_varname = varname
163 # Handle ${PN}-xxx -> ${BPN}-xxx-native
164 if suffix != "${PN}" and "${PN}" in suffix:
165 output_varname = varname.replace("${PN}", "${BPN}") + "-native"
166 d.renameVar(varname, output_varname)
167 d.setVar(output_varname, " ".join(newdeps))
162 168
163 map_dependencies("DEPENDS", e.data, selfref=False) 169 map_dependencies("DEPENDS", e.data, selfref=False)
164 for pkg in e.data.getVar("PACKAGES", False).split(): 170 # We need to handle things like ${@bb.utils.contains('PTEST_ENABLED', '1', '${PN}-ptest', '', d)}
171 # and not pass ${PN}-test since in the native case it would be ignored. This does mean we ignore
172 # anonymous python derived PACKAGES entries.
173 for pkg in re.split(r"\${@(?:{.*?}|.)+?}|\s", d.getVar("PACKAGES", False)):
174 if not pkg:
175 continue
165 map_dependencies("RDEPENDS", e.data, pkg) 176 map_dependencies("RDEPENDS", e.data, pkg)
166 map_dependencies("RRECOMMENDS", e.data, pkg) 177 map_dependencies("RRECOMMENDS", e.data, pkg)
167 map_dependencies("RSUGGESTS", e.data, pkg) 178 map_dependencies("RSUGGESTS", e.data, pkg)