diff options
-rwxr-xr-x | bitbake/bin/bitbake-server | 7 | ||||
-rwxr-xr-x | bitbake/lib/bb/main.py | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/server/process.py | 8 |
3 files changed, 10 insertions, 7 deletions
diff --git a/bitbake/bin/bitbake-server b/bitbake/bin/bitbake-server index f53f88b6b0..825e9d56af 100755 --- a/bitbake/bin/bitbake-server +++ b/bitbake/bin/bitbake-server | |||
@@ -16,7 +16,7 @@ if sys.getfilesystemencoding() != "utf-8": | |||
16 | sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.") | 16 | sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.") |
17 | 17 | ||
18 | # Users shouldn't be running this code directly | 18 | # Users shouldn't be running this code directly |
19 | if len(sys.argv) != 10 or not sys.argv[1].startswith("decafbad"): | 19 | if len(sys.argv) != 11 or not sys.argv[1].startswith("decafbad"): |
20 | print("bitbake-server is meant for internal execution by bitbake itself, please don't use it standalone.") | 20 | print("bitbake-server is meant for internal execution by bitbake itself, please don't use it standalone.") |
21 | sys.exit(1) | 21 | sys.exit(1) |
22 | 22 | ||
@@ -28,7 +28,8 @@ logfile = sys.argv[4] | |||
28 | lockname = sys.argv[5] | 28 | lockname = sys.argv[5] |
29 | sockname = sys.argv[6] | 29 | sockname = sys.argv[6] |
30 | timeout = float(sys.argv[7]) | 30 | timeout = float(sys.argv[7]) |
31 | xmlrpcinterface = (sys.argv[8], int(sys.argv[9])) | 31 | profile = bool(int(sys.argv[8])) |
32 | xmlrpcinterface = (sys.argv[9], int(sys.argv[10])) | ||
32 | if xmlrpcinterface[0] == "None": | 33 | if xmlrpcinterface[0] == "None": |
33 | xmlrpcinterface = (None, xmlrpcinterface[1]) | 34 | xmlrpcinterface = (None, xmlrpcinterface[1]) |
34 | 35 | ||
@@ -49,5 +50,5 @@ logger = logging.getLogger("BitBake") | |||
49 | handler = bb.event.LogHandler() | 50 | handler = bb.event.LogHandler() |
50 | logger.addHandler(handler) | 51 | logger.addHandler(handler) |
51 | 52 | ||
52 | bb.server.process.execServer(lockfd, readypipeinfd, lockname, sockname, timeout, xmlrpcinterface) | 53 | bb.server.process.execServer(lockfd, readypipeinfd, lockname, sockname, timeout, xmlrpcinterface, profile) |
53 | 54 | ||
diff --git a/bitbake/lib/bb/main.py b/bitbake/lib/bb/main.py index 93eda3632e..f56c3d46a2 100755 --- a/bitbake/lib/bb/main.py +++ b/bitbake/lib/bb/main.py | |||
@@ -429,7 +429,7 @@ def setup_bitbake(configParams, extrafeatures=None): | |||
429 | logger.info("Starting bitbake server...") | 429 | logger.info("Starting bitbake server...") |
430 | # Clear the event queue since we already displayed messages | 430 | # Clear the event queue since we already displayed messages |
431 | bb.event.ui_queue = [] | 431 | bb.event.ui_queue = [] |
432 | server = bb.server.process.BitBakeServer(lock, sockname, featureset, configParams.server_timeout, configParams.xmlrpcinterface) | 432 | server = bb.server.process.BitBakeServer(lock, sockname, featureset, configParams.server_timeout, configParams.xmlrpcinterface, configParams.profile) |
433 | 433 | ||
434 | else: | 434 | else: |
435 | logger.info("Reconnecting to bitbake server...") | 435 | logger.info("Reconnecting to bitbake server...") |
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py index 5d02c0b9f5..afd77ac0a5 100644 --- a/bitbake/lib/bb/server/process.py +++ b/bitbake/lib/bb/server/process.py | |||
@@ -448,13 +448,14 @@ start_log_datetime_format = '%Y-%m-%d %H:%M:%S.%f' | |||
448 | 448 | ||
449 | class BitBakeServer(object): | 449 | class BitBakeServer(object): |
450 | 450 | ||
451 | def __init__(self, lock, sockname, featureset, server_timeout, xmlrpcinterface): | 451 | def __init__(self, lock, sockname, featureset, server_timeout, xmlrpcinterface, profile): |
452 | 452 | ||
453 | self.server_timeout = server_timeout | 453 | self.server_timeout = server_timeout |
454 | self.xmlrpcinterface = xmlrpcinterface | 454 | self.xmlrpcinterface = xmlrpcinterface |
455 | self.featureset = featureset | 455 | self.featureset = featureset |
456 | self.sockname = sockname | 456 | self.sockname = sockname |
457 | self.bitbake_lock = lock | 457 | self.bitbake_lock = lock |
458 | self.profile = profile | ||
458 | self.readypipe, self.readypipein = os.pipe() | 459 | self.readypipe, self.readypipein = os.pipe() |
459 | 460 | ||
460 | # Place the log in the builddirectory alongside the lock file | 461 | # Place the log in the builddirectory alongside the lock file |
@@ -518,9 +519,9 @@ class BitBakeServer(object): | |||
518 | os.set_inheritable(self.bitbake_lock.fileno(), True) | 519 | os.set_inheritable(self.bitbake_lock.fileno(), True) |
519 | os.set_inheritable(self.readypipein, True) | 520 | os.set_inheritable(self.readypipein, True) |
520 | serverscript = os.path.realpath(os.path.dirname(__file__) + "/../../../bin/bitbake-server") | 521 | serverscript = os.path.realpath(os.path.dirname(__file__) + "/../../../bin/bitbake-server") |
521 | os.execl(sys.executable, "bitbake-server", serverscript, "decafbad", str(self.bitbake_lock.fileno()), str(self.readypipein), self.logfile, self.bitbake_lock.name, self.sockname, str(self.server_timeout or 0), str(self.xmlrpcinterface[0]), str(self.xmlrpcinterface[1])) | 522 | os.execl(sys.executable, "bitbake-server", serverscript, "decafbad", str(self.bitbake_lock.fileno()), str(self.readypipein), self.logfile, self.bitbake_lock.name, self.sockname, str(self.server_timeout or 0), str(int(self.profile)), str(self.xmlrpcinterface[0]), str(self.xmlrpcinterface[1])) |
522 | 523 | ||
523 | def execServer(lockfd, readypipeinfd, lockname, sockname, server_timeout, xmlrpcinterface): | 524 | def execServer(lockfd, readypipeinfd, lockname, sockname, server_timeout, xmlrpcinterface, profile): |
524 | 525 | ||
525 | import bb.cookerdata | 526 | import bb.cookerdata |
526 | import bb.cooker | 527 | import bb.cooker |
@@ -549,6 +550,7 @@ def execServer(lockfd, readypipeinfd, lockname, sockname, server_timeout, xmlrpc | |||
549 | try: | 550 | try: |
550 | featureset = [] | 551 | featureset = [] |
551 | cooker = bb.cooker.BBCooker(featureset, server.register_idle_function) | 552 | cooker = bb.cooker.BBCooker(featureset, server.register_idle_function) |
553 | cooker.configuration.profile = profile | ||
552 | except bb.BBHandledException: | 554 | except bb.BBHandledException: |
553 | return None | 555 | return None |
554 | writer.send("r") | 556 | writer.send("r") |