summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/runqueue.py20
1 files changed, 18 insertions, 2 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 28eb072bee..608aff8ad7 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -705,11 +705,27 @@ class RunQueueData:
705 continue 705 continue
706 self.runq_setscene.append(task) 706 self.runq_setscene.append(task)
707 707
708 def invalidate_task(fn, taskname, error_nostamp):
709 taskdep = self.dataCache.task_deps[fn]
710 if 'nostamp' in taskdep and taskname in taskdep['nostamp']:
711 if error_nostamp:
712 bb.fatal("Task %s is marked nostamp, cannot invalidate this task" % taskname)
713 else:
714 bb.debug(1, "Task %s is marked nostamp, cannot invalidate this task" % taskname)
715 else:
716 logger.verbose("Invalidate task %s, %s", taskname, fn)
717 bb.parse.siggen.invalidate_task(taskname, self.dataCache, fn)
718
708 # Invalidate task if force mode active 719 # Invalidate task if force mode active
709 if self.cooker.configuration.force: 720 if self.cooker.configuration.force:
710 for (fn, target) in self.target_pairs: 721 for (fn, target) in self.target_pairs:
711 logger.verbose("Invalidate task %s, %s", target, fn) 722 invalidate_task(fn, target, False)
712 bb.parse.siggen.invalidate_task(target, self.dataCache, fn) 723
724 # Invalidate task if invalidate mode active
725 if self.cooker.configuration.invalidate_stamp:
726 for (fn, target) in self.target_pairs:
727 for st in self.cooker.configuration.invalidate_stamp.split(','):
728 invalidate_task(fn, "do_%s" % st, True)
713 729
714 # Interate over the task list and call into the siggen code 730 # Interate over the task list and call into the siggen code
715 dealtwith = set() 731 dealtwith = set()