From 2455c4ded9ff7b44acfb3497963590792657dc2b Mon Sep 17 00:00:00 2001 From: Yarl Baudig Date: Sun, 23 Jun 2024 16:15:58 +0200 Subject: [PATCH] services: mpd: Fix log to file. (match value (%unset-value ...)) is equivalent here to (match value (_ ...)). Even if you set 'log-file to some path, it's always "syslog" in the configuration file. * gnu/services/audio.scm (mpd): Fix buggy 'match'. Signed-off-by: Maxim Cournoyer Change-Id: If397919c2844d856c69fe00b8907b7b3fd86e564 --- gnu/services/audio.scm | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm index ae991ced4d..5d2cd56a17 100644 --- a/gnu/services/audio.scm +++ b/gnu/services/audio.scm @@ -251,16 +251,14 @@ user-group instead~%")) (configuration-field-error #f 'group value)))) (define (mpd-log-file-sanitizer value) - (match value - (%unset-value - ;; XXX: While leaving the 'sys_log' option out of the mpd.conf file is - ;; supposed to cause logging to happen via systemd (elogind provides a - ;; compatible interface), this doesn't work (nothing gets logged); use - ;; syslog instead. - "syslog") - ((? string?) - value) - (_ (configuration-field-error #f 'log-file value)))) + ;; XXX: While leaving the 'sys_log' option out of the mpd.conf file is + ;; supposed to cause logging to happen via systemd (elogind provides a + ;; compatible interface), this doesn't work (nothing gets logged); use + ;; syslog instead. + (let ((value (maybe-value value "syslog"))) + (if (string? value) + value + (configuration-field-error #f 'log-file value)))) ;;;