summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-01-12 08:14:04 +0000
committerZac Medico <zmedico@gentoo.org>2009-01-12 08:14:04 +0000
commit639ef7731ecf12edbfbef3871b8a24c34f069a42 (patch)
treeadf8210b1ad619985574887a635ffcfdb4c371e5 /pym/_emerge
parentd96242c401d0345324c5ddde7d07a98535617831 (diff)
downloadportage-639ef7731ecf12edbfbef3871b8a24c34f069a42.tar.gz
portage-639ef7731ecf12edbfbef3871b8a24c34f069a42.tar.bz2
portage-639ef7731ecf12edbfbef3871b8a24c34f069a42.zip
When dropping privileges inside action_sync(), set the umask to preserve
the group write bit if appropriate. (trunk r12380) svn path=/main/branches/2.1.6/; revision=12450
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/__init__.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 4ea4a3d09..f28baffea 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -11645,6 +11645,10 @@ def action_sync(settings, trees, mtimedb, myopts, myaction):
spawn_kwargs["gid"] = st.st_gid
spawn_kwargs["groups"] = [st.st_gid]
spawn_kwargs["env"]["HOME"] = homedir
+ umask = 0002
+ if not st.st_mode & 0020:
+ umask = umask | 0020
+ spawn_kwargs["umask"] = umask
syncuri = settings.get("SYNC", "").strip()
if not syncuri: