diff options
| -rw-r--r-- | bitbake/lib/bb/server/xmlrpc.py | 17 | ||||
| -rw-r--r-- | bitbake/lib/bb/ui/uievent.py | 4 |
2 files changed, 10 insertions, 11 deletions
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py index 46d074a738..bf867b584b 100644 --- a/bitbake/lib/bb/server/xmlrpc.py +++ b/bitbake/lib/bb/server/xmlrpc.py | |||
| @@ -89,7 +89,7 @@ class BitBakeServerCommands(): | |||
| 89 | self.server = server | 89 | self.server = server |
| 90 | self.has_client = False | 90 | self.has_client = False |
| 91 | 91 | ||
| 92 | def registerEventHandler(self, host, port, featureset = []): | 92 | def registerEventHandler(self, host, port): |
| 93 | """ | 93 | """ |
| 94 | Register a remote UI Event Handler | 94 | Register a remote UI Event Handler |
| 95 | """ | 95 | """ |
| @@ -99,13 +99,6 @@ class BitBakeServerCommands(): | |||
| 99 | if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): | 99 | if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]): |
| 100 | return None | 100 | return None |
| 101 | 101 | ||
| 102 | original_featureset = list(self.cooker.featureset) | ||
| 103 | for f in featureset: | ||
| 104 | self.cooker.featureset.setFeature(f) | ||
| 105 | |||
| 106 | if (original_featureset != list(self.cooker.featureset)): | ||
| 107 | self.cooker.reset() | ||
| 108 | |||
| 109 | self.event_handle = bb.event.register_UIHhandler(s) | 102 | self.event_handle = bb.event.register_UIHhandler(s) |
| 110 | return self.event_handle | 103 | return self.event_handle |
| 111 | 104 | ||
| @@ -293,9 +286,15 @@ class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): | |||
| 293 | return None | 286 | return None |
| 294 | self.transport.set_connection_token(token) | 287 | self.transport.set_connection_token(token) |
| 295 | 288 | ||
| 296 | self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo, self.featureset) | 289 | self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) |
| 297 | for event in bb.event.ui_queue: | 290 | for event in bb.event.ui_queue: |
| 298 | self.events.queue_event(event) | 291 | self.events.queue_event(event) |
| 292 | |||
| 293 | _, error = self.connection.runCommand(["setFeatures", self.featureset]) | ||
| 294 | if error: | ||
| 295 | logger.error("Unable to set the cooker to the correct featureset: %s" % error) | ||
| 296 | raise BaseException(error) | ||
| 297 | |||
| 299 | return self | 298 | return self |
| 300 | 299 | ||
| 301 | def removeClient(self): | 300 | def removeClient(self): |
diff --git a/bitbake/lib/bb/ui/uievent.py b/bitbake/lib/bb/ui/uievent.py index 2133b44477..98658f68bf 100644 --- a/bitbake/lib/bb/ui/uievent.py +++ b/bitbake/lib/bb/ui/uievent.py | |||
| @@ -28,7 +28,7 @@ import socket, threading, pickle | |||
| 28 | from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler | 28 | from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler |
| 29 | 29 | ||
| 30 | class BBUIEventQueue: | 30 | class BBUIEventQueue: |
| 31 | def __init__(self, BBServer, clientinfo=("localhost, 0"), featureset=[]): | 31 | def __init__(self, BBServer, clientinfo=("localhost, 0")): |
| 32 | 32 | ||
| 33 | self.eventQueue = [] | 33 | self.eventQueue = [] |
| 34 | self.eventQueueLock = threading.Lock() | 34 | self.eventQueueLock = threading.Lock() |
| @@ -44,7 +44,7 @@ class BBUIEventQueue: | |||
| 44 | server.register_function( self.send_event, "event.sendpickle" ) | 44 | server.register_function( self.send_event, "event.sendpickle" ) |
| 45 | server.socket.settimeout(1) | 45 | server.socket.settimeout(1) |
| 46 | 46 | ||
| 47 | self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port, featureset) | 47 | self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port) |
| 48 | 48 | ||
| 49 | if (self.EventHandle == None): | 49 | if (self.EventHandle == None): |
| 50 | bb.fatal("Could not register UI event handler") | 50 | bb.fatal("Could not register UI event handler") |
