commit: 597987aac1677e132b80ed2404697acf0188af7a
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 6 20:14:54 2015 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Tue Oct 6 20:23:07 2015 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=597987aa
apply_secpass_permissions: avoid accessing portage.data.secpass when possible
This fixes PermissionDenied errors triggered when portage config files
and repos have restricted access permissions.
Fixes: b7baeeec3ab6 ("unpack: use chmod-lite helper for bug 554084")
pym/portage/util/__init__.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/pym/portage/util/__init__.py b/pym/portage/util/__init__.py
index 2b7ff8d..b739257 100644
--- a/pym/portage/util/__init__.py
+++ b/pym/portage/util/__init__.py
@@ -1241,7 +1241,9 @@ def apply_secpass_permissions(filename, uid=-1, gid=-1,
mode=-1, mask=-1,
all_applied = True
- if portage.data.secpass < 2:
+ # Avoid accessing portage.data.secpass when possible, since
+ # it triggers config loading (undesirable for chmod-lite).
+ if (uid != -1 or gid != -1) and portage.data.secpass < 2:
if uid != -1 and \
uid != stat_cached.st_uid: