summaryrefslogtreecommitdiffstats
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
parentec6e4793dc79c61b780b74571db4cd66c1c04251 (diff)
downloadopenembedded-core-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.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):
event.fire(failedevent, d)
return 1
-def stamp_internal(task, d, file_name):
+def stamp_internal(taskname, d, file_name):
"""
Internal stamp helper function
Makes sure the stamp directory exists
@@ -386,11 +386,12 @@ def stamp_internal(task, d, file_name):
stamp = d.stamp[file_name]
else:
stamp = d.getVar('STAMP', True)
+ file_name = d.getVar('BB_FILENAME', True)
if not stamp:
return
- stamp = "%s.%s" % (stamp, task)
+ stamp = bb.parse.siggen.stampfile(stamp, file_name, taskname)
bb.utils.mkdirhier(os.path.dirname(stamp))
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:
continue
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task]
- stampfile = "%s.%s" % (self.rqdata.dataCache.stamp[fn], taskname)
+ stampfile = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn], fn, taskname)
# If the stamp is missing its not current
if not os.access(stampfile, os.F_OK):
del unchecked[task]
@@ -850,7 +850,7 @@ class RunQueue:
if task in unchecked:
fn = self.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task]
- stampfile = "%s.%s" % (self.rqdata.dataCache.stamp[fn], taskname)
+ stampfile = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn], fn, taskname)
iscurrent = True
t1 = os.stat(stampfile)[stat.ST_MTIME]
@@ -858,7 +858,7 @@ class RunQueue:
if iscurrent:
fn2 = self.taskData.fn_index[self.rqdata.runq_fnid[dep]]
taskname2 = self.rqdata.runq_task[dep]
- stampfile2 = "%s.%s" % (self.rqdata.dataCache.stamp[fn2], taskname2)
+ stampfile2 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], fn2, taskname2)
if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist):
if dep in notcurrent:
iscurrent = False
@@ -910,7 +910,7 @@ class RunQueue:
if taskname is None:
taskname = self.rqdata.runq_task[task]
- stampfile = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn], taskname, self.rqdata.runq_hash[task])
+ stampfile = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn], fn, taskname)
# If the stamp is missing its not current
if not os.access(stampfile, os.F_OK):
@@ -931,8 +931,8 @@ class RunQueue:
if iscurrent:
fn2 = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[dep]]
taskname2 = self.rqdata.runq_task[dep]
- stampfile2 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], taskname2, self.rqdata.runq_hash[dep])
- stampfile3 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], taskname2 + "_setscene", self.rqdata.runq_hash[dep])
+ stampfile2 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], fn2, taskname2)
+ stampfile3 = bb.parse.siggen.stampfile(self.rqdata.dataCache.stamp[fn2], fn2, taskname2 + "_setscene")
t2 = get_timestamp(stampfile2)
t3 = get_timestamp(stampfile3)
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):
def set_taskdata(self, hashes, deps):
return
- def stampfile(self, stampbase, taskname, taskhash):
+ def stampfile(self, stampbase, file_name, taskname):
return "%s.%s" % (stampbase, taskname)
class SignatureGeneratorBasic(SignatureGenerator):