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 |
