summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/lib/oe/buildhistory_analysis.py17
1 files changed, 14 insertions, 3 deletions
diff --git a/meta/lib/oe/buildhistory_analysis.py b/meta/lib/oe/buildhistory_analysis.py
index 103cfb41b1..bef6cd4138 100644
--- a/meta/lib/oe/buildhistory_analysis.py
+++ b/meta/lib/oe/buildhistory_analysis.py
@@ -15,7 +15,8 @@ import git
15 15
16 16
17# How to display fields 17# How to display fields
18list_fields = ['DEPENDS', 'RDEPENDS', 'RRECOMMENDS', 'PACKAGES', 'FILES', 'FILELIST', 'USER_CLASSES', 'IMAGE_CLASSES', 'IMAGE_FEATURES', 'IMAGE_LINGUAS', 'IMAGE_INSTALL', 'BAD_RECOMMENDATIONS'] 18list_fields = ['DEPENDS', 'RDEPENDS', 'RRECOMMENDS', 'FILES', 'FILELIST', 'USER_CLASSES', 'IMAGE_CLASSES', 'IMAGE_FEATURES', 'IMAGE_LINGUAS', 'IMAGE_INSTALL', 'BAD_RECOMMENDATIONS']
19list_order_fields = ['PACKAGES']
19numeric_fields = ['PKGSIZE', 'IMAGESIZE'] 20numeric_fields = ['PKGSIZE', 'IMAGESIZE']
20# Fields to monitor 21# Fields to monitor
21monitor_fields = ['RDEPENDS', 'RRECOMMENDS', 'PACKAGES', 'FILELIST', 'PKGSIZE', 'IMAGESIZE'] 22monitor_fields = ['RDEPENDS', 'RRECOMMENDS', 'PACKAGES', 'FILELIST', 'PKGSIZE', 'IMAGESIZE']
@@ -52,12 +53,15 @@ class ChangeRecord:
52 else: 53 else:
53 prefix = '' 54 prefix = ''
54 55
55 if self.fieldname in list_fields: 56 if self.fieldname in list_fields or self.fieldname in list_order_fields:
56 aitems = self.oldvalue.split() 57 aitems = self.oldvalue.split()
57 bitems = self.newvalue.split() 58 bitems = self.newvalue.split()
58 removed = list(set(aitems) - set(bitems)) 59 removed = list(set(aitems) - set(bitems))
59 added = list(set(bitems) - set(aitems)) 60 added = list(set(bitems) - set(aitems))
60 out = '%s:%s%s' % (self.fieldname, ' removed "%s"' % ' '.join(removed) if removed else '', ' added "%s"' % ' '.join(added) if added else '') 61 if removed or added:
62 out = '%s:%s%s' % (self.fieldname, ' removed "%s"' % ' '.join(removed) if removed else '', ' added "%s"' % ' '.join(added) if added else '')
63 else:
64 out = '%s changed order' % self.fieldname
61 elif self.fieldname in numeric_fields: 65 elif self.fieldname in numeric_fields:
62 aval = int(self.oldvalue or 0) 66 aval = int(self.oldvalue or 0)
63 bval = int(self.newvalue or 0) 67 bval = int(self.newvalue or 0)
@@ -237,6 +241,13 @@ def compare_dict_blobs(path, ablob, bblob, report_all):
237 percentchg = 100 241 percentchg = 100
238 if percentchg < monitor_numeric_threshold: 242 if percentchg < monitor_numeric_threshold:
239 continue 243 continue
244 elif (not report_all) and key in list_fields:
245 alist = astr.split()
246 alist.sort()
247 blist = bstr.split()
248 blist.sort()
249 if ' '.join(alist) == ' '.join(blist):
250 continue
240 chg = ChangeRecord(path, key, astr, bstr, key in monitor_fields) 251 chg = ChangeRecord(path, key, astr, bstr, key in monitor_fields)
241 changes.append(chg) 252 changes.append(chg)
242 return changes 253 return changes