From 360e98ca31c09d519c0403a5fade06b0116649ab Mon Sep 17 00:00:00 2001
From: Ronald Oussoren <ronaldoussoren@mac.com>
Date: Tue, 30 Dec 2008 14:16:51 +0000
Subject: [PATCH] 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.
---
 Mac/BuildScript/build-installer.py    | 15 ++++++++++++++-
 Mac/BuildScript/resources/Welcome.rtf |  3 ++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
index add051276c1..dd606d947fa 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -184,6 +184,7 @@ PKG_RECIPES = [
             wrappers for lots of Mac OS X API's.
         """,
         postflight="scripts/postflight.framework",
+        selected='selected',
     ),
     dict(
         name="PythonApplications",
@@ -197,6 +198,7 @@ PKG_RECIPES = [
             It also installs a number of examples and demos.
             """,
         required=False,
+        selected='selected',
     ),
     dict(
         name="PythonUnixTools",
@@ -208,6 +210,7 @@ PKG_RECIPES = [
             is not necessary to use MacPython.
             """,
         required=False,
+        selected='unselected',
     ),
     dict(
         name="PythonDocumentation",
@@ -222,6 +225,7 @@ PKG_RECIPES = [
             """,
         postflight="scripts/postflight.documentation",
         required=False,
+        selected='selected',
     ),
     dict(
         name="PythonProfileChanges",
@@ -239,6 +243,7 @@ PKG_RECIPES = [
         topdir="/Library/Frameworks/Python.framework",
         source="/empty-dir",
         required=False,
+        selected='unselected',
     ),
     dict(
         name="PythonSystemFixes",
@@ -252,6 +257,7 @@ PKG_RECIPES = [
         topdir="/Library/Frameworks/Python.framework",
         source="/empty-dir",
         required=False,
+        selected='unselected',
     )
 ]
 
@@ -650,6 +656,8 @@ def buildPython():
     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 @@ def buildPython():
 
     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 @@ def makeMpkgPlist(path):
             IFPkgFlagPackageList=[
                 dict(
                     IFPkgFlagPackageLocation='%s-%s.pkg'%(item['name'], getVersion()),
-                    IFPkgFlagPackageSelection='selected'
+                    IFPkgFlagPackageSelection=item['selected'],
                 )
                 for item in PKG_RECIPES
             ],
diff --git a/Mac/BuildScript/resources/Welcome.rtf b/Mac/BuildScript/resources/Welcome.rtf
index 96944d3eb52..1e019bc5dc3 100644
--- a/Mac/BuildScript/resources/Welcome.rtf
+++ b/Mac/BuildScript/resources/Welcome.rtf
@@ -16,4 +16,5 @@ See the ReadMe file for more information.\
 \
 
 \b NOTE: 
-\b0 This package will by default update your shell profile to ensure that this version of Python is on the search path of your shell. Please deselect the "Shell profile updater" package on the package customization screen  if you want to avoid this modification. }
\ No newline at end of file
+\b0 This package will by default update not your shell profile, and will also not install\
+files in /usr/local. }
\ No newline at end of file
-- 
2.30.9