aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-10-22 13:00:40 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-10-22 13:00:40 +0100
commit36f1ae42fe13dae174b7fb5eb85dc49d7d7b516b (patch)
tree0bf129fbd24cc21652ffa387400b4925c24218f9 /bitbake
parent00a96a20995cefacc52e10559029de32941ecf6e (diff)
downloadopenembedded-core-36f1ae42fe13dae174b7fb5eb85dc49d7d7b516b.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')
-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:
for var in envvars:
comps = var.split("=")
env[comps[0]] = comps[1]
+ fakedirs = (the_data.getVar("FAKEROOTDIRS", True) or "").split()
+ for p in fakedirs:
+ 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