cooker: Fix environment history printing

Message ID 20220310131145.609187-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit 9596bffc9903f023d1cc97ce531ddb1cf010c4d7
Headers show
Series cooker: Fix environment history printing | expand

Commit Message

Richard Purdie March 10, 2022, 1:11 p.m. UTC
bitbake -e is not showing variable history correctly for all variables.
The issue was triggered by the change to knotty to default to enabling
variable tracking in the base datastore but that exposed another issue.

The real problem is that calling reset() inside cooker reverts to the
data tracking enabled by the UI for the base datastore, then turns
off tracking. In the case of the environment printing code, it needs
it to be left on.

Tweak the code to ensure data store tracking really is enabled.

The code here is clearly a bit of a mess but this at least fixes a
clear regression until more invasive improvements can be made.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 lib/bb/cooker.py | 2 ++
 1 file changed, 2 insertions(+)

Patch

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 6996e62375..f79dc2770d 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -555,6 +555,8 @@  class BBCooker:
         if not orig_tracking:
             self.enableDataTracking()
             self.reset()
+            # reset() resets to the UI requested value so we have to redo this
+            self.enableDataTracking()
 
         def mc_base(p):
             if p.startswith('mc:'):