[oe-commits] Paul Eggleton : buildhistory_analysis: update to use explode_dep_versions2( )
git at git.openembedded.org
git at git.openembedded.org
Wed Oct 3 12:53:25 UTC 2012
Module: openembedded-core.git
Branch: master
Commit: 1600c916ae410c57a783a5aa35abe07a3f673311
URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1600c916ae410c57a783a5aa35abe07a3f673311
Author: Paul Eggleton <paul.eggleton at linux.intel.com>
Date: Wed Oct 3 13:37:15 2012 +0100
buildhistory_analysis: update to use explode_dep_versions2()
Handle where multiple version specifications are present for the same
dependency.
Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
meta/lib/oe/buildhistory_analysis.py | 23 +++++++++++++++++++----
1 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/meta/lib/oe/buildhistory_analysis.py b/meta/lib/oe/buildhistory_analysis.py
index a5a607e..ad57f00 100644
--- a/meta/lib/oe/buildhistory_analysis.py
+++ b/meta/lib/oe/buildhistory_analysis.py
@@ -262,8 +262,8 @@ def compare_lists(alines, blines):
def compare_pkg_lists(astr, bstr):
- depvera = bb.utils.explode_dep_versions(astr)
- depverb = bb.utils.explode_dep_versions(bstr)
+ depvera = bb.utils.explode_dep_versions2(astr)
+ depverb = bb.utils.explode_dep_versions2(bstr)
# Strip out changes where the version has increased
remove = []
@@ -271,8 +271,23 @@ def compare_pkg_lists(astr, bstr):
if k in depverb:
dva = depvera[k]
dvb = depverb[k]
- if dva and dvb and dva != dvb:
- if bb.utils.vercmp(bb.utils.split_version(dva), bb.utils.split_version(dvb)) < 0:
+ if dva and dvb and len(dva) == len(dvb):
+ # Since length is the same, sort so that prefixes (e.g. >=) will line up
+ dva.sort()
+ dvb.sort()
+ removeit = True
+ for dvai, dvbi in zip(dva, dvb):
+ if dvai != dvbi:
+ aiprefix = dvai.split(' ')[0]
+ biprefix = dvbi.split(' ')[0]
+ if aiprefix == biprefix and aiprefix in ['>=', '=']:
+ if bb.utils.vercmp(bb.utils.split_version(dvai), bb.utils.split_version(dvbi)) > 0:
+ removeit = False
+ break
+ else:
+ removeit = False
+ break
+ if removeit:
remove.append(k)
for k in remove:
More information about the Openembedded-commits
mailing list