nad0004 OS X installer: faulty Python.app bundle inside of framework
The Finder shows no version number and generic icon.
ANALYSIS Previous changes to Mac/Makefile removed configure processing
which used to edit Info.plist.in into Info.plist.
SOLUTION: Add tailoring to Mac/Makefile.
APPLIES: py3k, 3.0, trunk, 2.6
diff -r bcc084bd45d8 Mac/Makefile.in
--- Mac/Makefile.in Sat Feb 14 21:14:18 2009 -0800
+++ Mac/Makefile.in Sat Feb 14 21:18:18 2009 -0800
@@ -14,6 +14,7 @@
LDFLAGS=@LDFLAGS@
FRAMEWORKUNIXTOOLSPREFIX=@FRAMEWORKUNIXTOOLSPREFIX@
PYTHONFRAMEWORK=@PYTHONFRAMEWORK@
+PYTHONFRAMEWORKIDENTIFIER=@PYTHONFRAMEWORKIDENTIFIER@
# These are normally glimpsed from the previous set
@@ -206,6 +207,12 @@
done; \
done
$(INSTALL_PROGRAM) $(STRIPFLAG) $(BUILDPYTHON) "$(DESTDIR)$(APPINSTALLDIR)/Contents/MacOS/$(PYTHONFRAMEWORK)"
+ sed -e "s!%bundleid%!$(PYTHONFRAMEWORKIDENTIFIER)!g" \
+ -e "s!%version%!`$(RUNSHARED) $(BUILDPYTHON) \
+ -c 'import platform; print(platform.python_version())'`!g" \
+ < "$(DESTDIR)$(APPINSTALLDIR)/Contents/Info.plist.in" \
+ > "$(DESTDIR)$(APPINSTALLDIR)/Contents/Info.plist"
+ rm "$(DESTDIR)$(APPINSTALLDIR)/Contents/Info.plist.in"
install_Python4way: install_Python
lipo -extract i386 -extract ppc7400 -output "$(DESTDIR)$(APPINSTALLDIR)/Contents/MacOS/$(PYTHONFRAMEWORK)-32" "$(DESTDIR)$(APPINSTALLDIR)/Contents/MacOS/$(PYTHONFRAMEWORK)"
diff -r bcc084bd45d8 Mac/Resources/app/Info.plist.in
--- Mac/Resources/app/Info.plist.in Sat Feb 14 21:14:18 2009 -0800
+++ Mac/Resources/app/Info.plist.in Sat Feb 14 21:18:18 2009 -0800
@@ -20,7 +20,7 @@
CFBundleExecutable
Python
CFBundleGetInfoString
- @VERSION@, (c) 2004 Python Software Foundation.
+ %version%, (c) 2004-2009 Python Software Foundation.
CFBundleHelpBookFolder
Documentation
@@ -33,21 +33,21 @@
CFBundleIconFile
PythonInterpreter.icns
CFBundleIdentifier
- @PYTHONFRAMEWORKIDENTIFIER@.app
+ %bundleid%
CFBundleInfoDictionaryVersion
6.0
CFBundleLongVersionString
- @VERSION@, (c) 2004-2008 Python Software Foundation.
+ %version%, (c) 2004-2009 Python Software Foundation.
CFBundleName
Python
CFBundlePackageType
APPL
CFBundleShortVersionString
- @VERSION@
+ %version%
CFBundleSignature
PytX
CFBundleVersion
- @VERSION@
+ %version%
CSResourcesFileMapped
LSRequiresCarbon