From: Richard Purdie Date: Sun, 9 Mar 2014 17:02:08 +0000 (-0700) Subject: bitbake: cooker/command: Add setFeatures command X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d51bf8d9f6d34542879d286e127dbeb4d3bd6253;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bitbake: cooker/command: Add setFeatures command Add a command to allow backends to set particular 'features' on the cooker (server). (Bitbake rev: f547d6ec6cfd677d71fa96dd3c69823c00dc6c69) Signed-off-by: Richard Purdie --- diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py index e30d21d379c..3788207122c 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 96f05b5309b..8d63195189a 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