summaryrefslogtreecommitdiffstats
path: root/bitbake/bin
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-04-07 09:52:04 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-04-10 23:00:32 +0100
commitd88a4ade7e755cf9dd4ab2baed70cddcf4314330 (patch)
tree67ad6856e0131755242034b7ced449ef252b6689 /bitbake/bin
parent8f6094135bc533013491168a39e1fc0106103ff8 (diff)
downloadpoky-d88a4ade7e755cf9dd4ab2baed70cddcf4314330.tar.gz
bitbake: bitbake-diffsigs: drop naive logic for removing duplicate files
This logic doesn't work in practice, certainly not with current versions where sigdata files are preserved in the stamps directory and therefore there will often be multiple sigdata files - you can now easily get files for the same signature from sstate and the stamps directory with the result that bitbake-diffsigs reports nothing has changed. Instead, let's change the find_siginfo function in OE-Core to simply not return duplicates so we don't have to filter them out here. (Bitbake rev: f0d7ab259d8ef95643e7229474b7850608aa4426) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/bin')
-rwxr-xr-xbitbake/bin/bitbake-diffsigs16
1 files changed, 0 insertions, 16 deletions
diff --git a/bitbake/bin/bitbake-diffsigs b/bitbake/bin/bitbake-diffsigs
index f84188d57f..5400e5b92b 100755
--- a/bitbake/bin/bitbake-diffsigs
+++ b/bitbake/bin/bitbake-diffsigs
@@ -37,12 +37,6 @@ logger = bb.msg.logger_create('bitbake-diffsigs')
37def find_compare_task(bbhandler, pn, taskname): 37def find_compare_task(bbhandler, pn, taskname):
38 """ Find the most recent signature files for the specified PN/task and compare them """ 38 """ Find the most recent signature files for the specified PN/task and compare them """
39 39
40 def get_hashval(siginfo):
41 if siginfo.endswith('.siginfo'):
42 return siginfo.rpartition(':')[2].partition('_')[0]
43 else:
44 return siginfo.rpartition('.')[2]
45
46 if not hasattr(bb.siggen, 'find_siginfo'): 40 if not hasattr(bb.siggen, 'find_siginfo'):
47 logger.error('Metadata does not support finding signature data files') 41 logger.error('Metadata does not support finding signature data files')
48 sys.exit(1) 42 sys.exit(1)
@@ -59,16 +53,6 @@ def find_compare_task(bbhandler, pn, taskname):
59 logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (pn, taskname)) 53 logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (pn, taskname))
60 sys.exit(1) 54 sys.exit(1)
61 else: 55 else:
62 # It's possible that latestfiles contain 3 elements and the first two have the same hash value.
63 # In this case, we delete the second element.
64 # The above case is actually the most common one. Because we may have sigdata file and siginfo
65 # file having the same hash value. Comparing such two files makes no sense.
66 if len(latestfiles) == 3:
67 hash0 = get_hashval(latestfiles[0])
68 hash1 = get_hashval(latestfiles[1])
69 if hash0 == hash1:
70 latestfiles.pop(1)
71
72 # Define recursion callback 56 # Define recursion callback
73 def recursecb(key, hash1, hash2): 57 def recursecb(key, hash1, hash2):
74 hashes = [hash1, hash2] 58 hashes = [hash1, hash2]