buildhistory_analysis: use bb.utils.explode_dep_versions
Previously this had its own implementation of splitting a list of packages with optional version e.g. "libncurses-dev (>= 5.9)"; switch to using the already existing bitbake function which does this as it is much better tested. (From OE-Core rev: de21a483063d9803c4ce1d62b03913ccad2931bd) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
fb7eeb3954
commit
0b8a693fb4
|
@ -13,6 +13,7 @@ import os.path
|
|||
import difflib
|
||||
import git
|
||||
import re
|
||||
import bb.utils
|
||||
|
||||
|
||||
# How to display fields
|
||||
|
@ -55,8 +56,13 @@ class ChangeRecord:
|
|||
prefix = ''
|
||||
|
||||
def pkglist_split(pkgs):
|
||||
pkgit = re.finditer(r'[a-zA-Z0-9.+-]+( \([><=]+ [^ )]+\))?', pkgs, 0)
|
||||
pkglist = [p.group(0) for p in pkgit]
|
||||
depver = bb.utils.explode_dep_versions(pkgs)
|
||||
pkglist = []
|
||||
for k,v in depver.iteritems():
|
||||
if v:
|
||||
pkglist.append("%s (%s)" % (k,v))
|
||||
else:
|
||||
pkglist.append(k)
|
||||
return pkglist
|
||||
|
||||
if self.fieldname in list_fields or self.fieldname in list_order_fields:
|
||||
|
@ -68,6 +74,7 @@ class ChangeRecord:
|
|||
bitems = self.newvalue.split()
|
||||
removed = list(set(aitems) - set(bitems))
|
||||
added = list(set(bitems) - set(aitems))
|
||||
|
||||
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:
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
# Author: Paul Eggleton <paul.eggleton@linux.intel.com>
|
||||
|
||||
import sys
|
||||
import os.path
|
||||
import os
|
||||
|
||||
# Ensure PythonGit is installed (buildhistory_analysis needs it)
|
||||
try:
|
||||
|
@ -24,8 +24,23 @@ def main():
|
|||
sys.exit(1)
|
||||
|
||||
# Set path to OE lib dir so we can import the buildhistory_analysis module
|
||||
newpath = os.path.abspath(os.path.dirname(os.path.abspath(sys.argv[0])) + '/../meta/lib')
|
||||
sys.path = sys.path + [newpath]
|
||||
basepath = os.path.abspath(os.path.dirname(os.path.abspath(sys.argv[0])) + '/..')
|
||||
newpath = basepath + '/meta/lib'
|
||||
# Set path to bitbake lib dir so the buildhistory_analysis module can load bb.utils
|
||||
if os.path.exists(basepath + '/bitbake/lib/bb'):
|
||||
bitbakepath = basepath + '/bitbake'
|
||||
else:
|
||||
# look for bitbake/bin dir in PATH
|
||||
bitbakepath = None
|
||||
for pth in os.environ['PATH'].split(':'):
|
||||
if os.path.exists(os.path.join(pth, '../lib/bb')):
|
||||
bitbakepath = os.path.abspath(os.path.join(pth, '..'))
|
||||
break
|
||||
if not bitbakepath:
|
||||
print("Unable to find bitbake by searching parent directory of this script or PATH")
|
||||
sys.exit(1)
|
||||
|
||||
sys.path.extend([newpath, bitbakepath + '/lib'])
|
||||
import oe.buildhistory_analysis
|
||||
|
||||
if len(sys.argv) > 3:
|
||||
|
|
Loading…
Reference in New Issue