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 | |
| 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>
| -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>") |
