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

Reply via email to