diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-12-15 17:21:13 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-12-16 01:03:40 -0800 |
commit | 68ec5f5a93b0e4e1d40fa3c162e9fbfb79be1688 (patch) | |
tree | 1eeefcf69117ba026fb6d3bd2697aa75d5f94014 /pym/_emerge/resolver | |
parent | d13ff44c0c14318a8a1fccc2ea7b69d295e32eb8 (diff) | |
download | portage-68ec5f5a93b0e4e1d40fa3c162e9fbfb79be1688.tar.gz portage-68ec5f5a93b0e4e1d40fa3c162e9fbfb79be1688.tar.bz2 portage-68ec5f5a93b0e4e1d40fa3c162e9fbfb79be1688.zip |
highlight_violations: handle unversioned atom
A test case is included, which triggers the previously broken case.
Diffstat (limited to 'pym/_emerge/resolver')
-rw-r--r-- | pym/_emerge/resolver/slot_collision.py | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py index ba76ed068..c51b9f734 100644 --- a/pym/_emerge/resolver/slot_collision.py +++ b/pym/_emerge/resolver/slot_collision.py @@ -296,20 +296,24 @@ class slot_conflict_handler(object): atom_str = str(atom) if version: op = atom.operator - ver = cpv_getversion(atom.cpv) + ver = None + if atom.cp != atom.cpv: + ver = cpv_getversion(atom.cpv) slot = atom.slot if op == "=*": op = "=" ver += "*" - atom_str = atom_str.replace(op, colorize("BAD", op), 1) - - start = atom_str.rfind(ver) - end = start + len(ver) - atom_str = atom_str[:start] + \ - colorize("BAD", ver) + \ - atom_str[end:] + if op is not None: + atom_str = atom_str.replace(op, colorize("BAD", op), 1) + + if ver is not None: + start = atom_str.rfind(ver) + end = start + len(ver) + atom_str = atom_str[:start] + \ + colorize("BAD", ver) + \ + atom_str[end:] if slot: atom_str = atom_str.replace(":" + slot, colorize("BAD", ":" + slot)) |