Index: pym/portage.py =================================================================== --- pym/portage.py (revision 7591) +++ pym/portage.py (revision 7592) @@ -7952,7 +7952,13 @@ if dblnk.mycpv != self.mycpv: continue writemsg_stdout(">>> Safely unmerging already-installed instance...\n") + # These caches are populated during collision-protect and the data + # they contain is now invalid. It's very important to invalidate + # the contents_inodes cache so that FEATURES=unmerge-orphans + # doesn't unmerge anything that belongs to this package that has + # just been merged. self.contentscache = None + self._contents_inodes = None others_in_slot.append(self) # self has just been merged others_in_slot.remove(dblnk) # dblnk will unmerge itself now dblnk.unmerge(trimworld=0, ldpath_mtimes=prev_mtimes,