diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-11-09 07:42:25 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-11-09 07:42:25 +0000 |
commit | 4a78dd5f81449aebf764834d75693d2f157eb879 (patch) | |
tree | 369eeb009857051104065715fda37e6d573143a6 | |
parent | a97986713e6a0138551970592fad3a63a6a7d7ae (diff) | |
download | portage-4a78dd5f81449aebf764834d75693d2f157eb879.tar.gz portage-4a78dd5f81449aebf764834d75693d2f157eb879.tar.bz2 portage-4a78dd5f81449aebf764834d75693d2f157eb879.zip |
Bug #243030 - In PreservedLibraryConsumerSet.load(), avoid rebuilding packages
just because they contain preserved libs that happen to be consumers of other
preserved libs.
svn path=/main/trunk/; revision=11832
-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: |