summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/__init__.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index af908f041..321487a1c 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -5176,12 +5176,15 @@ def _post_src_install_uid_fix(mysettings):
destdir = destdir.encode('utf_8', 'replace')
size = 0
+ counted_inodes = set()
for parent, dirs, files in os.walk(destdir):
for fname in chain(dirs, files):
fpath = os.path.join(parent, fname)
mystat = os.lstat(fpath)
- if stat.S_ISREG(mystat.st_mode):
+ if stat.S_ISREG(mystat.st_mode) and \
+ mystat.st_ino not in counted_inodes:
+ counted_inodes.add(mystat.st_ino)
size += mystat.st_size
if mystat.st_uid != portage_uid and \
mystat.st_gid != portage_gid: