]> granicus.if.org Git - python/commitdiff
bpo-36588: On AIX, remove major version from sys.platform (GH-12787)
authorMichael Felt <aixtools@users.noreply.github.com>
Fri, 12 Apr 2019 14:15:32 +0000 (16:15 +0200)
committerVictor Stinner <vstinner@redhat.com>
Fri, 12 Apr 2019 14:15:32 +0000 (16:15 +0200)
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').

Doc/library/sys.rst
Doc/whatsnew/3.8.rst
Misc/NEWS.d/next/Core and Builtins/2019-04-11-14-36-55.bpo-36588.wejLoC.rst [new file with mode: 0644]
configure
configure.ac

index 52026f6a2bce38e179fe4b7761428585222134bf..591972e9b783a018a4b2337548cbab9e03972278 100644 (file)
@@ -1014,7 +1014,7 @@ always available.
    This string contains a platform identifier that can be used to append
    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
    ``uname -r`` appended, e.g. ``'sunos5'`` or ``'freebsd8'``, *at the time
    when Python was built*.  Unless you want to test for a specific system
@@ -1024,12 +1024,15 @@ always available.
           # FreeBSD-specific code here...
       elif sys.platform.startswith('linux'):
           # Linux-specific code here...
+      elif sys.platform.startswith('aix'):
+          # AIX-specific code here...
 
    For other systems, the values are:
 
    ================ ===========================
    System           ``platform`` value
    ================ ===========================
+   AIX              ``'aix'``
    Linux            ``'linux'``
    Windows          ``'win32'``
    Windows/Cygwin   ``'cygwin'``
@@ -1042,6 +1045,12 @@ always available.
       older Python versions include the version number, it is recommended to
       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::
 
       :attr:`os.name` has a coarser granularity.  :func:`os.uname` gives
index aa75beeabe70e4a27901e4ff1af9bcf561d99c32..bf28e5ff4b06c2a148caf46401566d5f9ca1522e 100644 (file)
@@ -700,6 +700,11 @@ Changes in Python behavior
   raised when getting the attribute from the type dictionary are no longer
   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
 -------------------------
diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-04-11-14-36-55.bpo-36588.wejLoC.rst b/Misc/NEWS.d/next/Core and Builtins/2019-04-11-14-36-55.bpo-36588.wejLoC.rst
new file mode 100644 (file)
index 0000000..77d2fa4
--- /dev/null
@@ -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.
index fcfa71496e405899fe57e159c8a10006466ccd2a..72589fdb78c53d9c8f95515a223e40deecc5a391 100755 (executable)
--- a/configure
+++ b/configure
@@ -3281,6 +3281,7 @@ then
     MACHDEP="$ac_md_system$ac_md_release"
 
     case $MACHDEP in
+       aix*) MACHDEP="aix";;
        linux*) MACHDEP="linux";;
        cygwin*) MACHDEP="cygwin";;
        darwin*) MACHDEP="darwin";;
@@ -10199,7 +10200,6 @@ fi
 
 
 
-
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; 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.
index 880e47f70fb3b8036126dd2be7e1c57da0d07e99..30e8587cb08fb5b1bf38da52fdef6f540b8452bd 100644 (file)
@@ -404,6 +404,7 @@ then
     MACHDEP="$ac_md_system$ac_md_release"
 
     case $MACHDEP in
+       aix*) MACHDEP="aix";;
        linux*) MACHDEP="linux";;
        cygwin*) MACHDEP="cygwin";;
        darwin*) MACHDEP="darwin";;