fix check for other lib copies to properly exclude the current package
authorMarius Mauch <genone@gentoo.org>
Sun, 13 Apr 2008 05:36:05 +0000 (05:36 -0000)
committerMarius Mauch <genone@gentoo.org>
Sun, 13 Apr 2008 05:36:05 +0000 (05:36 -0000)
svn path=/main/trunk/; revision=9862

pym/portage/dbapi/vartree.py

index 2f8ced89fe04be1870bacb50ad53833f109f4364..cba96cacdb179a6be722bfdaa4db2a3e3afd36dc 100644 (file)
@@ -1603,8 +1603,10 @@ class dblink(object):
                for lib in list(preserve_libs):
                        if not has_external_consumers(lib, old_contents, preserve_libs):
                                preserve_libs.remove(lib)
+                       # only preserve the lib if there is no other copy in the search path
                        for path in getlibpaths():
-                               if os.path.exists(os.path.join(path, lib)):
+                               fullname = os.path.join(path, lib)
+                               if fullname not in old_contents and os.path.exists(fullname):
                                        preserve_libs.remove(lib)
                        
                # get the real paths for the libs