diff options
Diffstat (limited to 'bitbake/bin')
-rwxr-xr-x | bitbake/bin/bitbake-worker | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker index 4dbd681172..5010bada79 100755 --- a/bitbake/bin/bitbake-worker +++ b/bitbake/bin/bitbake-worker | |||
@@ -136,7 +136,7 @@ def sigterm_handler(signum, frame): | |||
136 | os.killpg(0, signal.SIGTERM) | 136 | os.killpg(0, signal.SIGTERM) |
137 | sys.exit() | 137 | sys.exit() |
138 | 138 | ||
139 | def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, appends, taskdepdata, extraconfigdata, quieterrors=False): | 139 | def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False): |
140 | # We need to setup the environment BEFORE the fork, since | 140 | # We need to setup the environment BEFORE the fork, since |
141 | # a fork() or exec*() activates PSEUDO... | 141 | # a fork() or exec*() activates PSEUDO... |
142 | 142 | ||
@@ -152,8 +152,10 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, append | |||
152 | except TypeError: | 152 | except TypeError: |
153 | umask = taskdep['umask'][taskname] | 153 | umask = taskdep['umask'][taskname] |
154 | 154 | ||
155 | dry_run = cfg.dry_run or dry_run_exec | ||
156 | |||
155 | # We can't use the fakeroot environment in a dry run as it possibly hasn't been built | 157 | # We can't use the fakeroot environment in a dry run as it possibly hasn't been built |
156 | if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not cfg.dry_run: | 158 | if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not dry_run: |
157 | envvars = (workerdata["fakerootenv"][fn] or "").split() | 159 | envvars = (workerdata["fakerootenv"][fn] or "").split() |
158 | for key, value in (var.split('=') for var in envvars): | 160 | for key, value in (var.split('=') for var in envvars): |
159 | envbackup[key] = os.environ.get(key) | 161 | envbackup[key] = os.environ.get(key) |
@@ -263,7 +265,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, append | |||
263 | logger.critical(traceback.format_exc()) | 265 | logger.critical(traceback.format_exc()) |
264 | os._exit(1) | 266 | os._exit(1) |
265 | try: | 267 | try: |
266 | if cfg.dry_run: | 268 | if dry_run: |
267 | return 0 | 269 | return 0 |
268 | return bb.build.exec_task(fn, taskname, the_data, cfg.profile) | 270 | return bb.build.exec_task(fn, taskname, the_data, cfg.profile) |
269 | except: | 271 | except: |
@@ -421,10 +423,10 @@ class BitbakeWorker(object): | |||
421 | sys.exit(0) | 423 | sys.exit(0) |
422 | 424 | ||
423 | def handle_runtask(self, data): | 425 | def handle_runtask(self, data): |
424 | fn, task, taskname, quieterrors, appends, taskdepdata = pickle.loads(data) | 426 | fn, task, taskname, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data) |
425 | workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname)) | 427 | workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname)) |
426 | 428 | ||
427 | pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, appends, taskdepdata, self.extraconfigdata, quieterrors) | 429 | pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec) |
428 | 430 | ||
429 | self.build_pids[pid] = task | 431 | self.build_pids[pid] = task |
430 | self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout) | 432 | self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout) |