Py3k: update OSX installer-generator
This update makes sure that the installer won't write files
in /usr/local/bin by default. The installer also won't
replace /Library/Frameworks/Python.framework/Version/Current.
Both to ensure that the installer doens't break an existing
install of python 2.x.
diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index add0512..dd606d9 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -184,6 +184,7 @@
wrappers for lots of Mac OS X API's.
""",
postflight="scripts/postflight.framework",
+ selected='selected',
),
dict(
name="PythonApplications",
@@ -197,6 +198,7 @@
It also installs a number of examples and demos.
""",
required=False,
+ selected='selected',
),
dict(
name="PythonUnixTools",
@@ -208,6 +210,7 @@
is not necessary to use MacPython.
""",
required=False,
+ selected='unselected',
),
dict(
name="PythonDocumentation",
@@ -222,6 +225,7 @@
""",
postflight="scripts/postflight.documentation",
required=False,
+ selected='selected',
),
dict(
name="PythonProfileChanges",
@@ -239,6 +243,7 @@
topdir="/Library/Frameworks/Python.framework",
source="/empty-dir",
required=False,
+ selected='unselected',
),
dict(
name="PythonSystemFixes",
@@ -252,6 +257,7 @@
topdir="/Library/Frameworks/Python.framework",
source="/empty-dir",
required=False,
+ selected='unselected',
)
]
@@ -650,6 +656,8 @@
frmDir = os.path.join(rootDir, 'Library', 'Frameworks', 'Python.framework')
gid = grp.getgrnam('admin').gr_gid
+
+
for dirpath, dirnames, filenames in os.walk(frmDir):
for dn in dirnames:
os.chmod(os.path.join(dirpath, dn), 0775)
@@ -696,6 +704,11 @@
os.chdir(curdir)
+ # Remove the 'Current' link, that way we don't accidently mess with an already installed
+ # version of python
+ os.unlink(os.path.join(rootDir, 'Library', 'Frameworks', 'Python.framework', 'Versions', 'Current'))
+
+
def patchFile(inPath, outPath):
@@ -830,7 +843,7 @@
IFPkgFlagPackageList=[
dict(
IFPkgFlagPackageLocation='%s-%s.pkg'%(item['name'], getVersion()),
- IFPkgFlagPackageSelection='selected'
+ IFPkgFlagPackageSelection=item['selected'],
)
for item in PKG_RECIPES
],