diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-03 07:34:02 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-03 07:36:25 +0100 |
commit | a8b723498c9a7106210db140452886894494b4d6 (patch) | |
tree | a578d8a5b177223d9452dced9098cb5aa6a7cee8 /bitbake/lib | |
parent | 55c662d606558ff8a808a88eb48f69f7d84f6e8d (diff) | |
download | poky-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')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 7 |
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 | ||