diff options
-rw-r--r-- | meta/lib/oe/buildhistory_analysis.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/meta/lib/oe/buildhistory_analysis.py b/meta/lib/oe/buildhistory_analysis.py index 103cfb41b..bef6cd413 100644 --- a/meta/lib/oe/buildhistory_analysis.py +++ b/meta/lib/oe/buildhistory_analysis.py @@ -15,7 +15,8 @@ import git # How to display fields -list_fields = ['DEPENDS', 'RDEPENDS', 'RRECOMMENDS', 'PACKAGES', 'FILES', 'FILELIST', 'USER_CLASSES', 'IMAGE_CLASSES', 'IMAGE_FEATURES', 'IMAGE_LINGUAS', 'IMAGE_INSTALL', 'BAD_RECOMMENDATIONS'] +list_fields = ['DEPENDS', 'RDEPENDS', 'RRECOMMENDS', 'FILES', 'FILELIST', 'USER_CLASSES', 'IMAGE_CLASSES', 'IMAGE_FEATURES', 'IMAGE_LINGUAS', 'IMAGE_INSTALL', 'BAD_RECOMMENDATIONS'] +list_order_fields = ['PACKAGES'] numeric_fields = ['PKGSIZE', 'IMAGESIZE'] # Fields to monitor monitor_fields = ['RDEPENDS', 'RRECOMMENDS', 'PACKAGES', 'FILELIST', 'PKGSIZE', 'IMAGESIZE'] @@ -52,12 +53,15 @@ class ChangeRecord: else: prefix = '' - if self.fieldname in list_fields: + if self.fieldname in list_fields or self.fieldname in list_order_fields: aitems = self.oldvalue.split() bitems = self.newvalue.split() removed = list(set(aitems) - set(bitems)) added = list(set(bitems) - set(aitems)) - out = '%s:%s%s' % (self.fieldname, ' removed "%s"' % ' '.join(removed) if removed else '', ' added "%s"' % ' '.join(added) if added else '') + if removed or added: + out = '%s:%s%s' % (self.fieldname, ' removed "%s"' % ' '.join(removed) if removed else '', ' added "%s"' % ' '.join(added) if added else '') + else: + out = '%s changed order' % self.fieldname elif self.fieldname in numeric_fields: aval = int(self.oldvalue or 0) bval = int(self.newvalue or 0) @@ -237,6 +241,13 @@ def compare_dict_blobs(path, ablob, bblob, report_all): percentchg = 100 if percentchg < monitor_numeric_threshold: continue + elif (not report_all) and key in list_fields: + alist = astr.split() + alist.sort() + blist = bstr.split() + blist.sort() + if ' '.join(alist) == ' '.join(blist): + continue chg = ChangeRecord(path, key, astr, bstr, key in monitor_fields) changes.append(chg) return changes |