include $(TOPDIR)/rules.mk
PKG_NAME:=mpd
-PKG_VERSION:=0.23.16
-PKG_RELEASE:=2
+PKG_VERSION:=0.23.17
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.musicpd.org/download/mpd/0.23
-PKG_HASH:=9668e36df80de485683c962d02845bf314d8a08e6141af7afeff76401e32b2c1
+PKG_HASH:=a86f4fe811695743b08db82a9f1a840b8918bb4f46b06f48aa1d8d1b5386dff2
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
local pld lport
#create mpd directories from config
- pld=$(grep ^playlist_directory "$CONFIGFILE" | cut -d "\"" -f 2 | sed "s/~/\/root/g")
+ pld=$(grep ^playlist_directory "$CONFIGFILE" | head -1 | cut -d '"' -f 2 | sed "s/~/\/root/g")
+ [ -z "$pld" ] && pld="/tmp/mpd"
if [ ! -d "$pld" ]; then
mkdir -m 0755 -p "$pld"
chown $USER:$GROUP $pld
+++ /dev/null
---- a/src/tag/GenParseName.cxx
-+++ b/src/tag/GenParseName.cxx
-@@ -21,7 +21,13 @@
-
- #include <cstdlib>
- #include <map>
-+#if __has_include("<string_view>")
- #include <string_view>
-+using std::string_view;
-+#else
-+#include <boost/utility/string_view.hpp>
-+using boost::string_view;
-+#endif
-
- #include <stdio.h>
-
-@@ -41,7 +47,7 @@ main(int argc, char **argv)
-
- FILE *out = fopen(argv[1], "w");
-
-- std::map<std::string_view, TagType> names;
-+ std::map<string_view, TagType> names;
- for (unsigned i = 0; i < unsigned(TAG_NUM_OF_ITEM_TYPES); ++i)
- names[tag_item_names[i]] = TagType(i);
-
--- /dev/null
+#!/bin/sh
+
+_mpd_test() {
+ # Version check
+ mpd --version | grep -F "$2"
+
+ # Confirm the binary reports at least one supported output plugin;
+ # "null" is always compiled in and safe for testing.
+ mpd --version | grep -i "null"
+
+ # Test playlist_directory parsing logic from the init script:
+ # explicit value
+ _cfg=/tmp/mpd-pldtest.conf
+ printf 'playlist_directory "/tmp/mpd-pld-explicit"\n' > "$_cfg"
+ _pld=$(grep ^playlist_directory "$_cfg" | head -1 | cut -d '"' -f 2 | sed "s/~/\/root/g")
+ [ -z "$_pld" ] && _pld="/tmp/mpd"
+ [ "$_pld" = "/tmp/mpd-pld-explicit" ] || {
+ echo "FAIL: pld='$_pld', expected /tmp/mpd-pld-explicit"
+ rm -f "$_cfg"; exit 1
+ }
+
+ # Test default fallback when playlist_directory is absent
+ printf '# playlist_directory commented out\n' > "$_cfg"
+ _pld=$(grep ^playlist_directory "$_cfg" | head -1 | cut -d '"' -f 2 | sed "s/~/\/root/g")
+ [ -z "$_pld" ] && _pld="/tmp/mpd"
+ [ "$_pld" = "/tmp/mpd" ] || {
+ echo "FAIL: pld='$_pld', expected /tmp/mpd default"
+ rm -f "$_cfg"; exit 1
+ }
+ rm -f "$_cfg"
+
+ # Set playlist_directory in the installed config so the init script
+ # has a valid path to create on first service start.
+ grep -q ^playlist_directory /etc/mpd.conf || \
+ printf '\nplaylist_directory "/tmp/mpd"\n' >> /etc/mpd.conf
+}
+
+case "$1" in
+mpd-full|mpd-mini)
+ _mpd_test "$@"
+ ;;
+esac