DFSG NEW Queue

DFSG, Licensing & New Packages Team

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

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)
Trackerhttps://tracker.debian.org/pkg/dae-py-relay-controller
Uploaded3 days ago

New Package Report

.changes◂
DateMon, 19 Oct 2026 13:24:15 +0200
Sourcedae-py-relay-controller
Version1.5.2-2
Changed-ByHans-Christoph Steiner <hans@eds.org>
Architecturesource all
Distributionunstable
Changelog◂
dae-py-relay-controller (1.5.2-2) unstable; urgency=medium
 .
   * update debian/watch format to version 5
   * test installed version of lib
   * include full license text in a more common format
   * add more substantial test to autopkgtest
   * DEP3 headers on all patches
   * python3-serial is a dependency of dae_RelayBoard_VCP
.dsc◂
Componentmain
Package-Listpython3-dae-relayboard deb python optional arch=all
Sectionpython
Priorityoptional
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: Expat

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

License: Expat
 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.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 minor

This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.

Reviewed 3 days ago.

Report◂

DFSG NEW review for dae-py-relay-controller version 1.5.2-2

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: Yes
  • Packaging is of good quality: Yes
  • Issues: 0 blocker, 0 important, 0 minor
  • debian/watch: version 5
  • debian/copyright: machine-readable
  • Scan before the review: nothing found

Licensing

Every file in the source is single-license Expat/MIT: all 7 dae_RelayBoard modules, the 10 files under 'Example & Test/', setup.py and README.md, each carrying the full MIT text, by Peter Bingham (README.md and every .py header say so). debian/copyright is machine-readable DEP-5 with Format 1.0, a Files: * stanza matching all upstream files and a debian/* stanza for the packaging, with the full Expat text included. There are no non-free terms, no files without a licence, no binaries, minified code, images, fonts or generated blobs, and no embedded third-party code, so no DFSG-Excluded or preferred-form problems.

Packaging

Standard Debian Python Team packaging: dh-python pybuild in rules (compat 13 via debhelper-compat); explicit ${python3:Depends} and ${misc:Depends} are correct at compat 13 (auto-add only from compat 14); runtime deps python3-pylibftdi and python3-serial are real packages and match the actual imports (FTD2XXLinux imports pylibftdi, VCP imports serial). Both patches have DEP-3 headers and are forwarded upstream. Autopkgtests are sound: 'load-each-board' only constructs the board classes, whose constructors need no hardware, and both tests exercise the installed module. Standards-Version 4.7.4.1 equals current Policy 4.7.4.1; Vcs-* and salsa-ci are in place. Changelog, upstream metadata, gbp.conf and docs install are all correct.

Issues

None.

Verified

  • Read every file under debian/ (control, rules, changelog, copyright, docs, gbp.conf, salsa-ci.yml, source/format, source/options, both patches and series, tests/control and load-each-board, upstream/metadata).
  • Whole tree inventory via glob with gitignore:false (19 upstream files): 7 in dae_RelayBoard/, 10 in 'Example & Test/', setup.py, README.md; no binaries, images, fonts, archives, minified or generated files. Excluded .pc/ and (per instructions) debian/ and any cargo file, of which there is none.
  • Every .py file ('Example & Test/' scripts too) and README.md carry the full Expat/MIT text with Copyright (c) Peter Bingham (petersbingham@hotmail.co.uk); the read of each dae_RelayBoard header and the grep across the tree confirm one holder and one licence.
  • debian/copyright Files: * (License: Expat, with full text) matches all upstream files; Files: debian/* (Copyright 2026 Hans-Christoph Steiner, Expat) is correct. The extraneous 2018 Dirck Blaskey holder named in the copyright file appears in no file notice; the pre-scan author check found every in-file holder is named, and listing a git-history contributor is harmless.
  • Autopkgtest 'load-each-board' verified against the class code: DAE_RelayBoard_D2XX/FTD2XXLinux.init only build a Driver(); DAE_RelayBoard_VCP.init only sets ser=None, so constructing each DAE_RELAYBOARD_TYPE_* class needs no board and the test passes without hardware.
  • debian/docs entries Example${Space}&${Space}Test/ and README.md: dh_installdocs (man page) supports substitution variables from compat 13, debhelper(7) documents ${Space}, and compat 11+ errors on unmatched patterns while both paths exist.
  • python3-pylibftdi exists in the archive (0.24.1-1, checked via apt-cache); python3-serial is a standard archive package.
  • Patches (series order pylibftdi…, then setuptools…) both carry Forwarded/From/Description DEP-3 fields and touch only setup.py and FTD2XXLinux.py.
  • Standards-Version 4.7.4.1 matches the Policy version reported by the policy tool (4.7.4.1).
  • uscan found the packaged version as the newest upstream release (upstream 1.5.2, packaged 1.5.2).

Not confirmed

  • Package was not built or run; no build/test failure is suspected from the tree. The compat-11+ behaviour of dh_installdocs matching paths was confirmed from the debhelper tool output, not from a build.

Proposed changes

None.

Uploader's response to the LLM review

The uploader was emailed about the review 3 days ago.

Review Information

accepted — allocated to awm 2 days ago, started 2 days ago, completed 2 days ago.

Final Comment

Other Reviews of this Package

VersionHashAllocatedCompletedReviewerStatusDetails
1.5.2-1 a563ea9c… 2026-10-13 02:05 2026-10-13 02:18 awm rejected VIEW

Back to Dashboard | View all reviews for this package