|
@@ -266,6 +266,7 @@ class RunQueueData:
|
|
|
self.multi_provider_whitelist = (cfgData.getVar("MULTI_PROVIDER_WHITELIST") or "").split()
|
|
|
self.setscenewhitelist = get_setscene_enforce_whitelist(cfgData)
|
|
|
self.setscenewhitelist_checked = False
|
|
|
+ self.setscene_enforce = (cfgData.getVar('BB_SETSCENE_ENFORCE') == "1")
|
|
|
self.init_progress_reporter = bb.progress.DummyMultiStageProcessProgressReporter()
|
|
|
|
|
|
self.reset()
|
|
@@ -1790,7 +1791,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
|
|
|
bb.event.fire(startevent, self.cfgData)
|
|
|
self.runq_running.add(task)
|
|
|
self.stats.taskActive()
|
|
|
- if not self.cooker.configuration.dry_run:
|
|
|
+ if not (self.cooker.configuration.dry_run or self.rqdata.setscene_enforce):
|
|
|
bb.build.make_stamp(taskname, self.rqdata.dataCaches[mc], taskfn)
|
|
|
self.task_complete(task)
|
|
|
return True
|
|
@@ -1801,7 +1802,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
|
|
|
taskdepdata = self.build_taskdepdata(task)
|
|
|
|
|
|
taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
|
|
|
- if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run:
|
|
|
+ if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not (self.cooker.configuration.dry_run or self.rqdata.setscene_enforce):
|
|
|
if not self.rq.fakeworker:
|
|
|
try:
|
|
|
self.rq.start_fakeworker(self)
|
|
@@ -1810,10 +1811,10 @@ class RunQueueExecuteTasks(RunQueueExecute):
|
|
|
self.rq.state = runQueueFailed
|
|
|
self.stats.taskFailed()
|
|
|
return True
|
|
|
- self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(fn), taskdepdata)) + b"</runtask>")
|
|
|
+ self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(fn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
|
|
|
self.rq.fakeworker[mc].process.stdin.flush()
|
|
|
else:
|
|
|
- self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata)) + b"</runtask>")
|
|
|
+ self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
|
|
|
self.rq.worker[mc].process.stdin.flush()
|
|
|
|
|
|
self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
|
|
@@ -2219,10 +2220,10 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
|
|
|
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run:
|
|
|
if not self.rq.fakeworker:
|
|
|
self.rq.start_fakeworker(self)
|
|
|
- self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata)) + b"</runtask>")
|
|
|
+ self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
|
|
|
self.rq.fakeworker[mc].process.stdin.flush()
|
|
|
else:
|
|
|
- self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata)) + b"</runtask>")
|
|
|
+ self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
|
|
|
self.rq.worker[mc].process.stdin.flush()
|
|
|
|
|
|
self.runq_running.add(task)
|