[bitbake-devel] [PATCH] cooker/command: Add setFeatures command
Richard Purdie
richard.purdie at linuxfoundation.org
Sun Mar 9 17:02:08 UTC 2014
Add a command to allow backends to set particular 'features' on the
cooker (server).
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
index e30d21d..3788207 100644
--- a/bitbake/lib/bb/command.py
+++ b/bitbake/lib/bb/command.py
@@ -257,6 +257,13 @@ class CommandsSync:
mask = params[3]
return bb.event.set_UIHmask(handlerNum, llevel, debug_domains, mask)
+ def setFeatures(self, command, params):
+ """
+ Set the cooker features to include the passed list of features
+ """
+ features = params[0]
+ command.cooker.setFeatures(features)
+
class CommandsAsync:
"""
A class of asynchronous commands
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 96f05b5..8d63195 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -149,6 +149,14 @@ class BBCooker:
self.parser = None
+ def setFeatures(self, features):
+ original_featureset = list(self.featureset)
+ for feature in features:
+ self.featureset.setFeature(feature)
+ bb.debug(1, "Features set %s (was %s)" % (original_featureset, list(self.featureset)))
+ if (original_featureset != list(self.featureset)):
+ self.reset()
+
def initConfigurationData(self):
self.state = state.initial
More information about the bitbake-devel
mailing list