When dropping privileges inside action_sync(), set the umask to preserve
authorZac Medico <zmedico@gentoo.org>
Sun, 4 Jan 2009 03:15:49 +0000 (03:15 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 4 Jan 2009 03:15:49 +0000 (03:15 -0000)
the group write bit if appropriate.

svn path=/main/trunk/; revision=12380

pym/_emerge/__init__.py

index 110c6363098c031fe2ba648e0fca6de75d5a192c..d728d64fc9236e5d26474b4741babe05cb08cd80 100644 (file)
@@ -11821,6 +11821,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: