summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Mauch <genone@gentoo.org>2008-04-06 17:12:41 +0000
committerMarius Mauch <genone@gentoo.org>2008-04-06 17:12:41 +0000
commit255a7267d2b4541e20569bb86c77676507b2f480 (patch)
tree18b8d163833b92d501d140eb490221e651e1f803
parent33e558be9ec5388b72a4eb5d4ec9b8f8598615af (diff)
downloadportage-255a7267d2b4541e20569bb86c77676507b2f480.tar.gz
portage-255a7267d2b4541e20569bb86c77676507b2f480.tar.bz2
portage-255a7267d2b4541e20569bb86c77676507b2f480.zip
only preserve libraries if no copy exists in the libary search path (bug #215242)
svn path=/main/trunk/; revision=9728
-rw-r--r--pym/portage/dbapi/vartree.py7
1 files 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]