Debian Patches
Status for python3.14/3.14.7-3
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| test-freeze-strip-libdir.diff | Strip absolute --libdir paths from configure args in test_freeze We are trying to install into a prefix, any absolute path would not necessarily be writeable. e.g. if Python is configured with --libdir=/usr/lib/$(MULTIARCH)/ during a Debian build. |
Stefano Rivera <stefano@rivera.za.net> | yes | 2024-10-02 | ||
| git-updates.diff | Updates from the 3.14 branch (until 2026-09-05). We pick the latest updates from the maintainance branch, and carry them in a patch, rather than creating and uploading uploading a new .orig tarball. # git diff --no-renames 823f0323ee6ec1402088b73bce1a38473cac36dc eac1dcfda3ad738ae3d480b16e8422b33c8c455d | filterdiff -x ?/.hgignore -x ?/.hgeol -x ?/.hgtags -x ?/.hgtouch -x ?/.gitignore -x ?/.gitattributes -x '?/.github/*' -x '?/.git*' -x ?/.codecov.yml -x ?/.travis.yml -x ?/configure --remove-timestamps diff --git a/Android/android.py b/Android/android.py index 73b7a1361d6..291e1998a75 100755 |
no | ||||
| patchlevel-noplus.diff | packaging (<< 24.1) doesn't recognise the +. We usually have git-updates that have the + | no | ||||
| deb-locations.diff | Debian: Adjust locations of directories to debian policy | not-needed | ||||
| distutils-install-layout.diff | Debian: Add a distutils option --install-layout=deb This option: - installs into $prefix/dist-packages instead of $prefix/site-packages. - doesn't encode the python version into the egg name. . We install modules into dist-packages so that a local admin can build their own cpython from source, and they won't see each others' installed modules. This keeps Debian packaged applications working correctly, isolated from the local cpython. . Customize site.py to import from Debian's dist-packages layout. |
not-needed | ||||
| sysconfig-debian-schemes.diff | This adds two schemes: 1. deb_system: Debian's installed Python layout, with modules in dist-packages shared across Python versions. 2. posix_local: A clone of posix_prefix that includes a built-in local prefix for the dist-packages and binary paths. We default to this to redict local installations into /usr/local. |
no | ||||
| tkinter-import.diff | Suggest installation of python3-tk package We split Tk out into a separate binary package. Help users who try to import it, without it installed. |
not-needed | ||||
| gdbm-import.diff | Debian: Suggest installation of python3-gdbm package We split gdbm out into a separate binary package. Help users who try to import it, without it installed. |
not-needed | ||||
| link-opt.diff | Call the linker with -O1 -Bsymbolic-functions We do symbolic-functions as policy in Ubuntu. Could be forwarded in the form of a configure flag. |
no | ||||
| setup-modules.diff | Configure linking for C-library wrapping modules Use the system C libraries, rather than sources bundled with cPython, or anything from /usr/local. This is for performance, to avoid unnecessary C extension imports at start-up. |
not-needed | ||||
| profiled-build.diff | Ignore errors in the profile task. This is a rewrite of the profile task. We run the tests sequentially, and only once at a time. |
no | ||||
| langpack-gettext.diff | Ubuntu: Support separate langpack packages Support alternative gettext tree in /usr/share/locale-langpack; if a file is present in both trees, prefer the newer one. Ubuntu collates gettext from packages on the DVD into language packs, to reduce disk-space on the image. This is Ubuntu-Specific. |
not-needed | ||||
| disable-sem-check.diff | Debian: Don't autodetect whether semephores are present Assume working semaphores, don't rely on running kernel for the check. This is not something that's approriate for us to detect at build time. Potentially forwadable, if redesigned. |
not-needed | ||||
| multiarch.diff | Debian: Configure multiarch tuple. 1. Expose multiarchsubdir in sysconfig. Some packages in Debian are depending on this. 2. Install the .pc file into the multiarch path. |
no | ||||
| ensurepip-disabled.diff | Disable ensurepip for the system installation We have a python3-pip package, for users who want pip. We just need ensurepip to seed pip in virtual environments. |
not-needed | ||||
| destshared-location.diff | Keep the lib-dynload dir in the same place when configuring with --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) The C extensions already have multiarch paths in their filenames. |
no | ||||
| min-codeop-traceback.diff | Debian: Degrade traceback gracefully without codeop python3.X-minimal includes traceback but not codeop. We don't need suggestions in python3.X-minimal. |
not-needed | ||||
| min-difflib-argparse.diff | Debian: Degrade argparse gracefully without difflib python3.X-minimal doesn't include difflib, so don't offer suggestions. | not-needed | ||||
| min-gettext-argparse.diff | Debian: Degrade argparse gracefully without gettext python3.X-minimal includes argparse but not gettext. Use a fallback noop gettext, if it can't be imported. |
not-needed | ||||
| min-gettext-getopt.diff | Debian: Degrade getopt gracefully without gettext python3.X-minimal includes getopt but not gettext. Use a fallback noop gettext, if it can't be imported. |
not-needed | ||||
| min-gettext-optparse.diff | Debian: Degrade optparse gracefully without gettext python3.X-minimal includes optparse but not gettext. Use a fallback noop gettext, if it can't be imported. |
not-needed | ||||
| min-multiprocessing-compileall.diff | Avoid tripping over the multiprocessing import in compileall Minimal includes compileall but not multiprocessing. | not-needed | ||||
| min-concurrent-compileall.diff | Avoid tripping over the concurrent import in compileall Minimal includes compileall but not concurrent. | not-needed | ||||
| min-ntpath-pathlib.diff | ntpath is not in python-minimal, replace module-level imports with local imports in functions that actually require ntpath. | not-needed | ||||
| min-pyrepl-sitebuiltins.diff | _pyrepl (and its dependencies) are not shipped in -minimal Just print out text in the copyright() builtin etc. | not-needed | ||||
| makefile-bootstrap.diff | # DP: needs forwarding. bootstrap python fails with a compiler defaulting to -fPIE, # DP: then setting CFLAGS_NODIST and LDFLAGS_NODIST to -fno-PIE. Needs forwarding. |
no | ||||
| stable-abi-multiarch.diff | [PATCH 1/3] gh-122917 Allow stable API extensions to include a multiarch tuple in the filename This permits stable ABI extensions for multiple architectures to be co-installed into the same directory, without clashing with each other, the same way (non-stable ABI) regular extensions can. It is listed below the current .abi3 suffix because setuptools will select the first suffix containing .abi3, as the target filename. We do this to protect older Python versions predating this patch. |
Stefano Rivera <stefano@rivera.za.net> | yes | 2024-08-11 | ||
| gchead-alignment.diff | gh-127545: Add _Py_ALIGNED_DEF(N, T) and use it for PyObject (GH-135209) * Replace _Py_ALIGN_AS(V) by _Py_ALIGNED_DEF(N, T) This is now a common façade for the various `_Alignas` alternatives, which behave in interesting ways -- see the source comment. The new macro (and MSVC's `__declspec(align)`) should not be used on a variable/member declaration that includes a struct declaraton. A workaround is to separate the struct definition. Do that for `PyASCIIObject.state`. * Specify minimum PyGC_Head and PyObject alignment As documented in InternalDocs/garbage_collector.md, the garbage collector stores flags in the least significant two bits of the _gc_prev pointer in struct PyGC_Head. Consequently, this pointer is only capable of storing a location that's aligned to a 4-byte boundary. Encode this requirement using _Py_ALIGNED_DEF. This patch fixes a segfault in m68k, which was previously investigated by Adrian Glaubitz here: https://lists.debian.org/debian-68k/2024/11/msg00020.html https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1087600 Original patch (using the GCC-only Py_ALIGNED) by Finn Thain. |
Petr Viktorin <encukou@gmail.com> | no | debian | Upstream, https://github.com/python/cpython/commit/49d72365cd2d6c09a154a9a061efef4130e2c758 | 2025-06-11 |
| man-page-fixes.diff | Manpage formatting tweaks Following on from GH-132291 this is the second part of the patch from https://bugs.debian.org/1101406 This tweaks the formatting of a few bits of the manpage. |
Stefano Rivera <stefano@rivera.za.net> | yes | debian | 2025-04-09 | |
| sphinx-no-fail-on-warning.diff | no | |||||
| hppa-ifunc.patch | Avoid TestNullDlsym hanging on HP-PA glibc has no support for IFUNC on HP PA RISC yet. Rather than waiting for an "OK" that we'll never get, skip the test. |
Stefano Rivera <stefano@rivera.za.net> | yes | 2025-11-04 | ||
| llvm-version.diff | gh-138497: Support LLVM_VERSION configuration via env (#138498) | danigm <daniel.garcia@suse.com> | no | 2025-10-07 | ||
| glibc-termios.diff | no | |||||
| build-info-multiarch.patch | Rename build-details.json to allow libpython3.14-stdlib to be multiarch co-installable. PEP 739 is planned to be updated to allow this. |
no | debian | |||
| pyexpat-test-depth.diff | Increase the size of the test document in test_deeply_nested_content_model On Debian's `i386` builds of 3.15 with system Expat, the parser was happily parsing the entire document without raising RecursionError or crashing. The increased limit is borrowed from the (later reverted) 255026d9eea81719214c8e807d23df55b5f39b54. Presumably that change ran into a similar issue. |
Stefano Rivera <stefano@rivera.za.net> | no | 2026-05-09 | ||
| build-info-ldversion.diff | gh-131372: Include LDVERSION and EXE in base_interpreter value (#142256) * Include LDVERSION and EXE in base_interpreter value In Fedora, build-details.json created and installed for python3.14t contains "/usr/bin/python3.14" as the base_interpreter value. Create a correct string, taking into account both LDVERSION and EXE config variables, similarly to how it's defined in altbininstall in Makefile. * Add news |
Karolina Surma <33810531+befeleme@users.noreply.github.com> | no | 2025-12-10 | ||
| python314-openssl4-1.patch | [PATCH 1/5] gh-146207: Add support for OpenSSL 4.0.0 alpha1 (#146217) OpenSSL 4.0.0 alpha1 removed these functions: * SSLv3_method() * TLSv1_method() * TLSv1_1_method() * TLSv1_2_method() Other changes: * Update test_openssl_version(). * Update multissltests.py for OpenSSL 4. * Add const qualifier to fix compiler warnings. (cherry picked from commit 3364e7e62fa24d0e19133fb0f90b1c24ef1110c5) |
Victor Stinner <vstinner@python.org> | no | 2026-03-25 | ||
| python314-openssl4-2.patch | [PATCH 2/5] gh-148600: Add Modules/_ssl_data_40.h data (#148601) The Modules/_ssl_data_40.h file was created with the commands: python Tools/ssl/multissltests.py --steps=library --base-directory "$PWD/multissl" --openssl '4.0.0' --system Linux python Tools/ssl/make_ssl_data.py multissl/src/openssl-4.0.0 Modules/_ssl_data_40.h Update Modules/_ssl.c to include it on OpenSSL 4.0.0 and newer. Update test_ssl for the new error message. (cherry picked from commit 70eb56be427aac3fc45342024dbcfef632accc3a) |
Victor Stinner <vstinner@python.org> | no | 2026-04-15 | ||
| python314-openssl4-3.patch | [PATCH 3/5] gh-148292: Update _ssl._SSLSocket for OpenSSL 4 (#149102) The _SSLSocket object now remembers if it gets an EOF error. In this case, read(), sendfile(), write() and do_handshake method calls fail with SSLEOFError without calling the underlying OpenSSL function. (cherry picked from commit 7b7fa3f9bf3d7cdf3eb669d02b386e05b39c402a) |
Victor Stinner <vstinner@python.org> | no | 2026-05-04 | ||
| python314-openssl4-4.patch | [PATCH 4/5] gh-148292: Remove shutdown() test in test_ssl.test_got_eof() (#149366) The shutdown() behavior depends too much on the operating system and it's unrelated to the got_eof_error change. (cherry picked from commit 1e21cf6fee3830012e458c0fe5dbc6fcd45ace92) |
Victor Stinner <vstinner@python.org> | no | 2026-05-04 | ||
| python314-openssl4-5.patch | [PATCH 5/5] gh-148600: Add OpenSSL 4.0.0 support to test configurations (#149356) (cherry picked from commit fc9602819181d68568259029a2accfd2dfcd086d) |
Victor Stinner <vstinner@python.org> | no | 2026-05-04 |
