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)
downloadpoky-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 5c0b2d4d2a..b173f16ce1 100755
--- a/bitbake/bin/bitbake
+++ b/bitbake/bin/bitbake
@@ -139,8 +139,8 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
139 parser.add_option("-n", "--dry-run", help = "Don't execute, just go through the motions.", 139 parser.add_option("-n", "--dry-run", help = "Don't execute, just go through the motions.",
140 action = "store_true", dest = "dry_run", default = False) 140 action = "store_true", dest = "dry_run", default = False)
141 141
142 parser.add_option("-S", "--dump-signatures", help = "Don't execute, just dump out the signature construction information.", 142 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.",
143 action = "store_true", dest = "dump_signatures", default = False) 143 action = "append", dest = "dump_signatures", default = [])
144 144
145 parser.add_option("-p", "--parse-only", help = "Quit after parsing the BB recipes.", 145 parser.add_option("-p", "--parse-only", help = "Quit after parsing the BB recipes.",
146 action = "store_true", dest = "parse_only", default = False) 146 action = "store_true", dest = "parse_only", default = False)
diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index 6200b0ebac..b9b9e16675 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/lib/bb/cookerdata.py
@@ -124,7 +124,7 @@ class CookerConfiguration(object):
124 self.profile = False 124 self.profile = False
125 self.nosetscene = False 125 self.nosetscene = False
126 self.invalidate_stamp = False 126 self.invalidate_stamp = False
127 self.dump_signatures = False 127 self.dump_signatures = []
128 self.dry_run = False 128 self.dry_run = False
129 self.tracking = False 129 self.tracking = False
130 self.interface = [] 130 self.interface = []
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 90fe40b880..423b03c181 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1036,10 +1036,13 @@ class RunQueue:
1036 bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.cooker.data) 1036 bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.cooker.data)
1037 1037
1038 if self.state is runQueueSceneInit: 1038 if self.state is runQueueSceneInit:
1039 if self.cooker.configuration.dump_signatures: 1039 dump = self.cooker.configuration.dump_signatures
1040 invalidtasks = self.print_diffscenetasks() 1040 if dump:
1041 if 'printdiff' in dump:
1042 invalidtasks = self.print_diffscenetasks()
1041 self.dump_signatures() 1043 self.dump_signatures()
1042 self.write_diffscenetasks(invalidtasks) 1044 if 'printdiff' in dump:
1045 self.write_diffscenetasks(invalidtasks)
1043 self.state = runQueueComplete 1046 self.state = runQueueComplete
1044 else: 1047 else:
1045 self.start_worker() 1048 self.start_worker()