Review: python-libsoundtouch 0.8.0-1
Package Information
| Description | library for controlling Bose SoundTouch devices This library discovers devices on the local network and controls power, playback, volume, presets, and AUX or Bluetooth input selection. It can retrieve track information and device status, play media from HTTP URLs, and save and restore the selected content. Multi-room support allows devices to be grouped into zones and added to or removed from existing zones. WebSocket notifications provide updates on playback status, volume, presets, and zone membership. |
|---|---|
| Maintainer | Home Assistant Team <team+homeassistant@tracker.debian.org> |
| Changed By | Edward Betts <edward@4angle.com> |
| Sponsor | edward@debian.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/homeassistant-team/deps/python-libsoundtouch.git (browse) |
| Closes | #1149343 |
| Tracker | https://tracker.debian.org/pkg/python-libsoundtouch |
| Uploaded | 23 days ago |
New Package Report
.changes
| Version | 0.8.0-1 |
|---|---|
| Changed-By | Edward Betts <edward@4angle.com> |
| Architecture | all source |
| Distribution | unstable |
| Date | Tue, 29 Sep 2026 15:22:00 +0100 |
| Source | python-libsoundtouch |
Changelog
python-libsoundtouch (0.8.0-1) unstable; urgency=medium . * Initial release. (Closes: #1149343)
.dsc
| Section | python |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | python3-libsoundtouch deb python optional arch=all |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: libsoundtouch
Upstream-Contact: Charles Blonde <charles.blonde@gmail.com>
Source: https://github.com/CharlesBlonde/libsoundtouch
Files: *
Copyright: 2016 Charles Blonde.
License: Apache-2.0
Files: docs/*
Copyright: 2017 Charles Blonde.
License: Apache-2.0
Files: debian/*
Copyright: 2026 Edward Betts <edward@4angle.com>
License: Apache-2.0
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems, the complete text of the Apache 2.0 License
can be found in /usr/share/common-licenses/Apache-2.0 file.
Review Information
accepted — allocated to awm 21 days ago, started 21 days ago, completed 21 days ago.
Final Comment
Hi,
Th epackage is accepted, but there are a few pedantic packaging quality issues
- nodoc build profile is declared but not honoured in debian/rules
debian/control guards the Sphinx/doc build-deps with (python3-sphinx, python3-requests, python3-websocket, python3-zeroconf), but override_dh_auto_build in debian/rules:7-10 runs dh_doc_privacy and sphinx-build unconditionally. Building with the nodoc profile (DPKG_BUILD_PROFILES=nodoc) would therefore try to invoke Sphinx even though python3-sphinx is not installed, and fail. The Sphinx build and dh_doc_privacy should be guarded with $(filter nodoc,$(DEB_BUILD_PROFILES)).
- dh_doc_privacy is run on source before building, so it likely misses the shipped HTML
debian/rules:9 runs dh_doc_privacy README.md docs against the source tree, before sphinx-build. The privacy-violating content that matters is in the generated HTML: the remote ghbtns.com iframe in docs/_templates/sidebarintro.html:2 (copied verbatim into the built page) and the remote Travis/Coveralls/PyPI badge image:: directives in docs/index.rst:9-16. Since Sphinx re-embeds these into _build/html, sanitizing the source .rst/template beforehand won't reliably clean the shipped docs. dh_doc_privacy is normally a debhelper sequence step operating on the built docs.
- Redundant/conflicting docs installation
debian/python3-libsoundtouch.docs:2 lists docs/_build/html, while dh-sequence-sphinxdoc (debian/control:11) is also enabled. dh_sphinxdoc installs the Sphinx HTML output to /usr/share/doc/python3-libsoundtouch/html and registers it with doc-base itself, so the same tree is being installed twice via two mechanisms. This should be one or the other.
- dh_auto_build $@ --buildsystem=pybuild passes the target name to the build system
In debian/rules:8, $@ expands to override_dh_auto_build inside the override, so the literal string override_dh_auto_build is passed as a positional argument into the pybuild/setup.py command line. The standard form is dh_auto_build --buildsystem=pybuild with no $@.
- Empty From: header in the combined patch
debian/patches/dgit-changes:1 has From: with no value. It's the expected dgit single-debian-patch artifact, but the empty author line is sloppy and could confuse tooling.
Hope this is helpful :-)
Thanks!