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.
Signed-off-by: Chris Larson <chris_larson@mentor.com>
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:
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)