Re: distutils.util.get_host_platform() and AIX

Michael <[email protected]>
Newsgroups gmane.comp.python.distutils.devel
Message-ID <[email protected]>
On 06/08/2019 09:15, Michael wrote:
OK - been about a week - so, before I forget everything a list-ping...

Quick summary: re: manylinix1 approach: read several docs and checked
CPython - please tell me if/where I am missing something.

* I do not have a Linux system to look at separately, maybe I must look
for a system (I can trash by accident)
* the manylinux support is external to CPython (Lib/distutils)
* how does pip/dist-utils interpet the "label" that is applied to a package
* is the label applied by the CPython distutils package, or is that
package "overwritten" by the distutils part of pip?
  This concerns whether I would need to write a PR for CPython, or for
distutils (aka, who is the 'owner' of distutils

I suppose there is more - but I hope to get some level of
synchronization before getting too far along.

Thanks for your assistance!

Michael
> 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?
>
>
>
> --
> Distutils-SIG mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3/lists/distutils-sig.python.org/
> Message archived at https://mail.python.org/archives/list/[email protected]/message/Q4PGP2OBDFOAJN6NTFH4DWTCW3CZ6FC2/

--
Distutils-SIG mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at https://mail.python.org/archives/list/[email protected]/message/5JR7AS6Q6D6JV2QKE4L6ZPGIQYSRLYRE/
signature.asc (application/pgp-signature, 488 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEE4MC4YtVFAh73PAYk4vWDeFkjp+AFAl1Sz1sACgkQ4vWDeFkj
p+DrsQf+Iz/A8Oq0SegUW+MrK7j8gKdFOCPEQT4KrGCspnry1ph4y6hXak1CqO2a
F+TmUBtBlIj24COspU9e6O1fcEOobILLxT9/+HzYD+3w8UOwScHJjBL171l+3zv5
qzeDxy8Cmio8LGWJTKcffdlQGbhLJn6OmGq8DJdKEEuXnnwVbFPMqSCJtcpFmTn+
9W2qYac54i1wwi1XIcv4tOvHZzlzFvmsIpDT/rLaYO86PU0TL3pg5vbb1GEu+V8x
MYgA+HQolPsX/VAV7NgQ0W028cdjqMy2ucEfTSh6waKmUqo4KhgcsRMtcYYBm1vU
A6pkvlziwt6M5AhTCDye43shj9JFrw==
=wFvs
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.