diff options
Diffstat (limited to 'meta')
| -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 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 |
| 18 | list_fields = ['DEPENDS', 'RDEPENDS', 'RRECOMMENDS', 'PACKAGES', 'FILES', 'FILELIST', 'USER_CLASSES', 'IMAGE_CLASSES', 'IMAGE_FEATURES', 'IMAGE_LINGUAS', 'IMAGE_INSTALL', 'BAD_RECOMMENDATIONS'] | 18 | list_fields = ['DEPENDS', 'RDEPENDS', 'RRECOMMENDS', 'FILES', 'FILELIST', 'USER_CLASSES', 'IMAGE_CLASSES', 'IMAGE_FEATURES', 'IMAGE_LINGUAS', 'IMAGE_INSTALL', 'BAD_RECOMMENDATIONS'] |
| 19 | list_order_fields = ['PACKAGES'] | ||
| 19 | numeric_fields = ['PKGSIZE', 'IMAGESIZE'] | 20 | numeric_fields = ['PKGSIZE', 'IMAGESIZE'] |
| 20 | # Fields to monitor | 21 | # Fields to monitor |
| 21 | monitor_fields = ['RDEPENDS', 'RRECOMMENDS', 'PACKAGES', 'FILELIST', 'PKGSIZE', 'IMAGESIZE'] | 22 | monitor_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 |
