summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-03 07:34:02 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-03 07:36:25 +0100
commita8b723498c9a7106210db140452886894494b4d6 (patch)
treea578d8a5b177223d9452dced9098cb5aa6a7cee8 /bitbake/lib/bb
parent55c662d606558ff8a808a88eb48f69f7d84f6e8d (diff)
downloadpoky-a8b723498c9a7106210db140452886894494b4d6.tar.gz
bitbake: cooker: Resolve file monitoring race issues when using memres bitbake
If you load memory resident bitbake, then change bblayers.conf or other configuration files, then execute your first command, bitbake will not notice the changes. This is because it adds the file watches during inital parsing, which happens at the time the first command is run. To fix this, we move the addition of the file watches to earlier in the process, so bitbake then does track them correctly. This also avoids some issues Paul was seeing with tinfoil2. (Bitbake rev: b9375c73e736003e66575969c9ea244403e47aeb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/cooker.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 52b81be7b6..0f99342a0f 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -349,6 +349,10 @@ class BBCooker:
349 if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset: 349 if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset:
350 self.disableDataTracking() 350 self.disableDataTracking()
351 351
352 self.data.renameVar("__depends", "__base_depends")
353 self.add_filewatch(self.data.getVar("__base_depends", False), self.configwatcher)
354
355
352 def enableDataTracking(self): 356 def enableDataTracking(self):
353 self.configuration.tracking = True 357 self.configuration.tracking = True
354 if hasattr(self, "data"): 358 if hasattr(self, "data"):
@@ -1464,9 +1468,6 @@ class BBCooker:
1464 self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities) 1468 self.collection = CookerCollectFiles(self.recipecache.bbfile_config_priorities)
1465 (filelist, masked) = self.collection.collect_bbfiles(self.data, self.expanded_data) 1469 (filelist, masked) = self.collection.collect_bbfiles(self.data, self.expanded_data)
1466 1470
1467 self.data.renameVar("__depends", "__base_depends")
1468 self.add_filewatch(self.data.getVar("__base_depends", False), self.configwatcher)
1469
1470 self.parser = CookerParser(self, filelist, masked) 1471 self.parser = CookerParser(self, filelist, masked)
1471 self.parsecache_valid = True 1472 self.parsecache_valid = True
1472 1473