diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-11-22 13:31:47 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-11-24 12:25:36 +0000 |
commit | bc267ef6febb810470aeeb03e091d1a8d6c60e70 (patch) | |
tree | 2ef3083fb3f0c39fe35b6b4a225cecc7573b216d /bitbake | |
parent | 02a697cac5400e7b6fc7b955e2e1cbc51ae161bb (diff) | |
download | poky-bc267ef6febb810470aeeb03e091d1a8d6c60e70.tar.gz |
bitbake: runqueue/bitbake-worker: Fix dry run fakeroot issues
When using the dry run option (-n), bitbake would still try and fire
a specific fakeroot worker. This is doomed to failure since it might
well not have been built.
Add in some checks to prevent the failures.
[YOCTO #5367]
(Bitbake rev: f34d0606f87ce9dacadeb78bac35879b74f10559)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rwxr-xr-x | bitbake/bin/bitbake-worker | 3 | ||||
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker index 66b6aabfdb..ff20c1ca98 100755 --- a/bitbake/bin/bitbake-worker +++ b/bitbake/bin/bitbake-worker | |||
@@ -97,7 +97,8 @@ def fork_off_task(cfg, data, workerdata, fn, task, taskname, appends, quieterror | |||
97 | except TypeError: | 97 | except TypeError: |
98 | umask = taskdep['umask'][taskname] | 98 | umask = taskdep['umask'][taskname] |
99 | 99 | ||
100 | if 'fakeroot' in taskdep and taskname in taskdep['fakeroot']: | 100 | # We can't use the fakeroot environment in a dry run as it possibly hasn't been built |
101 | if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not cfg.dry_run: | ||
101 | envvars = (workerdata["fakerootenv"][fn] or "").split() | 102 | envvars = (workerdata["fakerootenv"][fn] or "").split() |
102 | for key, value in (var.split('=') for var in envvars): | 103 | for key, value in (var.split('=') for var in envvars): |
103 | envbackup[key] = os.environ.get(key) | 104 | envbackup[key] = os.environ.get(key) |
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 72c020801b..a320a649e9 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -1408,7 +1408,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1408 | bb.event.fire(startevent, self.cfgData) | 1408 | bb.event.fire(startevent, self.cfgData) |
1409 | 1409 | ||
1410 | taskdep = self.rqdata.dataCache.task_deps[fn] | 1410 | taskdep = self.rqdata.dataCache.task_deps[fn] |
1411 | if 'fakeroot' in taskdep and taskname in taskdep['fakeroot']: | 1411 | if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run: |
1412 | if not self.rq.fakeworker: | 1412 | if not self.rq.fakeworker: |
1413 | self.rq.start_fakeworker(self) | 1413 | self.rq.start_fakeworker(self) |
1414 | self.rq.fakeworker.stdin.write("<runtask>" + pickle.dumps((fn, task, taskname, False, self.cooker.collection.get_file_appends(fn))) + "</runtask>") | 1414 | self.rq.fakeworker.stdin.write("<runtask>" + pickle.dumps((fn, task, taskname, False, self.cooker.collection.get_file_appends(fn))) + "</runtask>") |