diff options
-rw-r--r-- | pym/portage/sets/libs.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pym/portage/sets/libs.py b/pym/portage/sets/libs.py index b41653575..3722c8462 100644 --- a/pym/portage/sets/libs.py +++ b/pym/portage/sets/libs.py @@ -27,7 +27,8 @@ class PreservedLibraryConsumerSet(LibraryConsumerSet): reg = self.dbapi.plib_registry consumers = set() if reg: - for libs in reg.getPreservedLibs().values(): + plib_dict = reg.getPreservedLibs() + for libs in plib_dict.itervalues(): for lib in libs: if self.debug: print lib @@ -35,6 +36,10 @@ class PreservedLibraryConsumerSet(LibraryConsumerSet): print " ", x print "-"*40 consumers.update(self.dbapi.linkmap.findConsumers(lib)) + # Don't rebuild packages just because they contain preserved + # libs that happen to be consumers of other preserved libs. + for libs in plib_dict.itervalues(): + consumers.difference_update(libs) else: return if not consumers: |