Package: src:mercurial Version: 7.2.4-1 User: [email protected] Usertags: python3.15 Tags: patch, ftbfs, forky, sid Severity: important
Hi! While rebuilding the python related packages against the Python 3.15rc2 version we found that mercurial fails to build from source [1]. The error is: body: size=503, sha1=2d8ce8bb3816603b9683a1804a5a02c11224cb01 (py39 !) \+ body: size=503, sha1=37fff6d86b8569f8be21fcdf937a8ec8463251ca % zip and tar.gz disallowed should both give 403 This is due to the default compression level of gz changing. To fix it, I applied the following upstream commits: - Drop py38 check (test-archive: drop conditionnal outptu for Python3.8) [2] - Update sha1 for py315 (test-archive: adapt output to Python 3.15) - Add python versions (test: add more python version to hghave) I've applied these fixes in the sandbox [5] to verify that it builds successfully, please consider applying the patch to support the upcoming 3.15 version. Setting the severity to important for now. Once Python 3.15 is released, it will be added to python3-defaults and this bug will become release critical. Happy hacking, [1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4719448/ [2]: https://foss.heptapod.net/mercurial/mercurial-devel/-/commit/04486a79799e6cccdd499350e3e60bc4f53731fa [3]: https://foss.heptapod.net/mercurial/mercurial-devel/-/commit/8d20ade7899f2fa61ff226f6d72eec560b1d3c20 [4]: https://foss.heptapod.net/mercurial/mercurial-devel/-/commit/4261e6bb01e94b686e068695b6d64dc88911f520 [5]: https://debusine.debian.net/debian/r-python-python3.15/ -- "Can you imagine what I would do if I could do all I can?" -- Sun Tzu Saludos /\/\ /\ >< `/
From: Pierre-Yves David <[email protected]> Date: Thu, 20 Aug 2026 17:23:43 +0200 Subject: test-archive: drop conditionnal outptu for Python3.8 We drop the matching for Python 3.8 as it is no longer supported for a while. --- tests/test-archive.t | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tests/test-archive.t b/tests/test-archive.t index d261ec733a..02989dfdd0 100644 --- a/tests/test-archive.t +++ b/tests/test-archive.t @@ -131,8 +131,7 @@ check http return codes server: testing stub value transfer-encoding: chunked - body: size=506, sha1=70926a04cb8887d0bcccf5380488100a10222def (py38 no-py39 !) - body: size=505, sha1=eb823c293bedff0df4070b854e2c5cbb06d6ec62 (py39 !) + body: size=505, sha1=eb823c293bedff0df4070b854e2c5cbb06d6ec62 % tar.bz2 and zip disallowed should both give 403 403 Archive type not allowed content-type: text/html; charset=ascii @@ -160,8 +159,7 @@ check http return codes server: testing stub value transfer-encoding: chunked - body: size=506, sha1=1bd1f8e8d3701704bd4385038bd9c09b81c77f4e (py38 no-py39 !) - body: size=503, sha1=2d8ce8bb3816603b9683a1804a5a02c11224cb01 (py39 !) + body: size=503, sha1=2d8ce8bb3816603b9683a1804a5a02c11224cb01 % zip and tar.gz disallowed should both give 403 403 Archive type not allowed content-type: text/html; charset=ascii @@ -249,8 +247,7 @@ check http return codes (with deprecated option) server: testing stub value transfer-encoding: chunked - body: size=506, sha1=1bd1f8e8d3701704bd4385038bd9c09b81c77f4e (py38 no-py39 !) - body: size=503, sha1=2d8ce8bb3816603b9683a1804a5a02c11224cb01 (py39 !) + body: size=503, sha1=2d8ce8bb3816603b9683a1804a5a02c11224cb01 % zip and tar.gz disallowed should both give 403 403 Archive type not allowed content-type: text/html; charset=ascii -- 2.53.0
From: Pierre-Yves David <[email protected]> Date: Thu, 20 Aug 2026 16:29:10 +0200 Subject: test-archive: adapt output to Python 3.15 We drop the matching for Python 3.8 as it is no longer supported for a while. --- tests/test-archive.t | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/test-archive.t b/tests/test-archive.t index 02989dfdd0..1beba69d8b 100644 --- a/tests/test-archive.t +++ b/tests/test-archive.t @@ -159,7 +159,8 @@ check http return codes server: testing stub value transfer-encoding: chunked - body: size=503, sha1=2d8ce8bb3816603b9683a1804a5a02c11224cb01 + body: size=503, sha1=2d8ce8bb3816603b9683a1804a5a02c11224cb01 (no-py315 !) + body: size=503, sha1=37fff6d86b8569f8be21fcdf937a8ec8463251ca (py315 !) % zip and tar.gz disallowed should both give 403 403 Archive type not allowed content-type: text/html; charset=ascii @@ -247,7 +248,8 @@ check http return codes (with deprecated option) server: testing stub value transfer-encoding: chunked - body: size=503, sha1=2d8ce8bb3816603b9683a1804a5a02c11224cb01 + body: size=503, sha1=2d8ce8bb3816603b9683a1804a5a02c11224cb01 (no-py315 !) + body: size=503, sha1=37fff6d86b8569f8be21fcdf937a8ec8463251ca (py315 !) % zip and tar.gz disallowed should both give 403 403 Archive type not allowed content-type: text/html; charset=ascii -- 2.53.0
From: Pierre-Yves David <[email protected]> Date: Thu, 20 Aug 2026 17:22:03 +0200 Subject: test: add more python version to hghave We have been missing Python 3.14 and Python 3.15 for a while, lets adds a few in advance too. --- tests/hghave.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/hghave.py b/tests/hghave.py index 5f6c88c3f1..5f5968babd 100644 --- a/tests/hghave.py +++ b/tests/hghave.py @@ -911,7 +911,22 @@ def has_demandimport(): @checkvers( "py", "Python >= %s", - ('3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13'), + ( + '3.6', + '3.7', + '3.8', + '3.9', + '3.10', + '3.11', + '3.12', + '3.13', + '3.14', + '3.15', + '3.16', + '3.17', + '3.18', + '3.19', + ), ) def has_python_range(v): major, minor = v.split('.')[0:2] -- 2.53.0

