commit dd2a68c78d5e4b667545f5022f9fa8e7a51198acc47a60422b13965e9db84d3f Author: Илья Индиго Date: Fri Nov 22 22:02:16 2024 +0000 - Added mpd-icu76.patch (fixed build with icu 76.1). OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/mpd?expand=0&rev=121 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/README.mpd b/README.mpd new file mode 100644 index 0000000..25f3d7f --- /dev/null +++ b/README.mpd @@ -0,0 +1,41 @@ +mpd config file /etc/mpd.cond should be customised, at least a path to +music directories (music_directory). + +To use alsa sound output instead of pulse, activate the corresponding +part of mpd.conf and put comment on pulse part. + +For security reasons, MPD runs as restricted user mpd, group +audio. Please consider that music_directory and all directories in the +path to it should be readable and executable either for user mpd or +group audio. IF you ask youself what should "executable" means to +a directory, it is a right to change into it. So a directory could +either belong to mpd user or belong to the audio group or be readable +for all (others). Directories and files beneath it should be accessable +the same way. Some examples for right permissions: + +ls -l -d /mnt/mp3 + +readable by everyone +drwxr-xr-x 226 user users 16384 Mar 24 23:36 /mnt/mp3 + +readable by audio group +drwxr-x--- 226 user audio 16384 Mar 24 23:36 /mnt/mp3 + +readable by mpd user +drwx------ 226 mpd audio 16384 Mar 24 23:36 /mnt/mp3 + +If you would like to set up some independent directories, declare one +of it as music_directory and link others in it. Permissions for other +directories are to be set accordingly. + +MPD will be bounded to the local address (localhost): If you would +like to control it over network , then change bind_to_address to the +network address. You can set password and the list of activities to +restrict control of MPD over network. + +To start MPD at boot time, call as root: + +systemctl enable mpd + +If filenames or directory names don't display correctly, set the +character set (encoding) for the filesystem in mpd.conf. diff --git a/mpd-0.23.15.tar.xz b/mpd-0.23.15.tar.xz new file mode 100644 index 0000000..a9a4cd7 --- /dev/null +++ b/mpd-0.23.15.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:550132239ad1acf82ccf8905b56cc13dc2c81a4489b96fba7731b3049907661a +size 778384 diff --git a/mpd-0.23.15.tar.xz.sig b/mpd-0.23.15.tar.xz.sig new file mode 100644 index 0000000..ccd9e16 Binary files /dev/null and b/mpd-0.23.15.tar.xz.sig differ diff --git a/mpd-conf.patch b/mpd-conf.patch new file mode 100644 index 0000000..f31b57b --- /dev/null +++ b/mpd-conf.patch @@ -0,0 +1,202 @@ +Index: mpd-0.23.9/doc/mpdconf.example +=================================================================== +--- mpd-0.23.9.orig/doc/mpdconf.example ++++ mpd-0.23.9/doc/mpdconf.example +@@ -17,7 +17,7 @@ + # playlist files not created by the server but only if they are in the MPD + # format. This setting defaults to playlist saving being disabled. + # +-#playlist_directory "~/.mpd/playlists" ++#playlist_directory "/var/lib/mpd/playlists" + # + # This setting sets the location of the MPD database. This file is used to + # load the database at server start up and store the database while the +@@ -25,7 +25,7 @@ + # MPD to accept files over ipc socket (using file:// protocol) or streaming + # files over an accepted protocol. + # +-#db_file "~/.mpd/database" ++#db_file "/var/lib/mpd/mpd.db" + + # These settings are the locations for the daemon log files for the daemon. + # +@@ -35,7 +35,7 @@ + # If you use systemd, do not configure a log_file. With systemd, MPD + # defaults to the systemd journal, which is fine. + # +-#log_file "~/.mpd/log" ++#log_file "/var/log/mpd.log" + + # This setting sets the location of the file which stores the process ID + # for use of mpd --kill and some init scripts. This setting is disabled by +@@ -43,19 +43,19 @@ + # + # If you use systemd, do not configure a pid_file. + # +-#pid_file "~/.mpd/pid" ++#pid_file "/run/mpd/mpd.pid" + + # This setting sets the location of the file which contains information about + # most variables to get MPD back into the same general shape it was in before + # it was brought down. This setting is disabled by default and the server + # state will be reset on server start up. + # +-#state_file "~/.mpd/state" ++#state_file "/var/lib/mpd/mpdstate" + # + # The location of the sticker database. This is a database which + # manages dynamic information attached to songs. + # +-#sticker_file "~/.mpd/sticker.sql" ++#sticker_file "/var/lib/mpd/sticker.sql" + # + ############################################################################### + +@@ -67,14 +67,14 @@ + # initialization. This setting is disabled by default and MPD is run as the + # current user. + # +-#user "nobody" ++#user "mpd" + # + # This setting specifies the group that MPD will run as. If not specified + # primary group of user specified with "user" setting will be used (if set). + # This is useful if MPD needs to be a member of group such as "audio" to + # have permission to use sound card. + # +-#group "nogroup" ++#group "audio" + # + # This setting sets the address for the daemon to listen on. Careful attention + # should be paid if this is assigned to anything other than the default, any. +@@ -85,7 +85,7 @@ + #bind_to_address "any" + # + # And for Unix Socket +-#bind_to_address "~/.mpd/socket" ++#bind_to_address "/run/mpd/socket" + # + # This setting is the TCP port that is desired for the daemon to get assigned + # to. +@@ -96,7 +96,7 @@ + # troubleshooting. Available setting arguments are "notice", "info", "verbose", + # "warning" and "error". + # +-#log_level "notice" ++log_level "warning" + # + # Setting "restore_paused" to "yes" puts MPD into pause mode instead + # of starting playback after startup. +@@ -120,7 +120,7 @@ + # This setting enables automatic update of MPD's database when files in + # music_directory are changed. + # +-#auto_update "yes" ++auto_update "no" + # + # Limit the depth of the directories being watched, 0 means only watch + # the music directory itself. There is no limit by default. +@@ -150,7 +150,7 @@ + # If this setting is set to "yes", service information will be published with + # Zeroconf / Avahi. + # +-#zeroconf_enabled "yes" ++zeroconf_enabled "no" + # + # The argument to this setting will be the Zeroconf / Avahi unique name for + # this MPD server on the network. %h will be replaced with the hostname. +@@ -217,8 +217,9 @@ input { + # + #audio_output { + # type "alsa" +-# name "My ALSA Device" +-## device "hw:0,0" # optional ++# name "ALSA Device" ++## device "plug:plugequal" # optional ++## mixer_control "Master" # optional + ## mixer_type "hardware" # optional + ## mixer_device "default" # optional + ## mixer_control "PCM" # optional +@@ -241,14 +242,14 @@ input { + #audio_output { + # type "shout" + # encoder "vorbis" # optional +-# name "My Shout Stream" ++# name "Shout Stream" + # host "localhost" + # port "8000" + # mount "/mpd.ogg" + # password "hackme" +-# quality "5.0" +-# bitrate "128" +-# format "44100:16:1" ++# quality "6.0" ++# bitrate "192" ++# format "48000:16:2" + ## protocol "icecast2" # optional + ## user "source" # optional + ## description "My Stream Description" # optional +@@ -266,34 +267,34 @@ input { + # name "My recorder" + # encoder "vorbis" # optional, vorbis or lame + # path "/var/lib/mpd/recorder/mpd.ogg" +-## quality "5.0" # do not define if bitrate is defined +-# bitrate "128" # do not define if quality is defined +-# format "44100:16:1" ++## quality "6.0" # do not define if bitrate is defined ++# bitrate "192" # do not define if quality is defined ++# format "48000:16:2" + #} + # + # An example of a httpd output (built-in HTTP streaming server): + # + #audio_output { + # type "httpd" +-# name "My HTTP Stream" +-# encoder "vorbis" # optional, vorbis or lame ++# name "HTTP Stream" ++# encoder "vorbis" # optional, vorbis or lame + # port "8000" + # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6 +-## quality "5.0" # do not define if bitrate is defined +-# bitrate "128" # do not define if quality is defined +-# format "44100:16:1" ++## quality "6.0" # do not define if bitrate is defined ++# bitrate "192" # do not define if quality is defined ++# format "48000:16:2" + # max_clients "0" # optional 0=no limit + #} + # + # An example of a pulseaudio output (streaming to a remote pulseaudio server) + # +-#audio_output { +-# type "pulse" +-# name "My Pulse Output" ++audio_output { ++ type "pulse" ++ name "Pulse Output" + ## server "remote_server" # optional + ## sink "remote_server_sink" # optional + ## media_role "media_role" #optional +-#} ++} + # + # An example of a winmm output (Windows multimedia API). + # +@@ -355,7 +356,7 @@ input { + # command "AudioCompress -m | aplay -f cd 2>/dev/null" + ## Or to send raw PCM stream through PCM: + # command "nc example.org 8765" +-# format "44100:16:2" ++# format "48000:16:2" + #} + # + ## An example of a null output (for no audio output): +@@ -413,6 +414,6 @@ input { + # If file or directory names do not display correctly for your locale then you + # may need to modify this setting. + # +-#filesystem_charset "UTF-8" ++filesystem_charset "UTF-8" + # + ############################################################################### diff --git a/mpd-fmt11.patch b/mpd-fmt11.patch new file mode 100644 index 0000000..ae7d7bc --- /dev/null +++ b/mpd-fmt11.patch @@ -0,0 +1,79 @@ +From 1402869715e3efca87942d79c3173a6b21a6925d Mon Sep 17 00:00:00 2001 +From: Rudi Heitbaum +Date: Fri, 5 Jul 2024 14:27:45 +0000 +Subject: [PATCH] lib/fmt: support build with libfmt-11.0.0 + +Upstream libfmt commit fmtlib/fmt@d707292 +now requires the format function to be const. + +Adjust the function prototype so it is const and can compile. + +Signed-off-by: Rudi Heitbaum +--- + src/lib/ffmpeg/LibFmt.hxx | 2 +- + src/lib/fmt/AudioFormatFormatter.hxx | 4 ++-- + src/lib/fmt/ExceptionFormatter.hxx | 2 +- + src/lib/fmt/PathFormatter.hxx | 2 +- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/lib/ffmpeg/LibFmt.hxx b/src/lib/ffmpeg/LibFmt.hxx +index aa068711f3..dee83ed2d5 100644 +--- a/src/lib/ffmpeg/LibFmt.hxx ++++ b/src/lib/ffmpeg/LibFmt.hxx +@@ -13,7 +13,7 @@ template<> + struct fmt::formatter : formatter + { + template +- auto format(const AVSampleFormat format, FormatContext &ctx) { ++ auto format(const AVSampleFormat format, FormatContext &ctx) const { + const char *name = av_get_sample_fmt_name(format); + if (name == nullptr) + name = "?"; +diff --git a/src/lib/fmt/AudioFormatFormatter.hxx b/src/lib/fmt/AudioFormatFormatter.hxx +index e0ffb62160..8da98efd41 100644 +--- a/src/lib/fmt/AudioFormatFormatter.hxx ++++ b/src/lib/fmt/AudioFormatFormatter.hxx +@@ -13,7 +13,7 @@ template<> + struct fmt::formatter : formatter + { + template +- auto format(const SampleFormat format, FormatContext &ctx) { ++ auto format(const SampleFormat format, FormatContext &ctx) const { + return formatter::format(sample_format_to_string(format), + ctx); + } +@@ -23,7 +23,7 @@ template<> + struct fmt::formatter : formatter + { + template +- auto format(const AudioFormat &af, FormatContext &ctx) { ++ auto format(const AudioFormat &af, FormatContext &ctx) const { + return formatter::format(ToString(af).c_str(), + ctx); + } +diff --git a/src/lib/fmt/ExceptionFormatter.hxx b/src/lib/fmt/ExceptionFormatter.hxx +index 3f342df672..f08b3bb228 100644 +--- a/src/lib/fmt/ExceptionFormatter.hxx ++++ b/src/lib/fmt/ExceptionFormatter.hxx +@@ -12,7 +12,7 @@ template<> + struct fmt::formatter : formatter + { + template +- auto format(std::exception_ptr e, FormatContext &ctx) { ++ auto format(std::exception_ptr e, FormatContext &ctx) const { + return formatter::format(GetFullMessage(e), ctx); + } + }; +diff --git a/src/lib/fmt/PathFormatter.hxx b/src/lib/fmt/PathFormatter.hxx +index e5ae89dec5..add06df81b 100644 +--- a/src/lib/fmt/PathFormatter.hxx ++++ b/src/lib/fmt/PathFormatter.hxx +@@ -13,7 +13,7 @@ template T> + struct fmt::formatter : formatter + { + template +- auto format(Path path, FormatContext &ctx) { ++ auto format(Path path, FormatContext &ctx) const { + return formatter::format(path.ToUTF8(), ctx); + } + }; diff --git a/mpd-icu76.patch b/mpd-icu76.patch new file mode 100644 index 0000000..9acadcf --- /dev/null +++ b/mpd-icu76.patch @@ -0,0 +1,11 @@ +diff -Pdpru mpd-0.23.15.orig/meson.build mpd-0.23.15/meson.build +--- mpd-0.23.15.orig/meson.build 2023-12-20 18:21:57.000000000 +0300 ++++ mpd-0.23.15/meson.build 2024-11-23 00:40:07.712091468 +0300 +@@ -135,6 +135,7 @@ if get_option('buildtype') != 'debug' + ] + test_ldflags += [ + '-Wl,--gc-sections', ++ '-licuuc', + ] + endif + diff --git a/mpd-sndfile.patch b/mpd-sndfile.patch new file mode 100644 index 0000000..b5a00fc --- /dev/null +++ b/mpd-sndfile.patch @@ -0,0 +1,20 @@ +From: Luigi Baldoni +Date: 2018-11-09 21:10:34 +0100 +Subject: avoid clash wrt sndfile.h + +sndfile.h is present both in /usr/include and /usr/include/libmodplug +This hack hardcodes the path of the first one. + +Index: mpd-0.21.1/src/decoder/plugins/SndfileDecoderPlugin.cxx +=================================================================== +--- mpd-0.21.1.orig/src/decoder/plugins/SndfileDecoderPlugin.cxx ++++ mpd-0.21.1/src/decoder/plugins/SndfileDecoderPlugin.cxx +@@ -29,7 +29,7 @@ + + #include + +-#include ++#include "/usr/include/sndfile.h" + + static constexpr Domain sndfile_domain("sndfile"); + diff --git a/mpd-user.conf b/mpd-user.conf new file mode 100644 index 0000000..6c1253e --- /dev/null +++ b/mpd-user.conf @@ -0,0 +1,58 @@ +music_directory "~/data/music" +playlist_directory "~/.mpd/playlists" +db_file "~/.mpd/database" +log_file "~/.mpd/log" +#pid_file "~/.mpd/pid" +state_file "~/.mpd/state" +sticker_file "~/.mpd/sticker.sql" +bind_to_address "127.0.0.1" +port "6600" +#bind_to_address "~/.mpd/socket" +#gapless_mp3_playback "yes" +save_absolute_paths_in_playlists "no" +metadata_to_use "artist,album,title,track,name,date" +auto_update "yes" +#auto_update_depth "3" +follow_outside_symlinks "yes" +follow_inside_symlinks "yes" +zeroconf_enabled "yes" +zeroconf_name "Music Player" +#password "password@read,add,control,admin" +#default_permissions "read,add,control,admin" + +input { + plugin "curl" +} + +audio_output { + type "pulse" + name "PulseAudio" +} + +#audio_output { +# type "alsa" +# name "ALSA" +## device "plug:plugequal" # optional +## mixer_control "Master" # optional +#} + +#audio_output { +# type "jack" +# name "mpd" +#} + +audio_output_format "48000:16:2" +samplerate_converter "Fastest Sinc Interpolator" + +#replaygain "album" +#replaygain_preamp "0" +#volume_normalization "no" +#audio_buffer_size "2048" +#buffer_before_play "10%" +#connection_timeout "60" +#max_connections "10" +#max_playlist_length "16384" +#max_command_list_size "2048" +#max_output_buffer_size "8192" + +filesystem_charset "UTF-8" diff --git a/mpd.changes b/mpd.changes new file mode 100644 index 0000000..0746dcf --- /dev/null +++ b/mpd.changes @@ -0,0 +1,2109 @@ +------------------------------------------------------------------- +Fri Nov 22 21:56:28 UTC 2024 - Илья Индиго + +- Added mpd-icu76.patch (fixed build with icu 76.1). + +------------------------------------------------------------------- +Wed Nov 6 04:50:58 UTC 2024 - Илья Индиго + +- Added mpd-fmt11.patch (fixed build with fmt 11.2). + +------------------------------------------------------------------- +Sat Apr 27 21:55:37 UTC 2024 - Илья Индиго + +- Fixed privileges of /run/mpd directory (rpm -qlv mpd | grep /run). + +------------------------------------------------------------------- +Sun Feb 4 17:45:03 UTC 2024 - Илья Индиго + +- Provided user(mpd). + +------------------------------------------------------------------- +Thu Dec 28 18:24:06 UTC 2023 - Dirk Müller + +- update to 0.23.15: + * ffmpeg: fix build failure with FFmpeg 6.1 + * alsa: limit buffer time to 2 seconds + * flac: fix scanning files with non-ASCII names on Windows + * mad: fix calculation of LAME peak values + * wasapi: fix problem setting volume + * more libfmt 10 fixes + * fix auto-detected systemd unit directory + +------------------------------------------------------------------- +Tue Aug 29 12:36:00 UTC 2023 - llyyr + +- Disable libchromaprint requirement and disable feature. This would + cause mpd to pull in ffmpeg-4 on installation. + +------------------------------------------------------------------- +Tue May 23 22:00:59 UTC 2023 - Илья Индиго + +- Updated to 0.23.13 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.13/NEWS + * input: curl: fixed busy loop after connection failed + * input: curl: hided "404" log messages for non-existent ".mpdignore" files + * archive: zzip: fixed crash bug + * database: simple: revealed hidden songs after deleting containing CUE + * decoder: ffmpeg: reordered to a lower priority than "gme" + * decoder: gme: required GME 0.6 or later + * output: pipewire: fixed corruption bug due to missing lock + * linux: shut down if parent process dies in --no-daemon mode + * linux: determine systemd unit directories via pkg-config + * supported libfmt 10 + +------------------------------------------------------------------- +Wed Jan 18 12:20:43 UTC 2023 - Илья Индиго + +- Updated to 0.23.12 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.12/NEWS + * input: curl: require CURL 7.55.0 or later + * decoder: mad: fixed integer underflow with very small files + * tags: fixed crash bug due to race condition + * output: pipewire: adjust to PipeWire 0.3.64 API change + * fixed build failures with GCC 13 + +------------------------------------------------------------------- +Sat Dec 3 21:28:47 UTC 2022 - Dirk Müller + +- update to 0.23.11: + - simple: move default database to ~/.cache/mpd/db from ~/.cache/mpd.db + - simple: default "cache_directory" to ~/.cache/mpd/mounts + - windows: fixed DoS via a crafted input (bsc#1207028), CVE-2022-46449 +- add keyring + +------------------------------------------------------------------- +Mon Oct 17 07:12:07 UTC 2022 - Илья Индиго + +- Updated to 0.23.10 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.10/NEWS + * storage: curl: fixed file time stamps + * decoder: ffmpeg: fixed libfmt 9 compiler warning + * encoder: flac: fixed failure when libFLAC is built without Ogg support + * output: alsa: fixed crash bug + +------------------------------------------------------------------- +Wed Aug 24 06:10:55 UTC 2022 - Paolo Stivanin + +- Updated to 0.23.9 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.9/NEWS + * input: cdio_paranoia: added options "mode" and "skip" + * decoder: ffmpeg: added support FFmpeg 5.1 + * filter: replay gain: fixed delayed volume display with handler=mixer + * output: pipewire: set app icon + * fixed bogus volume levels with multiple partitions + * improved iconv detection +- Removed fix-build-ffmpeg5.patch. + +------------------------------------------------------------------- +Mon Aug 8 08:19:19 UTC 2022 - Cor Blom + +- Added fix-build-ffmpeg5.patch to fix build with ffmpeg 5.1 + +------------------------------------------------------------------- +Mon Aug 1 16:04:57 UTC 2022 - Илья Индиго + +- Updated to 0.23.8 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.8/NEWS + * support libfmt 9 + * storage: curl: fix crash if web server does not understand WebDAV + * input: + * cdio_paranoia: + * fix crash if no drive was found + * faster cancellation + * don't scan for replay gain tags + * pipewire: + * fix playback of very short tracks + * drop all buffers before manual song change + * fix stuttering after manual song change + * snapcast: + * fix busy loop while paused + * fix stuttering after resuming playback + * mixer + * better error messages + * alsa: fix setting volume before playback starts + * pipewire: + * fix crash bug + * fix volume change events with PipeWire 0.3.53 + * don't force initial volume=100% + +------------------------------------------------------------------- +Wed Jun 1 14:58:09 UTC 2022 - Илья Индиго + +- Updated to 0.23.7 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.7/NEWS + * decoder: + * ffmpeg: fix HLS seeking + * opus: fix missing song length on high-latency files + * mixer: + * pipewire: fix volume restore + * software: update volume of disabled outputs + +------------------------------------------------------------------- +Tue Mar 29 21:26:09 UTC 2022 - Илья Индиго + +- Updated to 0.23.6 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.6/NEWS + * protocol: + * support filename "cover.webp" for "albumart" command + * support "readcomments" and "readpicture" on CUE tracks + * decoder: + * ffmpeg: fix end-of-file check (update stuck at empty files) + * opus: fix "readpicture" on Opus files + * output: + * pipewire: fix crash bug if setting volume before playback starts + * wasapi: fix resume after pause + +------------------------------------------------------------------- +Tue Jan 11 11:11:11 UTC 2022 - olaf@aepfle.de + +- Implement the migration to PCRE2 by specifying the build dependency +- Remove obsolete libwrap option + +------------------------------------------------------------------- +Thu Dec 2 18:29:33 UTC 2021 - Mia Herkt + +- Updated to 0.23.5 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.5/NEWS + * protocol: + * support relative offsets for "searchadd" + * fix "searchaddpl" bug (bogus error "Bad position") + * database: upnp: fix crash bug + * tags: fix MixRamp support + * migrate to PCRE2 + * GCC 12 build fixes + +------------------------------------------------------------------- +Fri Nov 12 23:12:23 UTC 2021 - Илья Индиго + +- Updated to 0.23.4 + * Changed file mpd-user.conf​ (disabled pid_file). + * Refreshed patch mpd-conf.patch. + * Removed patch mpd-service.patch. + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.4/NEWS + * protocol: add optional position parameter to "searchaddpl" + * decoder: ffmpeg: support libavcodec 59 + * output: alsa: add option "thesycon_dsd_workaround" to work around device bug + * fix crash on debug builds if startup fails + * systemd: + * remove "RuntimeDirectory" directive because it caused problems + * ignore the "pid_file" setting if started as systemd service + +------------------------------------------------------------------- +Sat Nov 6 02:02:33 UTC 2021 - Илья Индиго + +- Updated to 0.23.3 + * Add patch mpd-service.patch. + * Add BuildRequires for fmt, libopenmpt, libpipewire-0.3. + * Increased the minimum version for meson to 0.56.0. + * Changed meson option -Dupnp from enabled to pupnp. + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.3/NEWS + * split permission "player" from "control" + * add option "host_permissions" + * protocol: + * new command "getvol" + * show the audio format in "playlistinfo" + * support "listfiles" with arbitrary storage plugins + * support relative positions in "addid" + * fix relative positions in "move" and "moveid" + * add "position" parameter to "findadd" and "searchadd" + * add position parameter to "load" + * use decimal notation instead of scientific notation + * "load" supports relative positions + * add optional position parameter to "add" and "playlistadd" + * allow range in "playlistdelete" + * database: + * proxy: require MPD 0.20 or later + * proxy: require libmpdclient 2.11 or later + * proxy: split search into chunks to avoid exceeding the output buffer + * simple: add option to hide CUE target songs + * upnp: support libnpupnp instead of libupnp + * fix scanning files with question mark in the name + * inotify: fix use-after-free bug + * archive: + * zzip, iso9660: ignore file names which are invalid UTF-8 + * decoder: + * openmpt: new plugin + * wavpack: fix WVC file support + * input: nfs: fix playback bug + * neighbor: mention: failed plugin name in error message + * output: + * emit "mixer" idle event when replay gain changes volume + * alsa: add option "stop_dsd_silence" to work around DSD DAC noise + * oss: support DSD over PCM + * pipewire: new plugin + * pipewire: emit "mixer" idle events on external volume change + * pipewire: attempt to change the graph sample rate + * pipewire: send artist and title to PipeWire + * pipewire: DSD support + * snapcast: new plugin + * snapcast: fix time stamp bug which caused "Failed to get chunk" + * player: + * do not cross-fade songs shorter than 20 seconds + * fix "albumart" timeout bug + * systemd: add "RuntimeDirectory" directive + * tags: + * new tags "ComposerSort", "Ensemble", "Movement", "MovementNumber", + and "Location" + +------------------------------------------------------------------- +Wed Sep 1 07:24:21 UTC 2021 - Илья Индиго + +- Updated to 0.22.11 + * https://github.com/MusicPlayerDaemon/MPD/blob/v0.22.11/NEWS + * protocol: fix "albumart" crash. + * filter: ffmpeg: + * pass "channel_layout" instead of "channels" to buffersrc + * fix "av_buffersink_get_frame() failed: Resource temporarily unavailable" + * support double-precision samples (by converting to single precision) + +------------------------------------------------------------------- +Tue Aug 17 07:55:08 UTC 2021 - Илья Индиго + +- Updated to 0.22.10 + * https://github.com/MusicPlayerDaemon/MPD/blob/v0.22.10/NEWS + * protocol: support "albumart" for virtual tracks in CUE sheets + * database: simple: + * fix crash bug + * fix absolute paths in CUE "as_directory" entries + * prune CUE entries from database for non-existent songs + * input: + * curl: fix crash bug after stream with Icy metadata was closed + by peer + * tidal: remove defunct unmaintained plugin + * tags: fix crash caused by bug in TagBuilder and a few potential + reference leaks + * output + * httpd: fix missing tag after seeking into a new song + * oss: fix channel order of multi-channel files + * mixer: alsa: fix yet more rounding errors. + +------------------------------------------------------------------- +Sun Jun 27 11:12:37 UTC 2021 - Илья Индиго + +- Updated to 0.22.9 + * https://github.com/MusicPlayerDaemon/MPD/blob/v0.22.9/NEWS + * database: simple: load all .mpdignore files of all parent directories + * tags: fix: "readcomments" and "readpicture" on remote files with ID3 tags + * decoder: ffmpeg: + * support the tags "sort_album", "album-sort", "artist-sort" + * fix build failure with FFmpeg 3.4 + +------------------------------------------------------------------- +Sun May 30 15:39:04 UTC 2021 - Fabian Niepelt + +- Update to 0.22.8 + * https://github.com/MusicPlayerDaemon/MPD/blob/v0.22.8/NEWS + * fix crash bug in "albumart" command (0.22.7 regression) + +------------------------------------------------------------------- +Fri May 21 06:04:21 UTC 2021 - Илья Индиго + +- Update to 0.22.7 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.22.7/NEWS + * protocol: + * don't use glibc extension to parse time stamps + * optimize the "albumart" command + * input: + * curl: send user/password in the first request, save one roundtrip + * decoder: + * ffmpeg: fix build problem with FFmpeg 3.4 + * gme: support RSN files + * storage: curl: don't use glibc extension + * database: simple: fix database corruption bug + * output: + * fix crash when pausing with multiple partitions + * httpd: send header "Access-Control-Allow-Origin: *" + +------------------------------------------------------------------- +Fri Feb 19 23:49:35 UTC 2021 - Dirk Müller + +- update to 0.22.6: + * fix missing tags on songs in queue + - error for malformed ranges instead of ignoring silently + - better error message for open-ended range with "move" + - simple: fix missing CUE sheet metadata in "addid" command + - id: translate TPE3 to Conductor, not Performer + - iso9660: another fix for unaligned reads + - httpd: error handling on Windows improved + - pulse: fix deadlock with "always_on" + +------------------------------------------------------------------- +Sat Jan 23 11:49:19 UTC 2021 - Илья Индиго + +- Update to 0.22.4 + * refresh mpd-conf.patch + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.22.4/NEWS + * protocol: + * add command "binarylimit" to allow larger chunk sizes + * fix "readpicture" on 32 bit machines + * show duration and tags of songs in virtual playlist (CUE) folders + * storage: curl: fix several WebDAV protocol bugs + * decoder: dsdiff: apply padding to odd-sized chunks + * filter: ffmpeg: detect the output sample format + * output: moveoutput: fix always_on and tag lost on move + +------------------------------------------------------------------- +Mon Nov 9 06:24:26 UTC 2020 - Илья Индиго + +- Update to 0.22.3 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.22.3/NEWS + * playlist + * add option "as_directory", making CUE file expansion optional + * storage: curl: fix crash bug + * filter + * fix garbage after "Audio format not supported by filter" message + * ffmpeg: support planar output + * ffmpeg: support sample formats other than 16 bit + +------------------------------------------------------------------- +Wed Oct 28 22:04:23 UTC 2020 - Илья Индиго + +- Update to 0.22.2 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.22.2/NEWS + * database: simple: purge songs and virtual directories for unavailable + plugins on update + * decoder + * opus: apply the OpusHead output gain even if there is no EBU R128 tag + * opus: fix track/album ReplayGain fallback + * input + * qobuz/tidal: fix protocol errors due to newlines in error messages + * smbclient: disable by default due to libsmbclient crash bug + * output + * alsa: don't deadlock when the ALSA driver is buggy + * jack, pulse: reduce the delay when stopping or pausing playback + * playlist + * cue: fix two crash bugs + * soundcloud: fix protocol errors due to newlines in error messages + * state_file + * fix the state_file_interval setting + * save on shutdown + +------------------------------------------------------------------- +Wed Sep 30 01:36:05 UTC 2020 - Илья Индиго + +- Refresh spec-file via spec-cleaner and manual optimizations + * Removed unnecessary constructions and comments. + * Add sig-file. + * Add mpd.firewalld file with 6600 and 8000 tcp ports for firewalld. + * Add mpd.tmpfiles.d for /run/mpd directory. + * Enable build documentation and add separate doc package. + * Remove patch mpd-docs.patch (needless). +- Change patch mpd-mpdconf_suse.patch and rename to mpd-conf.patch. + * Change and set log_file option to "/var/log/mpd.log". + * Change and set pid_file and bind_to_address to /run/mpd/* directory. + * Add additional description for log_level option and set to "warning". + * Set auto_update and zeroconf_enabled options to "no". + * Remove prefix "My " in name options alsa and httpd output devices. + * Change option device in alsa_output to "plug:plugequal" for alsaequal. + * Add optional option mixer_control in alsa_output with value "Master". + * Change quality, bitrate and format options in output devices. +- Change mpd-user.conf file: add alsa audio_output and drop id3v1_encoding. +- Update to 0.22 + * Add BuildRequires for cmake, python3-Sphinx and pkgconfig(liburing). + * Increased the minimum version for meson to 0.49.0. + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.22/NEWS + * protocol + * "findadd"/"searchadd"/"searchaddpl" support the "sort" and + * "window" parameters + * add command "readpicture" to download embedded pictures + * command "moveoutput" moves an output between partitions + * command "delpartition" deletes a partition + * show partition name in "status" response + * tags: new tags "Grouping" (for ID3 "TIT1"), "Work" and "Conductor" + * input + * curl: support "charset" parameter in URI fragment + * ffmpeg: allow partial reads + * io_uring: new plugin for local files on Linux (using liburing) + * smbclient: close unused SMB/CIFS connections + * database: upnp: drop support for libupnp versions older than 1.8 + * playlist + * cue: integrate contents in database + * flac: support reading CUE sheets from remote FLAC files + * decoder + * ffmpeg: support RTSP + * mad: remove option "gapless", always do gapless + * sidplay: add option "default_genre" + * sidplay: map SID name field to "Album" tag + * sidplay: add support for new song length format with libsidplayfp 2.0 + * vorbis, opus: improve seeking accuracy + * filter + * ffmpeg: new plugin based on FFmpeg's libavfilter library + * hdcd: new plugin based on FFmpeg's "af_hdcd" for HDCD playback + * volume: convert S16 to S24 to preserve quality and reduce dithering noise + * dsd: add integer-only DSD to PCM converter + * output + * jack: add option "auto_destination_ports" + * jack: report error details + * pulse: add option "media_role" + * solaris: support S8 and S32 + * lower the real-time priority from 50 to 40 + * switch to C++17 GCC 8 or clang 5 (or newer) recommended + +------------------------------------------------------------------- +Wed Sep 23 06:37:31 UTC 2020 - Dirk Mueller + +- update to 0.21.26: + * database + * inotify: obey ".mpdignore" files + * output + * osx: fix crash bug + * sles: support floating point samples + * archive + * bzip2: fix crash on corrupt bzip2 file + * bzip2: flush output at end of input file + * iso9660: fix unaligned reads + * iso9660: support seeking + * zzip: fix crash on corrupt ZIP file + * decoder + * ffmpeg: remove "rtsp://" from the list of supported protocols + * ffmpeg: add "hls+http://" to the list of supported protocols + * opus: support the gain value from the Opus header + * sndfile: fix lost samples at end of file + * fix "single" mode bug after resuming playback + * the default log_level is "default", not "info" + +------------------------------------------------------------------- +Wed Aug 19 11:40:13 UTC 2020 - Dominique Leuenberger + +- Fix typo in previous commit. + +------------------------------------------------------------------- +Wed Aug 19 09:12:04 UTC 2020 - Dominique Leuenberger + +- Use %{_userunitdir} consistently in the spec file. + +------------------------------------------------------------------- +Tue Jul 7 06:32:18 UTC 2020 - Paolo Stivanin + +- Update to 0.21.25 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.25/NEWS + * protocol: fix crash when using "rangeid" while playing + * database + * simple: automatically scan new mounts + * upnp: fix compatibility with Plex DLNA + * storage + * fix disappearing mounts after mounting twice + * udisks: fix reading ".mpdignore" + * input + * file: detect premature end of file + * smbclient: don't send credentials to MPD clients + * decoder + * opus: apply pre-skip and end trimming + * opus: fix memory leak + * opus: fix crash bug + * vorbis: fix crash bug + * neighbor + * upnp: fix crash during shutdown + +------------------------------------------------------------------- +Mon Jun 22 10:33:14 UTC 2020 - Илья Индиго + +- Update to 0.21.24 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.24/NEWS + * protocol: "tagtypes" requires no permissions + * database: simple: fix crash when mounting twice + * decoder + * modplug: fix Windows build failure + * wildmidi: attempt to detect WildMidi using pkg-config + * wildmidi: fix Windows build failure + * player: don't restart current song if seeking beyond end + * fix unit test failure + +------------------------------------------------------------------- +Sat Apr 25 18:01:18 UTC 2020 - Илья Индиго + +- Update to 0.21.23 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.23/NEWS + * protocol: add tag fallback for AlbumSort + * storage + * curl: fix corrupt "href" values in the presence of XML entities + * curl: unescape "href" values + * input + * nfs: fix crash bug + * nfs: fix freeze bug on reconnect + * decoder: gme: adapt to API change in the upcoming version 0.7.0 + * output: alsa: implement channel mapping for 5.0 and 7.0 + * player: drain: outputs at end of song in "single" mode + +------------------------------------------------------------------- +Sat Apr 4 22:04:54 UTC 2020 - Илья Индиго + +- Update to 0.21.22 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.22/NEWS + * database: simple: optimize startup + * input: curl: fix streaming errors on Android + * playlist: rss: support MIME type application/xml + * mixer: android: new mixer plugin for "sles" output + * fix build failures with uClibc-ng + +------------------------------------------------------------------- +Fri Mar 27 15:53:58 UTC 2020 - Илья Индиго + +- Update to 0.21.21 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.21/NEWS + * configuration: fix bug in "metadata_to_use" setting + * playlist: asx, xspf: fix corrupt tags in the presence of XML entities + * archive: iso9660: skip empty file names to work around libcdio bug + * decoder: gme: ignore empty tags + * output: solaris: port to NetBSD + * raise default "max_connections" value to 100 + +------------------------------------------------------------------- +Thu Feb 27 06:59:18 UTC 2020 - Илья Индиго + +- Update to 0.21.20 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.20/NEWS + * decoder + * audiofile, ffmpeg, sndfile: handle MIME type "audio/wav" + * ffmpeg: fix playback of AIFF and TTA + * vorbis, opus: fix seeking in small files + * fix backwards seeking on ARM (and other non-x86 CPUs) + +------------------------------------------------------------------- +Mon Jan 20 07:42:18 UTC 2020 - Илья Индиго + +- Update to 0.21.19 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.19/NEWS + * configuration + * allow overriding top-level settings in includes + * output + * pulse: obey Pulse's maximum sample rate (fixes DSD128 playback) + * fix build failure with clang 10 + * fix build failure with Android NDK r20 + +------------------------------------------------------------------- +Sat Dec 28 10:42:29 UTC 2019 - Илья Индиго + +- Update to 0.21.18 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.18/NEWS + * protocol + * work around Mac OS X bug in the ISO 8601 parser + * output + * alsa: fix hang bug with ALSA "null" outputs + * storage + * curl: fix crash bug + * drop support for CURL versions older than 7.32.0 + * reduce unnecessary CPU wakeups + +------------------------------------------------------------------- +Wed Dec 18 15:55:55 UTC 2019 - Илья Индиго + +- Update to 0.21.17 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.17/NEWS + * protocol + * relax the ISO 8601 parser: allow omitting field separators, + the time of day and the "Z" suffix + * archive + * zzip: improve error reporting + * outputs + * jack: mark ports as terminal + * shout: declare metadata as UTF-8 + * fix build failure with -Ddatabase=false + +------------------------------------------------------------------- +Wed Oct 16 11:36:22 UTC 2019 - Илья Индиго + +- Update to 0.21.16 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.16/NEWS + * fix build with iconv() instead of ICU + * queue + * fix relative destination offset when moving a range + * storage + * curl: request the "resourcetype" property to fix database update + * curl: URL-encode more paths + * curl: follow redirects for collections without trailing slash + * update + * fix crash when music_directory is not a directory + +------------------------------------------------------------------- +Tue Oct 8 08:02:09 UTC 2019 - Илья Индиго + +- Refresh spec-file via spec-cleaner and manual optimizations + * specified the correct license GPL-2.0-or-later + * remove openSUSE Leap 42.3 support + * remove obsolete version limitation in BuildRequire macros + * renumber Source and Patch +- Update to 0.21.15 + * https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.21.15/NEWS + * fix crash bug (0.21.9 regression) + * decoder + * opus: fix duplicate tags + * wildmidi: log error if library initialization fails + * mad: update bit rate after seeking + * mad: fix several bugs preventing the plugin from decoding the last frame + * opus: ignore case in replay gain tag names + * opus, vorbis: decode the "end of stream" packet + * mad: fix crackling sound (0.21.12 regression) + * sidplay: show track durations in database + * sidplay: convert tag values from Windows-1252 charset + * sidplay: strip text from "Date" tag + * dsdiff, dsf: fix displayed bit rate + * mpcdec: fix bogus ReplayGain values + * input + * tidal: deprecated because Tidal has changed the protocol + * cdio_paranoia: require libcdio-paranoia 10.2+0.93+1 + * output + * httpd: reject some well-known URIs + * alsa: fix busy loop while draining + * alsa: fix missing drain call + * alsa: improve xrun-avoiding silence generator + * alsa: log when generating silence due to slow decoder + * alsa, osx: fix distortions with DSD_U32 and DoP on 32 bit CPUs + * jack: fix mono-to-stereo conversion + * jack: improved Windows compatibility + * player + * don't restart unseekable song after failed seek attempt + * fix crash after song change + * fix seek position after restarting the decoder + * protocol + * fix "list" with multiple "group" levels + * include command name in error responses + +------------------------------------------------------------------- +Tue Jul 23 07:42:13 UTC 2019 - Илья Индиго + +- Remove patch GCC9-buildfix.patch (upsteamed) + +------------------------------------------------------------------- +Fri May 31 10:49:14 UTC 2019 - Tomas Cech + +- Update to version 0.21.9 + * input + - buffer: fix deadlock bug + - smbclient: download to buffer instead of throttling transfer + - qobuz/tidal: scan tags when loading a playlist + - cdio_paranoia: fix build failure due to missing #include + - buffer: fix crash bug when playing remote WAV file + * output + - httpd: add missing mutex lock + - httpd: fix use-after-free bug + - pulse: work around error with unusual channel count + - osx: fix build failure + - shout: add support for TLS + - httpd: declare protocol "HTTP/1.1" instead of "ICY" + - alsa: fix crash bug + - alsa: fix stuttering at start of playback + - alsa: fix discarded samples at end of song + - alsa: clear error after reopening device + * playlist + - soundcloud: fix "Unsupported URI scheme" (0.21.6 regression) + - flac: fix use-after-free bug + * protocol + - allow loading playlists specified as absolute filesystem paths + - fix negated filter expressions with multiple tag values + - fix "list" with filter expression + - omit empty playlist names in "listplaylists" + - fix deadlock in "albumart" command + - fix "tagtypes disable" command + * decoder + - opus: fix replay gain when there are no other tags + - opus: fix seeking to beginning of song + - vorbis: fix Tremor conflict resulting in crash + * database + - simple: fix assertion failure + - fix assertion failures with mount points + - inotify: fix crash bug "terminate called after throwing ..." + - upnp: implement "list ... group" + * storage + - udisks: fix "AlreadyMounted" error + - udisks: use relative path from mount URI + - fix memory leak + * tags + - ape: map "Album Artist" + * mixer + - pulse: add "scale_volume" setting + * fix spurious "single" mode bug + * fix Bonjour bug + * fix build failure with GCC 9 + * fix build failure with -Ddatabase=false + * systemd: add user socket unit + * doc: "list file" is deprecated + * require Meson 0.49.0 for native libgcrypt-config support + * fix build failure with -Dlocal_socket=false + * support abstract sockets on Linux + * remove libwrap support + * log: default to journal if MPD was started as systemd service +- drop GCC9-buildfix.patch + +------------------------------------------------------------------- +Tue May 28 12:09:16 UTC 2019 - Christophe Giboudeaux + +- Add GCC9-buildfix.patch + +------------------------------------------------------------------- +Wed Mar 20 11:10:47 UTC 2019 - Michael Vetter + +- bsc#1129905: uncomment audio_output field + * Update mpd-mpdconf_suse.patch + +------------------------------------------------------------------- +Fri Nov 16 11:55:10 UTC 2018 - Antonio Larrosa + +- Update to version 0.21.2 + * protocol + - operator "=~" matches a regular expression + - operator "contains" matches substrings + * decoder + - ffmpeg: require FFmpeg 3.1 or later + - ffmpeg: fix broken sound with certain codecs + * output + - alsa: fix high CPU usage with dmix + - httpd: fix three crash bugs + * mixer + - alsa: fix more rounding errors + * fix zlib support + +- Remove mpd-zlib.patch which was already merged upstream. + +- Add systemd pre(un)/post(un) macros for mpd.socket + +------------------------------------------------------------------- +Thu Nov 15 11:12:49 UTC 2018 - meissner@suse.com + +- buildrequire libgcrypt-devel to fix build + +------------------------------------------------------------------- +Fri Nov 9 14:53:54 UTC 2018 - Luigi Baldoni + +- Update to version 0.21.1, fixes (boo#1114607) + * protocol + + allow escaping quotes in filter expressions + + operator "==" never searches substrings in filter + expressions + * decoder + + ffmpeg: fix build failure with non-standard FFmpeg + installation path + + flac: fix linker failure when building without FLAC support + * encoder + + vorbis: fix linker failure when building without Vorbis + decoder + * fix build failure on Linux-PowerPC + * add warning about buggy Boost version 1.67 + * require Meson 0.47.2 because a Meson 0.47.1 bug breaks our + build + version 0.21 + * configuration + + add "include" directive, allows including config files + + incremental "metadata_to_use" setting + * protocol + + "tagtypes" can be used to hide tags + + "find" and "search" can sort + + "outputs" prints the plugin name + + "outputset" sets runtime attributes + + close connection when client sends HTTP request + + new filter syntax for "find"/"search" etc. with negation + * database + + simple: scan audio formats + + proxy: require libmpdclient 2.9 + + proxy: forward `sort` and `window` to server + * player + + hard-code "buffer_before_play" to 1 second, independent of + audio format + + "one-shot" single mode + * input + + curl: download to buffer instead of throttling transfer + + qobuz: new plugin to play Qobuz streams + + tidal: new plugin to play Tidal streams + * tags + + new tags "OriginalDate", "MUSICBRAINZ_WORKID" + * decoder + + ffmpeg: require at least version 11.12 + + gme: try loading m3u sidecar files + + hybrid_dsd: new decoder plugin + + mad: move "gapless_mp3_playback" setting to "decoder" block + + mikmod: require at least version 3.2 + + pcm: support audio/L24 (RFC 3190) + + sidplay: support basic and kernal rom (libsidplayfp) + * resampler + + soxr: flush resampler at end of song + * output + + alsa: non-blocking mode + + alsa: change "dop" and "allowed_formats" settings at + runtime + + ao: fix crash bug due to partial frames + + shout: support the Shine encoder plugin + + sndio: remove support for the broken RoarAudio sndio + emulation + + roar: removed + + httpd_output: support for unix sockets + * mixer + + sndio: new mixer plugin + * encoder + + opus: support for sending metadata using ogg stream + chaining + * listen on $XDG_RUNTIME_DIR/mpd/socket by default + * append hostname to Zeroconf service name + * systemd watchdog support + * require GCC 6 + * build with Meson instead of autotools + * use GTest instead of cppunit + version 0.20.23 + * protocol + + emit "player" idle event when restarting the current song + * fix broken float to s32 conversion + * new clang crash bug workaround + +- Dropped mpd-configh.patch (no longer necessary) + +- Added mpd-zlib.patch, mpd-docs.patch and mpd-sndfile.patch + +- Switched build to meson + +------------------------------------------------------------------- +Fri Nov 9 10:25:48 UTC 2018 - olaf@aepfle.de + +- Make iso9660 support optional (gh#173) + +------------------------------------------------------------------- +Tue Oct 23 18:51:03 UTC 2018 - Luigi Baldoni + +- Update to version 0.20.22 + * protocol + + add tag fallbacks for AlbumArtistSort, ArtistSort + + fix empty string filter on fallback tags + + "count group ..." can print an empty group + + fix broken command "list ... group" + * storage + + curl: URL-encode paths + * decoder + + fluidsynth: adapt to API change in version 2.0 + * Android + + now runs as a service + + add button to start/stop MPD + + add option to auto-start on boot + * work around clang bug leading to crash + * install the SVG icon + +- Dropped mpd-fluidsynth.patch (no longer necessary) + +------------------------------------------------------------------- +Wed Oct 17 12:37:51 UTC 2018 - olaf@aepfle.de + +- Update to ver 0.20.21 (2018/08/17) + * database + - proxy: add "password" setting + - proxy: support tags "ArtistSort", "AlbumArtistSort", "AlbumSort" + - simple: allow .mpdignore comments only at start of line + - proxy: fix "search already in progress" errors + - proxy: implement "list ... group" + * decoder + - dsdiff, dsf: support more MIME types + - dsdiff, dsf: allow 4 MB ID3 tags + - opus: support R128_ALBUM_GAIN tag + - ffmpeg: fix av_register_all() deprecation warning (FFmpeg 4.0) + * input + - mms: fix lockup bug and a crash bug + * output + - httpd: remove broken DLNA support code + - pulse: cork stream when paused due to "single" mode + * playlist + - cue: support file type declaration "FLAC" (non-standard) + * player + - fix spurious "Not seekable" error when switching radio streams + * protocol + - fix "modified-since" filter regression + - validate absolute seek time, reject negative values + * URI schemes are case insensitive +- deal with API change in fluidsynth with mpd-fluidsynth.patch +- use autosetup + +------------------------------------------------------------------- +Sun Feb 25 09:45:09 UTC 2018 - mardnh@gmx.de + +- Update to version 0.20.18: + * input + - curl: allow authentication methods other than "Basic" + * decoder + - flac: improve seeking precision + * fix gapless CUE song transitions + +------------------------------------------------------------------- +Sun Feb 11 13:17:41 UTC 2018 - mardnh@gmx.de + +- Update to version 0.20.17: + * output + - alsa: fix crash bug with 8 channels + * mixer + - alsa: fix rounding error at volume 0 + +------------------------------------------------------------------- +Sun Feb 4 09:26:45 UTC 2018 - mardnh@gmx.de + +- Update to version 0.20.16: + * output + - pulse: fix crash during auto-detection + * database + - simple: fix search within mount points + - upnp: enable IPv6 + * archive + - iso9660: libcdio 2.0 compatibility + +- Update to version 0.20.15: + * queue: fix crash after seek failure + * resampler + - soxr: clear internal state after manual song change + * state file + - make mount point restore errors non-fatal + - fix crash when restoring mounts with incompatible database + plugin + +- Run spec-cleaner + +------------------------------------------------------------------- +Wed Jan 31 10:42:14 UTC 2018 - olaf@aepfle.de + +- Adjust usage of gccN for Leap42 and SLE12 + +------------------------------------------------------------------- +Tue Jan 2 09:23:24 UTC 2018 - aloisio@gmx.com + +- Update to version 0.20.14 (2018/01/01) + * database + - simple: fix file corruption in the presence of mount points + * archive + - bz2: fix deadlock + - reduce lock contention, fixing lots of xrun problems + + ver 0.20.13 (2017/12/18) + * mixer + - alsa: fix rounding errors + * database + - simple: don't purge mount points on update/rescan + - simple: fix "mount" bug caused by bad compiler optimization + - simple: fix "lsinfo" into mount points + - upnp: work around libupnp 1.6.24 API breakage + * queue: fix spuriously misplaced prioritized songs + * save and restore mountpoints within the state file + + ver 0.20.12 (2017/11/25) + * database + - upnp: adapt to libupnp 1.8 API changes + * input + - cdio_paranoia, ffmpeg, file, smbclient: reduce lock + contention, fixing lots of xrun problems + - curl: fix seeking + * decoder + - ffmpeg: fix GCC 8 warning + - vorbis: fix Tremor support + * player + - log message when decoder is too slow + * encoder + - vorbis: default to quality 3 + * output + - fix hanging playback with soxr resampler + - httpd: flush encoder after tag; fixes corrupt Vorbis stream + + ver 0.20.11 (2017/10/18) + * storage + - curl: support Content-Type application/xml + * decoder + - ffmpeg: more reliable song duration + - gme: fix track numbering + * improve random song order when switching songs manually + * fix case insensitive search without libicu + * fix endless loop when accessing malformed file names in ZIP files + + ver 0.20.10 (2017/08/24) + * decoder + - ffmpeg: support MusicBrainz ID3v2 tags + * tags + - aiff: fix FORM chunk size endianess (is big-endian) + * fix crash when resuming playback before decoder is ready + +------------------------------------------------------------------- +Sat Aug 19 19:38:23 UTC 2017 - cornelis@solcon.nl + +- Build unconditional with libmpdclient again + +------------------------------------------------------------------- +Sat Aug 19 19:32:14 UTC 2017 - cornelis@solcon.nl + +- [from packman] Disable sidplay, use qmmp or QMPlay2 instead + +------------------------------------------------------------------- +Tue Aug 15 10:11:50 UTC 2017 - cornelis@solcon.nl + +- Make also libmpdclient conditional: it is not present in TW + +------------------------------------------------------------------- +Tue Aug 15 09:52:44 UTC 2017 - cornelis@solcon.nl + +- Update copyright notice and bugzilla link for openSUSE +- Follow guideline on + https://en.opensuse.org/openSUSE:Packaging_guidelines#Users_and_Groups + for the creation of the user "mpd" +- Updated mpd-mdpconf_suse.patch to make pulse default instead of + alsa +- Do not use compiler test but condition it +- Update README.mpd for systemd and pulse and remove German section + +------------------------------------------------------------------- +Thu Jul 27 00:00:00 UTC 2017 - olaf@aepfle.de + +- Update to ver 0.20.9 (2017/06/04) + * decoder + - ffmpeg: support *.adx + * playlist + - m3u: support MIME type `audio/mpegurl` + * database + - simple: fix false positive directory loop detection with NFS + * enforce a reasonable minimum audio_buffer_size setting + * cap buffer_before_play at 80%% to prevent deadlock + +------------------------------------------------------------------- +Wed Mar 15 00:00:00 UTC 2017 - olaf@aepfle.de + +- Update to ver 0.20.6 (2017/03/10) + * input + - curl: fix headers after HTTP redirect to Shoutcast server + * decoder + - ffmpeg: re-enable as fallback + - mpcdec: fix crash (division by zero) after seeking + - sidplay: make compatible with libsidplayfp < 1.8 + * fix stream tags after automatic song change + * workaround for GCC 4.9.4 / libstdc++ bug (build failure) + +------------------------------------------------------------------- +Tue Feb 21 00:00:00 UTC 2017 - olaf@aepfle.de + +- Update to ver 0.20.5 (2017/02/20) + * tags + - id3: fix memory leak on corrupt ID3 tags + * decoder + - sidplay: don't require libsidutils when building with libsidplayfp + * output + - httpd: fix two buffer overflows in IcyMetaData length calculation + * mixer + - alsa: fix crash bug + +------------------------------------------------------------------- +Wed Feb 8 00:00:00 UTC 2017 - olaf@aepfle.de + +- enable shine, sidplay, opus, upnp, nfs, smbclient, soxr +- use built-in systemd files +- drop sysv init + +------------------------------------------------------------------- +Tue Feb 7 00:00:00 UTC 2017 - olaf@aepfle.de + +- Update to ver 0.20.4 (2017/02/01) + * input + - nfs: fix freeze after reconnect + * output + - sndio: work around a libroar C++ incompatibility + * workaround for GCC 4.9 "constexpr" bug + ver 0.20.3 (2017/01/25) + * protocol + - "playlistadd" creates new playlist if it does not exist, as documented + * database + - proxy: fix error "terminate called after throwing ..." + - proxy: make connect errors during startup non-fatal + * neighbor + - upnp: fix premature expiry + * replay gain: don't reset ReplayGain levels when unpausing playback + * silence surround channels when converting from stereo + * use shortcuts such as "dsd64" in log messages + ver 0.20.2 (2017/01/15) + * input + - alsa: fix crash bug + - alsa: fix buffer overruns + * decoder + - flac: add options "probesize" and "analyzeduration" + * resampler + - libsamplerate: reset state after seeking + * output + - fix static noise after changing to a different audio format + - alsa: fix the DSD_U32 sample rate + - alsa: fix the DSD_U32 byte order + - alsa: support DSD_U16 + - recorder: fix error "Failed to create : No such file or directory" + * playlist + - cue: fix skipping songs + ver 0.20.1 (2017/01/09) + * input + - curl: fix crash bug + - curl: fix freeze bug + * decoder + - wavpack: fix crash bug + * storage + - curl: new storage plugin for WebDAV (work in progress) + * mixer + - alsa: normalize displayed volume according to human perception + * fix crash with volume_normalization enabled + ver 0.20 (2017/01/04) + * protocol + - "commands" returns playlist commands only if playlist_directory configured + - "search"/"find" have a "window" parameter + - report song duration with milliseconds precision + - "sticker find" can match sticker values + - drop the "file:///" prefix for absolute file paths + - add range parameter to command "plchanges" and "plchangesposid" + - send verbose error message to client + * input + - curl: fix memory leak + * tags + - ape, ogg: drop support for non-standard tag "album artist" + affected filetypes: vorbis, flac, opus & all files with ape2 tags + (most importantly some mp3s) + - id3: remove the "id3v1_encoding" setting; by definition, all ID3v1 tags + are ISO-Latin-1 + - ape: support APE replay gain on remote files + - read ID3 tags from NFS/SMB + * decoder + - improved error logging + - report I/O errors to clients + - ffmpeg: support ReplayGain and MixRamp + - ffmpeg: support stream tags + - gme: add option "accuracy" + - gme: provide the TRACK tag + - gme: faster scanning + - mad: reduce memory usage while scanning tags + - mpcdec: read the bit rate + - pcm: support audio/L16 (RFC 2586) and audio/x-mpd-float + - sidplay: faster scanning + - wavpack: large file support + - wavpack: support DSD (WavPack 5) + - wavpack: archive support + * playlist + - cue: don't skip pregap + - embcue: fix last track + - flac: new plugin which reads the "CUESHEET" metadata block + * output + - alsa: fix multi-channel order + - alsa: remove option "use_mmap" + - alsa: support DSD_U32 + - alsa: disable DoP if it fails + - jack: reduce CPU usage + - pulse: set channel map to WAVE-EX + - recorder: record tags + - recorder: allow dynamic file names + - sndio: new output plugin + * mixer + - null: new plugin + * resampler + - new block "resampler" in configuration file + replacing the old "samplerate_converter" setting + - soxr: allow multi-threaded resampling + * player + - reset song priority on playback + - reduce xruns + * write database and state file atomically + * always write UTF-8 to the log file. + * remove dependency on GLib + * support libsystemd (instead of the older libsystemd-daemon) + * database + - proxy: add TCP keepalive option + * update + - apply .mpdignore matches to subdirectories + * switch the code base to C++14 + - GCC 4.9 or clang 3.4 (or newer) recommended + ver 0.19.21 (2016/12/13) + * decoder + - ffmpeg: fix crash bug + * fix unit test failure after recent "setprio" change + * systemd: add user unit + ver 0.19.20 (2016/12/09) + * protocol + - "setprio" re-enqueues old song if priority has been raised + * decoder + - ffmpeg: ignore empty packets + - pcm: fix corruption bug with partial frames (after short read) + - sidplay: fix playback speed with libsidplayfp + * output + - winmm: fix 8 bit playback + * fix gcc 7.0 -Wimplicit-fallthrough + * systemd: paranoid security settings + ver 0.19.19 (2016/08/23) + * decoder + - ffmpeg: bug fix for FFmpeg 3.1 support + - wildmidi: support libWildMidi 0.4 + * output + - pulse: support 32 bit, 24 bit and floating point playback + * fix clang 3.9 warnings + ver 0.19.18 (2016/08/05) + * decoder + - ffmpeg: fix crash with older FFmpeg versions (< 3.0) + - ffmpeg: log detailed error message + - ffmpeg: support FFmpeg 3.1 + - sidplay: detect libsidplay2 with pkg-config + - sidplay: log detailed error message + - sidplay: read the "date" tag + - sidplay: allow building with libsidplayfp instead of libsidplay2 + * output + - shout: recognize setting "encoder" instead of "encoding" + * fix memory leak after stream failure + * fix build failure with Boost 1.61 + * require gcc 4.7 or newer + +------------------------------------------------------------------- +Fri Jul 29 00:00:00 UTC 2016 - olaf@aepfle.de + +- Update to ver 0.19.17 (2016/07/09) + * decoder + - flac: fix assertion failure while seeking + - flac: fix stream duration indicator + - fix seek problems in several plugins + * fix spurious seek error "Failed to allocate silence buffer" + * replay gain: fix "replay_gain_handler mixer" setting + * DSD: use 0x69 as silence pattern + * fix use-after-free bug on "close" and "kill" + ver 0.19.16 (2016/06/13) + * faster seeking + * fix system include path order + * add missing DocBook file to tarball + ver 0.19.15 (2016/04/30) + * decoder + - ffmpeg: support FFmpeg 3.0 + - ffmpeg: use as fallback instead of "mad" if no plugin matches + - opus: support bigger OpusTags packets + * fix more build failures on non-glibc builds due to constexpr Mutex + * fix build failure due to missing include + * fix unit test on Alpha + ver 0.19.14 (2016/03/18) + * decoder + - dsdiff: fix off-by-one buffer overflow + - opus: limit tag size to 64 kB + * archive + - iso9660: fix buffer overflow + * fix quadratic runtime bug in the tag pool + * fix build failures on non-glibc builds due to constexpr Mutex + ver 0.19.13 (2016/02/23) + * tags + - aiff, riff: fix ID3 chunk padding + * decoder + - ffmpeg: support the TAK codec + * fix disappearing duration of remote songs during playback + * initialize supplementary groups with glibc 2.19+ + ver 0.19.12 (2015/12/15) + * fix assertion failure on malformed UTF-8 tag + * fix build failure on non-Linux systems + * fix LimitRTTIME in systemd unit file + ver 0.19.11 (2015/10/27) + * tags + - ape: fix buffer overflow + * decoder + - ffmpeg: fix crash due to wrong avio_alloc_context() call + - gme: don't loop forever, fall back to GME's default play length + * encoder + - flac: fix crash with 32 bit playback + * mixer + - fix mixer lag after enabling/disabling output + +------------------------------------------------------------------- +Tue Sep 22 00:00:00 UTC 2015 - olaf@aepfle.de + +- Use pkgconfig for ffmpeg BuildRequires + +------------------------------------------------------------------- +Thu Aug 27 00:00:00 UTC 2015 - Mathias.Homann@opensuse.org + +- Update to ver 0.19.10 (2015/06/21) + * input + - curl: fix deadlock on small responses + - smbclient: fix DFF playback + * decoder + - ffmpeg: improve seeking accuracy + - fix stuck stream tags + * encoder + - opus: fix bogus granulepos + * output + - fix failure to open device right after booting + * neighbor + - nfs: fix deadlock when connecting + * fix "single" mode breakage due to queue edits + +------------------------------------------------------------------- +Wed Mar 4 00:00:00 UTC 2015 - joerg.lorenzen@ki.tng.de + +-Update to version 0.19.9: + + Decoder: + * dsdiff, dsf: raise ID3 tag limit to 1 MB. + + Playlist: + * Fix loading duplicate tag types from state file. + + Despotify: + * Remove defunct plugin. + + Fix clock integer overflow on OS X. + + Fix gcc 5.0 warnings. + + Fix build failure with uClibc. + + Fix build failure on non-POSIX operating systems. + + Fix dependency issue on parallel Android build. + + Fix database/state file saving on Windows. +- Changes from version 0.19.8: + + Input: + * curl: Fix bug after rewinding from end-of-file. + * mms: Reduce delay at the beginning of playback. + + Decoder: + * dsdiff, dsf: Allow ID3 tags larger than 4 kB. + * ffmpeg: Support interleaved floating point. + + Fix clang 3.6 warnings. + + Fix build failure on NetBSD. +- Changes from version 0.19.7: + + Input: + * nfs: Fix crash while canceling a failing file open operation. + * nfs: Fix memory leak on connection failure. + * nfs: Fix reconnect after mount failure. + * nfs: Implement mount timeout (60 seconds). + + Storage: + * nfs: Implement I/O timeout (60 seconds). + + Playlist: + * embcue: Fix filename suffix detection. + * Don't skip non-existent songs in "listplaylist". + + Decoder: + * ffmpeg: Fix time stamp underflow. + + Fix memory allocator bug on Windows. +- Changes from version 0.19.6: + + Decoder: + * ffmpeg: Support FFmpeg 2.5. + + Fix build failure with musl. + + Android: + * Update libFLAC to 1.3.1. + * Update FFmpeg to 2.5. +- Changes from version 0.19.5: + + Input: + * nfs: Fix crash on connection failure. + + Archive: + * zzip: Fix crash after seeking. + + Decoder: + * dsdiff, dsf, opus: Fix deadlock while seeking. + * mp4v2: Remove because of incompatible license. + +------------------------------------------------------------------- +Wed Nov 26 00:00:00 UTC 2014 - malcolmlewis@opensuse.org + +- Update spec file to add lame support. + +------------------------------------------------------------------- +Sat Nov 22 00:00:00 UTC 2014 - malcolmlewis@opensuse.org + +-Update to version 0.19.4: + + Protocol: + * Workaround for buggy clients that send "add /". + + Decoder: + * Ffmpeg: support opus. + * Opus: add MIME types audio/ogg and application/ogg. + * Fix crash on failed filename charset conversion. + * Fix local socket detection from uid=0 (root). +- Changes from version 0.19.3: + + Protocol: + * Fix "(null)" result string to "list" when AlbumArtist is + disabled. + + Database: + * Upnp: fix breakage due to malformed URIs. + + Input: + * Curl: another fix for redirected streams. + + Decoder + * Audiofile: fix crash while playing streams. + * Audiofile: fix bit rate calculation. + * Ffmpeg: support opus. + * Opus: fix bogus duration on streams. + * Opus: support chained streams. + * Opus: improved error logging. + + Fix distorted audio with soxr resampler. +- Changes from version 0.19.2: + + Input: + * Curl: fix redirected streams. + + Playlist: + * Don't allow empty playlist name. + * M3u: don't ignore unterminated last line. + * M3u: recognize the file suffix ".m3u8". + + Decoder: + * Ignore URI query string for plugin detection. + * Faad: remove workaround for ancient libfaad2 ABI bug. + * Ffmpeg: recognize MIME type audio/aacp. + * Mad: fix negative replay gain values. + + Output: + * Fix memory leak after filter initialization error. + * Fall back to PCM if given DSD sample rate is not supported. + + Fix assertion failure on unsupported PCM conversion. + + Auto-disable plugins that require GLib when --disable-glib is + used. +- Changes from version 0.19.1: + + Input: + * Mms: fix deadlock bug. + + Playlist: + * Extm3u: fix Extended M3U detection. + * M3u, extm3u, cue: fix truncated lines. + + Add missing file systemd/mpd.socket to tarball. +- Changes from version 0.19: + + Protocol: + * new commands "addtagid", "cleartagid", "listfiles", + "listmounts", "listneighbors", "mount", "rangeid", "unmount". + * "lsinfo" and "readcomments" allowed for remote files. + * "listneighbors" lists file servers on the local network. + * "playlistadd" supports file:///. + * "idle" with unrecognized event name fails. + * "list" on album artist falls back to the artist tag. + * "list" and "count" allow grouping. + * New "search"/"find" filter "modified-since". + * "seek*" allows fractional position. + * Close connection after syntax error. + + Database: + * Proxy: forward "idle" events. + * Proxy: forward the "update" command. + * Proxy: copy "Last-Modified" from remote directories. + * Simple: compress the database file using gzip. + * Upnp: new plugin. + * Cancel the update on shutdown. + + Storage: + * music_directory can point to a remote file server. + * Nfs: new plugin. + * Smbclient: new plugin. + + Playlist: + * Cue: fix bogus duration of the last track. + * Cue: restore CUE tracks from state file. + * Soundcloud: use https instead of http. + * Soundcloud: add default API key. + + Archive: + * Read tags from songs in an archive. + + Input: + * Alsa: new input plugin. + * Curl: options "verify_peer" and "verify_host". + * Ffmpeg: update offset after seeking. + * Ffmpeg: improved error messages. + * Mms: non-blocking I/O. + * Nfs: new input plugin. + * Smbclient: new input plugin. + + Filter + * Volume: improved software volume dithering. + + Decoder: + * Vorbis, flac, opus: honor DESCRIPTION= tag in Xiph-based + files as a comment to the song. + * Audiofile: support scanning remote files. + * Audiofile: log libaudiofile errors. + * Dsdiff, dsf: report bit rate. + * Dsdiff, dsf: implement seeking. + * Dsf: support DSD512. + * Dsf: support multi-channel files. + * Dsf: fix big-endian bugs. + * Dsf: fix noise at end of malformed file. + * Mpg123: support ID3v2, ReplayGain and MixRamp. + * Sndfile: support scanning remote files. + * Sndfile: support tags "comment", "album", "track", "genre". + * Sndfile: native floating point playback. + * Sndfile: optimized 16 bit playback. + * Mp4v2: support playback of MP4 files. + + Encoder: + * Shine: new encoder plugin. + + Output: + * Alsa: support native DSD playback. + * Alsa: rename "DSD over USB" to "DoP". + + Threads: + * The update thread runs at "idle" priority. + * The output thread runs at "real-time" priority. + * Increase kernel timer slack on Linux. + * Name each thread (for debugging). + + Configuration: + * Allow playlist directory without music directory. + * Use XDG to auto-detect "music_directory" and "db_file". + + Add tags "AlbumSort", "MUSICBRAINZ_RELEASETRACKID". + + Disable global Latin-1 fallback for tag values. + + New resampler option using libsoxr. + + ARM NEON optimizations. + + Install systemd unit for socket activation. +- Rebase mpd-sndfile-vorbis.patch and mpd-mpdconf_suse.patch. +- Drop mpd-wavpack.patch and mpd-0.17.4-ffmpeg2.patch as now code + has been re-written. +- Drop configure options for soup, lastfm and mvp and respective + build requirements. +- Enable boost and libmpdclient option at configure time and add + respective build requirements. +- Add libicu-devel to build requirements. +- Disable libwrap configure option as build fails. +- Disable other unused plugins and encoders. +- Clean up spec file for systemd. + +------------------------------------------------------------------- +Fri Nov 8 00:00:00 UTC 2013 - obs@botter.cc + +- add Type=forking to mpd.service. + +------------------------------------------------------------------- +Fri Sep 20 00:00:00 UTC 2013 - obs@botter.cc + +- Update to 0.17.5: + * protocol: + - fix "playlistadd" with URI + - fix "move" relative to current when there is no current song + * decoder: + - ffmpeg: support "application/flv" + - mikmod: adapt to libmikmod 3.2 + * configure.ac: + - detect system "ar" +- use gentoo's patch for compiling with ffmpeg 2.x +- add own service file (PM-79) + +------------------------------------------------------------------- +Tue Jun 18 00:00:00 UTC 2013 - fisiu@opensuse.org + +- Update to 0.17.4: + * protocol: + - allow to omit END in ranges (START:END) + - don't emit IDLE_PLAYER before audio format is known + * decoder: + - ffmpeg: support float planar audio (ffmpeg 1.1) + - ffmpeg: fix AVFrame allocation + * player: + - implement missing "idle" events on output errors + * clock: fix build failure + +------------------------------------------------------------------- +Thu Mar 28 00:00:00 UTC 2013 - fisiu@opensuse.org + +- Update to 0.17.3: + * output: + - osx: fix pops during playback + - recorder: fix I/O error check + - shout: fix memory leak in error handler + - recorder, shout: support Ogg packets that span more than one page + * decoder: + - ffmpeg: ignore negative time stamps + - ffmpeg: support planar audio + * playlist: + - cue: fix memory leak + - cue: fix CUE files with only one track +- Drop mpd-systemd_require_network_first.patch: fixed upstream. + +------------------------------------------------------------------- +Thu Feb 14 00:00:00 UTC 2013 - zaitor@opensuse.org + +- Add explicit pkgconfig(bzip2) BuildRequires for 12.3 and newer. + +------------------------------------------------------------------- +Fri Oct 19 00:00:00 UTC 2012 - pascal.bleser@opensuse.org + +- fix systemd unit script to require network to be started prior to + mpd, thanks to Jean Delvare for the patch +- update to 0.17.2: + * protocol: + - fix crash in local file check + * decoder: + - fluidsynth: remove throttle (requires libfluidsynth 1.1) + - fluidsynth: stop playback at end of file + - fluidsynth: check MIDI file format while scanning + - fluidsynth: add sample rate setting + - wavpack: support all APEv2 tags + * output: + - httpd: use monotonic clock, avoid hiccups after system clock adjustment + - httpd: fix throttling bug after resuming playback + * playlist: + - cue: map "PERFORMER" to "artist" or "album artist" + * mapper: fix non-UTF8 music directory name + * mapper: fix potential crash in file permission check + * playlist: fix use-after-free bug + * playlist: fix memory leak + * state_file: save song priorities + * player: disable cross-fading in "single" mode + * update: fix unsafe readlink() usage +- changes from 0.17.1: + * protocol: + - require appropriate permissions for searchadd{,pl} + * tags: + - aiff: support the AIFC format + - ape: check for ID3 if no usable APE tag was found + * playlist: + - cue: support file types "MP3", "AIFF" + * output: + - fix noisy playback with conversion and software volume + +------------------------------------------------------------------- +Tue Jul 17 00:00:00 UTC 2012 - pascal.bleser@opensuse.org + +- update to 0.17: + * protocol: + - support client-to-client communication + - "update" and "rescan" need only "CONTROL" permission + - new command "seekcur" for simpler seeking within current song + - new command "config" dumps location of music directory + - add range parameter to command "load" + - print extra "playlist" object for embedded CUE sheets + - new commands "searchadd", "searchaddpl" + * input: + - cdio_paranoia: new input plugin to play audio CDs + - curl: enable CURLOPT_NETRC + - curl: non-blocking I/O + - soup: new input plugin based on libsoup + * tags: + - RVA2: support separate album/track replay gain + * decoder: + - mpg123: implement seeking + - ffmpeg: drop support for pre-0.5 ffmpeg + - ffmpeg: support WebM + - oggflac: delete this obsolete plugin + - dsdiff: new decoder plugin + * output: + - alsa: support DSD-over-USB (dCS suggested standard) + - httpd: support for streaming to a DLNA client + - openal: improve buffer cancellation + - shout: add possibility to set url + - roar: new output plugin for RoarAudio + * mixer: + - alsa: listen for external volume changes + * playlist: + - allow references to songs outside the music directory + - new CUE parser, without libcue + - soundcloud: new plugin for accessing soundcloud.com + * state_file: add option "restore_paused" + * cue: show CUE track numbers + * allow port specification in "bind_to_address" settings + * support floating point samples + * systemd socket activation + * improve --version output + +------------------------------------------------------------------- +Sun May 6 00:00:00 UTC 2012 - fisiu@opensuse.org + +- Update to 0.16:8: + * fix for libsamplerate assertion failure + * decoder: + - vorbis (and others): fix seeking at startup + - ffmpeg: read the "year" tag + * encoder: + - vorbis: generate end-of-stream packet before tag + - vorbis: generate end-of-stream packet when playback ends + * output: + - jack: check for connection failure before starting playback + - jack: workaround for libjack1 crash bug + - osx: fix stuttering due to buffering bug + * fix endless loop in text file reader + * update: skip symlinks in path that is to be updated +- spec-cleaner'ed spec file + +------------------------------------------------------------------- +Mon Feb 6 00:00:00 UTC 2012 - pascal.bleser@opensuse.org + +- update to 0.16.7: + * input: + - ffmpeg: support libavformat 0.7 + * decoder: + - ffmpeg: support libavformat 0.8, libavcodec 0.9 + - ffmpeg: support all MPD tags + * output: + - httpd: fix excessive buffering + - openal: force 16 bit playback, as 8 bit doesn't work + * fix moving after current song +- add mpd-user.conf to doc files, copy to ~/.mpd/mpd.conf for user centric + setup +- add tcpd and mkisofs support + +------------------------------------------------------------------- +Thu Dec 22 00:00:00 UTC 2011 - detlef@links2linux.de + +- new upstream version <0.16.6> + +------------------------------------------------------------------- +Sun Oct 23 00:00:00 UTC 2011 - detlef@links2linux.de + +- new upstream version <0.16.5> + +------------------------------------------------------------------- +Fri Oct 7 00:00:00 UTC 2011 - detlef@links2linux.de + +- new upstream version <0.16.4> + +------------------------------------------------------------------- +Fri Aug 5 00:00:00 UTC 2011 - detlef@links2linux.de + +- new upstream version <0.16.3> + +------------------------------------------------------------------- +Thu Mar 24 00:00:00 UTC 2011 - detlef@links2linux.de + +- new upstream version <0.16.2> + +------------------------------------------------------------------- +Fri Jan 14 00:00:00 UTC 2011 - detlef@links2linux.de + +- new upstream version <0.16.1> + +------------------------------------------------------------------- +Sun Dec 12 00:00:00 UTC 2010 - detlef@links2linux.de + +- new upstream version <0.16> + +------------------------------------------------------------------- +Sat Nov 13 00:00:00 UTC 2010 - detlef@links2linux.de + +- new upstream version <0.15.15> + +------------------------------------------------------------------- +Wed Oct 13 00:00:00 UTC 2010 - detlef@links2linux.de + +- new upstream version <0.15.13> + * output_thread: fix race condition after CANCEL command + * output: + - httpd: fix random data in stream title + - httpd: MIME type audio/ogg for Ogg Vorbis + * input: + - rewind: update MIME not only once + - rewind: enable for MMS + +------------------------------------------------------------------- +Wed Jul 21 00:00:00 UTC 2010 - detlef@links2linux.de + +- new upstream version <0.15.12> + * input: + - curl: remove assertion after curl_multi_fdset() + * tags: + - rva2: set "gain", not "peak" + * decoders: + - wildmidi: support version 0.2.3 + +------------------------------------------------------------------- +Fri Jul 16 00:00:00 UTC 2010 - detlef@links2linux.de + +- new upstream version <0.15.11> + * tags: + - ape: support album artist + * decoders: + - mp4ff: support tags "album artist", "albumartist", "band" + - mikmod: fix memory leak + - vorbis: handle uri==NULL + - ffmpeg: fix memory leak + - ffmpeg: free AVFormatContext on error + - ffmpeg: read more metadata + - ffmpeg: fix libavformat 0.6 by using av_open_input_stream() + * playlist: emit IDLE_OPTIONS when resetting single mode + * listen: make get_remote_uid() work on BSD + +------------------------------------------------------------------- +Mon May 31 00:00:00 UTC 2010 - detlef@links2linux.de + +- new upstream version <0.15.10> + * input: + - mms: fix memory leak in error handler + - mms: initialize the "eof" attribute + * decoders: + - mad: properly calculate ID3 size without libid3tag + +------------------------------------------------------------------- +Tue Mar 23 00:00:00 UTC 2010 - detlef@links2linux.de + +- new upstream version <0.15.9> + * decoders: + - mad: fix crash when seeking at end of song + - mpcdec: fix negative shift on fixed-point samples + - mpcdec: fix replay gain formula with v8 + * playlist: fix single+repeat in random mode + * player: postpone song tags during cross-fade + +------------------------------------------------------------------- +Wed Jan 27 00:00:00 UTC 2010 - detlef@links2linux.de + +- new upstream version <0.15.8> + * input: + - curl: allow rewinding with Icy-Metadata + * decoders: + - ffmpeg, flac, vorbis: added more flac/vorbis MIME types + - ffmpeg: enabled libavformat's file name extension detection + * dbUtils: return empty tag value only if no value was found + * decoder_thread: fix CUE track playback + * queue: don't repeat current song in consume mode + +------------------------------------------------------------------- +Tue Jan 12 00:00:00 UTC 2010 - detlef@links2linux.de + +- fix init script + +------------------------------------------------------------------- +Tue Dec 29 00:00:00 UTC 2009 - detlef@links2linux.de + +- new upstream version <0.15.7> + * archive: + - close archive when stream is closed + - iso, zip: fixed memory leak in destructor + * input: + - file: don't fall back to parent directory + - archive: fixed memory leak in error handler + * tags: + - id3: fix ID3v1 charset conversion + * decoders: + - eliminate jitter after seek failure + - ffmpeg: don't try to force stereo + - wavpack: allow fine-grained seeking + * mixer: explicitly close all mixers on shutdown + * mapper: fix memory leak when playlist_directory is not set + * mapper: apply filesystem_charset to playlists + * command: verify playlist name in the "rm" command + * database: return multiple tag values per song + +------------------------------------------------------------------- +Fri Nov 20 00:00:00 UTC 2009 - detlef@links2linux.de + +- new upstream version <0.15.6> + * input: + - lastfm: fixed variable name in GLib<2.16 code path + - input/mms: require libmms 0.4 + * archive: + - zzip: require libzzip 0.13 + * tags: + - id3: allow 4 MB RIFF/AIFF tags + * decoders: + - ffmpeg: convert metadata + - ffmpeg: align the output buffer + - oggflac: rewind stream after FLAC detection + - flac: fixed CUE seeking range check + - flac: fixed NULL pointer dereference in CUE code + * output_thread: check again if output is open on PAUSE + * update: delete ignored symlinks from database + * database: increased maximum line length to 32 kB + +------------------------------------------------------------------- +Wed Oct 21 00:00:00 UTC 2009 - detlef@links2linux.de + +- new upstream version <0.15.5> + * input: + - curl: don't abort if a packet has only metadata + - curl: fixed endless loop during buffering + * tags: + - riff, aiff: fixed "limited range" gcc warning + * decoders: + - flac: fixed two memory leaks in the CUE tag loader + * decoder_thread: change the fallback decoder name to "mad" + * output_thread: check again if output is open on CANCEL + * update: fixed memory leak during container scan + +------------------------------------------------------------------- +Tue Sep 1 00:00:00 UTC 2009 - detlef@links2linux.de + +- new upstream version <0.15.3> + * Document nextsong and nextsongid + * update: don't re-read unchanged container files + * output_init: initialize the "pause" flag + * decoder/vorbis: faster tag scanning with ov_test_callback() + +------------------------------------------------------------------- +Tue Aug 18 00:00:00 UTC 2009 - detlef@links2linux.de + +- new upstream version <0.15.2> + * tags: + - ape: check the tag size (fixes integer underflow) + - ape: added protection against large memory allocations + * decoders: + - mad: skip ID3 frames when libid3tag is disabled + - flac: parse all replaygain tags + - flac: don't allocate cuesheet twice (memleak) + * output: + - shout: fixed stuck pause bug + - shout: minimize the unpause latency + * update: free empty path string (memleak) + * update: free temporary string in container scan (memleak) + * directory: free empty directories after removing them (memleak) + +------------------------------------------------------------------- +Sat Jul 18 00:00:00 UTC 2009 - detlef@links2linux.de + +- new upstream version <0.15.1> + +------------------------------------------------------------------- +Sat Feb 14 00:00:00 UTC 2009 - detlef@links2linux.de + +- new upstream version <0.14.2> + * Modify version string to post-release version 0.14.2~git + * mpd version 0.14.2 + * ffmeg: added support for the tags comment, genre, year + * mikmod: call MikMod_Exit() only in the finish() method + * jack: register ports before activating clients + * jack: allocate ring buffers before connecting + * jack: clear "shutdown" flag on reconnect + * jack: reduced sleep time to 1ms + * mapper: remove trailing slashes from music_directory + * mapper: ignore duplicate slashes in playlists + * wavpack: pass NULL if the .wvc file fails to open + * player_thread: set player error when output device fails + * shout_mp3: free the lame_data struct on exit + * shout_mp3: call lame_close() in clear_encoder() method + * ffmpeg: print codec name + * ffmpeg: don't warn of empty packet output + * ffmpeg: check if the time stamp is valid + * ffmpeg: fixed seek integer overflow + * shout: removed shout_data.shout_error + * shout: removed shout_data.tag_to_send + * shout: switch to blocking mode + * shout: use libshout's synchronization + * shout: don't postpone metadata + * shout: clear buffer before calling the encoder + * configure.ac: define HAVE_FFMPEG after all checks + * ffmpeg: added TTA support + * aac: fix stream metadata + * update: recursively purge deleted directories + * update: free deleted subdirectories + * ffmpeg: enable WAV streaming + +------------------------------------------------------------------- +Mon Jan 19 00:00:00 UTC 2009 - detlef@links2linux.de + +- new upstream version <0.14.1> + * decoders: + - mp4: support the writer/composer tag + - id3: strip leading and trailing whitespace from ID3 tags + - oggvorbis: fix tremor support + - oggvorbis: disable seeking on remote files + * audio outputs: + - jack: allocate default port names (fixes a crash) + * update: + - refresh stats after update + - save the database even if it is empty + * input_curl: + - use select() to eliminate busy loop during connect + - honour http_proxy_* config directives + - fix assertion failure on "connection refused" + - fix assertion failure with empty HTTP responses + * corrected the sample calculation in the fallback resampler + * log: automatically append newline + * fix setenv() conflict on Solaris + * configure.ac: check for pkg-config before using it + * fix minor memory leak in decoder_tag() + * fix cross-fading bug: it used to play some chunks of the new song twice + * playlist + - fix assertion failure during playlist load + - implement Fisher-Yates shuffle properly + - safely search the playlist for deleted song + * use custom PRNG for volume dithering (speedup) + * detect libid3tag without pkg-config + +------------------------------------------------------------------- +Sat Dec 27 00:00:00 UTC 2008 - detlef@links2linux.de + +- new upstream version <0.14> + +------------------------------------------------------------------- +Fri Jun 20 00:00:00 UTC 2008 - detlef@links2linux.de + +- new upstream version <0.13.2> + +------------------------------------------------------------------- +Wed Jan 30 00:00:00 UTC 2008 - detlef@links2linux.de + +- new upstream version <0.13.1> + +------------------------------------------------------------------- +Fri Jul 13 00:00:00 UTC 2007 - detlef@links2linux.de + +- add BuildRequires: libmikmod +- add BuildRequires: libmikmod-devel for > 1020 + +------------------------------------------------------------------- +Tue May 29 00:00:00 UTC 2007 - detlef@links2linux.de + +- new upstream version <0.13.0> + +------------------------------------------------------------------- +Mon Mar 26 00:00:00 UTC 2007 - detlef@links2linux.de + +- new upstream version + +------------------------------------------------------------------- +Mon Nov 13 00:00:00 UTC 2006 - detlef@links2linux.de + +- no resmgr for 10.2, use group audio + +------------------------------------------------------------------- +Fri Oct 13 00:00:00 UTC 2006 - detlef@links2linux.de + +- new upstream version + +------------------------------------------------------------------- +Thu Sep 28 00:00:00 UTC 2006 - detlef@links2linux.de + +- new upstream version + +------------------------------------------------------------------- +Mon Sep 25 00:00:00 UTC 2006 - detlef@links2linux.de + +- new upstream version + +------------------------------------------------------------------- +Sat Sep 2 00:00:00 UTC 2006 - detlef@links2linux.de + +- new upstream version + +------------------------------------------------------------------- +Sun Aug 20 00:00:00 UTC 2006 - detlef@links2linux.de + +- new upstream version + +------------------------------------------------------------------- +Fri Aug 11 00:00:00 UTC 2006 - detlef@links2linux.de + +- new upstream version + +------------------------------------------------------------------- +Fri Jul 28 00:00:00 UTC 2006 - detlef@links2linux.de + +- new SVN-Snapshot + +------------------------------------------------------------------- +Mon Dec 5 00:00:00 UTC 2005 - malakhanov@gmx.de + +- finally force mpd to work with resmgr + +------------------------------------------------------------------- +Mon Jul 11 00:00:00 UTC 2005 - malakhanov@gmx.de + +- modified for x64 build + +------------------------------------------------------------------- +Mon Mar 22 00:00:00 UTC 2004 - malakhanov@gmx.de + +- modified for SUSE/Packman. Init script courtesy of Davide Lucchesi , 2003 + +------------------------------------------------------------------- +Wed Mar 10 00:00:00 UTC 2004 - gbpeck@sbcglobal.net + +- Rebuild for official release + +------------------------------------------------------------------- +Mon Mar 8 00:00:00 UTC 2004 - gbpeck@sbcglobal.net + +- Version 0.10.1 + +------------------------------------------------------------------- +Wed Mar 3 00:00:00 UTC 2004 - gbpeck@sbcglobal.net + +- Version 0.10.0 +- Add audiofile-devel builddep (for wav support) +- Add AUTHORS to docs + +------------------------------------------------------------------- +Fri Feb 6 00:00:00 UTC 2004 - gbpeck@sbcglobal.net + +- Rebuild with mach + +------------------------------------------------------------------- +Wed Jan 21 00:00:00 UTC 2004 - gbpeck@sbcglobal.net + +- Version 0.9.4 + +------------------------------------------------------------------- +Thu Oct 30 00:00:00 UTC 2003 - gbpeck@sbcglobal.net + +- Version 0.9.3 + +------------------------------------------------------------------- +Tue Oct 7 00:00:00 UTC 2003 - gbpeck@sbcglobal.net + +- Version 0.9.2 + +------------------------------------------------------------------- +Tue Sep 30 00:00:00 UTC 2003 - gbpeck@sbcglobal.net + +- Version 0.9.1 +- Add BuildRequires on alsa-lib-devel +- Add versioned Requires on libao and libao-devel (from the debian + control file) + +------------------------------------------------------------------- +Thu Sep 4 00:00:00 UTC 2003 - gbpeck@sbcglobal.net + +- Version 0.8.7 + +------------------------------------------------------------------- +Mon Aug 18 00:00:00 UTC 2003 - gbpeck@sbcglobal.net + +- Version 0.8.5 + +------------------------------------------------------------------- +Thu Aug 14 00:00:00 UTC 2003 - gbpeck@sbcglobal.net + +- Initial build diff --git a/mpd.firewalld b/mpd.firewalld new file mode 100644 index 0000000..3fdbaa5 --- /dev/null +++ b/mpd.firewalld @@ -0,0 +1,7 @@ + + + Music Player Daemon + Opens ports for Music Player Daemon + + + diff --git a/mpd.keyring b/mpd.keyring new file mode 100644 index 0000000..d8129a3 --- /dev/null +++ b/mpd.keyring @@ -0,0 +1,88 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=VXaj +-----END PGP PUBLIC KEY BLOCK----- diff --git a/mpd.spec b/mpd.spec new file mode 100644 index 0000000..485c368 --- /dev/null +++ b/mpd.spec @@ -0,0 +1,273 @@ +# +# spec file for package mpd +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define mver 0.23 +%bcond_with faad +%bcond_without mpd_iso9660 +Name: mpd +Version: 0.23.15 +Release: 0 +Summary: Music Player Daemon +License: GPL-2.0-or-later +URL: https://musicpd.org +Source0: https://musicpd.org/download/%{name}/%{mver}/%{name}-%{version}.tar.xz +Source1: https://musicpd.org/download/%{name}/%{mver}/%{name}-%{version}.tar.xz.sig +Source2: README.%{name} +Source3: %{name}-user.conf +Source4: %{name}.firewalld +Source5: %{name}.tmpfiles.d +Source9: %{name}.keyring +Patch0: %{name}-conf.patch +Patch1: %{name}-sndfile.patch +Patch2: %{name}-fmt11.patch +Patch3: %{name}-icu76.patch +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: group(audio) +BuildRequires: hicolor-icon-theme +BuildRequires: libboost_headers-devel +BuildRequires: libcue-devel +# MPD_ENABLE_AUTO_LIB +BuildRequires: libgcrypt-devel +BuildRequires: libmikmod-devel +BuildRequires: libmp3lame-devel +BuildRequires: meson >= 0.56.0 +BuildRequires: pkgconfig +BuildRequires: python3-Sphinx +# MPD_ENABLE_AUTO_PKG +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(ao) +BuildRequires: pkgconfig(audiofile) +BuildRequires: pkgconfig(avahi-client) +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(flac) +BuildRequires: pkgconfig(fluidsynth) +BuildRequires: pkgconfig(fmt) +BuildRequires: pkgconfig(icu-i18n) +BuildRequires: pkgconfig(id3tag) +BuildRequires: pkgconfig(jack) +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavformat) +BuildRequires: pkgconfig(libavutil) +BuildRequires: pkgconfig(libcdio) >= 2.0.0 +BuildRequires: pkgconfig(libcdio_paranoia) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libgme) +BuildRequires: pkgconfig(libmms) +BuildRequires: pkgconfig(libmodplug) +BuildRequires: pkgconfig(libmpdclient) +BuildRequires: pkgconfig(libmpg123) +BuildRequires: pkgconfig(libnfs) +BuildRequires: pkgconfig(libopenmpt) +BuildRequires: pkgconfig(libpcre2-8) +BuildRequires: pkgconfig(libpipewire-0.3) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(libupnp) +BuildRequires: pkgconfig(liburing) +BuildRequires: pkgconfig(mad) +BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(openal) +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(samplerate) +BuildRequires: pkgconfig(shine) +BuildRequires: pkgconfig(shout) +BuildRequires: pkgconfig(smbclient) +BuildRequires: pkgconfig(sndfile) +BuildRequires: pkgconfig(soxr) +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(twolame) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(vorbisenc) +BuildRequires: pkgconfig(wavpack) +BuildRequires: pkgconfig(yajl) +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(zziplib) +Requires(pre): %fillup_prereq +Requires(pre): group(audio) +Requires(pre): shadow +Provides: user(%{name}) +%{?systemd_requires} +%if %{with faad} +BuildRequires: faad2-devel +%endif +%if %{with mpd_iso9660} +BuildRequires: pkgconfig(libiso9660) +%endif + +%description +A daemon for playing music (mp3, ogg vorbis, flac, and wav). Music is +played through the server's audio device. The daemon stores info +about all available music, and this info can be easily searched and +retrieved. Player control, info retrieval, and playlist management +can all be managed remotely. There a bunch of clients to control mpd: +for Gnome, KDE, console and Apache (PHP). + +Please read README.mpd how to configure it. + +%package doc +Summary: Additional Package Documentation +BuildArch: noarch + +%description doc +This package contains optional documentation provided in addition to this package's base documentation. + +%prep +%autosetup -p1 + +%build +%meson \ + -Dsidplay=disabled \ + -Dfaad=disabled \ + -Diso9660=disabled \ + -Dsyslog=enabled \ + -Deventfd=true \ + -Dsignalfd=true \ + -Depoll=true \ + -Ddatabase=true \ + -Ddaemon=true \ + -Ddocumentation=enabled \ + -Dmanpages=true \ + -Ddsd=true \ + -Dfifo=true \ + -Dhttpd=true \ + -Dinotify=true \ + -Dipv6=enabled \ + -Dsoundcloud=disabled \ + -Dmikmod=enabled \ + -Dopenal=enabled \ + -Doss=disabled \ + -Dpipe=true \ + -Drecorder=true \ + -Dshout=enabled \ + -Dsolaris_output=enabled \ + -Dtcp=true \ + -Dtest=false \ + -Dlocal_socket=true \ + -Dvorbis=enabled \ + -Dwave_encoder=true \ + -Dicu=enabled \ + -Diconv=enabled \ + -Dsystemd=enabled \ + -Dlibmpdclient=enabled \ + -Dexpat=enabled \ + -Did3tag=enabled \ + -Dchromaprint=disabled \ + -Dsqlite=enabled \ + -Dlibsamplerate=enabled \ + -Dsoxr=enabled \ + -Dcurl=enabled \ + -Dsmbclient=enabled \ + -Dnfs=enabled \ + -Dcdio_paranoia=enabled \ + -Dmms=enabled \ + -Dwebdav=enabled \ + -Dcue=true \ + -Dneighbor=true \ +%if %{with mpd_iso9660} + -Diso9660=enabled \ +%endif + -Dzlib=enabled \ + -Dbzip2=enabled \ + -Dupnp=pupnp \ + -Dzzip=enabled \ + -Dadplug=disabled \ + -Daudiofile=enabled \ +%if %{with faad} + -Dfaad=enabled \ +%endif + -Dffmpeg=enabled \ + -Dflac=enabled \ + -Dfluidsynth=enabled \ + -Dgme=enabled \ + -Dmad=enabled \ + -Dmpg123=enabled \ + -Dmodplug=enabled \ + -Dopus=enabled \ + -Dsndfile=enabled \ + -Dmpcdec=disabled \ + -Dwavpack=enabled \ + -Dwildmidi=disabled \ + -Dshine=enabled \ + -Dvorbisenc=enabled \ + -Dlame=enabled \ + -Dtwolame=enabled \ + -Dalsa=enabled \ + -Dsndio=disabled \ + -Djack=enabled \ + -Dao=enabled \ + -Dpulse=enabled \ + -Dtremor=disabled \ + -Dpcre=enabled \ + -Dsystemd_system_unit_dir=%{_unitdir} \ + -Dsystemd_user_unit_dir=%{_userunitdir} +%meson_build + +%install +%meson_install +mv %{buildroot}%{_datadir}/doc/%{name}/html . +rm -r %{buildroot}%{_datadir}/doc/%{name} +install -pm0644 %{SOURCE2} %{SOURCE3} . +install -Dpm0644 %{SOURCE4} %{buildroot}%{_prefix}/lib/firewalld/services/%{name}.xml +install -Dpm0644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -Dpm0644 doc/mpdconf.example %{buildroot}%{_sysconfdir}/%{name}.conf +# Remove duplicate for mpd.socket and replace it with a symlink. +rm %{buildroot}%{_userunitdir}/%{name}.socket +ln -s ../system/%{name}.socket %{buildroot}%{_userunitdir}/%{name}.socket +mkdir %{buildroot}%{_sbindir} +mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}/playlists + +%pre +getent passwd %{name} >/dev/null || useradd -rc 'Music Player Daemon' -s /bin/false -d %{_localstatedir}/lib/%{name} -g audio %{name} +%service_add_pre %{name}.service %{name}.socket + +%post +%service_add_post %{name}.service %{name}.socket +%tmpfiles_create %{_tmpfilesdir}/%{name}.conf + +%preun +%service_del_preun %{name}.service %{name}.socket + +%postun +%service_del_postun %{name}.service %{name}.socket + +%files +%license COPYING +%doc AUTHORS NEWS README.md README.%{name} %{name}-user.conf doc/mpdconf.example +%config(noreplace) %{_sysconfdir}/%{name}.conf +%{_bindir}/%{name} +%attr(0755,mpd,audio) %{_localstatedir}/lib/%{name} +%{_mandir}/man1/%{name}.1%{?ext_man} +%{_mandir}/man5/%{name}.conf.5%{?ext_man} +%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg +%{_unitdir}/%{name}.service +%{_unitdir}/%{name}.socket +%{_userunitdir}/%{name}.socket +%{_userunitdir}/%{name}.service +%dir %{_prefix}/lib/firewalld +%dir %{_prefix}/lib/firewalld/services +%{_prefix}/lib/firewalld/services/%{name}.xml +%{_tmpfilesdir}/%{name}.conf +%ghost %dir %attr(0755,%{name},audio) /run/%{name} + +%files doc +%doc html/*.{html,js} html/_static + +%changelog diff --git a/mpd.tmpfiles.d b/mpd.tmpfiles.d new file mode 100644 index 0000000..3ea0a00 --- /dev/null +++ b/mpd.tmpfiles.d @@ -0,0 +1 @@ +d /run/mpd 0755 mpd audio -