os.major etc. on Linux

Joshua Root jmr at macports.org
Fri May 13 01:48:17 PDT 2016


On 2016-5-13 18:13 , Ryan Schmidt wrote:
>
> On May 13, 2016, at 3:07 AM, René J.V. Bertin wrote:
>
>> On Friday May 13 2016 15:21:53 Joshua Root wrote:
>>
>>>>> Side-ways related: why is os_arch reset to i386 from x86_64 on line 636? >From what I've seen that causes packages to be labelled and registered as i386 (i.e. 32bit) when built on 64bit linux.
>>>>
>>>> In MacPorts, os_arch is i386 on all Intel Macs (32-bit and 64-bit), and ppc on all PowerPC Macs (32-bit and 64-bit). Changing that now would break all ports that rely on the existing long-standing behavior.
>>
>> I was just asking why, apparently that's a historic choice that was made when 64-bit Intel Macs weren't on the horizon yet?
>
> os_arch is the way ports and probably MacPorts base differentiates an Intel computer from a PowerPC computer. It is not a mechanism to determine the bitness; if you need to determine bitness, use other methods, such as build_arch and universal_archs. build_arch and universal_arch determines how a package is registered when installed; os_arch doesn't enter into it, as far as I know.

If build_arch is not set then os.arch is used as a fallback. No doubt we 
don't detect an appropriate default for build_arch on Linux.

- Josh


More information about the macports-dev mailing list