diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-10-22 13:00:40 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-10-22 13:00:40 +0100 |
commit | 36f1ae42fe13dae174b7fb5eb85dc49d7d7b516b (patch) | |
tree | 0bf129fbd24cc21652ffa387400b4925c24218f9 /bitbake | |
parent | 00a96a20995cefacc52e10559029de32941ecf6e (diff) | |
download | poky-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.py | 4 |
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 |