diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-06 19:47:00 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-06 19:47:03 +0000 |
| commit | 66c6200ff34e8eeca5d1a689bbf9d6a83818248f (patch) | |
| tree | 0742e6e9e75424890996031703cc8956b918c513 | |
| parent | ec6e4793dc79c61b780b74571db4cd66c1c04251 (diff) | |
| download | poky-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>
| -rw-r--r-- | bitbake/lib/bb/build.py | 5 | ||||
| -rw-r--r-- | bitbake/lib/bb/runqueue.py | 12 | ||||
| -rw-r--r-- | bitbake/lib/bb/siggen.py | 2 |
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 | ||
| 376 | def stamp_internal(task, d, file_name): | 376 | def 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 | ||
| 48 | class SignatureGeneratorBasic(SignatureGenerator): | 48 | class SignatureGeneratorBasic(SignatureGenerator): |
