DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: dae-py-relay-controller 1.5.2-1

Package Information

DescriptionLibrary for controlling Denkovi DAE USB relay boards

This is a library that uses libftdi to direct access Denkovi USB relay controller boards such as the DAE-CB series (4, 8 or 16 relay). Known Limitations and Assumptions:

* 4 and 8 relay boards do not handle connection to multiple devices. Connects to first found Denkovi. * Not thread safe. * Possible race conditions with device plugging. * Uses a VCP delay of 50ms. Documentation specifies 5ms but was still seeing corruption at 20ms. Could be improved for the gets by doing an initial sync and then keeping track of the states in the class.

MaintainerDebian Python Team <team+python@tracker.debian.org>
Changed ByHans-Christoph Steiner <hans@eds.org>
Sponsorhans@guardianproject.info
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/python-team/packages/dae-py-relay-controller.git (browse)
Closes#1150565
Trackerhttps://tracker.debian.org/pkg/dae-py-relay-controller
Uploaded12 days ago

New Package Report

.changes◂
Distributionunstable
DateSat, 10 Oct 2026 22:49:50 +0200
Sourcedae-py-relay-controller
Version1.5.2-1
Changed-ByHans-Christoph Steiner <hans@eds.org>
Architecturesource all
Changelog◂
dae-py-relay-controller (1.5.2-1) unstable; urgency=medium
 .
   * Initial release (Closes: #1150565)
.dsc◂
Package-Listpython3-dae-relayboard deb python optional arch=all
Sectionpython
Priorityoptional
Componentmain
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: dae-py-relay-controller
Upstream-Contact: Peter Bingham <petersbingham@hotmail.co.uk>
Source: https://github.com/petersbingham/dae-py-relay-controller.git

Files: *
Copyright:
  2014-2018, 2020, Peter Bingham <petersbingham@hotmail.co.uk>
  2018, Dirck Blaskey <dirckb@gmail.com>
License: dae-py-relay-controller

Files: debian/*
Copyright: 2026, Hans-Christoph Steiner <hans@eds.org>
License: dae-py-relay-controller
Comment: Debian packaging is licensed under the same terms as upstream

License: dae-py-relay-controller
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
 "Software"), to deal in the Software without restriction, including
 without limitation the rights to use, copy, modify, merge, publish,
 distribute, sublicense, and/or sell copies of the Software, and to
 permit persons to whom the Software is furnished to do so, subject to
 the following conditions:
 .
 The above copyright notice and this permission notice shall be
 included in all copies or substantial portions of the Software.

Review Information

rejected — allocated to awm 10 days ago, started 10 days ago, completed 10 days ago.

Final Comment

Hi,

Some issues, notably the license is not fully present in debian/copyright.

  1. [important] [packaging] Missing runtime dependency on python3-serial for the VCP (16-relay) transport
  • Files: debian/control, dae_RelayBoard/dae_RelayBoard_VCP.py:23
  • Evidence: dae_RelayBoard_VCP.py:23 has import serial; Depends: ${python3:Depends}, ${misc:Depends}, python3-pylibftdi lists no serial provider.
  • Problem: The DAECB-16 board is driven through dae_RelayBoard_VCP (documented in README via example16.py/test16.py), which imports the serial module at module level. Without pyserial installed the call fails at runtime with ModuleNotFoundError: No module named 'serial'. Policy 7.2 requires Depends for anything needed to provide significant functionality. The import is lazy so the package installs and the import smoke test passes regardless, which masks the gap.
  • Fix: Add python3-serial to the binary package Depends.
  1. [important] [licensing] Reproduced licence text in debian/copyright omits the warranty-disclaimer paragraph and is incorrectly named
  • Files: debian/copyright
  • Evidence: The License: dae-py-relay-controller paragraph ends at "included in all copies or substantial portions of the Software.", while every source header and README.md continue with "THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY ... OUT OF OR IN CONNECTION WITH THE SOFTWARE."
  • Problem: Policy 12.5 requires a verbatim copy of the distribution licence in the copyright file, and copyright-format 1.0 section 6.7 says the License field "should include all text needed ... to fulfill ... any license requirements to include warranty disclaimers". The text as shipped is a truncated Expat/MIT notice; the non-standard short name dae-py-relay-controller is used for a licence that copyright-format section 7.1 says to call Expat when it matches.
  • Fix: Complete the License paragraph with the disclaimer and use the standard short name Expat.
  1. [minor] [packaging] Patches lack complete DEP-3 headers
  • Files: debian/patches/setuptools-instead-of-distutils.patch, debian/patches/pylibftdi-0.23-returns-strings-now-not-bytes.patch
  • Evidence: setuptools-instead-of-distutils.patch is a bare diff with no DEP-3 metadata; pylibftdi-0.23-returns-strings-now-not-bytes.patch has From/Subject/Forwarded but no Description: (or Origin/Last-Update).
  • Problem: This is not a build failure, but the DEP-3 tagging spec (BTS 979632) asks every patch to carry at least a Description so its purpose and origin are traceable without reading the diff; here the setuptools patch's purpose is only inferable from the filename.
  • Fix: Add DEP-3 headers (Description, Last-Update, and Forwarded/Origin) to both patches.
  1. [minor] [packaging] debian/watch is in the old version 3 format
  • Files: debian/watch
  • Evidence: version=3
  • Problem: Version 5 is the current format of debian/watch.
  • Fix: Convert it to version 5; a mechanical conversion is suggested below.

==============================================
Version: 5

Run the "uscan" command to check for upstream updates and more.

Template: Github
Dist: https://github.com/petersbingham/dae-py-relay-controller

Thanks!

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
1.5.2-2 cc339ebb… 2026-10-21 00:53 2026-10-21 00:54 awm accepted VIEW

Back to Dashboard | View all reviews for this package