The order of the keys from the data store is not prescribed. If
target_datadir comes before datadir the selftests fail since the 'wrong'
variable is used for substitutions. This highlights an issue with the
replace_dir_vars() function. Fix this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
for var in d:
if var.endswith('dir') and var.lower() == var:
value = d.getVar(var, True)
- if value.startswith('/') and not '\n' in value:
+ if value.startswith('/') and not '\n' in value and value not in dirvars:
dirvars[value] = var
for dirpath in sorted(dirvars.keys(), reverse=True):
path = path.replace(dirpath, '${%s}' % dirvars[dirpath])