summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-10-22 13:00:40 +0100
committerSaul Wold <Saul.Wold@intel.com>2010-10-22 11:13:40 -0700
commit1ddda942bd6b8934360f5668aa9c47c0115fd179 (patch)
tree6b90a35bdf30fa31c75e956d08186213cbc43b54 /bitbake/lib
parentc115f0767822fe52766cce75886de39837309134 (diff)
downloadpoky-1ddda942bd6b8934360f5668aa9c47c0115fd179.tar.gz
pseudo/fakeroot: Move the pseudo directory creation into bitbake
If sstate was used to accelerate a build, the pseudo directory might not have been created leading to subsequent task failures. Also, sstate packages were not being installed under pseudo context meaning file permissions could have been lost. Fix these problems by creating a FAKEROOTDIRS variable which bitbake ensures exists before running tasks and running the appropriate setscene tasks under fakeroot context. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'bitbake/lib')
-rw-r--r--bitbake/lib/bb/runqueue.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 0d80a6934c..0a319d2c42 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1066,6 +1066,10 @@ class RunQueueExecute:
1066 for var in envvars: 1066 for var in envvars:
1067 comps = var.split("=") 1067 comps = var.split("=")
1068 env[comps[0]] = comps[1] 1068 env[comps[0]] = comps[1]
1069 fakedirs = (the_data.getVar("FAKEROOTDIRS", True) or "").split()
1070 for p in fakedirs:
1071 bb.mkdirhier(p)
1072 bb.msg.debug(2, bb.msg.domain.RunQueue, "Running %s:%s under fakeroot, state dir is %s" % (fn, taskname, fakedirs))
1069 1073
1070 env['BB_TASKHASH'] = self.rqdata.runq_hash[task] 1074 env['BB_TASKHASH'] = self.rqdata.runq_hash[task]
1071 env['PATH'] = self.cooker.configuration.initial_path 1075 env['PATH'] = self.cooker.configuration.initial_path