summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-06 19:47:00 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-06 19:47:03 +0000
commit66c6200ff34e8eeca5d1a689bbf9d6a83818248f (patch)
tree0742e6e9e75424890996031703cc8956b918c513 /bitbake/lib/bb
parentec6e4793dc79c61b780b74571db4cd66c1c04251 (diff)
downloadpoky-66c6200ff34e8eeca5d1a689bbf9d6a83818248f.tar.gz
bitbake build/siggen/runqueue: Fix stampfile parameters
The current parameters are not useful to the stampfile generator function as they can't uniquely define a task. This updated things so the parameters can identify unique tasks. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/build.py5
-rw-r--r--bitbake/lib/bb/runqueue.py12
-rw-r--r--bitbake/lib/bb/siggen.py2
3 files changed, 10 insertions, 9 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 3fc01486ca..968e2ea562 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -373,7 +373,7 @@ def exec_task(fn, task, d):
373 event.fire(failedevent, d) 373 event.fire(failedevent, d)
374 return 1 374 return 1
375 375
376def stamp_internal(task, d, file_name): 376def stamp_internal(taskname, d, file_name):
377 """ 377 """
378 Internal stamp helper function 378 Internal stamp helper function
379 Makes sure the stamp directory exists 379 Makes sure the stamp directory exists
@@ -386,11 +386,12 @@ def stamp_internal(task, d, file_name):
386 stamp = d.stamp[file_name] 386 stamp = d.stamp[file_name]
387 else: 387 else:
388 stamp = d.getVar('STAMP', True) 388 stamp = d.getVar('STAMP', True)
389 file_name = d.getVar('BB_FILENAME', True)
389 390
390 if not stamp: 391 if not stamp:
391 return 392 return
392 393
393 stamp = "%s.%s" % (stamp, task) 394 stamp = bb.parse.siggen.stampfile(stamp, file_name, taskname)
394 395
395 bb.utils.mkdirhier(os.path.dirname(stamp)) 396 bb.utils.mkdirhier(os.path.dirname(stamp))
396 397
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index bfb16b4f6e..16420b87a4 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -829,7 +829,7 @@ class RunQueue:
829 continue 829 continue
830 fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]] 830 fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
831 taskname = self.rqdata.runq_task[task] 831 taskname = self.rqdata.runq_task[task]
832 stampfile = "%s.%s" % (self.rqdata.dataCache.stamp[fn], taskname) 832 stampfile = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn], fn, taskname)
833 # If the stamp is missing its not current 833 # If the stamp is missing its not current
834 if not os.access(stampfile, os.F_OK): 834 if not os.access(stampfile, os.F_OK):
835 del unchecked[task] 835 del unchecked[task]
@@ -850,7 +850,7 @@ class RunQueue:
850 if task in unchecked: 850 if task in unchecked:
851 fn = self.taskData.fn_index[self.rqdata.runq_fnid[task]] 851 fn = self.taskData.fn_index[self.rqdata.runq_fnid[task]]
852 taskname = self.rqdata.runq_task[task] 852 taskname = self.rqdata.runq_task[task]
853 stampfile = "%s.%s" % (self.rqdata.dataCache.stamp[fn], taskname) 853 stampfile = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn], fn, taskname)
854 iscurrent = True 854 iscurrent = True
855 855
856 t1 = os.stat(stampfile)[stat.ST_MTIME] 856 t1 = os.stat(stampfile)[stat.ST_MTIME]
@@ -858,7 +858,7 @@ class RunQueue:
858 if iscurrent: 858 if iscurrent:
859 fn2 = self.taskData.fn_index[self.rqdata.runq_fnid[dep]] 859 fn2 = self.taskData.fn_index[self.rqdata.runq_fnid[dep]]
860 taskname2 = self.rqdata.runq_task[dep] 860 taskname2 = self.rqdata.runq_task[dep]
861 stampfile2 = "%s.%s" % (self.rqdata.dataCache.stamp[fn2], taskname2) 861 stampfile2 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], fn2, taskname2)
862 if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist): 862 if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist):
863 if dep in notcurrent: 863 if dep in notcurrent:
864 iscurrent = False 864 iscurrent = False
@@ -910,7 +910,7 @@ class RunQueue:
910 if taskname is None: 910 if taskname is None:
911 taskname = self.rqdata.runq_task[task] 911 taskname = self.rqdata.runq_task[task]
912 912
913 stampfile = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn], taskname, self.rqdata.runq_hash[task]) 913 stampfile = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn], fn, taskname)
914 914
915 # If the stamp is missing its not current 915 # If the stamp is missing its not current
916 if not os.access(stampfile, os.F_OK): 916 if not os.access(stampfile, os.F_OK):
@@ -931,8 +931,8 @@ class RunQueue:
931 if iscurrent: 931 if iscurrent:
932 fn2 = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[dep]] 932 fn2 = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[dep]]
933 taskname2 = self.rqdata.runq_task[dep] 933 taskname2 = self.rqdata.runq_task[dep]
934 stampfile2 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], taskname2, self.rqdata.runq_hash[dep]) 934 stampfile2 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], fn2, taskname2)
935 stampfile3 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], taskname2 + "_setscene", self.rqdata.runq_hash[dep]) 935 stampfile3 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], fn2, taskname2 + "_setscene")
936 t2 = get_timestamp(stampfile2) 936 t2 = get_timestamp(stampfile2)
937 t3 = get_timestamp(stampfile3) 937 t3 = get_timestamp(stampfile3)
938 if t3 and t3 > t2: 938 if t3 and t3 > t2:
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 94ae2b48ab..7d7a203b83 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -42,7 +42,7 @@ class SignatureGenerator(object):
42 def set_taskdata(self, hashes, deps): 42 def set_taskdata(self, hashes, deps):
43 return 43 return
44 44
45 def stampfile(self, stampbase, taskname, taskhash): 45 def stampfile(self, stampbase, file_name, taskname):
46 return "%s.%s" % (stampbase, taskname) 46 return "%s.%s" % (stampbase, taskname)
47 47
48class SignatureGeneratorBasic(SignatureGenerator): 48class SignatureGeneratorBasic(SignatureGenerator):