summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/cooker.py5
-rw-r--r--bitbake/lib/prserv/serv.py9
2 files changed, 10 insertions, 4 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index c7c2ca6483..2c54209f89 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1486,7 +1486,10 @@ class BBCooker:
1486 # Empty the environment. The environment will be populated as 1486 # Empty the environment. The environment will be populated as
1487 # necessary from the data store. 1487 # necessary from the data store.
1488 #bb.utils.empty_environment() 1488 #bb.utils.empty_environment()
1489 prserv.serv.auto_start(self.configuration.data) 1489 try:
1490 prserv.serv.auto_start(self.configuration.data)
1491 except prserv.serv.PRServiceConfigError:
1492 bb.event.fire(CookerExit(), self.configuration.event_data)
1490 return 1493 return
1491 1494
1492 def post_serve(self): 1495 def post_serve(self):
diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py
index 3489200536..6132100eed 100644
--- a/bitbake/lib/prserv/serv.py
+++ b/bitbake/lib/prserv/serv.py
@@ -263,6 +263,9 @@ def is_local_special(host, port):
263 else: 263 else:
264 return False 264 return False
265 265
266class PRServiceConfigError(Exception):
267 pass
268
266def auto_start(d): 269def auto_start(d):
267 global singleton 270 global singleton
268 271
@@ -273,14 +276,14 @@ def auto_start(d):
273 if len(host_params) != 2: 276 if len(host_params) != 2:
274 logger.critical('\n'.join(['PRSERV_HOST: incorrect format', 277 logger.critical('\n'.join(['PRSERV_HOST: incorrect format',
275 'Usage: PRSERV_HOST = "<hostname>:<port>"'])) 278 'Usage: PRSERV_HOST = "<hostname>:<port>"']))
276 return True 279 raise PRServiceConfigError
277 280
278 if is_local_special(host_params[0], int(host_params[1])) and not singleton: 281 if is_local_special(host_params[0], int(host_params[1])) and not singleton:
279 import bb.utils 282 import bb.utils
280 cachedir = (d.getVar("PERSISTENT_DIR", True) or d.getVar("CACHE", True)) 283 cachedir = (d.getVar("PERSISTENT_DIR", True) or d.getVar("CACHE", True))
281 if not cachedir: 284 if not cachedir:
282 logger.critical("Please set the 'PERSISTENT_DIR' or 'CACHE' variable") 285 logger.critical("Please set the 'PERSISTENT_DIR' or 'CACHE' variable")
283 sys.exit(1) 286 raise PRServiceConfigError
284 bb.utils.mkdirhier(cachedir) 287 bb.utils.mkdirhier(cachedir)
285 dbfile = os.path.join(cachedir, "prserv.sqlite3") 288 dbfile = os.path.join(cachedir, "prserv.sqlite3")
286 logfile = os.path.join(cachedir, "prserv.log") 289 logfile = os.path.join(cachedir, "prserv.log")
@@ -296,7 +299,7 @@ def auto_start(d):
296 return PRServerConnection(host,port).ping() 299 return PRServerConnection(host,port).ping()
297 except Exception: 300 except Exception:
298 logger.critical("PRservice %s:%d not available" % (host, port)) 301 logger.critical("PRservice %s:%d not available" % (host, port))
299 return False 302 raise PRServiceConfigError
300 303
301def auto_shutdown(d=None): 304def auto_shutdown(d=None):
302 global singleton 305 global singleton