summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDongxiao Xu <dongxiao.xu@intel.com>2012-01-06 09:02:29 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-06 15:55:57 (GMT)
commitce9e6bad8f9f63687160c300970b49fe2bc50e52 (patch)
tree89559a2b20034e7ab4033d5cae51a9bbb7c96df2
parenteb2a8fe6c0c80632b1aa6d2bd8575ad8c2851133 (diff)
downloadpoky-ce9e6bad8f9f63687160c300970b49fe2bc50e52.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. (Bitbake rev: 2677254cf9792cee083605267570d93b425cc2db) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xbitbake/bin/bitbake23
1 files changed, 16 insertions, 7 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
index 9eb558b..c2e6822 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -165,6 +165,9 @@ Default BBFILES are the .bb files in the current directory.""")
165 parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not", 165 parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not",
166 action = "store_true", dest = "revisions_changed", default = False) 166 action = "store_true", dest = "revisions_changed", default = False)
167 167
168 parser.add_option("", "--server-only", help = "Run bitbake without UI, the frontend can connect with bitbake server itself",
169 action = "store_true", dest = "server_only", default = False)
170
168 options, args = parser.parse_args(sys.argv) 171 options, args = parser.parse_args(sys.argv)
169 172
170 configuration = BBConfiguration(options) 173 configuration = BBConfiguration(options)
@@ -186,6 +189,9 @@ Default BBFILES are the .bb files in the current directory.""")
186 sys.exit("FATAL: Invalid server type '%s' specified.\n" 189 sys.exit("FATAL: Invalid server type '%s' specified.\n"
187 "Valid interfaces: xmlrpc, process [default], none." % servertype) 190 "Valid interfaces: xmlrpc, process [default], none." % servertype)
188 191
192 if configuration.server_only and configuration.servertype != "xmlrpc":
193 sys.exit("FATAL: If '--server-only' is defined, we must set the servertype as 'xmlrpc'.\n")
194
189 # Save a logfile for cooker into the current working directory. When the 195 # Save a logfile for cooker into the current working directory. When the
190 # server is daemonized this logfile will be truncated. 196 # server is daemonized this logfile will be truncated.
191 cooker_logfile = os.path.join(os.getcwd(), "cooker.log") 197 cooker_logfile = os.path.join(os.getcwd(), "cooker.log")
@@ -222,14 +228,17 @@ Default BBFILES are the .bb files in the current directory.""")
222 228
223 logger.removeHandler(handler) 229 logger.removeHandler(handler)
224 230
225 # Setup a connection to the server (cooker) 231 if not configuration.server_only:
226 server_connection = server.establishConnection() 232 # Setup a connection to the server (cooker)
233 server_connection = server.establishConnection()
227 234
228 try: 235 try:
229 return server.launchUI(ui_main, server_connection.connection, server_connection.events) 236 return server.launchUI(ui_main, server_connection.connection, server_connection.events)
230 finally: 237 finally:
231 bb.event.ui_queue = [] 238 bb.event.ui_queue = []
232 server_connection.terminate() 239 server_connection.terminate()
240 else:
241 print("server address: %s, server port: %s" % (server.serverinfo.host, server.serverinfo.port))
233 242
234 return 1 243 return 1
235 244