aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2008-03-13 22:21:49 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2008-03-13 22:21:49 +0000
commita86ac9e2f8932e5a1ec7596b5129ae7b6fe5349b (patch)
tree9b26f0ef179dfae92f50c1412a5c61939a18e490
parent187d8221fb7e0b4785a8e760c648975a5ae812b7 (diff)
downloadbitbake-a86ac9e2f8932e5a1ec7596b5129ae7b6fe5349b.tar.gz
runqueue.py: Fix check_stamps function
-rw-r--r--lib/bb/runqueue.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 2a3da797e..5d0bd5aba 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -676,6 +676,16 @@ class RunQueue:
if len(self.runq_depends[task]) == 0:
buildable.append(task)
+ def check_buildable(self, task, buildable):
+ for revdep in self.runq_revdeps[task]:
+ alldeps = 1
+ for dep in self.runq_depends[revdep]:
+ if dep in unchecked:
+ alldeps = 0
+ if alldeps == 1:
+ if revdep in unchecked:
+ buildable.append(revdep)
+
for task in range(len(self.runq_fnid)):
if task not in unchecked:
continue
@@ -686,12 +696,14 @@ class RunQueue:
if not os.access(stampfile, os.F_OK):
del unchecked[task]
notcurrent.append(task)
+ check_buildable(self, task, buildable)
continue
# If its a 'nostamp' task, it's not current
taskdep = self.dataCache.task_deps[fn]
if 'nostamp' in taskdep and task in taskdep['nostamp']:
del unchecked[task]
notcurrent.append(task)
+ check_buildable(self, task, buildable)
continue
while (len(buildable) > 0):
@@ -722,14 +734,7 @@ class RunQueue:
else:
notcurrent.append(task)
- for revdep in self.runq_revdeps[task]:
- alldeps = 1
- for dep in self.runq_depends[revdep]:
- if dep in unchecked:
- alldeps = 0
- if alldeps == 1:
- if revdep in unchecked:
- nextbuildable.append(revdep)
+ check_buildable(self, task, nextbuildable)
buildable = nextbuildable