aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-08-12 12:08:55 +0200
committerLudovic Courtès <ludo@gnu.org>2021-08-12 12:34:13 +0200
commit2826f488e4d492424294012b15f6914ade0ddd36 (patch)
tree7168fd734cb4034bb6e8c24c68bf5b7133199710
parente0bd47b4fd5eb009f34004242e16b976e58756b0 (diff)
downloadguix-2826f488e4d492424294012b15f6914ade0ddd36.tar
guix-2826f488e4d492424294012b15f6914ade0ddd36.tar.gz
system: Accept gexps in 'setuid-programs'.
Commit a7ac19851baab3fbcc40c4b2cf5b00a6ac9cd2f3 led configs such as the following one, which were previously valid, to be rejected: (operating-system ;; ... (setuid-programs (cons #~(string-append #$wireshark "/bin/dumpcap") %setuid-programs))) They are now accepted again. Reported by wonko on #guix. * gnu/system.scm (%ensure-setuid-program-list): Handle the case where PROGRAM is not a file-like.
-rw-r--r--gnu/system.scm10
1 files changed, 6 insertions, 4 deletions
diff --git a/gnu/system.scm b/gnu/system.scm
index 4b57f1a8bb..98aeda0306 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -1082,11 +1082,13 @@ deprecated; use 'setuid-program' instead~%"))
(set! warned? #t)))
(map (match-lambda
- ((? file-like? program)
- (warn-once)
- (setuid-program (program program)))
((? setuid-program? program)
- program))
+ program)
+ (program
+ ;; PROGRAM is a file-like or a gexp like #~(string-append #$foo
+ ;; "/bin/bar").
+ (warn-once)
+ (setuid-program (program program))))
lst))
(define %setuid-programs