[poky] [PATCH 1/1] runqueue.py: set BB_TASKHASH approriately after moving to fork()

Kevin Tian kevin.tian at intel.com
Mon Dec 20 23:02:22 PST 2010


In previous exec() model, cooker is re-initialized from scratch with environmental
variable exported accordingly. Now in fork() model, environmental variables are
not exported again, and thus original method to export BB_TASKHASH doesn't apply
now which breaks all sstate packages. Now we can set data variable directly instead.

Signed-off-by: Kevin Tian <kevin.tian at intel.com>
---
 bitbake/lib/bb/runqueue.py |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index b4134f8..ab0e873 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1072,7 +1072,6 @@ class RunQueueExecute:
                 bb.mkdirhier(p)
             bb.msg.debug(2, bb.msg.domain.RunQueue, "Running %s:%s under fakeroot, state dir is %s" % (fn, taskname, fakedirs))
 
-        env['BB_TASKHASH'] = self.rqdata.runq_hash[task]
         env['PATH'] = self.cooker.configuration.initial_path
 
         envbackup = os.environ.copy()
@@ -1120,6 +1119,8 @@ class RunQueueExecute:
             for h in self.rqdata.hashdata["deps"]:
                 bb.data.setVar("BBHASHDEPS_%s" % h, self.rqdata.hashdata["deps"][h], the_data)
 
+            bb.data.setVar("BB_TASKHASH", self.rqdata.runq_hash[task], the_data)
+
             ret = 0
             try:
                 if not self.cooker.configuration.dry_run:
-- 
1.6.0.4




More information about the poky mailing list