summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDongxiao Xu <dongxiao.xu@intel.com>2012-01-06 17:02:29 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-06 15:54:46 +0000
commit2677254cf9792cee083605267570d93b425cc2db (patch)
treefcdba5f3d6b76347115b1a59657b28eae4b55ebd
parentc353316b2efcc7a893d6b4aa9a9647d51a6f69e3 (diff)
downloadbitbake-2677254cf9792cee083605267570d93b425cc2db.tar.gz
bitbake: add a new option "--server-only"
Create a new option "--server-only" for bitbake command, which allows bitbake runs as a server, and let frontend connect the server itself. "--server-only" should work with "-t xmlrpc", or bitbake will exit. bitbake --server-only -t xmlrpc will print out the server address and port information. Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xbin/bitbake23
1 files changed, 16 insertions, 7 deletions
diff --git a/bin/bitbake b/bin/bitbake
index 9eb558b9e..c2e682221 100755
--- a/bin/bitbake
+++ b/bin/bitbake
@@ -165,6 +165,9 @@ Default BBFILES are the .bb files in the current directory.""")
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)
+ parser.add_option("", "--server-only", help = "Run bitbake without UI, the frontend can connect with bitbake server itself",
+ action = "store_true", dest = "server_only", default = False)
+
options, args = parser.parse_args(sys.argv)
configuration = BBConfiguration(options)
@@ -186,6 +189,9 @@ Default BBFILES are the .bb files in the current directory.""")
sys.exit("FATAL: Invalid server type '%s' specified.\n"
"Valid interfaces: xmlrpc, process [default], none." % servertype)
+ if configuration.server_only and configuration.servertype != "xmlrpc":
+ sys.exit("FATAL: If '--server-only' is defined, we must set the servertype as 'xmlrpc'.\n")
+
# 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")
@@ -222,14 +228,17 @@ Default BBFILES are the .bb files in the current directory.""")
logger.removeHandler(handler)
- # Setup a connection to the server (cooker)
- server_connection = server.establishConnection()
+ if not configuration.server_only:
+ # Setup a connection to the server (cooker)
+ server_connection = server.establishConnection()
- try:
- return server.launchUI(ui_main, server_connection.connection, server_connection.events)
- finally:
- bb.event.ui_queue = []
- server_connection.terminate()
+ try:
+ return server.launchUI(ui_main, server_connection.connection, server_connection.events)
+ finally:
+ bb.event.ui_queue = []
+ server_connection.terminate()
+ else:
+ print("server address: %s, server port: %s" % (server.serverinfo.host, server.serverinfo.port))
return 1