From 255a7267d2b4541e20569bb86c77676507b2f480 Mon Sep 17 00:00:00 2001 From: Marius Mauch Date: Sun, 6 Apr 2008 17:12:41 +0000 Subject: [PATCH] only preserve libraries if no copy exists in the libary search path (bug #215242) svn path=/main/trunk/; revision=9728 --- pym/portage/dbapi/vartree.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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] -- 2.26.2