bitbake: runqueue: Split runqueue to use bitbake-worker
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 7 Jun 2013 17:11:09 +0000 (18:11 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 14 Jun 2013 11:52:56 +0000 (12:52 +0100)
commitfeaff5486ac95dca38b0964ac20a5c69b82cb244
tree843d782d4bcba39d003a28e6c8683de30a913211
parentf6ff5689fdf8e43f420193a3840f30460eee96d3
bitbake: runqueue: Split runqueue to use bitbake-worker

This is a pretty fundamental change to the way bitbake operates. It
splits out the task execution part of runqueue into a completely
separately exec'd process called bitbake-worker.

This means that the separate process has to build its own datastore and
that configuration needs to be passed from the cooker over to the
bitbake worker process.

Known issues:

* Hob is broken with this patch since it writes to the configuration
  and that configuration isn't preserved in bitbake-worker.
* We create a worker for setscene, then a new worker for the main task
  execution. This is wasteful but shouldn't be hard to fix.
* We probably send too much data over to bitbake-worker, need to
  see if we can streamline it.

These are issues which will be followed up in subsequent patches.

This patch sets the groundwork for the removal of the double bitbake
execution for psuedo which will be in a follow on patch.

(Bitbake rev: b2e26f1db28d74f2dd9df8ab4ed3b472503b9a5c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/bin/bitbake-worker [new file with mode: 0755]
bitbake/lib/bb/cache.py
bitbake/lib/bb/cookerdata.py
bitbake/lib/bb/event.py
bitbake/lib/bb/runqueue.py
bitbake/lib/bb/siggen.py