[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#63082: [PATCH v2 11/16] services: mpd: Warn when the MPD user is not
From: |
Maxim Cournoyer |
Subject: |
bug#63082: [PATCH v2 11/16] services: mpd: Warn when the MPD user is not in the "audio" group. |
Date: |
Sat, 29 Apr 2023 13:21:48 -0400 |
Relates to <https://issues.guix.gnu.org>.
* gnu/services/audio.scm (%mpd-user) [group]: Add comment.
(mpd-user-sanitizer): Warn if the MPD user is not in the audio group.
---
gnu/services/audio.scm | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm
index f470ca20e0..7040a63ecd 100644
--- a/gnu/services/audio.scm
+++ b/gnu/services/audio.scm
@@ -31,6 +31,7 @@ (define-module (gnu services audio)
#:use-module (gnu services configuration)
#:use-module (gnu services shepherd)
#:use-module (gnu services admin)
+ #:use-module (gnu system accounts)
#:use-module (gnu system shadow)
#:use-module (gnu packages admin)
#:use-module (gnu packages mpd)
@@ -173,6 +174,8 @@ (define-maybe boolean (prefix mpd-))
(define %mpd-user
(user-account
(name "mpd")
+ ;; Being in the audio group ensures that PulseAudio can access sound
+ ;; devices.
(group "audio")
(system? #t)
(comment "Music Player Daemon (MPD) user")
@@ -209,10 +212,17 @@ (define (mpd-serialize-port field-name value)
(define-maybe port (prefix mpd-))
-;;; Procedures for unsupported value types, to be removed.
-
+;;; Sanitizer procedures.
(define (mpd-user-sanitizer value)
- (cond ((user-account? value) value)
+ (cond ((user-account? value)
+ (match-record value <user-account>
+ (group supplementary-groups)
+ (unless (or (string=? "audio" group)
+ (member "audio" supplementary-groups))
+ ;; Being in the "audio" group is necessary for access to the
+ ;; sound devices.
+ (warning (G_ "mpd user not member of \"audio\" group~%"))))
+ value)
((string? value)
(warning (G_ "string value for 'user' is deprecated, use \
user-account instead~%"))
--
2.39.2
- bug#63082: [PATCH 07/17] services: mpd: Log to syslog by default., (continued)
bug#63082: [PATCH 17/17] services: Avoid 'delete' overrides warning in audio module., Maxim Cournoyer, 2023/04/28
bug#63082: [PATCH v2 00/16] Improve out-of-the-box experience with mpd-service-type, Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 03/16] services: mpd: Rename %set-user-group to set-user-group., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 01/16] services: mpd: Add an 'update' action to trigger a database update., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 06/16] services: mpd; Refactor start slot directory initialization., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 02/16] services: mpd: Streamline mpd-user-sanitizer and mympd-user-sanitizer., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 04/16] services: mpd: Obsolete the 'group' field., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 05/16] services: mpd: List log-level in decreasing verbosity order in doc., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 11/16] services: mpd: Warn when the MPD user is not in the "audio" group.,
Maxim Cournoyer <=
- bug#63082: [PATCH v2 08/16] services: mpd: Do not rotate logs when using syslog., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 07/16] services: mpd: Log to syslog by default., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 12/16] services: mpd: Auto-detect mpd-output mixer type by default., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 09/16] services: mpd: Let Shepherd effect the user/group change., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 10/16] system: accounts: Export <user-account>., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 13/16] services: mpd: Obsolete 'environment-variables' field., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 15/16] services: mpd: Update basic example., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 14/16] services: mpd: Provision a default cache directory and set HOME., Maxim Cournoyer, 2023/04/29
- bug#63082: [PATCH v2 16/16] services: Avoid 'delete' overrides warning in audio module., Maxim Cournoyer, 2023/04/29