diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-06-26 10:29:10 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-06-27 12:20:36 +0100 |
commit | 403c9341d1295215ef2c3b10d8db7bf0a72e0c50 (patch) | |
tree | 845678f5173a98edfccdac2b2624dd2976a9eedd | |
parent | 16cd4ae3d57b44a4ac1e3a8ff989d1d00df819da (diff) | |
download | poky-403c9341d1295215ef2c3b10d8db7bf0a72e0c50.tar.gz |
multilib_global: Fix KERNEL_VERSION expansion problems
KERNEL_VERSION gets expanded at runtime to contain the real kernel
version. There is code to ensure the signatures are determinisic but
the multilib expansion code breaks this.
Exclude the variable from the datastore used for expansion to avoid this.
(From OE-Core rev: c068f907fee16477f59b6e5b168208aa4f677544)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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 |