diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-08-31 11:37:53 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-02 16:29:36 +0100 |
commit | a9041fc96a14e718c0c1d1676e705343b9e872d3 (patch) | |
tree | 3c80c05c1104f7995552cdc6379dddc1b0a28823 /lib/bb/runqueue.py | |
parent | d98cc31d6668bc1d6372664593126b5e5132ef2c (diff) | |
download | bitbake-a9041fc96a14e718c0c1d1676e705343b9e872d3.tar.gz |
build/runqueue: Add noextra stamp file parameter to fix multiconfig builds
We can't execute the same task for the same package_arch multiple
times as the current setup has conflicting directories. Since
these would usually have the same stamp/hash, we want to execute in
sequence rather than in parallel, so for the purposes of task execution,
don't consider the "extra-info" on the stamp files. We need to add
a parameter to the stamp function to achieve this.
This avoids multiple update-rc.d populate_sysroot tasks executing in
parallel and breaking multiconfig builds.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/runqueue.py')
-rw-r--r-- | lib/bb/runqueue.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index ce30fccd4..e4c97379a 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -137,7 +137,7 @@ class RunQueueScheduler(object): for tid in self.rqdata.runtaskentries: (mc, fn, taskname) = split_tid(tid) taskfn = taskfn_fromtid(tid) - self.stamps[tid] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn) + self.stamps[tid] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True) if tid in self.rq.runq_buildable: self.buildable.append(tid) @@ -1805,7 +1805,7 @@ class RunQueueExecuteTasks(RunQueueExecute): 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.flush() - self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn) + self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True) self.build_stamps2.append(self.build_stamps[task]) self.runq_running.add(task) self.stats.taskActive() |