setup.py: umask=022 for 'sdist', to avoid depending on environment
authorBrian Warner <warner@lothar.com>
Wed, 9 Nov 2011 18:36:32 +0000 (10:36 -0800)
committerBrian Warner <warner@lothar.com>
Wed, 9 Nov 2011 18:36:32 +0000 (10:36 -0800)
The new tarball-building buildslave had a bogus umask set, causing the 1.9.0
tarballs to be non-other-user-readable (go-rwx), which is a hassle for
packaging. (The umask was correct on the old buildslave, but it was moved to
a new host shortly before the release). This should make sure tarballs are
correct despite the host's setting.

Note to others: processes run under twistd get umask=077 unless you arrange
otherwise.

setup.py

index 72ef1f96d1a5ce5bf743d435828e1d54677044f9..e471c973e54dd14ca7aeeab2b0a6553d078d38b8 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -311,7 +311,11 @@ class MySdist(sdist.sdist):
                 return fullname + "-SUMO"
             self.distribution.get_fullname = get_fullname
 
-        return sdist.sdist.make_distribution(self)
+        try:
+            old_mask = os.umask(int("022", 8))
+            return sdist.sdist.make_distribution(self)
+        finally:
+            os.umask(old_mask)
 
 
 setup_args = {}