summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/build.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-03-18 17:57:45 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-03-23 22:51:25 +0000
commitab55f8bfec37dac8750c5d55b585332fc3f9b135 (patch)
treed523fdcb6bc099ba847fa49ccd4af7d862b6eaa9 /bitbake/lib/bb/build.py
parent22931aec260645a066aa7cd08ed4ea27c7e67301 (diff)
downloadpoky-ab55f8bfec37dac8750c5d55b585332fc3f9b135.tar.gz
bitbake: build: Add find_stale_stamps function
Add a new function which compares the stamp filename we want (including taskhash) with what is in the stamp directory (using the clean mask). This tells us which stamp files are stale and are due to be rerun. (Bitbake rev: b126a53882d202e4df0f9661303355c9fe9ec80e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/build.py')
-rw-r--r--bitbake/lib/bb/build.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index f4f897e41a..b2715fc530 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -854,6 +854,23 @@ def make_stamp(task, d, file_name = None):
854 file_name = d.getVar('BB_FILENAME') 854 file_name = d.getVar('BB_FILENAME')
855 bb.parse.siggen.dump_sigtask(file_name, task, stampbase, True) 855 bb.parse.siggen.dump_sigtask(file_name, task, stampbase, True)
856 856
857def find_stale_stamps(task, d, file_name=None):
858 current = stamp_internal(task, d, file_name)
859 current2 = stamp_internal(task + "_setscene", d, file_name)
860 cleanmask = stamp_cleanmask_internal(task, d, file_name)
861 found = []
862 for mask in cleanmask:
863 for name in glob.glob(mask):
864 if "sigdata" in name or "sigbasedata" in name:
865 continue
866 if name.endswith('.taint'):
867 continue
868 if name == current or name == current2:
869 continue
870 logger.debug2("Stampfile %s does not match %s or %s" % (name, current, current2))
871 found.append(name)
872 return found
873
857def del_stamp(task, d, file_name = None): 874def del_stamp(task, d, file_name = None):
858 """ 875 """
859 Removes a stamp for a given task 876 Removes a stamp for a given task