diff options
-rw-r--r-- | pym/portage.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/pym/portage.py b/pym/portage.py index 44e4b9260..5c00d37c6 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -654,9 +654,10 @@ def env_update(makelinks=1): mtimedb["ldpath"][x]=newldpathtime ld_cache_update=True - # ldconfig has very different behaviour between FreeBSD and Linux - if ostype=="Linux" or ostype.lower().endswith("gnu"): - if (ld_cache_update or makelinks): + # Only run ldconfig as needed + if (ld_cache_update or makelinks): + # 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 # an older package installed ON TOP of a newer version will cause ldconfig # to overwrite the symlinks we just made. -X means no links. After 'clean' @@ -666,8 +667,7 @@ def env_update(makelinks=1): commands.getstatusoutput("cd / ; /sbin/ldconfig -r "+root) else: commands.getstatusoutput("cd / ; /sbin/ldconfig -X -r "+root) - elif ostype in ("FreeBSD","DragonFly"): - if (ld_cache_update): + elif ostype in ("FreeBSD","DragonFly"): writemsg(">>> Regenerating "+str(root)+"var/run/ld-elf.so.hints...\n") commands.getstatusoutput("cd / ; /sbin/ldconfig -elf -i -f "+str(root)+"var/run/ld-elf.so.hints "+str(root)+"etc/ld.so.conf") |