When a library is preserved during a package upgrade, preserve-libs currently re-parents the preserved libraries to the new version of the package. The re-parenting is not really desirable since /var/db/pkg transactions are needed in order to undo it when the preserved libraries are finally eliminated. These /var/db/pkg transcactions introduce extra complexity, such the NEEDED.ELF.2 handling added in this commit for bug 637284: https://gitweb.gentoo.org/proj/portage.git/commit/?id=0936d873aedccfb46ca4353c0b52f460287d6682 For cases like bug 652382 where there are dependency cycles between preserved libraries, it will be possible to eliminate the preserved libraries with zero /var/db/pkg transactions. Since bug 286714, parent-less preserved libs are already implemented for unmerge operations. So, if we simply eliminate the re-parenting step during upgrades, then the corresponding preserved libraries will be handled in essentially the same ways as those preserved during unmerge operations.