bitbake: Make bitbake server type configurable.

Add -t options in bitbake for configuring server type.

(Bitbake rev: 5591329948648927154024bcb882c45766defac2)

Signed-off-by: Liping Ke <liping.ke@intel.com>
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Liping Ke 2011-06-30 23:02:48 -07:00 committed by Richard Purdie
parent 94a57fd87e
commit cbd00b8927
1 changed files with 18 additions and 7 deletions

View File

@ -39,15 +39,11 @@ import bb.msg
from bb import cooker
from bb import ui
from bb import server
from bb.server import none
#from bb.server import process
#from bb.server import xmlrpc
__version__ = "1.13.2"
logger = logging.getLogger("BitBake")
class BBConfiguration(object):
"""
Manages build options and configurations for one run
@ -160,6 +156,9 @@ Default BBFILES are the .bb files in the current directory.""")
parser.add_option("-u", "--ui", help = "userinterface to use",
action = "store", dest = "ui")
parser.add_option("-t", "--servertype", help = "Choose which server to use, none, process or xmlrpc",
action = "store", dest = "servertype")
parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not",
action = "store_true", dest = "revisions_changed", default = False)
@ -170,6 +169,20 @@ Default BBFILES are the .bb files in the current directory.""")
ui_main = get_ui(configuration)
# Server type could be xmlrpc or none currently, if nothing is specified,
# default server would be none
if configuration.servertype:
server_type = configuration.servertype
else:
server_type = 'none'
try:
module = __import__("bb.server", fromlist = [server_type])
server = getattr(module, server_type)
except AttributeError:
sys.exit("FATAL: Invalid server type '%s' specified.\n"
"Valid interfaces: xmlrpc, process, none [default]." % servertype)
# 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")
@ -186,9 +199,7 @@ Default BBFILES are the .bb files in the current directory.""")
# of the UIs (e.g. for DISPLAY, etc.)
bb.utils.clean_environment()
server = bb.server.none.BitBakeServer()
#server = bb.server.process.BitBakeServer()
#server = bb.server.xmlrpc.BitBakeServer()
server = server.BitBakeServer(
server.initServer()
idle = server.getServerIdleCB()