[Distutils] Platform naming standardization

Ronald Oussoren ronaldoussoren at mac.com
Thu Jan 14 08:08:09 CET 2010


On 13 Jan, 2010, at 23:44, M.-A. Lemburg wrote:

> Ronald Oussoren wrote:
>> 
>> On 13 Jan, 2010, at 18:41, M.-A. Lemburg wrote:
>> 
>>> Ronald Oussoren wrote:
>>>> 
>>>> On Wednesday, January 13, 2010, at 04:15PM, "M.-A. Lemburg" <mal at egenix.com> wrote:
>>>> 
>>>>> 
>>>>>> 2) On OS X, the modification to the value returned by
>>>>>> pkg_resources.get_platform() isn't correct for fat version of Python
>>>>>> 2.5, as detailed in setuptools issue 19.  To solve that, we're using the
>>>>>> patch I submitted to the issue (with a couple recent changes).
>>>>> 
>>>>> I think that using "fat" in the version string is wrong for
>>>>> Mac OS X, since there are many ways to build fat binaries.
>>>>> 
>>>>> Instead, the version string should include the details of
>>>>> all included builds, ie. 'x86', 'x64', 'ppc', 'ppc64'.
>>>> 
>>>> Maybe in the long run, but for now "fat" has a well-defined meaning for distutils: fat == ppc + x86_64. There is also a number of other variants, as described in the documentation for distutils.
>>> 
>>> I think you meant: fat == ppc + i386.
>> 
>> Thats right.
>>> 
>>> However, it's also possible to build binaries with ppc, i386 and
>>> x86_64 - as are shipped with Mac OS X 10.6, so "fat" is not really
>>> well-defined and could lead to trying to install 32-bit software for
>>> a 64-bit build of Python.
>> 
>> "fat" is well-defined for distutils, see the definition of get_platform at <http://docs.python.org/distutils/apiref.html>. 
>> 
>> For distutils "fat" is always a universal binary with architectures i386 and ppc, with alternate names for other variants.
> 
> Thanks for pointing that out, however, I don't think that creating
> aliases for combinations of various different architectures
> is a good idea.
> 
> It's better to make the included architectures explicit and use
> this logic for all platforms, not just Mac OS X.

I would probably have done that, knowing what I know now.   

Hashing out the details on what combinations of architectures are valid during installation will be fun though ;-). That is, if my python says its machine is "i386,x86_64" is it then acceptable to install an "i386" binary, an "i386,x86_64" binary, and "i386,ppc, x86_64" binary?

Ronald
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3567 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20100114/870ce9a1/attachment-0001.bin>


More information about the Distutils-SIG mailing list