upmpdcli: update to 1.9.17
authorAlexandru Ardelean <redacted>
Wed, 22 Apr 2026 09:20:01 +0000 (12:20 +0300)
committerAlexandru Ardelean <redacted>
Wed, 6 May 2026 18:05:36 +0000 (21:05 +0300)
Changes since 1.8.11:
- 1.8.16: Enhanced Tidal/Subsonic modules; improved Recoll 1.40 compatibility
- 1.8.17: Resolved Qobuz plugin incompatibilities on modern distributions
- 1.8.18: Fix many issues with the thoroughly broken Qobuz plugin
- 1.9.0: Restructured Qobuz plugin; improved search; fixed custom icon support
- 1.9.1: Subsonic and Tidal module enhancements
- 1.9.2: Resolved Qobuz login issues with OpenHome credentials service
- 1.9.5: Repaired broken Qobuz plugin; fixed gcc 15 compilation crash
- 1.9.6: Fixed media server crash with malformed proxy URLs
- 1.9.7: Fixed streaming URL handling with colon characters
- 1.9.11: Vastly improved Qobuz search; uprcl property operators and indexing
- 1.9.12: Accelerated uprcl initialization via stored Recoll data
- 1.9.13: Improved OpenHome source switching; major Subsonic plugin overhaul
- 1.9.14: Custom HTTP headers support for plugins; fixed rare proxy deadlock
- 1.9.15: Enhanced Linn Kinsky compatibility; improved radio metadata handling
- 1.9.17: Restored Qobuz connectivity via new OAuth method

Signed-off-by: Alexandru Ardelean <redacted>
sound/upmpdcli/Makefile
sound/upmpdcli/test.sh [new file with mode: 0644]

index 67677095bfbb937d2a1dac77e9c06c0a4b02972b..11a117d76c2874ce4b4170ca191915055670fb17 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=upmpdcli
-PKG_VERSION:=1.8.11
+PKG_VERSION:=1.9.17
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=d715120b869382ea701f07baa604c77b7895537e0655e1ed4dfa68d986d6a59f
+PKG_HASH:=5eb9ba2f4d2790e302fc1788509789804bb866161e4d9ae05e13bc6f75fc4e1f
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=LGPL-2.1-or-later
diff --git a/sound/upmpdcli/test.sh b/sound/upmpdcli/test.sh
new file mode 100644 (file)
index 0000000..34dbfe4
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+case "$1" in
+upmpdcli)
+       # Version check: upmpdcli prints version to stderr on bad args, or to
+       # stdout with --version; try both.
+       ver_out=$(upmpdcli --version 2>&1 || upmpdcli -v 2>&1 || true)
+       echo "$ver_out" | grep -qF "$2" || {
+               # Some builds print only the short semver, not the full string;
+               # check for the major.minor part at minimum.
+               major_minor=$(echo "$2" | cut -d. -f1-2)
+               echo "$ver_out" | grep -qF "$major_minor" || {
+                       echo "FAIL: version '$2' not found in: $ver_out"
+                       exit 1
+               }
+       }
+       echo "Version check passed"
+
+       # Binary must be executable
+       [ -x /usr/bin/upmpdcli ] || { echo "FAIL: /usr/bin/upmpdcli not executable"; exit 1; }
+
+       # Shared data files: OHCredentials and radio list MUST be present
+       [ -d /usr/share/upmpdcli ] || { echo "FAIL: /usr/share/upmpdcli missing"; exit 1; }
+
+       # Config template must have been installed
+       [ -f /etc/upmpdcli.conf ] || { echo "FAIL: /etc/upmpdcli.conf missing"; exit 1; }
+
+       # The config file must mention key directives that users typically
+       # customise; catch packaging regressions that ship a truncated config.
+       grep -q "friendlyname" /etc/upmpdcli.conf || \
+               { echo "FAIL: 'friendlyname' missing from config"; exit 1; }
+       grep -q "mpdhost" /etc/upmpdcli.conf || \
+               { echo "FAIL: 'mpdhost' missing from config"; exit 1; }
+
+       # Attempt a dry-run: upmpdcli will fail to connect to MPD (none
+       # running) but must exit with a recognisable error, not a crash/signal.
+       # We rely on the fact that it prints something before exiting.
+       tmplog=$(mktemp /tmp/upmpdcli-test.XXXXXX)
+       timeout 3 upmpdcli -c /etc/upmpdcli.conf >"$tmplog" 2>&1 || true
+       # Must have produced some output (startup log or error)
+       [ -s "$tmplog" ] || { echo "FAIL: upmpdcli produced no output"; rm -f "$tmplog"; exit 1; }
+       echo "Startup output (first 5 lines):"
+       head -5 "$tmplog"
+       rm -f "$tmplog"
+       ;;
+esac
git clone https://git.99rst.org/PROJECT