summaryrefslogtreecommitdiffstats
path: root/pym/portage_dep.py
diff options
context:
space:
mode:
authorMarius Mauch <genone@gentoo.org>2007-01-10 08:55:31 +0000
committerMarius Mauch <genone@gentoo.org>2007-01-10 08:55:31 +0000
commitf97493fccfa149106683cccaa21965502bb59903 (patch)
treefa37368939d30e28224ede702860f0b4e1029ada /pym/portage_dep.py
parent98910a85137bac42003bdbda691e90bb6b2e6e15 (diff)
downloadportage-f97493fccfa149106683cccaa21965502bb59903.tar.gz
portage-f97493fccfa149106683cccaa21965502bb59903.tar.bz2
portage-f97493fccfa149106683cccaa21965502bb59903.zip
Make the =* operator more robust
svn path=/main/trunk/; revision=5514
Diffstat (limited to 'pym/portage_dep.py')
-rw-r--r--pym/portage_dep.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/pym/portage_dep.py b/pym/portage_dep.py
index 0cb49691d..a528f7026 100644
--- a/pym/portage_dep.py
+++ b/pym/portage_dep.py
@@ -583,10 +583,15 @@ def match_from_list(mydep, candidate_list):
mylist = [cpv for cpv in candidate_list if cpvequal(cpv, mycpv)]
elif operator == "=*": # glob match
- # The old verion ignored _tag suffixes... This one doesn't.
for x in candidate_list:
- if cpvequal(x[0:len(mycpv)], mycpv):
+ xcpv = x[:min(len(x), len(mycpv))]
+ if xcpv == mycpv:
mylist.append(x)
+ else:
+ 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: