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-03-01 12:53:18 -0800
commit9cbd711221d14f6eb195564e406842b023c44b34 (patch)
treeda93090087181b4aa8dbb27a4bb4d0fd372e73d6 /pym
parenta9312ea163458162af14b864505b14b678fc06b1 (diff)
downloadportage-9cbd711221d14f6eb195564e406842b023c44b34.tar.gz
portage-9cbd711221d14f6eb195564e406842b023c44b34.tar.bz2
portage-9cbd711221d14f6eb195564e406842b023c44b34.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 7f471170a..a755116ce 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2743,7 +2743,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
@@ -2757,6 +2757,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:
@@ -2769,6 +2775,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)