summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2013-02-21 15:23:35 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-02-22 05:22:39 -0800
commit406cb9920fad57a23d2139f657c41598eb5087bf (patch)
tree8788a7c9b7bef5b160c9b5b3c2521b2010bf2dc9
parent7d22ef28e64de06b6238d0ef9b664c0bee6efa46 (diff)
downloadpoky-406cb9920fad57a23d2139f657c41598eb5087bf.tar.gz
bitbake: build.py: avoid deleting taint files when writing stamps
The stamp cleaning process that occurs before writing out new stamps for a task was deleting taint files as well. This resulted in tasks that were forcibly re-executed using the -f or -C command line options to have their previous output restored from shared state when called upon a second time, because the taint value was no longer incorporated into the task signature and thus it was reverting to its previous value. This also affected the kernel menuconfig command in OE-Core. Note that the taint file *is* still deleted when doing -c clean, which is the desired behaviour. Fixes [YOCTO #3919]. (Bitbake rev: e6db0ee31178d4386802e720d75303ec7dc21519) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/build.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 5f5a007196..d91ff53fcf 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -519,10 +519,13 @@ def make_stamp(task, d, file_name = None):
519 """ 519 """
520 cleanmask = stamp_cleanmask_internal(task, d, file_name) 520 cleanmask = stamp_cleanmask_internal(task, d, file_name)
521 for mask in cleanmask: 521 for mask in cleanmask:
522 # Preserve sigdata files in the stamps directory
523 for name in glob.glob(mask): 522 for name in glob.glob(mask):
523 # Preserve sigdata files in the stamps directory
524 if "sigdata" in name: 524 if "sigdata" in name:
525 continue 525 continue
526 # Preserve taint files in the stamps directory
527 if name.endswith('.taint'):
528 continue
526 os.unlink(name) 529 os.unlink(name)
527 530
528 stamp = stamp_internal(task, d, file_name) 531 stamp = stamp_internal(task, d, file_name)