diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-12-04 15:43:36 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-12-04 15:43:36 -0800 |
commit | 3faeebbed6a3613d501c6892e3b6b03d9779fd22 (patch) | |
tree | dfa3222134114bdd4e58d651999ea2d156361ec1 | |
parent | 0ac299616c5cb22befdd9fcd4091d80ca889ef19 (diff) | |
download | portage-3faeebbed6a3613d501c6892e3b6b03d9779fd22.tar.gz portage-3faeebbed6a3613d501c6892e3b6b03d9779fd22.tar.bz2 portage-3faeebbed6a3613d501c6892e3b6b03d9779fd22.zip |
depgraph: fix case insensitive search for unsat
This fixes an interaction between the code from commits
9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8 and
cbe44d92ff13b8a22f5b4215b73078ce600c6bf4, so that we don't discard
matches that are identical except for differnces in upper/lower case.
-rw-r--r-- | pym/_emerge/depgraph.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 3bda89442..57619e098 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -3296,9 +3296,17 @@ class depgraph(object): for other_cp in list(all_cp): other_pkg = portage.catsplit(other_cp)[1] if other_pkg == pkg: - # discard dir containing no ebuilds - all_cp.discard(other_cp) - continue + # Check for non-identical package that + # differs only by upper/lower case. + identical = True + for cp_orig in orig_cp_map[other_cp]: + if cp_orig != cp: + identical = False + break + if identical: + # discard dir containing no ebuilds + all_cp.discard(other_cp) + continue pkg_to_cp.setdefault(other_pkg, set()).add(other_cp) pkg_matches = difflib.get_close_matches(pkg, pkg_to_cp) matches = [] |