diff options
| author | Jose Quaresma <quaresma.jose@gmail.com> | 2021-11-04 19:28:20 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-11-21 11:35:37 +0000 |
| commit | c137acdae189d94b4b761de17d2a0b9ba7b79f41 (patch) | |
| tree | fcf6f0f83d18b9e158ddf456055505b71b12f34a | |
| parent | 2e37b2e66ad53b3699a203b8f7d8d8dd2177152e (diff) | |
| download | poky-c137acdae189d94b4b761de17d2a0b9ba7b79f41.tar.gz | |
bitbake: cooker: check if upstream hash equivalence server is available
When the user specify an invalid upstream hash equivalence server in
BB_HASHSERVE_UPSTREAM notify the user that we can't connect the server.
(Bitbake rev: e03ec0f26ff969919fc5413981172817a1c052eb)
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit be45aeb9a84f30c28711e87e2d2a4a86320a8d94)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | bitbake/lib/bb/cooker.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 89f1fad083..b041d2a06b 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
| @@ -388,12 +388,22 @@ class BBCooker: | |||
| 388 | # Create a new hash server bound to a unix domain socket | 388 | # Create a new hash server bound to a unix domain socket |
| 389 | if not self.hashserv: | 389 | if not self.hashserv: |
| 390 | dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db" | 390 | dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db" |
| 391 | upstream = self.data.getVar("BB_HASHSERVE_UPSTREAM") or None | ||
| 392 | if upstream: | ||
| 393 | import socket | ||
| 394 | try: | ||
| 395 | sock = socket.create_connection(upstream.split(":"), 5) | ||
| 396 | sock.close() | ||
| 397 | except socket.error as e: | ||
| 398 | bb.warn("BB_HASHSERVE_UPSTREAM is not valid, unable to connect hash equivalence server at '%s': %s" | ||
| 399 | % (upstream, repr(e))) | ||
| 400 | |||
| 391 | self.hashservaddr = "unix://%s/hashserve.sock" % self.data.getVar("TOPDIR") | 401 | self.hashservaddr = "unix://%s/hashserve.sock" % self.data.getVar("TOPDIR") |
| 392 | self.hashserv = hashserv.create_server( | 402 | self.hashserv = hashserv.create_server( |
| 393 | self.hashservaddr, | 403 | self.hashservaddr, |
| 394 | dbfile, | 404 | dbfile, |
| 395 | sync=False, | 405 | sync=False, |
| 396 | upstream=self.data.getVar("BB_HASHSERVE_UPSTREAM") or None, | 406 | upstream=upstream, |
| 397 | ) | 407 | ) |
| 398 | self.hashserv.process = multiprocessing.Process(target=self.hashserv.serve_forever) | 408 | self.hashserv.process = multiprocessing.Process(target=self.hashserv.serve_forever) |
| 399 | self.hashserv.process.start() | 409 | self.hashserv.process.start() |
