[Python-checkins] r52266 - python/branches/release24-maint/Mac/BuildScript/build-installer.py

ronald.oussoren python-checkins at python.org
Tue Oct 10 09:53:37 CEST 2006


Author: ronald.oussoren
Date: Tue Oct 10 09:53:36 2006
New Revision: 52266

Modified:
   python/branches/release24-maint/Mac/BuildScript/build-installer.py
Log:
fix permission problem in the generated installer


Modified: python/branches/release24-maint/Mac/BuildScript/build-installer.py
==============================================================================
--- python/branches/release24-maint/Mac/BuildScript/build-installer.py	(original)
+++ python/branches/release24-maint/Mac/BuildScript/build-installer.py	Tue Oct 10 09:53:36 2006
@@ -10,6 +10,7 @@
 Usage: see USAGE variable in the script.
 """
 import platform, os, sys, getopt, textwrap, shutil, urllib2, stat, time, pwd
+import grp
 
 INCLUDE_TIMESTAMP=1
 VERBOSE=1
@@ -56,7 +57,7 @@
     raise RuntimeError, "Cannot find full version??"
 
 # The directory we'll use to create the build, will be erased and recreated
-WORKDIR="/tmp/_py"
+WORKDIR="/tmp/_py24"
 
 # The directory we'll use to store third-party sources, set this to something
 # else if you don't want to re-fetch required libraries every time.
@@ -643,10 +644,12 @@
                 'lib'))))
 
     print "Fix file modes"
+    gid = grp.getgrnam('admin').gr_gid
     frmDir = os.path.join(rootDir, 'Library', 'Frameworks', 'Python.framework')
     for dirpath, dirnames, filenames in os.walk(frmDir):
         for dn in dirnames:
             os.chmod(os.path.join(dirpath, dn), 0775)
+            os.chown(os.path.join(dirpath, dn), -1, gid)
 
         for fn in filenames:
             if os.path.islink(fn):
@@ -655,7 +658,8 @@
             # "chmod g+w $fn"
             p = os.path.join(dirpath, fn)
             st = os.stat(p)
-            os.chmod(p, stat.S_IMODE(st.st_mode) | stat.S_IXGRP)
+            os.chmod(p, stat.S_IMODE(st.st_mode) | stat.S_IWGRP)
+            os.chown(p, -1, gid)
 
     # We added some directories to the search path during the configure
     # phase. Remove those because those directories won't be there on


More information about the Python-checkins mailing list