diff options
| -rw-r--r-- | bitbake/lib/bb/cooker.py | 5 | ||||
| -rw-r--r-- | bitbake/lib/prserv/serv.py | 9 |
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 | ||
| 266 | class PRServiceConfigError(Exception): | ||
| 267 | pass | ||
| 268 | |||
| 266 | def auto_start(d): | 269 | def 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 | ||
| 301 | def auto_shutdown(d=None): | 304 | def auto_shutdown(d=None): |
| 302 | global singleton | 305 | global singleton |
