GNU bug report logs - #63082
mpd defaul configuration does not work ('No database' error)

Previous Next

Package: guix;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Wed, 26 Apr 2023 02:59:02 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #74 received at 63082 <at> debbugs.gnu.org (full text, mbox):

From: Bruno Victal <mirai <at> makinata.eu>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 63082 <at> debbugs.gnu.org
Subject: Re: bug#63082: [PATCH 07/17] services: mpd: Log to syslog by default.
Date: Fri, 28 Apr 2023 23:02:21 +0100
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.