diff options
-rw-r--r-- | meta/classes/multilib_global.bbclass | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass index 11ac5b0457..98f65c8aae 100644 --- a/meta/classes/multilib_global.bbclass +++ b/meta/classes/multilib_global.bbclass | |||
@@ -172,21 +172,27 @@ python multilib_virtclass_handler_global () { | |||
172 | if bb.data.inherits_class('kernel', e.data) or \ | 172 | if bb.data.inherits_class('kernel', e.data) or \ |
173 | bb.data.inherits_class('module-base', e.data) or \ | 173 | bb.data.inherits_class('module-base', e.data) or \ |
174 | d.getVar('BPN') in non_ml_recipes: | 174 | d.getVar('BPN') in non_ml_recipes: |
175 | |||
176 | # We need to avoid expanding KERNEL_VERSION which we can do by deleting it | ||
177 | # from a copy of the datastore | ||
178 | localdata = bb.data.createCopy(d) | ||
179 | localdata.delVar("KERNEL_VERSION") | ||
180 | |||
175 | variants = (e.data.getVar("MULTILIB_VARIANTS") or "").split() | 181 | variants = (e.data.getVar("MULTILIB_VARIANTS") or "").split() |
176 | 182 | ||
177 | import oe.classextend | 183 | import oe.classextend |
178 | clsextends = [] | 184 | clsextends = [] |
179 | for variant in variants: | 185 | for variant in variants: |
180 | clsextends.append(oe.classextend.ClassExtender(variant, e.data)) | 186 | clsextends.append(oe.classextend.ClassExtender(variant, localdata)) |
181 | 187 | ||
182 | # Process PROVIDES | 188 | # Process PROVIDES |
183 | origprovs = provs = e.data.getVar("PROVIDES") or "" | 189 | origprovs = provs = localdata.getVar("PROVIDES") or "" |
184 | for clsextend in clsextends: | 190 | for clsextend in clsextends: |
185 | provs = provs + " " + clsextend.map_variable("PROVIDES", setvar=False) | 191 | provs = provs + " " + clsextend.map_variable("PROVIDES", setvar=False) |
186 | e.data.setVar("PROVIDES", provs) | 192 | e.data.setVar("PROVIDES", provs) |
187 | 193 | ||
188 | # Process RPROVIDES | 194 | # Process RPROVIDES |
189 | origrprovs = rprovs = e.data.getVar("RPROVIDES") or "" | 195 | origrprovs = rprovs = localdata.getVar("RPROVIDES") or "" |
190 | for clsextend in clsextends: | 196 | for clsextend in clsextends: |
191 | rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES", setvar=False) | 197 | rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES", setvar=False) |
192 | if rprovs.strip(): | 198 | if rprovs.strip(): |
@@ -194,7 +200,7 @@ python multilib_virtclass_handler_global () { | |||
194 | 200 | ||
195 | # Process RPROVIDES_${PN}... | 201 | # Process RPROVIDES_${PN}... |
196 | for pkg in (e.data.getVar("PACKAGES") or "").split(): | 202 | for pkg in (e.data.getVar("PACKAGES") or "").split(): |
197 | origrprovs = rprovs = e.data.getVar("RPROVIDES_%s" % pkg) or "" | 203 | origrprovs = rprovs = localdata.getVar("RPROVIDES_%s" % pkg) or "" |
198 | for clsextend in clsextends: | 204 | for clsextend in clsextends: |
199 | rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES_%s" % pkg, setvar=False) | 205 | rprovs = rprovs + " " + clsextend.map_variable("RPROVIDES_%s" % pkg, setvar=False) |
200 | rprovs = rprovs + " " + clsextend.extname + "-" + pkg | 206 | rprovs = rprovs + " " + clsextend.extname + "-" + pkg |