From: Marius Mauch Date: Sun, 6 Apr 2008 17:12:41 +0000 (-0000) Subject: only preserve libraries if no copy exists in the libary search path (bug #215242) X-Git-Tag: v2.2_pre6~240 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=255a7267d2b4541e20569bb86c77676507b2f480;p=portage.git only preserve libraries if no copy exists in the libary search path (bug #215242) svn path=/main/trunk/; revision=9728 --- diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 5a085f405..2f8ced89f 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -16,7 +16,7 @@ from portage.output import bold, red, green from portage.update import fixdbentries from portage.util import apply_secpass_permissions, ConfigProtect, ensure_dirs, \ writemsg, writemsg_stdout, write_atomic, atomic_ofstream, writedict, \ - grabfile, grabdict, normalize_path, new_protect_filename + grabfile, grabdict, normalize_path, new_protect_filename, getlibpaths from portage.versions import pkgsplit, catpkgsplit, catsplit, best, pkgcmp from portage import listdir, dep_expand, flatten, key_expand, \ @@ -1602,7 +1602,10 @@ class dblink(object): for lib in list(preserve_libs): if not has_external_consumers(lib, old_contents, preserve_libs): - preserve_libs.remove(lib) + preserve_libs.remove(lib) + for path in getlibpaths(): + if os.path.exists(os.path.join(path, lib)): + preserve_libs.remove(lib) # get the real paths for the libs preserve_paths = [x for x in old_contents if os.path.basename(x) in preserve_libs]