Debian Patches

Status for python3.14/3.14.0-4

Patch Description Author Forwarded Bugs Origin Last update
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-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.diff _pyrepl (and its dependencies) are not shipped in -minimal Fall back to the basic REPL. not-needed
min-shutil-argparse.diff Debian: Degrade argparse gracefully without shutil python3.X-minimal includes argparse but not shutil. Use a fixed terminal
width, if shutil can't be imported.
not-needed
min-shutil-tempfile.diff Debian: Degrade tempfile gracefully without shutil python3.X-minimal includes tempfile but not shutil. Use a fallback racy
rmtree, if shutil can't be imported.

This needs constant maintainance, as the code is a copy.
not-needed
min-shutil-zipfile.diff no
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
test-freeze-strip-libdir.diff [PATCH] 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
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 [PATCH] 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 [PATCH] 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
Add-Debian-specific-documentation-path-to-IDLE-menu.diff Add Debian specific documentation path to IDLE menu YOKOTA Hiroshi <yokota.hgml@gmail.com> not-needed 2022-11-19
sphinx-no-fail-on-warning.diff no
python3.14-hppa.patch GH-139914: On HPPA, the stack grows up yes debian
docutils-0.22 Support docutils 0.22 no https://github.com/python/cpython/pull/139258 and https://github.com/python/cpython/pull/140031
m68k-gcc-15.patch m68k: Avoid a SIGILL when built with GCC 15 Reported to GCC upstream, but determined to be a cpython bug. John Paul Adrian Glaubitz <glaubitz@debian.org>, Michael Karcher <debian@mkarcher.dialup.fu-berlin.de> no
CVE-2025-8291.patch [PATCH] [3.14] gh-139700: Check consistency of the zip64 end of central directory record (GH-139702) (GH-139706)

Support records with "zip64 extensible data" if there are no bytes
prepended to the ZIP file.
(cherry picked from commit 162997bb70e067668c039700141770687bc8f267)
"Miss Islington (bot)" no 2025-10-07
llvm-version.diff [PATCH] gh-138497: Support LLVM_VERSION configuration via env (#138498) danigm <daniel.garcia@suse.com> no 2025-10-07

All known versions for source package 'python3.14'

Links