summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-11 23:06:56 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-16 14:21:29 +0100
commit5efbaaf74b8f5ba7472f7e871fce2561bd67f571 (patch)
tree35fd8a0e1f9b0312b5f943e758e3c48c66149085 /meta
parented3b4248af9dbb667e562216ddb87e425019ba94 (diff)
downloadpoky-5efbaaf74b8f5ba7472f7e871fce2561bd67f571.tar.gz
packagedata: Fix to ensure variables expand correctly
If we set unsuffixed variables here there is a chance they could clobber override versions of that variable, e.g. DESCRIPTION could clobber DESCRIPTION_<pkgname>. We therefore don't clobber for the unsuffixed variable versions by using the parsing flag to setVar. This becomes a problem with the modifications to bitbake to have continual expansion of the datastore, its about the one place this turns out to be problematic. The parameter to setVar works with current bitbake even though we don't have the new API since it gets swallowed by the logging code. (From OE-Core rev: 45b368427accf6d519078812d5335ec250bacef8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/packagedata.bbclass10
1 files changed, 9 insertions, 1 deletions
diff --git a/meta/classes/packagedata.bbclass b/meta/classes/packagedata.bbclass
index d1aedf2289..3397f1e36b 100644
--- a/meta/classes/packagedata.bbclass
+++ b/meta/classes/packagedata.bbclass
@@ -22,5 +22,13 @@ python read_subpackage_metadata () {
22 bb.fatal("Recipe %s is trying to create package %s which was already written by recipe %s. This will cause corruption, please resolve this and only provide the package from one recipe or the other or only build one of the recipes." % (vars[key], pkg, sdata[key])) 22 bb.fatal("Recipe %s is trying to create package %s which was already written by recipe %s. This will cause corruption, please resolve this and only provide the package from one recipe or the other or only build one of the recipes." % (vars[key], pkg, sdata[key]))
23 bb.fatal("Recipe %s is trying to change %s from '%s' to '%s'. This will cause do_package_write_* failures since the incorrect data will be used and they will be unable to find the right workdir." % (vars["PN"], key, vars[key], sdata[key])) 23 bb.fatal("Recipe %s is trying to change %s from '%s' to '%s'. This will cause do_package_write_* failures since the incorrect data will be used and they will be unable to find the right workdir." % (vars["PN"], key, vars[key], sdata[key]))
24 continue 24 continue
25 d.setVar(key, sdata[key]) 25 #
26 # If we set unsuffixed variables here there is a chance they could clobber override versions
27 # of that variable, e.g. DESCRIPTION could clobber DESCRIPTION_<pkgname>
28 # We therefore don't clobber for the unsuffixed variable versions
29 #
30 if key.endswith("_" + pkg):
31 d.setVar(key, sdata[key])
32 else:
33 d.setVar(key, sdata[key], parsing=True)
26} 34}