Review: dae-py-relay-controller 1.5.2-2
Package Information
| Description | Library 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. |
|---|---|
| Maintainer | Debian Python Team <team+python@tracker.debian.org> |
| Changed By | Hans-Christoph Steiner <hans@eds.org> |
| Sponsor | hans@guardianproject.info |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/python-team/packages/dae-py-relay-controller.git (browse) |
| Tracker | https://tracker.debian.org/pkg/dae-py-relay-controller |
| Uploaded | 3 days ago |
New Package Report
.changes
| Date | Mon, 19 Oct 2026 13:24:15 +0200 |
|---|---|
| Source | dae-py-relay-controller |
| Version | 1.5.2-2 |
| Changed-By | Hans-Christoph Steiner <hans@eds.org> |
| Architecture | source all |
| Distribution | unstable |
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
| Component | main |
|---|---|
| Package-List | python3-dae-relayboard deb python optional arch=all |
| Section | python |
| Priority | optional |
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/copyrightis 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/andREADME.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, packaged1.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
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 1.5.2-1 | a563ea9c… | 2026-10-13 02:05 | 2026-10-13 02:18 | awm | rejected | VIEW |