aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/portage/package/ebuild/fetch.py')
-rw-r--r--lib/portage/package/ebuild/fetch.py17
1 files changed, 6 insertions, 11 deletions
diff --git a/lib/portage/package/ebuild/fetch.py b/lib/portage/package/ebuild/fetch.py
index 0d30cb88e..0ecad162e 100644
--- a/lib/portage/package/ebuild/fetch.py
+++ b/lib/portage/package/ebuild/fetch.py
@@ -240,20 +240,15 @@ def _ensure_distdir(settings, distdir):
userpriv = portage.data.secpass >= 2 and "userpriv" in settings.features
write_test_file = os.path.join(distdir, ".__portage_test_write__")
- try:
- st = os.stat(distdir)
- except OSError:
- st = None
-
- if st is not None and stat.S_ISDIR(st.st_mode):
- if not (userfetch or userpriv):
- return
- if _userpriv_test_write_file(settings, write_test_file):
- return
+ if _userpriv_test_write_file(settings, write_test_file):
+ return
_userpriv_test_write_file_cache.pop(write_test_file, None)
+
+ already_exists = os.path.isdir(distdir)
+
if ensure_dirs(distdir, gid=dir_gid, mode=dirmode, mask=modemask):
- if st is None:
+ if not already_exists:
# The directory has just been created
# and therefore it must be empty.
return