summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbitbake/bin/bitbake-diffsigs5
-rw-r--r--bitbake/lib/bb/siggen.py24
2 files changed, 28 insertions, 1 deletions
diff --git a/bitbake/bin/bitbake-diffsigs b/bitbake/bin/bitbake-diffsigs
index e5595cdf58..5eb77ce59d 100755
--- a/bitbake/bin/bitbake-diffsigs
+++ b/bitbake/bin/bitbake-diffsigs
@@ -6,4 +6,7 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), '
import bb.siggen
-bb.siggen.compare_sigfiles(sys.argv[1], sys.argv[2])
+if len(sys.argv) > 2:
+ bb.siggen.compare_sigfiles(sys.argv[1], sys.argv[2])
+else:
+ bb.siggen.dump_sigfile(sys.argv[1])
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 0db28afc8d..066710c3bb 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -229,6 +229,30 @@ def compare_sigfiles(a, b):
if a_data['runtaskhashes'][dep] != b_data['runtaskhashes'][dep]:
print "Hash for dependent task %s changed from %s to %s" % (dep, a_data['runtaskhashes'][dep], b_data['runtaskhashes'][dep])
+def dump_sigfile(a):
+ p1 = pickle.Unpickler(file(a, "rb"))
+ a_data = p1.load()
+
+ print "basewhitelist: %s" % (a_data['basewhitelist'])
+
+ print "taskwhitelist: %s" % (a_data['taskwhitelist'])
+
+ print "Task dependencies: %s" % (sorted(a_data['taskdeps']))
+
+ print "basehash: %s" % (a_data['basehash'])
+
+ for dep in a_data['gendeps']:
+ print "List of dependencies for variable %s is %s" % (dep, a_data['gendeps'][dep])
+
+ for dep in a_data['varvals']:
+ print "Variable %s value is %s" % (dep, a_data['varvals'][dep])
+
+ if 'runtaskdeps' in a_data:
+ print "Tasks this task depends on: %s" % (a_data['runtaskdeps'])
+
+ if 'runtaskhashes' in a_data:
+ for dep in a_data['runtaskhashes']:
+ print "Hash for dependent task %s is %s" % (dep, a_data['runtaskhashes'][dep])