Index: pym/portage/dep.py =================================================================== --- pym/portage/dep.py (revision 14242) +++ pym/portage/dep.py (working copy) @@ -1007,6 +1007,17 @@ cp = getattr(mydep, "cp", None) if cp is not None: return cp + + # Why does this patch cause `emerge -puD world` + # to reinstall packages unecessarily? + try: + return Atom(mydep).cp + except InvalidAtom: + try: + return Atom('=' + mydep).cp + except InvalidAtom: + pass + mydep = dep_getcpv(mydep) if mydep and isspecific(mydep): mysplit = catpkgsplit(mydep)