diff options
Diffstat (limited to 'meta/lib')
-rw-r--r-- | 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 a5a607e30b..ad57f00289 100644 --- a/meta/lib/oe/buildhistory_analysis.py +++ b/meta/lib/oe/buildhistory_analysis.py | |||
@@ -262,8 +262,8 @@ def compare_lists(alines, blines): | |||
262 | 262 | ||
263 | 263 | ||
264 | def compare_pkg_lists(astr, bstr): | 264 | def compare_pkg_lists(astr, bstr): |
265 | depvera = bb.utils.explode_dep_versions(astr) | 265 | depvera = bb.utils.explode_dep_versions2(astr) |
266 | depverb = bb.utils.explode_dep_versions(bstr) | 266 | depverb = bb.utils.explode_dep_versions2(bstr) |
267 | 267 | ||
268 | # Strip out changes where the version has increased | 268 | # Strip out changes where the version has increased |
269 | remove = [] | 269 | remove = [] |
@@ -271,8 +271,23 @@ def compare_pkg_lists(astr, bstr): | |||
271 | if k in depverb: | 271 | if k in depverb: |
272 | dva = depvera[k] | 272 | dva = depvera[k] |
273 | dvb = depverb[k] | 273 | dvb = depverb[k] |
274 | if dva and dvb and dva != dvb: | 274 | if dva and dvb and len(dva) == len(dvb): |
275 | if bb.utils.vercmp(bb.utils.split_version(dva), bb.utils.split_version(dvb)) < 0: | 275 | # Since length is the same, sort so that prefixes (e.g. >=) will line up |
276 | dva.sort() | ||
277 | dvb.sort() | ||
278 | removeit = True | ||
279 | for dvai, dvbi in zip(dva, dvb): | ||
280 | if dvai != dvbi: | ||
281 | aiprefix = dvai.split(' ')[0] | ||
282 | biprefix = dvbi.split(' ')[0] | ||
283 | if aiprefix == biprefix and aiprefix in ['>=', '=']: | ||
284 | if bb.utils.vercmp(bb.utils.split_version(dvai), bb.utils.split_version(dvbi)) > 0: | ||
285 | removeit = False | ||
286 | break | ||
287 | else: | ||
288 | removeit = False | ||
289 | break | ||
290 | if removeit: | ||
276 | remove.append(k) | 291 | remove.append(k) |
277 | 292 | ||
278 | for k in remove: | 293 | for k in remove: |