From 4a78dd5f81449aebf764834d75693d2f157eb879 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 9 Nov 2008 07:42:25 +0000 Subject: [PATCH] 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 --- pym/portage/sets/libs.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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: -- 2.26.2