bitbake: tinfoil: add a means of enabling variable history tracking
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Wed, 3 Sep 2014 16:06:42 +0000 (17:06 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 5 Sep 2014 09:14:25 +0000 (10:14 +0100)
Unfortunately it seems like the external use of the cooker
enableDataTracking() function broke at some point since the code that
reads it now runs within BBCooker's constructor. Since this now has to
be done early, add a parameter to Tinfoil's constructor to allow
enabling variable history tracking.

Fixes [YOCTO #6676].

(Bitbake rev: a9439b136f55f3f0e80ff053cd3b159da69ba362)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/tinfoil.py

index 751a2d7..6bcbd47 100644 (file)
@@ -25,12 +25,12 @@ import bb.cache
 import bb.cooker
 import bb.providers
 import bb.utils
-from bb.cooker import state, BBCooker
+from bb.cooker import state, BBCooker, CookerFeatures
 from bb.cookerdata import CookerConfiguration, ConfigParameters
 import bb.fetch2
 
 class Tinfoil:
-    def __init__(self, output=sys.stdout):
+    def __init__(self, output=sys.stdout, tracking=False):
         # Needed to avoid deprecation warnings with python 2.6
         warnings.filterwarnings("ignore", category=DeprecationWarning)
 
@@ -48,7 +48,10 @@ class Tinfoil:
         configparams = TinfoilConfigParameters(parse_only=True)
         self.config.setConfigParameters(configparams)
         self.config.setServerRegIdleCallback(self.register_idle_function)
-        self.cooker = BBCooker(self.config)
+        features = []
+        if tracking:
+            features.append(CookerFeatures.BASEDATASTORE_TRACKING)
+        self.cooker = BBCooker(self.config, features)
         self.config_data = self.cooker.data
         bb.providers.logger.setLevel(logging.ERROR)
         self.cooker_data = None