1 |
commit: 9cbd711221d14f6eb195564e406842b023c44b34 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Feb 28 17:58:27 2011 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Mar 1 20:53:18 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=9cbd7112 |
7 |
|
8 |
depgraph: case insensitive search for unsatisfied |
9 |
|
10 |
This will fix bug #356555. |
11 |
|
12 |
--- |
13 |
pym/_emerge/depgraph.py | 13 ++++++++++++- |
14 |
1 files changed, 12 insertions(+), 1 deletions(-) |
15 |
|
16 |
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py |
17 |
index 7f47117..a755116 100644 |
18 |
--- a/pym/_emerge/depgraph.py |
19 |
+++ b/pym/_emerge/depgraph.py |
20 |
@@ -2743,7 +2743,7 @@ class depgraph(object): |
21 |
else: |
22 |
writemsg_stdout("\nemerge: there are no ebuilds to satisfy "+green(xinfo)+".\n", noiselevel=-1) |
23 |
if isinstance(myparent, AtomArg): |
24 |
- cp = myparent.atom.cp |
25 |
+ cp = myparent.atom.cp.lower() |
26 |
cat, pkg = portage.catsplit(cp) |
27 |
if cat == "null": |
28 |
cat = None |
29 |
@@ -2757,6 +2757,12 @@ class depgraph(object): |
30 |
if "--usepkg" in self._frozen_config.myopts: |
31 |
all_cp.update(bindb.cp_all()) |
32 |
|
33 |
+ orig_cp_map = {} |
34 |
+ for cp in all_cp: |
35 |
+ cp_lower = cp.lower() |
36 |
+ orig_cp_map.setdefault(cp_lower, []).append(cp) |
37 |
+ all_cp = set(orig_cp_map) |
38 |
+ |
39 |
if cat: |
40 |
matches = difflib.get_close_matches(cp, all_cp) |
41 |
else: |
42 |
@@ -2769,6 +2775,11 @@ class depgraph(object): |
43 |
for pkg_match in pkg_matches: |
44 |
matches.extend(pkg_to_cp[pkg_match]) |
45 |
|
46 |
+ matches_orig_case = [] |
47 |
+ for cp in matches: |
48 |
+ matches_orig_case.extend(orig_cp_map[cp]) |
49 |
+ matches = matches_orig_case |
50 |
+ |
51 |
if len(matches) == 1: |
52 |
writemsg_stdout("\nemerge: Maybe you meant " + matches[0] + "?\n" |
53 |
, noiselevel=-1) |