Debian Patches

Status for python3.13/3.13.0-2

Patch Description Author Forwarded Bugs Origin Last update
git-updates.diff Updates from the 3.13 branch (until 2024-11-12). 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 60403a5409ff2c3f3b07dd2ca91a7a3e096839c7 e5e70c5f094c92f72789dd85ab4d74516a5b4932 | 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/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index a4ada1b66bf..ada5fb0fe64 100644
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
locale-module.diff Use glibc's name for the UTF-8 locale yes
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
local-doc-references.diff Debian: Reference the local path to the documentation not-needed
sysconfigdata-name.diff Don't encode the MACHDEP into the _sysconfigdata file name. Unfortunately on KFreeBSD MACHDEP includes the kernel version, so you end up
with a changing MACHDEP.
yes
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-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-lib-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-argparse-no-shutil.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-ntpath-import.diff ntpath is not in python-minimal, replace module-level imports with local imports in functions that actually require ntpath. not-needed
min-compileall.diff Avoid tripping over the multiprocessing import in compileall Minimal includes compileall but not multiprocessing. not-needed
min-pyrepl-import.dff _pyrepl (and its dependencies) are not shipped in -minimal Fall back to the basic REPL. 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
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

All known versions for source package 'python3.13'

Links