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.
This commit is contained in:
Ronald Oussoren 2008-12-30 14:16:51 +00:00
parent 2160015915
commit 360e98ca31
2 changed files with 16 additions and 2 deletions

View file

@ -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
],