Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:pdudaemon
User: [email protected]
Usertags: pu
[ Reason ]
pdudaemon from trixie fails to start with:
$ /usr/sbin/pdudaemon --conf=/etc/pdudaemon/pdudaemon.conf
2026-02-14 03:13:43,670 - pdud - INFO
PDUDaemon starting up
2026-02-14 03:13:43,670 - pdud - INFO
Creating the runners
Traceback (most recent call last):
File "/usr/sbin/pdudaemon", line 8, in <module>
sys.exit(main())
~~~~^^
File "/usr/lib/python3/dist-packages/pdudaemon/__init__.py", line
209, in main
loop.run_until_complete(main_async())
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in
run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/usr/lib/python3/dist-packages/pdudaemon/__init__.py", line
194, in main_async
daemon = PDUDaemon(options, settings)
File "/usr/lib/python3/dist-packages/pdudaemon/__init__.py", line 92,
in __init__
self.runners[hostname] = PDURunner(config, hostname, retries)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pdudaemon/pdurunner.py", line
39, in __init__
self.driver = self.driver_from_hostname(hostname)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pdudaemon/pdurunner.py", line
48, in driver_from_hostname
driver = PDUDriver.select(drivername)(hostname, self.config)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pdudaemon/drivers/driver.py",
line 45, in select
ep = get_named_entry_point('pdudaemon.driver', drivername)
File "/usr/lib/python3/dist-packages/pdudaemon/drivers/driver.py",
line 27, in get_named_entry_point
import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
Backport the patch from upstream release 1.1.0 (in unstable) to fix this issue.
This issue is described in #1127864.
[ Impact ]
pdudaemon cannot be run in trixie.
[ Tests ]
Installed the built package in a container and made sure that pdudaemon
runs without the traceback.
[ Risks ]
No huge risks - this patch just adds a runtime dependency.
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[x] the issue is verified as fixed in unstable
[ Changes ]
Backport patch from upstream to add setuptools to Python dependencies.
[ Other info ]
n/a
diff -Nru pdudaemon-0.0.8.109.gaa25f15/debian/changelog
pdudaemon-0.0.8.109.gaa25f15/debian/changelog
--- pdudaemon-0.0.8.109.gaa25f15/debian/changelog 2024-07-25
19:23:54.000000000 +0100
+++ pdudaemon-0.0.8.109.gaa25f15/debian/changelog 2026-02-22
03:05:08.000000000 +0000
@@ -1,3 +1,9 @@
+pdudaemon (0.0.8.109.gaa25f15-3+deb13u1) trixie-proposed-updates;
urgency=medium
+
+ * Backport patch to add setuputils to runtime dependencies (Closes: #1127864)
+
+ -- Christopher Obbard <[email protected]> Sun, 22 Feb 2026 03:05:08 +0000
+
pdudaemon (0.0.8.109.gaa25f15-2.1) unstable; urgency=medium
* Non-maintainer upload.
diff -Nru
pdudaemon-0.0.8.109.gaa25f15/debian/patches/0001-pyproject-Add-setuputils-to-dependencies.patch
pdudaemon-0.0.8.109.gaa25f15/debian/patches/0001-pyproject-Add-setuputils-to-dependencies.patch
---
pdudaemon-0.0.8.109.gaa25f15/debian/patches/0001-pyproject-Add-setuputils-to-dependencies.patch
1970-01-01 01:00:00.000000000 +0100
+++
pdudaemon-0.0.8.109.gaa25f15/debian/patches/0001-pyproject-Add-setuputils-to-dependencies.patch
2026-02-22 03:01:04.000000000 +0000
@@ -0,0 +1,32 @@
+From: Christopher Obbard <[email protected]>
+Date: Fri, 12 Dec 2025 22:38:55 +0000
+Subject: pyproject: Add setuputils to dependencies
+
+pdudaemon imports pkg_resources at runtime to discover driver entry
+points. pkg_resources is provided by setuptools, but setuptools was
+only listed as a build dependency so it is not guaranteed to be
+present in runtime environments such as pipx venvs or minimal CI
+images.
+
+Add setuptools to the project runtime dependencies to ensure
+pkg_resources is available when pdudaemon is executed.
+
+Signed-off-by: Christopher Obbard <[email protected]>
+Origin:
https://github.com/pdudaemon/pdudaemon/commit/d722cf92188df02f8a72f83e57e5fe60541a2134
+Applied-Upstream: 1.1.0
+---
+ pyproject.toml | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 3562c4a..c4dfca7 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -27,6 +27,7 @@ classifiers = [
+ ]
+ requires-python = ">= 3.4"
+ dependencies = [
++ "setuptools",
+ "aiohttp",
+ "requests",
+ "pexpect",
diff -Nru pdudaemon-0.0.8.109.gaa25f15/debian/patches/series
pdudaemon-0.0.8.109.gaa25f15/debian/patches/series
--- pdudaemon-0.0.8.109.gaa25f15/debian/patches/series 1970-01-01
01:00:00.000000000 +0100
+++ pdudaemon-0.0.8.109.gaa25f15/debian/patches/series 2026-02-22
03:01:04.000000000 +0000
@@ -0,0 +1 @@
+0001-pyproject-Add-setuputils-to-dependencies.patch