Re: [Buildroot] [PATCH v2 01/11] package/mpd: install provided sample configuration file as mpd.conf

Andreas Ziegler <[email protected]>
Newsgroups net.busybox.buildroot
Message-ID <[email protected]>
Hi Thomas, Everyone

Thank you for the review.

On 2026-08-15 17:08, Thomas Petazzoni wrote:
> Hello Andreas,
> 
> On Thu, Jul 09, 2026 at 01:08:05PM +0200, Andreas Ziegler wrote:
>> The configuration file supplied by Buildroot is only a sample; it will 
>> not
>> start MPD on a default installation. Usually a custom mpd.conf is 
>> supplied
>> in a rootfs overlay.
>> 
>> Drop the Buildroot configuration file and install the sample supplied 
>> by
>> MPD instead, it is more complete, contains useful examples and is 
>> updated
>> regularly.
>> 
>> Signed-off-by: Andreas Ziegler <[email protected]>
> 
> I am not conviced by this change. Indeed, doc/mpdconf.example in the
> mpd code base is basically almost entirely commented out. The options
> that are set by our package/mpd/mpd.conf are not set by
> doc/mpdconf.example (like log_file, music_directory, etc.).

Reason for switching was just because the Buildroot configuration does 
not start mpd, due to a missing output section [1]. Rather than fix it I 
would like to switch to a more complete example.

It is not more than an example, since a working mpd instance needs a 
custom configuration file supplied via overlay or post-build script, 
there are too many use cases and possible hard- and software layouts. 
The default script would normally never be used, unless someone just 
started to add and configure mpd. A highly complete and commented 
example would definitely help. It is also kept up-to-date automatically.

> So I am not sure to understand why doc/mpdconf.example is better, as
> it actually doesn't configure anything. The only not commented lines
> are:
> 
> input {
>         plugin "curl"
> }
> 
> which is clearly a lot less than:
> 
> music_directory		"/var/lib/mpd/music"
> playlist_directory	"/var/lib/mpd/playlists"
> db_file			"/var/lib/mpd/database"
> log_file		"/var/log/mpd.log"
> pid_file		"/var/run/mpd.pid"
> state_file		"/var/lib/mpd/state"
> bind_to_address		"any"
> bind_to_address		"/var/lib/mpd/socket"
> 
> in our mpd.conf.

The commented-out configuration items are not unusual, many default 
configurations contain all available parameters with their default 
values, all of them commented. Unless someone changes anything, the 
default is used. (one example: /etc/ssh/sshd_config). The single 
uncommented entry for libsamplerate is probably a typo.

The Buildroot mpd.conf is from 2013; at that time it represented the 
only valid topology for mpd: both database and output on one machine. 
Since version 0.20, mpd can be configured as server (database, no 
output), client (remote access to database, output) or standalone. You 
might also use mpd as a streaming only solution, with input exclusively 
from the internet. So which is the correct configuration to use for 
Buildroot?

There is one issue that still prevents the mpd supplied sample 
configuration to run mpd properly: not setting a value for pid_file 
prevents the file to be used (OK for a systemd install, not OK for 
sysV), which results in mpd refusing to terminate gracefully.

Mitigation: inject pid_file and log_file via POST_BUILD_HOOK for builds 
without systemd.

Thoughts?

> So overall I don't understand why it is an "improvement". Could you
> clarify?
> 
> Thanks a lot!
> 
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com

Kind regards,
Andreas

[1] Actually this changed in the latest version, mpd now auto-detects 
alsa devices, if present.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.