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
--- /dev/null
+#!/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