1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-31 00:39:46 +00:00

bitbake: Cleanup bitbake server init process to be clearer to follow

Create a standard format server class instance with method calls
for each step in the server setup. There should be enough hooks
for each of the different server types.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2011-06-08 09:34:12 +01:00
parent e386fe4542
commit cd3c4292e7
5 changed files with 92 additions and 53 deletions
+14 -9
View File
@@ -40,7 +40,7 @@ from bb import cooker
from bb import ui
from bb import server
from bb.server import none
#from bb.server import xmlrpc
from bb.server import xmlrpc
__version__ = "1.13.0"
logger = logging.getLogger("BitBake")
@@ -173,9 +173,6 @@ Default BBFILES are the .bb files in the current directory.""")
ui_main = get_ui(configuration)
#server = bb.server.xmlrpc
server = bb.server.none
# Save a logfile for cooker into the current working directory. When the
# server is daemonized this logfile will be truncated.
cooker_logfile = os.path.join(os.getcwd(), "cooker.log")
@@ -192,21 +189,29 @@ Default BBFILES are the .bb files in the current directory.""")
# of the UIs (e.g. for DISPLAY, etc.)
bb.utils.clean_environment()
cooker = bb.cooker.BBCooker(configuration, server)
#server = bb.server.xmlrpc.BitBakeServer()
server = bb.server.none.BitBakeServer()
server.initServer()
idle = server.getServerIdleCB()
cooker = bb.cooker.BBCooker(configuration, idle)
cooker.parseCommandLine()
serverinfo = server.BitbakeServerInfo(cooker.server)
server.addcooker(cooker)
server.saveConnectionDetails()
server.detach(cooker_logfile)
server.BitBakeServerFork(cooker, cooker.server, serverinfo, cooker_logfile)
# Should no longer need to ever reference cooker
del cooker
logger.removeHandler(handler)
# Setup a connection to the server (cooker)
server_connection = server.BitBakeServerConnection(serverinfo)
server_connection = server.establishConnection()
try:
return server.BitbakeUILauch().launch(serverinfo, ui_main, server_connection.connection, server_connection.events)
return server.launchUI(ui_main, server_connection.connection, server_connection.events)
finally:
server_connection.terminate()