https://github.com/python/cpython/commit/e3eba8ce266f90d9f8faeb5b2b4b64e56110bd2a
commit: e3eba8ce266f90d9f8faeb5b2b4b64e56110bd2a
branch: main
author: Michael Osipov <[email protected]>
committer: vstinner <[email protected]>
date: 2025-01-31T10:02:45+01:00
summary:

gh-129393: Make 'sys.platform' return "freebsd" only on FreeBSD (#129394)

Make 'sys.platform' return "freebsd" only on FreeBSD without major version.

files:
A 
Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-10-26-04.gh-issue-129393.0eICq6.rst
M Doc/library/sys.rst
M Doc/whatsnew/3.14.rst
M configure
M configure.ac

diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index 151fd60532048a..5a096235713319 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -1422,6 +1422,7 @@ always available. Unless explicitly noted otherwise, all 
variables are read-only
    AIX              ``'aix'``
    Android          ``'android'``
    Emscripten       ``'emscripten'``
+   FreeBSD          ``'freebsd'``
    iOS              ``'ios'``
    Linux            ``'linux'``
    macOS            ``'darwin'``
@@ -1432,12 +1433,12 @@ always available. Unless explicitly noted otherwise, 
all variables are read-only
 
    On Unix systems not listed in the table, the value 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
-   version, it is therefore recommended to use the following idiom::
+   ``uname -r`` appended, e.g. ``'sunos5'``, *at the time when Python was 
built*.
+   Unless you want to test for a specific system version, it is therefore
+   recommended to use the following idiom::
 
-      if sys.platform.startswith('freebsd'):
-          # FreeBSD-specific code here...
+      if sys.platform.startswith('sunos'):
+          # SunOS-specific code here...
 
    .. versionchanged:: 3.3
       On Linux, :data:`sys.platform` doesn't contain the major version anymore.
@@ -1451,6 +1452,10 @@ always available. Unless explicitly noted otherwise, all 
variables are read-only
       On Android, :data:`sys.platform` now returns ``'android'`` rather than
       ``'linux'``.
 
+   .. versionchanged:: 3.14
+      On FreeBSD, :data:`sys.platform` doesn't contain the major version 
anymore.
+      It is always ``'freebsd'``, instead of ``'freebsd13'`` or 
``'freebsd14'``.
+
    .. seealso::
 
       :data:`os.name` has a coarser granularity.  :func:`os.uname` gives
diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst
index 8d4cb94ae2d805..484e306335829a 100644
--- a/Doc/whatsnew/3.14.rst
+++ b/Doc/whatsnew/3.14.rst
@@ -649,6 +649,9 @@ sys
   which only exists in specialized builds of Python, may now return objects
   from other interpreters than the one it's called in.
 
+* On FreeBSD, :data:`sys.platform` doesn't contain the major version anymore.
+  It is always ``'freebsd'``, instead of ``'freebsd13'`` or ``'freebsd14'``.
+
 sys.monitoring
 --------------
 
diff --git 
a/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-10-26-04.gh-issue-129393.0eICq6.rst
 
b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-10-26-04.gh-issue-129393.0eICq6.rst
new file mode 100644
index 00000000000000..e36e6f565efd81
--- /dev/null
+++ 
b/Misc/NEWS.d/next/Core_and_Builtins/2025-01-28-10-26-04.gh-issue-129393.0eICq6.rst
@@ -0,0 +1,2 @@
+On FreeBSD, :data:`sys.platform` doesn't contain the major version anymore.
+It is always ``'freebsd'``, instead of ``'freebsd13'`` or ``'freebsd14'``.
diff --git a/configure b/configure
index 885c2cf7828d6c..3eb787f788bfb9 100755
--- a/configure
+++ b/configure
@@ -4132,6 +4132,7 @@ then
 
     case $MACHDEP in
        aix*) MACHDEP="aix";;
+       freebsd*) MACHDEP="freebsd";;
        linux-android*) MACHDEP="android";;
        linux*) MACHDEP="linux";;
        cygwin*) MACHDEP="cygwin";;
diff --git a/configure.ac b/configure.ac
index f89a0801948ca5..c0130b8082cd8a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -365,6 +365,7 @@ then
 
     case $MACHDEP in
        aix*) MACHDEP="aix";;
+       freebsd*) MACHDEP="freebsd";;
        linux-android*) MACHDEP="android";;
        linux*) MACHDEP="linux";;
        cygwin*) MACHDEP="cygwin";;

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to