summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2015-07-14 22:56:00 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-16 15:08:46 +0100
commit95c54512c9fcdbaa419891e46fd99102722ba3d8 (patch)
treef146a8b1823ba712c56577922c4fcd845086752e
parentfd2d50d46e38d86829f88b5884a6fde6c38f155e (diff)
downloadopenembedded-core-95c54512c9fcdbaa419891e46fd99102722ba3d8.tar.gz
openembedded-core-95c54512c9fcdbaa419891e46fd99102722ba3d8.tar.bz2
openembedded-core-95c54512c9fcdbaa419891e46fd99102722ba3d8.zip
lib/oe/recipeutils: fix replace_dir_vars to return the correct variables
If we sort by length of name here we get the variables we are interested in first. I've tested this with all of the variables we care about (the ones at the top of bitbake.conf) and it returns the right results. This fixes the failures we've been seeing in the oe-selftest test_recipetool_appendfile_* tests. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/lib/oe/recipeutils.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py
index bd812ccbd1..78d69267ac 100644
--- a/meta/lib/oe/recipeutils.py
+++ b/meta/lib/oe/recipeutils.py
@@ -617,7 +617,8 @@ def find_layerdir(fn):
def replace_dir_vars(path, d):
"""Replace common directory paths with appropriate variable references (e.g. /etc becomes ${sysconfdir})"""
dirvars = {}
- for var in d:
+ # Sort by length so we get the variables we're interested in first
+ for var in sorted(d.keys(), key=len):
if var.endswith('dir') and var.lower() == var:
value = d.getVar(var, True)
if value.startswith('/') and not '\n' in value and value not in dirvars: