]> code.ossystems Code Review - openembedded-core.git/commitdiff
buildhistory_analysis: correctly split RDEPENDS/RRECOMMENDS
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Mon, 13 Feb 2012 18:14:18 +0000 (18:14 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 21 Feb 2012 17:49:33 +0000 (17:49 +0000)
Split RDEPENDS and RRECOMMENDS correctly (which may contain version
number specifications after each item).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
meta/lib/oe/buildhistory_analysis.py

index bef6cd4138d3a4233c09de10b8f2ed3b09c23ed2..4f3e6359c660b135635ade4c55e9ad6f9c19b73c 100644 (file)
@@ -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: