summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/siggen.py25
1 files changed, 14 insertions, 11 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 3eed66425e..9231291b43 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -136,7 +136,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
136 k = fn + "." + task 136 k = fn + "." + task
137 data = dataCache.basetaskhash[k] 137 data = dataCache.basetaskhash[k]
138 self.runtaskdeps[k] = [] 138 self.runtaskdeps[k] = []
139 for dep in sorted(deps): 139 for dep in sorted(deps, key=clean_basepath):
140 # We only manipulate the dependencies for packages not in the whitelist 140 # We only manipulate the dependencies for packages not in the whitelist
141 if self.twl and not self.twl.search(dataCache.pkg_fn[fn]): 141 if self.twl and not self.twl.search(dataCache.pkg_fn[fn]):
142 # then process the actual dependencies 142 # then process the actual dependencies
@@ -218,6 +218,19 @@ def dump_this_task(outfile, d):
218 task = "do_" + d.getVar("BB_CURRENTTASK", True) 218 task = "do_" + d.getVar("BB_CURRENTTASK", True)
219 bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile") 219 bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile")
220 220
221def clean_basepath(a):
222 if a.startswith("virtual:"):
223 b = a.rsplit(":", 1)[0] + a.rsplit("/", 1)[1]
224 else:
225 b = a.rsplit("/", 1)[1]
226 return b
227
228def clean_basepaths(a):
229 b = {}
230 for x in a:
231 b[clean_basepath(x)] = a[x]
232 return b
233
221def compare_sigfiles(a, b): 234def compare_sigfiles(a, b):
222 p1 = pickle.Unpickler(file(a, "rb")) 235 p1 = pickle.Unpickler(file(a, "rb"))
223 a_data = p1.load() 236 a_data = p1.load()
@@ -236,16 +249,6 @@ def compare_sigfiles(a, b):
236 removed = sb - sa 249 removed = sb - sa
237 return changed, added, removed 250 return changed, added, removed
238 251
239 def clean_basepaths(a):
240 b = {}
241 for x in a:
242 if x.startswith("virtual:"):
243 y = x.rsplit(":", 1)[0] + x.rsplit("/", 1)[1]
244 else:
245 y = x.rsplit("/", 1)[1]
246 b[y] = a[x]
247 return b
248
249 if 'basewhitelist' in a_data and a_data['basewhitelist'] != b_data['basewhitelist']: 252 if 'basewhitelist' in a_data and a_data['basewhitelist'] != b_data['basewhitelist']:
250 print "basewhitelist changed from %s to %s" % (a_data['basewhitelist'], b_data['basewhitelist']) 253 print "basewhitelist changed from %s to %s" % (a_data['basewhitelist'], b_data['basewhitelist'])
251 print "changed items: %s" % a_data['basewhitelist'].symmetric_difference(b_data['basewhitelist']) 254 print "changed items: %s" % a_data['basewhitelist'].symmetric_difference(b_data['basewhitelist'])