GNU bug report logs -
#63082
mpd defaul configuration does not work ('No database' error)
Previous Next
Full log
Message #74 received at 63082 <at> debbugs.gnu.org (full text, mbox):
On 2023-04-28 15:27, Maxim Cournoyer wrote:
> Rationale: the tristate value was awkward to deal with, the default log file
> name was odd (/var/log/mpd/log) and it required special attention to create
> the 'mpd' parent directory as root and chowning it to the MPD user. It also
> didn't match the default behavior of MPD, which is to log to systemd or syslog
> unless a log file is specified.
>
> * gnu/services/audio.scm (mpd-log-file-sanitizer): New procedure.
> (mpd-configuration) [log-file]: Remove default maybe value. Add sanitizer.
> (mpd-shepherd-service): Validate the log file parent directory exists and has
> the right permissions.
> * doc/guix.texi (Audio Services): Update doc.
How about a similar approach taken in mympd for handling the logging parameter?
In any case, I'd like to remind you that mpd-service-type also has a rottlog service extension
so that also needs to be taken into account.
> (log-level
> maybe-string
> @@ -563,17 +573,18 @@ (define (mpd-shepherd-service config)
> (requirement `(user-processes loopback ,@shepherd-requirement))
> (provision '(mpd))
> (start #~(begin
> - (and=> #$(maybe-value log-file)
> - (compose mkdir-p dirname))
> -
> (let ((user (getpw #$username)))
> (for-each
> (lambda (x)
> - (when (and x (not (file-exists? x)))
> + ;; Take action on absolute file names, to filter out
> + ;; the 'syslog' special value.
> + (when (and x (string-prefix? "/" x)
> + (not (file-exists? x)))
> (mkdir-p x)
> (chown x (passwd:uid user) (passwd:gid user))))
I'd use mkdir-p/perms from (gnu build activation) instead.
This bug report was last modified 1 year and 359 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.