bitbake: data_smart: Fix hash corruption issue
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 13 Dec 2013 12:06:12 +0000 (12:06 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 13 Dec 2013 12:07:48 +0000 (12:07 +0000)
We were accidentally using references to sets in the contains functionality
instead of creating a copy. This could cause data corruption and corruption
of the resulting sstate checksums.

This patch fixes this to make a copy of the set and resolved the corruption
issue.

(Bitbake rev: 8f4733257ad665aa7c7e7061c543379d5e4e3af2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/data_smart.py

index 833d9f1..742c7fb 100644 (file)
@@ -123,7 +123,7 @@ class VariableParse:
 
             for k in parser.contains:
                 if k not in self.contains:
-                    self.contains[k] = parser.contains[k]
+                    self.contains[k] = parser.contains[k].copy()
                 else:
                     self.contains[k].update(parser.contains[k])
             value = utils.better_eval(codeobj, DataContext(self.d))