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/lib | |
parent | 00a96a20995cefacc52e10559029de32941ecf6e (diff) | |
download | ast2050-yocto-poky-36f1ae42fe13dae174b7fb5eb85dc49d7d7b516b.zip ast2050-yocto-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/lib')
-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 0d80a69..0a319d2 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 |