summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-02-28 09:58:27 -0800
committerZac Medico <zmedico@gentoo.org>2011-02-28 09:58:27 -0800
commit9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8 (patch)
treed74b6a5daea54f924a02763e80e04a6eeb9e04d5 /pym
parent1ba916f6aa4c82b4e0f74955b9146b8cbf65b859 (diff)
downloadportage-9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8.tar.gz
portage-9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8.tar.bz2
portage-9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8.zip
depgraph: case insensitive search for unsatisfied
This will fix bug #356555.
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/depgraph.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 7e55c776e..b9c308bca 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2738,7 +2738,7 @@ class depgraph(object):
else:
writemsg_stdout("\nemerge: there are no ebuilds to satisfy "+green(xinfo)+".\n", noiselevel=-1)
if isinstance(myparent, AtomArg):
- cp = myparent.atom.cp
+ cp = myparent.atom.cp.lower()
cat, pkg = portage.catsplit(cp)
if cat == "null":
cat = None
@@ -2752,6 +2752,12 @@ class depgraph(object):
if "--usepkg" in self._frozen_config.myopts:
all_cp.update(bindb.cp_all())
+ orig_cp_map = {}
+ for cp in all_cp:
+ cp_lower = cp.lower()
+ orig_cp_map.setdefault(cp_lower, []).append(cp)
+ all_cp = set(orig_cp_map)
+
if cat:
matches = difflib.get_close_matches(cp, all_cp)
else:
@@ -2764,6 +2770,11 @@ class depgraph(object):
for pkg_match in pkg_matches:
matches.extend(pkg_to_cp[pkg_match])
+ matches_orig_case = []
+ for cp in matches:
+ matches_orig_case.extend(orig_cp_map[cp])
+ matches = matches_orig_case
+
if len(matches) == 1:
writemsg_stdout("\nemerge: Maybe you meant " + matches[0] + "?\n"
, noiselevel=-1)