bpo-36588: On AIX, remove major version from sys.platform (GH-12787)
On AIX, sys.platform doesn't contain the major version anymore. Always return 'aix', instead of 'aix3' .. 'aix7'. Since older Python versions include the version number, it is recommended to always use sys.platform.startswith('aix').
This commit is contained in:
parent
9b8314cfe2
commit
9d949f7796
|
@ -1014,7 +1014,7 @@ always available.
|
||||||
This string contains a platform identifier that can be used to append
|
This string contains a platform identifier that can be used to append
|
||||||
platform-specific components to :data:`sys.path`, for instance.
|
platform-specific components to :data:`sys.path`, for instance.
|
||||||
|
|
||||||
For Unix systems, except on Linux, this is the lowercased OS name as
|
For Unix systems, except on Linux and AIX, this is the lowercased OS name as
|
||||||
returned by ``uname -s`` with the first part of the version as returned by
|
returned by ``uname -s`` with the first part of the version as returned by
|
||||||
``uname -r`` appended, e.g. ``'sunos5'`` or ``'freebsd8'``, *at the time
|
``uname -r`` appended, e.g. ``'sunos5'`` or ``'freebsd8'``, *at the time
|
||||||
when Python was built*. Unless you want to test for a specific system
|
when Python was built*. Unless you want to test for a specific system
|
||||||
|
@ -1024,12 +1024,15 @@ always available.
|
||||||
# FreeBSD-specific code here...
|
# FreeBSD-specific code here...
|
||||||
elif sys.platform.startswith('linux'):
|
elif sys.platform.startswith('linux'):
|
||||||
# Linux-specific code here...
|
# Linux-specific code here...
|
||||||
|
elif sys.platform.startswith('aix'):
|
||||||
|
# AIX-specific code here...
|
||||||
|
|
||||||
For other systems, the values are:
|
For other systems, the values are:
|
||||||
|
|
||||||
================ ===========================
|
================ ===========================
|
||||||
System ``platform`` value
|
System ``platform`` value
|
||||||
================ ===========================
|
================ ===========================
|
||||||
|
AIX ``'aix'``
|
||||||
Linux ``'linux'``
|
Linux ``'linux'``
|
||||||
Windows ``'win32'``
|
Windows ``'win32'``
|
||||||
Windows/Cygwin ``'cygwin'``
|
Windows/Cygwin ``'cygwin'``
|
||||||
|
@ -1042,6 +1045,12 @@ always available.
|
||||||
older Python versions include the version number, it is recommended to
|
older Python versions include the version number, it is recommended to
|
||||||
always use the ``startswith`` idiom presented above.
|
always use the ``startswith`` idiom presented above.
|
||||||
|
|
||||||
|
.. versionchanged:: 3.8
|
||||||
|
On AIX, :attr:`sys.platform` doesn't contain the major version anymore.
|
||||||
|
It is always ``'aix'``, instead of ``'aix5'`` or ``'aix7'``. Since
|
||||||
|
older Python versions include the version number, it is recommended to
|
||||||
|
always use the ``startswith`` idiom presented above.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
:attr:`os.name` has a coarser granularity. :func:`os.uname` gives
|
:attr:`os.name` has a coarser granularity. :func:`os.uname` gives
|
||||||
|
|
|
@ -700,6 +700,11 @@ Changes in Python behavior
|
||||||
raised when getting the attribute from the type dictionary are no longer
|
raised when getting the attribute from the type dictionary are no longer
|
||||||
ignored. (Contributed by Serhiy Storchaka in :issue:`35459`.)
|
ignored. (Contributed by Serhiy Storchaka in :issue:`35459`.)
|
||||||
|
|
||||||
|
* On AIX, :attr:`sys.platform` doesn't contain the major version anymore.
|
||||||
|
It is always ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since
|
||||||
|
older Python versions include the version number, it is recommended to
|
||||||
|
always use the ``sys.platform.startswith('aix')``.
|
||||||
|
(Contributed by M. Felt in :issue:`36588`.)
|
||||||
|
|
||||||
Changes in the Python API
|
Changes in the Python API
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
On AIX, :attr:`sys.platform` doesn't contain the major version anymore.
|
||||||
|
Always return ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since
|
||||||
|
older Python versions include the version number, it is recommended to
|
||||||
|
always use ``sys.platform.startswith('aix')``.
|
||||||
|
Contributed by M. Felt.
|
|
@ -3281,6 +3281,7 @@ then
|
||||||
MACHDEP="$ac_md_system$ac_md_release"
|
MACHDEP="$ac_md_system$ac_md_release"
|
||||||
|
|
||||||
case $MACHDEP in
|
case $MACHDEP in
|
||||||
|
aix*) MACHDEP="aix";;
|
||||||
linux*) MACHDEP="linux";;
|
linux*) MACHDEP="linux";;
|
||||||
cygwin*) MACHDEP="cygwin";;
|
cygwin*) MACHDEP="cygwin";;
|
||||||
darwin*) MACHDEP="darwin";;
|
darwin*) MACHDEP="darwin";;
|
||||||
|
@ -10199,7 +10200,6 @@ fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||||
if test -n "$ac_tool_prefix"; then
|
if test -n "$ac_tool_prefix"; then
|
||||||
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
|
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
|
||||||
|
|
|
@ -404,6 +404,7 @@ then
|
||||||
MACHDEP="$ac_md_system$ac_md_release"
|
MACHDEP="$ac_md_system$ac_md_release"
|
||||||
|
|
||||||
case $MACHDEP in
|
case $MACHDEP in
|
||||||
|
aix*) MACHDEP="aix";;
|
||||||
linux*) MACHDEP="linux";;
|
linux*) MACHDEP="linux";;
|
||||||
cygwin*) MACHDEP="cygwin";;
|
cygwin*) MACHDEP="cygwin";;
|
||||||
darwin*) MACHDEP="darwin";;
|
darwin*) MACHDEP="darwin";;
|
||||||
|
|
Loading…
Reference in New Issue