Go to file
Ana Guerrero 382f0f4b58 Accepting request 1109225 from devel:languages:python:Factory
- Update to 3.11.5 (bsc#1214692):
  - Security
    - gh-108310: Fixed an issue where instances of ssl.SSLSocket were
      vulnerable to a bypass of the TLS handshake and included
      protections (like certificate verification) and treating sent
      unencrypted data as if it were post-handshake TLS encrypted data.
      Security issue reported as CVE-2023-40217 by Aapo Oksman. Patch by
      Gregory P. Smith.
  - Core and Builtins
    - gh-104432: Fix potential unaligned memory access on C APIs
      involving returned sequences of char * pointers within the grp
      and socket modules. These were revealed using a
      -fsaniziter=alignment build on ARM macOS. Patch by Christopher
      Chavez.
    - gh-77377: Ensure that multiprocessing synchronization objects
      created in a fork context are not sent to a different process
      created in a spawn context. This changes a segfault into an
      actionable RuntimeError in the parent process.
    - gh-106092: Fix a segmentation fault caused by a use-after-free
      bug in frame_dealloc when the trashcan delays the deallocation
      of a PyFrameObject.
    - gh-106719: No longer suppress arbitrary errors in the
      __annotations__ getter and setter in the type and module types.
    - gh-106723: Propagate frozen_modules to multiprocessing spawned
      process interpreters.
    - gh-105979: Fix crash in _imp.get_frozen_object() due to improper
      exception handling.
    - gh-105840: Fix possible crashes when specializing function calls
      with too many __defaults__.
    - gh-105588: Fix an issue that could result in crashes when
      compiling malformed ast nodes.
    - gh-105375: Fix bugs in the builtins module where exceptions
      could end up being overwritten.
    - gh-105375: Fix bug in the compiler where an exception could end
      up being overwritten.
    - gh-105375: Improve error handling in
      PyUnicode_BuildEncodingMap() where an exception could end up
      being overwritten.
    - gh-105235: Prevent out-of-bounds memory access during
      mmap.find() calls.
    - gh-101006: Improve error handling when read marshal data.
  - Library
    - gh-105736: Harmonized the pure Python version of OrderedDict
      with the C version. Now, both versions set up their internal
      state in __new__. Formerly, the pure Python version did the set
      up in __init__.
    - gh-107963: Fix multiprocessing.set_forkserver_preload() to check
      the given list of modules names. Patch by Dong-hee Na.
    - gh-106242: Fixes os.path.normpath() to handle embedded null
      characters without truncating the path.
    - gh-107845: tarfile.data_filter() now takes the location of
      symlinks into account when determining their target, so it will
      no longer reject some valid tarballs with
      LinkOutsideDestinationError.
    - gh-107715: Fix doctest.DocTestFinder.find() in presence of class
      names with special characters. Patch by Gertjan van Zwieten.
    - gh-100814: Passing a callable object as an option value to a
      Tkinter image now raises the expected TclError instead of an
      AttributeError.
    - gh-106684: Close asyncio.StreamWriter when it is not closed by
      application leading to memory leaks. Patch by Kumar Aditya.
    - gh-107077: Seems that in some conditions, OpenSSL will return
      SSL_ERROR_SYSCALL instead of SSL_ERROR_SSL when a certification
      verification has failed, but the error parameters will still
      contain ERR_LIB_SSL and SSL_R_CERTIFICATE_VERIFY_FAILED. We are
      now detecting this situation and raising the appropiate
      ssl.SSLCertVerificationError. Patch by Pablo Galindo
    - gh-107396: tarfiles; Fixed use before assignment of
      self.exception for gzip decompression
    - gh-62519: Make gettext.pgettext() search plural definitions when
      translation is not found.
    - gh-83006: Document behavior of shutil.disk_usage() for
      non-mounted filesystems on Unix.
    - gh-106186: Do not report MultipartInvariantViolationDefect
      defect when the email.parser.Parser class is used to parse
      emails with headersonly=True.
    - gh-106831: Fix potential missing NULL check of d2i_SSL_SESSION
      result in _ssl.c.
    - gh-106774: Update the bundled copy of pip to version 23.2.1.
    - gh-106752: Fixed several bug in zipfile.Path in
      name/suffix/suffixes/stem operations when no filename is present
      and the Path is not at the root of the zipfile.
    - gh-106602: Add __copy__ and __deepcopy__ in enum
    - gh-106530: Revert a change to colorsys.rgb_to_hls() that caused
      division by zero for certain almost-white inputs. Patch by Terry
      Jan Reedy.
    - gh-106052: re module: fix the matching of possessive quantifiers
      in the case of a subpattern containing backtracking.
    - gh-106510: Improve debug output for atomic groups in regular
      expressions.
    - gh-105497: Fix flag mask inversion when unnamed flags exist.
    - gh-90876: Prevent multiprocessing.spawn from failing to import
      in environments where sys.executable is None. This regressed in
      3.11 with the addition of support for path-like objects in
      multiprocessing.
    - gh-106350: Detect possible memory allocation failure in the
      libtommath function mp_init() used by the _tkinter module.
    - gh-102541: Make pydoc.doc catch bad module ImportError when
      output stream is not None.
    - gh-106263: Fix crash when calling repr with a manually
      constructed SignalDict object. Patch by Charlie Zhao.
    - gh-105375: Fix a bug in _Unpickler_SetInputStream() where an
      exception could end up being overwritten in case of failure.
    - gh-105375: Fix bugs in sys where exceptions could end up being
      overwritten because of deferred error handling.
    - gh-105605: Harden pyexpat error handling during module
      initialisation to prevent exceptions from possibly being
      overwritten, and objects from being dereferenced twice.
    - gh-105375: Fix bug in decimal where an exception could end up
      being overwritten.
    - gh-105375: Fix bugs in _datetime where exceptions could be
      overwritten in case of module initialisation failure.
    - gh-105375: Fix bugs in _ssl initialisation which could lead to
      leaked references and overwritten exceptions.
    - gh-105375: Fix a bug in array.array where an exception could end
      up being overwritten.
    - gh-105375: Fix bugs in _ctypes where exceptions could end up
      being overwritten.
    - gh-105375: Fix a bug in the posix module where an exception
      could be overwritten.
    - gh-105375: Fix bugs in _elementtree where exceptions could be
      overwritten.
    - gh-105375: Fix bugs in zoneinfo where exceptions could be
      overwritten.
    - gh-105375: Fix bugs in pickle where exceptions could be
      overwritten.
    - gh-105497: Fix flag inversion when alias/mask members exist.
    - gh-105375: Fix bugs in pickle where exceptions could be
      overwritten.
    - gh-103171: Revert undocumented behaviour change with
      runtime-checkable protocols decorated with typing.final() in
      Python 3.11. The behaviour change had meant that objects would
      not be considered instances of these protocols at runtime unless
      they had a __final__ attribute. Patch by Alex Waygood.
    - gh-105375: Fix a bug in sqlite3 where an exception could be
      overwritten in the collation callback.
    - gh-105332: Revert pickling method from by-name back to by-value.
    - gh-104554: Add RTSPS scheme support in urllib.parse
    - gh-100061: Fix a bug that causes wrong matches for regular
      expressions with possessive qualifier.
    - gh-102541: Hide traceback in help() prompt, when import failed.
    - gh-99203: Restore following CPython <= 3.10.5 behavior of
      shutil.make_archive(): do not create an empty archive if
      root_dir is not a directory, and, in that case, raise
      FileNotFoundError or NotADirectoryError regardless of format
      choice. Beyond the brought-back behavior, the function may now
      also raise these exceptions in dry_run mode.
    - gh-94777: Fix hanging multiprocessing ProcessPoolExecutor when a
      child process crashes while data is being written in the call
      queue.
    - bpo-18319: Ensure gettext(msg) retrieve translations even if a
      plural form exists. In other words: gettext(msg) ==
      ngettext(msg, '', 1).
  - Documentation
    - gh-107008: Document the curses module variables LINES and COLS.
    - gh-106948: Add a number of standard external names to
      nitpick_ignore.
    - gh-54738: Add documentation on how to localize the argparse
      module.
  - Tests
    - gh-105776: Fix test_cppext when the C compiler command -std=c11
      option: remove -std= options from the compiler command. Patch by
      Victor Stinner.
    - gh-107237: test_logging: Fix test_udp_reconnection() by
      increasing the timeout from 100 ms to 5 minutes (LONG_TIMEOUT).
      Patch by Victor Stinner.
    - gh-101634: When running the Python test suite with -jN option,
      if a worker stdout cannot be decoded from the locale encoding
      report a failed testn so the exitcode is non-zero. Patch by
      Victor Stinner.
  - Build
    - gh-107814: When calling find_python.bat with -q it did not
      properly silence the output of nuget. That is now fixed.
    - gh-106881: Check for linux/limits.h before including it in
      Modules/posixmodule.c.
    - gh-104692: Include commoninstall as a prerequisite for
      bininstall
    - This ensures that commoninstall is completed before bininstall
      is started when parallel builds are used (make -j install), and
      so the python3 symlink is only installed after all standard
      library modules are installed.
    - gh-100340: Allows -Wno-int-conversion for wasm-sdk 17 and
      onwards, thus enables building WASI builds once against the
      latest sdk.
  - Windows
    - gh-106242: Fixes realpath() to behave consistently when passed a
      path containing an embedded null character on Windows. In strict
      mode, it now raises OSError instead of the unexpected
      ValueError, and in non-strict mode will make the path absolute.
    - gh-106844: Fix integer overflow in _winapi.LCMapStringEx() which
      affects ntpath.normcase().
    - gh-99079: Update Windows build to use OpenSSL 3.0.9
    - gh-105436: Ensure that an empty environment block is terminated
      by two null characters, as is required by Windows.
  - macOS
    - gh-107565: Update macOS installer to use OpenSSL 3.0.10.
    - gh-99079: Update macOS installer to use OpenSSL 3.0.9.
  - Tools/Demos
    - gh-107565: Update multissltests and GitHub CI workflows to use
      OpenSSL 1.1.1v, 3.0.10, and 3.1.2.
    - gh-95065: Argument Clinic now supports overriding automatically
      generated signature by using directive @text_signature. See How
      to override the generated signature.
    - gh-106970: Fix bugs in the Argument Clinic destination <name>
      clear command; the destination buffers would never be cleared,
      and the destination directive parser would simply continue to
      the fault handler after processing the command. Patch by Erlend
      E. Aasland.
  - C API
    - gh-107916: C API functions PyErr_SetFromErrnoWithFilename(),
      PyErr_SetExcFromWindowsErrWithFilename() and
      PyErr_SetFromWindowsErrWithFilename() save now the error code
      before calling PyUnicode_DecodeFSDefault().
    - gh-107915: Such C API functions as PyErr_SetString(),
      PyErr_Format(), PyErr_SetFromErrnoWithFilename() and many others
      no longer crash or ignore errors if it failed to format the
      error message or decode the filename. Instead, they keep a
      corresponding error.
    - gh-107226: PyModule_AddObjectRef() is now only available in the
      limited API version 3.10 or later.
    - gh-105375: Fix a bug in PyErr_WarnExplicit() where an exception
      could end up being overwritten if the API failed internally.
    - gh-99612: Fix PyUnicode_DecodeUTF8Stateful() for ASCII-only
      data: *consumed was not set.

OBS-URL: https://build.opensuse.org/request/show/1109225
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python311?expand=0&rev=23
2023-09-08 19:15:18 +00:00
_multibuild OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
.gitattributes OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
.gitignore OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
103213-fetch-CONFIG_ARGS.patch - Add 103213-fetch-CONFIG_ARGS.patch (gh#python/cpython#103053). 2023-05-02 21:29:28 +00:00
baselibs.conf Fix baselibs.conf 2022-05-09 15:13:18 +00:00
bluez-devel-vendor.tar.xz - Refresh bluez-devel-vendor.tar.xz 2022-05-10 16:49:16 +00:00
bpo-31046_ensurepip_honours_prefix.patch - Update to 3.11.1: 2022-12-08 15:05:06 +00:00
CVE-2023-27043-email-parsing-errors.patch - Add Revert-gh105127-left-tests.patch (gh#python/cpython!106941) 2023-08-03 14:58:20 +00:00
distutils-reproducible-compile.patch OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
externally_managed.in Accepting request 1102676 from home:dirkmueller:Factory 2023-08-07 14:46:39 +00:00
F00251-change-user-install-location.patch Readjust patches. 2022-05-10 11:17:42 +00:00
fix_configure_rst.patch Fix patches 2023-06-28 19:55:36 +00:00
idle3.appdata.xml OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
idle3.desktop OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
import_failed.map - fix import_failed.map to refer to the python 3.11 package versions 2022-08-20 21:31:49 +00:00
import_failed.py OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
macros.python3 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
no-skipif-doctests.patch Readjust patches 2023-07-18 15:10:43 +00:00
PACKAGING-NOTES OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
pre_checkin.sh OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
python311-rpmlintrc - Don't fail on Sphinx build warnings. 2023-01-19 10:07:22 +00:00
python311.changes - Update to 3.11.5 (bsc#1214692): 2023-09-06 07:58:19 +00:00
python311.spec - Update to 3.11.5 (bsc#1214692): 2023-09-06 07:58:19 +00:00
python-3.3.0b1-fix_date_time_compiler.patch - Update to 3.11.1: 2022-12-08 15:05:06 +00:00
python-3.3.0b1-localpath.patch OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
python-3.3.0b1-test-posix_fadvise.patch - Update to 3.11.0b2: 2022-05-31 20:57:46 +00:00
Python-3.11.5.tar.xz - Update to 3.11.5 (bsc#1214692): 2023-09-06 07:58:19 +00:00
Python-3.11.5.tar.xz.asc - Update to 3.11.5 (bsc#1214692): 2023-09-06 07:58:19 +00:00
python.keyring OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
README.SUSE OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
Revert-gh105127-left-tests.patch - Add Revert-gh105127-left-tests.patch (gh#python/cpython!106941) 2023-08-03 14:58:20 +00:00
skip_if_buildbot-extend.patch Fix the patch 2023-05-03 07:07:31 +00:00
skip-test_pyobject_freed_is_freed.patch Ajust patches 2023-04-27 22:23:56 +00:00
skipped_tests.py OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python311?expand=0&rev=2 2022-05-09 15:04:49 +00:00
subprocess-raise-timeout.patch Fix patches 2023-06-28 19:55:36 +00:00
support-expat-CVE-2022-25236-patched.patch - Update to 3.11.0rc2: 2022-09-15 09:14:50 +00:00

Python 3 in SUSE
==============

* Subpackages *

Python 3 is split into several subpackages, based on external dependencies.
The main package 'python3' has soft dependencies on all subpackages needed to
assemble the standard library; however, these might not all be installed by default.

If you attempt to import a module that is currently not installed, an ImportError is thrown,
with instructions to install the missing subpackage. Installing the subpackage might result
in installing libraries that the subpackage requires to function.


* ensurepip *

The 'ensurepip' module from Python 3 standard library (PEP 453) is supposed to deploy
a bundled copy of the pip installer. This makes no sense in a managed distribution like SUSE.
Instead, you need to install package 'python3-pip'. Usually this will be installed automatically
with 'python3'.

Using 'ensurepip' when pip is not installed will result in an ImportError with instructions
to install 'python3-pip'.


* Documentation *

You can find documentation in seprarate packages: python3-doc and
python3-doc-pdf. These contan following documents:

    Tutorial, What's New in Python, Global Module Index, Library Reference,
    Macintosh Module Reference, Installing Python Modules, Distributing Python
    Modules, Language Reference, Extending and Embedding, Python/C API,
    Documenting Python 

The python3-doc package constains many text files from source tarball.


* Interactive mode *

Interactive mode is by default enhanced with of history and command completion.
If you don't like these features, you can unset the PYTHONSTARTUP variable
in your .profile or disable it system wide in /etc/profile.d/python.sh.