summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-09-28 20:16:02 +0000
committerZac Medico <zmedico@gentoo.org>2007-09-28 20:16:02 +0000
commit25753857addede248f8dca39250c269776395330 (patch)
treef50c5c92d760b43e9bb4cb9709d3332c221ed113
parent621888256807f36dea24ca354398a95ad8806dd0 (diff)
downloadportage-25753857addede248f8dca39250c269776395330.tar.gz
portage-25753857addede248f8dca39250c269776395330.tar.bz2
portage-25753857addede248f8dca39250c269776395330.zip
When scanning for config updates, treat a symlink to an existing
directory as if it's just a normal directory. svn path=/main/trunk/; revision=7873
-rw-r--r--pym/emerge/__init__.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py
index 57ca82d33..46732a084 100644
--- a/pym/emerge/__init__.py
+++ b/pym/emerge/__init__.py
@@ -4540,6 +4540,15 @@ def chk_updated_cfg_files(target_root, config_protect):
mymode = os.lstat(x).st_mode
except OSError:
continue
+ if stat.S_ISLNK(mymode):
+ # We want to treat it like a directory if it
+ # is a symlink to an existing directory.
+ try:
+ real_mode = os.stat(x).st_mode
+ if stat.S_ISDIR(real_mode):
+ mymode = real_mode
+ except OSError:
+ pass
if stat.S_ISDIR(mymode):
mycommand = "find '%s' -iname '._cfg????_*'" % x
else: