[Python-Dev] Mapping Darwin 8.2.0 to Mac OS X 10.4.2 in platform.py

M.-A. Lemburg mal at egenix.com
Thu Sep 22 09:55:14 CEST 2005

Ronald Oussoren wrote:
> On 22-sep-2005, at 5:26, Guido van Rossum wrote:
>> The platform module has a way to map system names such as returned by
>> uname() to marketing names. It maps SunOS to Solaris, for example. But
>> it doesn't map Darwin to Mac OS X. I think I know how to map Darwin
>> version numbers to OS X version numbers: from
>> http://www.opensource.apple.com/darwinsource/ it is clear that OS X
>> 10.a.b corresponds to Darwin (a+4).b, except for OS X versions <=
>> 10.1. I'd be happy to write the code and add it to system_alias() in
>> platform.py. Is this a good idea?
> There's no good reason to assume that the mapping from kernel version 
> to marketing version will stay the same in the future. The savest way 
> to get the marketing version of the currently running OSX is to run /
> usr/sbin/sw_vers and parse its output. There might also be a public  API
> for getting the same information. Py2app, and specifically the 
> bdist_mpkg component of that, contains code to parse sw_vers output.

I don't have access to Macs, so there nothing much I can say
about this.

In general, it's always better to rely on system tools for
finding the marketing name of an OS than to try to come
up with a work-around. If gestalt() returns the proper name,
then this should be used. If sw_vers provides a more reliable
way to do this, parsing its output seems like a better idea.

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Sep 22 2005)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::

More information about the Python-Dev mailing list