diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-02-28 09:58:27 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-02-28 09:58:27 -0800 |
commit | 9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8 (patch) | |
tree | d74b6a5daea54f924a02763e80e04a6eeb9e04d5 | |
parent | 1ba916f6aa4c82b4e0f74955b9146b8cbf65b859 (diff) | |
download | portage-9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8.tar.gz portage-9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8.tar.bz2 portage-9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8.zip |
depgraph: case insensitive search for unsatisfied
This will fix bug #356555.
-rw-r--r-- | pym/_emerge/depgraph.py | 13 |
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) |