summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage_dep.py13
1 files changed, 5 insertions, 8 deletions
diff --git a/pym/portage_dep.py b/pym/portage_dep.py
index 432a7d44f..0baeab08f 100644
--- a/pym/portage_dep.py
+++ b/pym/portage_dep.py
@@ -584,17 +584,14 @@ def match_from_list(mydep, candidate_list):
elif operator == "=*": # glob match
for x in candidate_list:
+ # XXX: Nasty special casing for leading zeros
+ # Required as =* is a literal prefix match, so can't
+ # use vercmp
+ xs = catpkgsplit(x)
+ xcpv = xs[0]+"/"+xs[1]+"-"+xs[2].lstrip("0")
xcpv = x[:min(len(x), len(mycpv))]
if xcpv == mycpv:
mylist.append(x)
- else:
- # xcpv may not be a proper cpv, but cpvequal needs it to be
- # reducing it should always work, in worst case it stops at
- # the first digit. Might cause a minor peformance hit though.
- while not isspecific(xcpv):
- xcpv = xcpv[:-1]
- if cpvequal(xcpv, mycpv):
- mylist.append(x)
elif operator == "~": # version, any revision, match
for x in candidate_list: