summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/lib/oe/buildhistory_analysis.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/meta/lib/oe/buildhistory_analysis.py b/meta/lib/oe/buildhistory_analysis.py
index bef6cd4138..4f3e6359c6 100644
--- a/meta/lib/oe/buildhistory_analysis.py
+++ b/meta/lib/oe/buildhistory_analysis.py
@@ -12,6 +12,7 @@ import sys
import os.path
import difflib
import git
+import re
# How to display fields
@@ -53,9 +54,18 @@ class ChangeRecord:
else:
prefix = ''
+ def pkglist_split(pkgs):
+ pkgit = re.finditer(r'[a-zA-Z0-9.+-]+( \([><=]+ [^ )]+\))?', pkgs, 0)
+ pkglist = [p.group(0) for p in pkgit]
+ return pkglist
+
if self.fieldname in list_fields or self.fieldname in list_order_fields:
- aitems = self.oldvalue.split()
- bitems = self.newvalue.split()
+ if self.fieldname in ['RDEPENDS', 'RRECOMMENDS']:
+ aitems = pkglist_split(self.oldvalue)
+ bitems = pkglist_split(self.newvalue)
+ else:
+ aitems = self.oldvalue.split()
+ bitems = self.newvalue.split()
removed = list(set(aitems) - set(bitems))
added = list(set(bitems) - set(aitems))
if removed or added: