summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2007-08-11 18:18:55 +0000
committerRichard Purdie <rpurdie@linux.intel.com>2007-08-11 18:18:55 +0000
commit67d098c8a74a8592badded2f0f789ad15aa4c32d (patch)
treee09351fefa6db9fe8f0aa00c932d4da800cd4ce8
parentf51d7438d2a5ec02df683af7b79de8a7fdbdcdc2 (diff)
downloadbitbake-67d098c8a74a8592badded2f0f789ad15aa4c32d.tar.gz
runqueue.py: Improve the progress indicator by skipping tasks that have already run before starting the build rather than during it
-rw-r--r--ChangeLog2
-rw-r--r--lib/bb/parse/parse_py/ConfHandler.py2
-rw-r--r--lib/bb/runqueue.py12
3 files changed, 15 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c5654996c..107209d73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,8 @@ Changes in Bitbake 1.8.x:
- Stop generating the A variable (seems to be legacy code)
- Make sure intertask depends get processed correcting in recursive depends
- Add pn-PN to overrides when evaluating PREFERRED_VERSION
+ - Improve the progress indicator by skipping tasks that have
+ already run before starting the build rather than during it
Changes in Bitbake 1.8.6:
- Correctly redirect stdin when forking
diff --git a/lib/bb/parse/parse_py/ConfHandler.py b/lib/bb/parse/parse_py/ConfHandler.py
index 50d20a1a6..73b9ff816 100644
--- a/lib/bb/parse/parse_py/ConfHandler.py
+++ b/lib/bb/parse/parse_py/ConfHandler.py
@@ -70,7 +70,7 @@ def obtain(fn, data):
return localfn
bb.mkdirhier(dldir)
try:
- ud = bb.fetch.init([fn], data)
+ bb.fetch.init([fn], data)
except bb.fetch.NoMethodError:
(type, value, traceback) = sys.exc_info()
bb.msg.debug(1, bb.msg.domain.Parsing, "obtain: no method: %s" % value)
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index fc0639282..21383f420 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -482,6 +482,18 @@ class RunQueue:
def sigint_handler(signum, frame):
raise KeyboardInterrupt
+ # Find any tasks with current stamps and remove them from the queue
+ for task1 in range(len(self.runq_fnid)):
+ task = self.prio_map[task1]
+ fn = self.taskData.fn_index[self.runq_fnid[task]]
+ taskname = self.runq_task[task]
+ if bb.build.stamp_is_current(taskname, self.dataCache, fn):
+ bb.msg.debug(2, bb.msg.domain.RunQueue, "Stamp current task %s (%s)" % (task, self.get_user_idstring(task)))
+ self.runq_running[task] = 1
+ self.task_complete(task)
+ self.stats.taskCompleted()
+ self.stats.taskSkipped()
+
while True:
task = self.get_next_task()
if task is not None: