#1149343 ITP: python-libsoundtouch -- library for controlling Bose SoundTouch devices

#1149343#5
Date:
2026-09-29 14:25:08 UTC
From:
To:
* Package name    : python-libsoundtouch
  Version         : 0.8.0
  Upstream Author : Charles Blonde <charles.blonde@gmail.com>
* URL             : https://github.com/CharlesBlonde/libsoundtouch
* License         : Apache-2.0
  Programming Lang: Python
  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.

This library is a dependancy of Home Assistant, the Python smart home platform.
I plan to maintain it as part of the Home Assistant team.

#1149343#10
Date:
2026-10-01 08:57:32 UTC
From:
To:
The Debian NEW review of python-libsoundtouch 0.8.0-1 has been completed.

Decision: ACCEPTED
Reviewer: Andrew McMillan

Review comment:

Hi,

Th epackage is accepted, but there are a few pedantic packaging quality issues

1. nodoc build profile is declared but not honoured in debian/rules

debian/control guards the Sphinx/doc build-deps with <nodoc> (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)).

2. 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.

3. 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.

4. 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 $@.

5. 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!

Full review details: https://dfsg-new-queue.debian.org/reviews/python-libsoundtouch

#1149343#15
Date:
2026-10-01 09:00:18 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
python-libsoundtouch, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1149343@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Edward Betts <edward@4angle.com> (supplier of updated python-libsoundtouch package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 29 Sep 2026 15:22:00 +0100
Binary: python3-libsoundtouch
Source: python-libsoundtouch
Architecture: all source
Version: 0.8.0-1
Distribution: unstable
Urgency: medium
Maintainer: Home Assistant Team <team+homeassistant@tracker.debian.org>
Changed-By: Edward Betts <edward@4angle.com>
Closes: 1149343
Description:
 python3-libsoundtouch - library for controlling Bose SoundTouch devices
Changes:
 python-libsoundtouch (0.8.0-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1149343)
Checksums-Sha1:
 43ae2eb6c3ddfa9036fe237b10341d3e690a2c60 2571 python-libsoundtouch_0.8.0-1.dsc
 b033956a6560673afb2787598b27f4d43e2ed14e 27328 python-libsoundtouch_0.8.0.orig.tar.xz
 eb4ee301a80ca9cac0619ba755ae1cb3c0189132 3216 python-libsoundtouch_0.8.0-1.debian.tar.xz
 f6de6a13f7945f44002af8e06323102746d0e498 7596 python-libsoundtouch_0.8.0-1_amd64.buildinfo
 2d1b8b38ce3999eb2caa1e15c50df9b6b231fcc7 47448 python3-libsoundtouch_0.8.0-1_all.deb
Checksums-Sha256:
 16757ef0d54d412bacba23a0ab6bc2fcca5abfcf684dd6018fd373c581a3ffa0 2571 python-libsoundtouch_0.8.0-1.dsc
 340c68507854fb84cae683386a72bce5e3c207e08f27dd543a65e60d31b973fd 27328 python-libsoundtouch_0.8.0.orig.tar.xz
 dce6ce9674fb545f3b869849de523fd76048fdbc0f206667f58564e216af4688 3216 python-libsoundtouch_0.8.0-1.debian.tar.xz
 7b7bcb38ce53be9cdd41bdde25cc9509bfcc3f61ff558fa21e3dd609ceb64788 7596 python-libsoundtouch_0.8.0-1_amd64.buildinfo
 56fb6b71d3cd479572426403882830d8b2dec46f8e119781475ed2808c57c686 47448 python3-libsoundtouch_0.8.0-1_all.deb
Files:
 b3fa8a916f0ee923268422a266e9aa1e 2571 python optional python-libsoundtouch_0.8.0-1.dsc
 654a9c7192b54a3c70bed6c92a41e178 27328 python optional python-libsoundtouch_0.8.0.orig.tar.xz
 899c267a4987e3307058191454740668 3216 python optional python-libsoundtouch_0.8.0-1.debian.tar.xz
 20dd811e85f08487d799a9a8f6a5a732 7596 python optional python-libsoundtouch_0.8.0-1_amd64.buildinfo
 d6ad3dbb46e0a08e771fc21a18f72919 47448 python optional python3-libsoundtouch_0.8.0-1_all.deb
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE+4rPp4xyYInDitAmlgWhCYxjuSoFAmq73G4ACgkQlgWhCYxj
uSo5NA//TFAR1MnYaaVb2R+k06Qw3WEWqA1S79PNi/vjAMPnNk6sDJqp4EP2WCMc
7RbxPZdGyT2Q+4GSlV8JXpIgb+xlyKMEbQJn+a5uqjJlQ568WAL6kZg//DABdjZl
hwg1n/hiaPI4Q6XlDvlCupN5Q1V52ZFmbL+Oqgud+Q6FI3Ay/m6W90MtxOWXw7/B
tr4D/I61aVcODPDosOFs5tRRGJv4JVQdh2FpzYplVmGlOClYlrKSB3oKb9FImHBR
jj8rrlgnSDeukKky/xJyFPLmNmtZ06OcqrtOSM40VRCPI6ATSFf9mx2isOyboXxe
lS1E46faV/kEIlFwcCzUFxkOpNXiE3UpxhuBDIUgJ/bynMgFWNkBLQtDE++NUn6C
xPKmcFHBimurOmj5uMjTGZxGNl2pn3Di3pzoB47Nf1fR+jZvVKPTJpfxkkgpGQ/o
VGu1qCcSCrBv4TAFR1jreRiNg1dpJfDucQrQcRlAitbkyHXA7qy0KSg4iV2LH8kp
7RwsjuoR7hDaT61y9/kArd7CQ+EZuyH7J4WCS26s+psXfWI2+QGn9csSwJVfYlMO
d3CatuyyjVgTVL6aooXD7A4Dj2GbjuRpY++mtJWoQFqmM04gGo6p9WSZ7F8mb7Nz
RxJfiBPwB+97awYMH3TGgXx5vh9NKNufTKYxrgvOpXPt6ZBtMfM=
=uVSg
-----END PGP SIGNATURE-----