diff options
Diffstat (limited to 'bitbake/lib/bb/data.py')
-rw-r--r-- | bitbake/lib/bb/data.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py index 21cdde04a8..7ad1acad1c 100644 --- a/bitbake/lib/bb/data.py +++ b/bitbake/lib/bb/data.py | |||
@@ -282,6 +282,7 @@ def expandKeys(alterdata, readdata = None): | |||
282 | if readdata == None: | 282 | if readdata == None: |
283 | readdata = alterdata | 283 | readdata = alterdata |
284 | 284 | ||
285 | todolist = {} | ||
285 | for key in keys(alterdata): | 286 | for key in keys(alterdata): |
286 | if not '${' in key: | 287 | if not '${' in key: |
287 | continue | 288 | continue |
@@ -289,7 +290,13 @@ def expandKeys(alterdata, readdata = None): | |||
289 | ekey = expand(key, readdata) | 290 | ekey = expand(key, readdata) |
290 | if key == ekey: | 291 | if key == ekey: |
291 | continue | 292 | continue |
293 | todolist[key] = ekey | ||
292 | 294 | ||
295 | # These two for loops are split for performance to maximise the | ||
296 | # usefulness of the expand cache | ||
297 | |||
298 | for key in todolist: | ||
299 | ekey = todolist[key] | ||
293 | renameVar(key, ekey, alterdata) | 300 | renameVar(key, ekey, alterdata) |
294 | 301 | ||
295 | def expandData(alterdata, readdata = None): | 302 | def expandData(alterdata, readdata = None): |