On 03/08/2019 12:16, Ronald Oussoren via Distutils-SIG wrote:
> On 01/08/2019 11:07, Michael wrote:
>> So, to my question: currently, for AIX get_host_platform returns
>> something such as: aix-6.1.
>>
>> Considering above: what would you - as more expericenced with
>> multi-oslevel packaging and low levels are accepted by high-levels, but
>> not v.v.
>> "What should the AIX get_host_platform() string contain?"
>>
>> At a minimum I forsee:        return "%s-%s.%s-%s" % (osname, version,
>> release, platform.architecture()[0])
>>
>> But this does not address potential issues where the TL level within a
>> version.release has changed. (X.Y.TL5 built packages MIGHT work on
>> X.YTL4, but there is no reason to expect them to.
>>
>> So, I would look to something that remains recognizable, but uses
>> different 'punctuation'
>>
>> e.g., oslevel -s returns a string such as: 6100-09-10-1731
>>
>> Then using the equivalent of:
>>
>> version, release, service, builddata = '6100-09-10-1731'.split('-')
>>
>> return "%s-%s.%s.%s-%s" % (osname, version, release, service,
>> platform.architecture()[0])
> What I forgot to mention - there is likely incompatibilities when
> different compilers are used. This is definetly the case when source
> files need a C compiler - and I fear that the different run-time
> environments of gcc versus xlc (which does not need/link to glibc).
>
> So, how does, e.g., macos account for differences between clang and gcc
> compiled executables and modules. Or are both compilers "gnu" oriented?

OK - after reading PEP513 (and PEP571) I see that the "approach" is
different. These PEPs came up with a 'white-list' of acceptable shared
libraries - while the AIX approach has focused on "new OS levels support
old OS levels".

In any case - I see this as a "format" for a wheel 'label'

PKG-VERSION-cp27-cp27m-manylinux1_x86_64.whl

where, I assume cp27 stands for CPython-2.7 - so the "front-end": 
PKG-VERSION-cp27-cp27m- is
'provided' and what I need to replace is the 'tail' manylinux1_x86_64.whl

So, since my approach is NOT to have a list of acceptable libraries - I guess I 
would start with something like:

PKG-VERSION-cp37-cp37m-aix_6100_07-32b.whl and 
PKG-VERSION-cp37-cp37md-aix_6100_07-32b.whl

++++
PEP571 mentions "try:\n import _manylinux\n..."

As I look around I get the impression that this is a module that the manylinux 
docker image is 'inserting'.

The deeper I look, the less I see in this approach. The "common-ground" is that 
they also state the 'heart'
of having portable code is having access to an "old" machine - and providing 
that via docker.

++++
What I am looking to accomplish is to have a way to "accept" a package labeled

PKG-VERSION-cp37-cp37md-aix_6100_09-32b.whl if the label "I" would generate is:

PKG-VERSION-cp37-cp37md-aix_6100_10-32b.whl or 
PKG-VERSION-cp37-cp37md-aix_7100_07-32b.whl

but not accept 

PKG-VERSION-cp37-cp37md-aix_6100_07-32b.whl or 
PKG-VERSION-cp37-cp37m-aix_6100_09-32b.whl or 
PKG-VERSION-cp37-cp37md-aix_6100_09-64b.whl

This means the "mdu" characters need to match, also the cpXY - and the "32|64"b 
and the
aix_XY00_TL needs to be lower, or equal to the 'running' system.

So, what am I missing - and where should this (plus anything else) be inserted?

Attachment: signature.asc
Description: OpenPGP digital signature

--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/archives/list/distutils-sig@python.org/message/Q4PGP2OBDFOAJN6NTFH4DWTCW3CZ6FC2/

Reply via email to