diff options
author | Marius Mauch <genone@gentoo.org> | 2007-01-10 08:55:31 +0000 |
---|---|---|
committer | Marius Mauch <genone@gentoo.org> | 2007-01-10 08:55:31 +0000 |
commit | f97493fccfa149106683cccaa21965502bb59903 (patch) | |
tree | fa37368939d30e28224ede702860f0b4e1029ada | |
parent | 98910a85137bac42003bdbda691e90bb6b2e6e15 (diff) | |
download | portage-f97493fccfa149106683cccaa21965502bb59903.tar.gz portage-f97493fccfa149106683cccaa21965502bb59903.tar.bz2 portage-f97493fccfa149106683cccaa21965502bb59903.zip |
Make the =* operator more robust
svn path=/main/trunk/; revision=5514
-rw-r--r-- | pym/portage_dep.py | 9 |
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: |