Package: src:duplicity
Version: 3.1.0-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 duplicity fails to build from source [1].
The error is:
Sorry, duplicity requires Python version 3.10 thru 3.14.

To fix it, I applied the upstream commit f36c9922: chg:pkg: Refactor
versioning and metadata handling [2].

I've applied the upstream fix in the sandbox [3] to verify that it
builds successfully, please consider applying the patch to support the
upcoming 3.15 version.

Also, I've noticed that while the debian/control file claims that the
source of this package is at Vcs-Git:
https://github.com/az143/duplicity.git, this doesn't actually match
reality. I suggest you move the package to salsa, where almost every
debian package is currently tracked.

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/4283822/
[2]: 
https://gitlab.com/duplicity/duplicity/-/commit/f36c9922c7b18edbc822863a7482aec5690e950b
[3]: 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: Kenneth Loafman <[email protected]>
Date: Sun, 9 Aug 2026 12:02:45 -0500
Subject: chg:pkg: Refactor versioning and metadata handling

* Centralized version and release date metadata in `duplicity/__init__.py`.
* Updated `setup.py`, `pyproject.toml`, `snapcraft.yaml`, and tools to use 
dynamic versioning.
* Improved manpage generation with version information during builds.
* Adjusted Python version support range in `pyproject.toml` to `<3.15`.

[ci skip]

Signed-off-by: Kenneth Loafman <[email protected]>
---
 setup.py              | 8 --------
 duplicity/__main__.py | 8 --------
 2 files changed, 16 deletions(-)

--- a/setup.py
+++ b/setup.py
@@ -32,8 +32,0 @@ from setuptools.command.build_ext import
-# check that we can function here
-if os.environ.get("PYTEST_VERSION") is not None:
-    pass
-elif os.environ.get("CIBUILDWHEEL") is not None:
-    pass
-elif not ((3, 10) <= sys.version_info[:2] <= (3, 14)):
-    print("Sorry, duplicity requires Python version 3.10 thru 3.14.", 
file=sys.stderr)
-    sys.exit(1)
--- a/duplicity/__main__.py
+++ b/duplicity/__main__.py
@@ -67,8 +67,0 @@ def dup_run():
-    # check that we can function here
-    if os.environ.get("PYTEST_VERSION") is not None:
-        pass
-    elif os.environ.get("CIBUILDWHEEL") is not None:
-        pass
-    elif not ((3, 10) <= sys.version_info[:2] <= (3, 14)):
-        print("Sorry, duplicity requires Python version 3.10 thru 3.14.", 
file=sys.stderr)
-        sys.exit(1)

Reply via email to