Package: src:python-botocore Version: 1.40.72+repack-1 User: [email protected] Usertags: python3.15 Tags: patch
Hi! While rebuilding the python related packages against the python version 3.15rc1 we found that python-botocore fails to build from source[1]. Upstream support for python 3.15 was added in the release 1.42.49, with the commit Start testing Python 3.15 Alpha (#3628) [2], we backported the relevant parts of the upstream fixes to the version currently in debian and applied that patch in our sandbox to allow other packages to build. I'm attaching the resulting patch. Please consider including this patch in your next upload or to upload the new upstream release. Happy hacking, [1]: https://debusine.debian.net/debian/r-python-python3.15/work-request/1078834/ [2]: https://github.com/boto/botocore/commit/2c238cfebcb8d9151df52d7715c5c229b10f42bf -- "Can you imagine what I would do if I could do all I can?" -- Sun Tzu Saludos /\/\ /\ >< `/
commit 2c238cfebcb8d9151df52d7715c5c229b10f42bf Author: jonathan343 <[email protected]> Date: Thu Feb 12 19:55:58 2026 -0500 Start testing Python 3.15 Alpha (#3628) Add Python 3.15-dev to the GitHub Actions matrices for run-tests and run-crt-test to catch compatibility issues early without claiming official support. Set PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 only for the 3.15-dev matrix jobs to avoid prerelease install failures from PyO3-based dependencies. Update tests/unit/test_compress.py test helpers to pin compresslevel=9 (with mtime fixed) so gzip byte-for-byte fixtures stay stable across Python versions, including 3.15. diff --git a/tests/unit/test_compress.py b/tests/unit/test_compress.py index c149d7c6b..8a4b9f626 100644 --- a/tests/unit/test_compress.py +++ b/tests/unit/test_compress.py @@ -107,11 +107,17 @@ def request_dict_non_seekable_bytes_stream(): class StaticGzipFile(gzip.GzipFile): def __init__(self, *args, **kwargs): kwargs['mtime'] = 1 + # Python 3.15 changed default gzip header output; pin level so these + # tests remain byte-stable across runtimes. + kwargs['compresslevel'] = 9 super().__init__(*args, **kwargs) def static_compress(*args, **kwargs): kwargs['mtime'] = 1 + # Python 3.15 changed default gzip header output; pin level so these + # tests remain byte-stable across runtimes. + kwargs['compresslevel'] = 9 return gzip.compress(*args, **kwargs)

