]> granicus.if.org Git - python/commitdiff
Py3k: update OSX installer-generator
authorRonald Oussoren <ronaldoussoren@mac.com>
Tue, 30 Dec 2008 14:16:51 +0000 (14:16 +0000)
committerRonald Oussoren <ronaldoussoren@mac.com>
Tue, 30 Dec 2008 14:16:51 +0000 (14:16 +0000)
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
Mac/BuildScript/resources/Welcome.rtf

index add051276c10abce16d7a39375a315e3b67268e6..dd606d947faaf845d1eafec87ceecba23bd8d0f2 100755 (executable)
@@ -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
             ],
index 96944d3eb52b9c3be6f88d7e8fbbeaeaccd2d35f..1e019bc5dc37663f02f94f209e44c78af4d7f4f1 100644 (file)
@@ -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