commit eaf1d1bc3d25dbbbba7de8eb09f6db7ec5f2dd28 Author: Benda Xu Date: Wed Dec 10 10:45:31 2014 +0900 In Prefix, let env-update call ldconfig if it exists. It does not affect prefix-rpath, and handles prefix-libc(RAP) correctly. diff --git a/pym/portage/util/env_update.py b/pym/portage/util/env_update.py index ace492c..5e732ad 100644 --- a/pym/portage/util/env_update.py +++ b/pym/portage/util/env_update.py @@ -306,13 +306,15 @@ def _env_update(makelinks, target_root, prev_mtimes, contents, env, if not libdir_contents_changed: makelinks = False - ldconfig = "/sbin/ldconfig" + ldconfig = eprefix + "/sbin/ldconfig" if "CHOST" in settings and "CBUILD" in settings and \ settings["CHOST"] != settings["CBUILD"]: ldconfig = find_binary("%s-ldconfig" % settings["CHOST"]) + elif not (os.access(ldconfig, os.X_OK) and os.path.isfile(ldconfig)): + ldconfig = None # Only run ldconfig as needed - if makelinks and ldconfig and not eprefix: + if makelinks and ldconfig: # ldconfig has very different behaviour between FreeBSD and Linux if ostype == "Linux" or ostype.lower().endswith("gnu"): # We can't update links if we haven't cleaned other versions first, as