summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/bitbake4
-rw-r--r--lib/bb/cookerdata.py2
-rw-r--r--lib/bb/runqueue.py9
3 files changed, 9 insertions, 6 deletions
diff --git a/bin/bitbake b/bin/bitbake
index 5c0b2d4d2..b173f16ce 100755
--- a/bin/bitbake
+++ b/bin/bitbake
@@ -139,8 +139,8 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
parser.add_option("-n", "--dry-run", help = "Don't execute, just go through the motions.",
action = "store_true", dest = "dry_run", default = False)
- parser.add_option("-S", "--dump-signatures", help = "Don't execute, just dump out the signature construction information.",
- action = "store_true", dest = "dump_signatures", default = False)
+ parser.add_option("-S", "--dump-signatures", help = "Dump out the signature construction information, with no task execution. Parameters are passed to the signature handling code, use 'none' if no specific handler is required.",
+ action = "append", dest = "dump_signatures", default = [])
parser.add_option("-p", "--parse-only", help = "Quit after parsing the BB recipes.",
action = "store_true", dest = "parse_only", default = False)
diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py
index 6200b0eba..b9b9e1667 100644
--- a/lib/bb/cookerdata.py
+++ b/lib/bb/cookerdata.py
@@ -124,7 +124,7 @@ class CookerConfiguration(object):
self.profile = False
self.nosetscene = False
self.invalidate_stamp = False
- self.dump_signatures = False
+ self.dump_signatures = []
self.dry_run = False
self.tracking = False
self.interface = []
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 90fe40b88..423b03c18 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -1036,10 +1036,13 @@ class RunQueue:
bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.cooker.data)
if self.state is runQueueSceneInit:
- if self.cooker.configuration.dump_signatures:
- invalidtasks = self.print_diffscenetasks()
+ dump = self.cooker.configuration.dump_signatures
+ if dump:
+ if 'printdiff' in dump:
+ invalidtasks = self.print_diffscenetasks()
self.dump_signatures()
- self.write_diffscenetasks(invalidtasks)
+ if 'printdiff' in dump:
+ self.write_diffscenetasks(invalidtasks)
self.state = runQueueComplete
else:
self.start_worker()