diff options
author | Chris Larson <chris_larson@mentor.com> | 2011-06-02 14:46:13 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-07 22:29:25 +0100 |
commit | 911e8bb56abac938c6a6bf042844fdaa126970a3 (patch) | |
tree | c0573097a2b0e8a5e28fc90071a9b924c9eb850b /bitbake/lib | |
parent | 3eed3aac4cfe1db74f0cabfea391ca3578ef70f3 (diff) | |
download | ast2050-yocto-poky-911e8bb56abac938c6a6bf042844fdaa126970a3.zip ast2050-yocto-poky-911e8bb56abac938c6a6bf042844fdaa126970a3.tar.gz |
siggen: don't choke with traceback when data is None
Given we use bb.error, not bb.fatal, here, it seems this was intended to be
non-fatal, yet we'd end up trying to concatenate None. Fix this by setting an
empty task to the empty string, for the purposes of hashing. Also str() the
value we get from the datastore, just in case something other than a string
was stored there.
(Bitbake rev: ec8a5a495b72e061a1e8d7c7449afb26581872c0)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/siggen.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 5502803..a9c84c4 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py @@ -82,6 +82,10 @@ class SignatureGeneratorBasic(SignatureGenerator): data = d.getVar(task, False) lookupcache[task] = data + if data is None: + bb.error("Task %s from %s seems to be empty?!" % (task, fn)) + data = '' + newdeps = gendeps[task] seen = set() while newdeps: @@ -103,9 +107,7 @@ class SignatureGeneratorBasic(SignatureGenerator): var = d.getVar(dep, False) lookupcache[dep] = var if var: - data = data + var - if data is None: - bb.error("Task %s from %s seems to be empty?!" % (task, fn)) + data = data + str(var) self.basehash[fn + "." + task] = hashlib.md5(data).hexdigest() taskdeps[task] = sorted(alldeps) |