bitbake: siggen: ensure nostamp tasks force dependent tasks to re-execute

If a nostamp task is depended on by a non-nostamp task, then we want the
signature of that task to change such that it re-executes afterwards.
This is an unusual situation, but we want this to work in OE in
externalsrc.bbclass so that compilation happens every time it is
requested.

(Bitbake rev: 73498afc3d45beede5b8f24a9acd523a1663b793)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2014-12-19 10:20:29 +00:00 committed by Richard Purdie
parent c91b10cae8
commit 7b70d5e8a4
1 changed files with 6 additions and 0 deletions

View File

@ -187,6 +187,12 @@ class SignatureGeneratorBasic(SignatureGenerator):
self.file_checksum_values[k][f] = cs
data = data + cs
taskdep = dataCache.task_deps[fn]
if 'nostamp' in taskdep and task in taskdep['nostamp']:
# Nostamp tasks need an implicit taint so that they force any dependent tasks to run
import uuid
data = data + str(uuid.uuid4())
taint = self.read_taint(fn, task, dataCache.stamp[fn])
if taint:
data = data + taint