summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-26 13:46:54 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-27 09:42:07 +0000
commit774eb753d8f23d5887c476062acced3bb0ac40c7 (patch)
tree6f0def8cdc429c262b98c883e48cf2a654b55cee
parent604dd7374b4651f1844272efb4e30e05e1f449d2 (diff)
downloadast2050-yocto-poky-774eb753d8f23d5887c476062acced3bb0ac40c7.zip
ast2050-yocto-poky-774eb753d8f23d5887c476062acced3bb0ac40c7.tar.gz
bitbake: bitbake: Force -S option to take a parameter
There is no easy way to make this change. We really need parameters for the -S (dump signatures) handling code. Such a parameter can then be used within the codebase to handle the signatures in different ways. For now, "none" is the recommended default and "printdiff" will execute the new (and more expensive) comparison algorithms. (Bitbake rev: b9873588696507dfb6aade6821f6f75cb9a19e0a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rwxr-xr-xbitbake/bin/bitbake4
-rw-r--r--bitbake/lib/bb/cookerdata.py2
-rw-r--r--bitbake/lib/bb/runqueue.py9
3 files changed, 9 insertions, 6 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake
index 5c0b2d4..b173f16 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/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/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index 6200b0e..b9b9e16 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/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/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 90fe40b..423b03c 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/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()
OpenPOWER on IntegriCloud