diff options
Diffstat (limited to 'pym/portage/__init__.py')
-rw-r--r-- | pym/portage/__init__.py | 5 |
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: |