building a better OSX install for 1.1.1

Sorry Russell, I was a bit brief before.
Installer.app checks for a system requirement when the user installs numpy. I build numpy using bdist_mpkg against the python.org version of python (MacPython). If a user tries to install numpy and they _do not_ have this version of python installed, Installer.app issues a warning: "numpy requires System Python 2.5 to install."
The phrase "System Python" is misleading, it's reasonable to assume that refers to the system version of python. So I'd like to change it.
This string is stored in an Info.plist buried in the .mpkg that bdist_mpkg builds. I'd like to be able to override that string from the command line, but there does not seem to be any options for changing the requirements from the command line.
The hack solution is to modify the string in the Info.plist after the package is built. But I'm hoping there's a proper solution that I'm missing.
Thanks! Chris
On Fri, Jul 18, 2008 at 11:59 AM, Russell E. Owen rowen@cesmail.net wrote:
In article 764e38540807172233m6bce652bp40478564de10e265@mail.gmail.com, "Christopher Burns" cburns@berkeley.edu wrote:
I've been using bdist_mpkg to build the OSX Installer. I'd like to
update
the requirement documentation for the 1.1.1 release candidate to say "MacPython from python.org" instead of "System Python". bdist_mpkg specifies this, does anyone know how to override it?
I suspect I am misunderstanding your question, but...
If you are asking how to make bdist_mkpg actually use MacPython, then surely you simply have to have MacPython installed for that to happen? That was certainly true for MacPython and bdist_mpkg on 10.4.x.
Or are you asking how to make the installer fail if the user's system is missing MacPython? That I don't know. I usually rely on the .mpkg's ReadMe and the user being intelligent enough to read it, but of course that is a bit risky.
If you are asking how to modify the ReadMe file then that is trivial -- just look through the .mpkg package and you'll find it right away. I often replace the default ReadMe with my own when creating .mpkg installer for others.
-- Russell
Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion

On Fri, Jul 18, 2008 at 3:17 PM, Christopher Burns cburns@berkeley.edu wrote:
Sorry Russell, I was a bit brief before.
Installer.app checks for a system requirement when the user installs numpy. I build numpy using bdist_mpkg against the python.org version of python (MacPython). If a user tries to install numpy and they _do not_ have this version of python installed, Installer.app issues a warning: "numpy requires System Python 2.5 to install."
The phrase "System Python" is misleading, it's reasonable to assume that refers to the system version of python. So I'd like to change it.
This string is stored in an Info.plist buried in the .mpkg that bdist_mpkg builds. I'd like to be able to override that string from the command line, but there does not seem to be any options for changing the requirements from the command line.
The hack solution is to modify the string in the Info.plist after the package is built. But I'm hoping there's a proper solution that I'm missing.
Thanks! Chris
On Fri, Jul 18, 2008 at 11:59 AM, Russell E. Owen rowen@cesmail.net wrote:
In article 764e38540807172233m6bce652bp40478564de10e265@mail.gmail.com, "Christopher Burns" cburns@berkeley.edu wrote:
I've been using bdist_mpkg to build the OSX Installer. I'd like to
update
the requirement documentation for the 1.1.1 release candidate to say "MacPython from python.org" instead of "System Python". bdist_mpkg specifies this, does anyone know how to override it?
I suspect I am misunderstanding your question, but...
If you are asking how to make bdist_mkpg actually use MacPython, then surely you simply have to have MacPython installed for that to happen? That was certainly true for MacPython and bdist_mpkg on 10.4.x.
Or are you asking how to make the installer fail if the user's system is missing MacPython? That I don't know. I usually rely on the .mpkg's ReadMe and the user being intelligent enough to read it, but of course that is a bit risky.
If you are asking how to modify the ReadMe file then that is trivial -- just look through the .mpkg package and you'll find it right away. I often replace the default ReadMe with my own when creating .mpkg installer for others.
Since 1.1.1rc1 is coming out this Sunday, I'd like to know who is responsible for the OS X install improvements, if that is what they are. I don't know squat about them myself and don't run OS X.
Chuck

On Fri, Jul 18, 2008 at 3:37 PM, Charles R Harris charlesr.harris@gmail.com wrote:
Since 1.1.1rc1 is coming out this Sunday, I'd like to know who is responsible for the OS X install improvements, if that is what they are. I don't know squat about them myself and don't run OS X.
Chris Burns has been building the OS X installer for NumPy. He is looking into whether he can make a better Mac installer for the 1.1.1rc.1 release, which is why he is asking about whether anyone knows how to fix this.
Thanks,

Christopher Burns wrote:
install numpy and they _do not_ have this version of python installed, Installer.app issues a warning: "numpy requires System Python 2.5 to install."
The phrase "System Python" is misleading, it's reasonable to assume that refers to the system version of python. So I'd like to change it.
This string is stored in an Info.plist buried in the .mpkg that bdist_mpkg builds. I'd like to be able to override that string from the command line, but there does not seem to be any options for changing the requirements from the command line.
I've poked into the bdist_mpkg code a bit, and I think this is where that message is generated:
# plists.py
... name = u'%s Python %s' % (FRIENDLY_PREFIX.get(dprefix, dprefix), version) kw.setdefault('LabelKey', name) title = u'%s requires %s to install.' % (pkgname, name,) ...
and here:
FRIENDLY_PREFIX = { os.path.expanduser(u'~/Library/Frameworks') : u'User', u'/System/Library/Frameworks' : u'Apple', u'/Library/Frameworks' : u'System', u'/opt/local' : u'DarwinPorts', u'/usr/local' : u'Unix', u'/sw' : u'Fink', }
So, it looks like they are calling "/System/Library/Frameworks" "Apple", and "/Library/Frameworks" "system", which we all seem to agree is misleading.
So I'd say change that in the bdist_mpkg source, maybe to:
u'/Library/Frameworks' : u'python.org',
or even:
u'/Library/Frameworks' : u'python.org Framework Build',
This calls for a note to the pythonmac list -- someone there will hopefully have access to that source repository.
-Chris
participants (4)
-
Charles R Harris
-
Christopher Barker
-
Christopher Burns
-
Jarrod Millman