summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/native.bbclass8
1 files changed, 6 insertions, 2 deletions
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index a0838e41b9..561cc23f68 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -119,6 +119,7 @@ python native_virtclass_handler () {
119 pn = e.data.getVar("PN") 119 pn = e.data.getVar("PN")
120 if not pn.endswith("-native"): 120 if not pn.endswith("-native"):
121 return 121 return
122 bpn = e.data.getVar("BPN")
122 123
123 # Set features here to prevent appends and distro features backfill 124 # Set features here to prevent appends and distro features backfill
124 # from modifying native distro features 125 # from modifying native distro features
@@ -146,7 +147,10 @@ python native_virtclass_handler () {
146 elif "-cross-" in dep: 147 elif "-cross-" in dep:
147 newdeps.append(dep.replace("-cross", "-native")) 148 newdeps.append(dep.replace("-cross", "-native"))
148 elif not dep.endswith("-native"): 149 elif not dep.endswith("-native"):
149 newdeps.append(dep.replace("-native", "") + "-native") 150 # Replace ${PN} with ${BPN} in the dependency to make sure
151 # dependencies on, e.g., ${PN}-foo become ${BPN}-foo-native
152 # rather than ${BPN}-native-foo-native.
153 newdeps.append(dep.replace(pn, bpn) + "-native")
150 else: 154 else:
151 newdeps.append(dep) 155 newdeps.append(dep)
152 d.setVar(varname, " ".join(newdeps), parsing=True) 156 d.setVar(varname, " ".join(newdeps), parsing=True)
@@ -166,7 +170,7 @@ python native_virtclass_handler () {
166 if prov.find(pn) != -1: 170 if prov.find(pn) != -1:
167 nprovides.append(prov) 171 nprovides.append(prov)
168 elif not prov.endswith("-native"): 172 elif not prov.endswith("-native"):
169 nprovides.append(prov.replace(prov, prov + "-native")) 173 nprovides.append(prov + "-native")
170 else: 174 else:
171 nprovides.append(prov) 175 nprovides.append(prov)
172 e.data.setVar("PROVIDES", ' '.join(nprovides)) 176 e.data.setVar("PROVIDES", ' '.join(nprovides))