aboutsummaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/images/wsl2.scm2
-rw-r--r--gnu/system/privilege.scm10
-rw-r--r--gnu/system/setuid.scm8
-rw-r--r--gnu/system/uuid.scm8
4 files changed, 16 insertions, 12 deletions
diff --git a/gnu/system/images/wsl2.scm b/gnu/system/images/wsl2.scm
index d9aaa1a271..b772d7b635 100644
--- a/gnu/system/images/wsl2.scm
+++ b/gnu/system/images/wsl2.scm
@@ -86,7 +86,7 @@ USER."
(setenv "WSLPATH" (getenv "PATH"))
;; /run is mounted with the nosuid flag by WSL. This prevents
- ;; running the /run/setuid-programs. Remount it without this flag
+ ;; /run/privileged/bin from working. Remount it without this flag
;; as a workaround. See:
;; https://github.com/microsoft/WSL/issues/8716.
(mount #f "/run" #f
diff --git a/gnu/system/privilege.scm b/gnu/system/privilege.scm
index d89d5d5d1c..fe6e60ad7c 100644
--- a/gnu/system/privilege.scm
+++ b/gnu/system/privilege.scm
@@ -26,7 +26,9 @@
privileged-program-setgid?
privileged-program-user
privileged-program-group
- privileged-program-capabilities))
+ privileged-program-capabilities
+
+ file-like->setuid-program))
;;; Commentary:
;;;
@@ -56,3 +58,9 @@
;; POSIX capabilities in cap_from_text(3) form (defaults to #f: none).
(capabilities privileged-program-capabilities ;string or #f
(default #f)))
+
+(define (file-like->setuid-program program)
+ "Simple wrapper to facilitate MAPping over a list of file-like objects and
+make them setuid, a pattern just common enough to justify a special helper."
+ (privileged-program (program program)
+ (setuid? #t)))
diff --git a/gnu/system/setuid.scm b/gnu/system/setuid.scm
index 4dd0cc8962..097797ce8d 100644
--- a/gnu/system/setuid.scm
+++ b/gnu/system/setuid.scm
@@ -21,15 +21,14 @@
#:use-module (gnu system privilege)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
+ #:re-export (file-like->setuid-program)
#:export (setuid-program
setuid-program?
setuid-program-program
setuid-program-setuid?
setuid-program-setgid?
setuid-program-user
- setuid-program-group
-
- file-like->setuid-program))
+ setuid-program-group))
;;; Commentary:
;;;
@@ -56,6 +55,3 @@
(define setuid-program-setgid? privileged-program-setgid?)
(define setuid-program-user privileged-program-user)
(define setuid-program-group privileged-program-group)
-
-(define (file-like->setuid-program program)
- (setuid-program (program program)))
diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm
index 8f967387ad..e6add06aba 100644
--- a/gnu/system/uuid.scm
+++ b/gnu/system/uuid.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
-;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019–2020, 2024 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -169,7 +169,7 @@ ISO9660 UUID representation."
;;;
-;;; FAT32/FAT16.
+;;; exFAT/FAT32/FAT16.
;;;
(define-syntax %fat-endianness
@@ -258,7 +258,7 @@ ISO9660 UUID representation."
(vhashq
('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'f2fs 'jfs 'xfs 'luks
=> string->dce-uuid)
- ('fat32 'fat16 'fat => string->fat-uuid)
+ ('exfat 'fat32 'fat16 'fat => string->fat-uuid)
('ntfs => string->ntfs-uuid)
('iso9660 => string->iso9660-uuid)))
@@ -267,7 +267,7 @@ ISO9660 UUID representation."
('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'f2fs 'jfs 'xfs 'luks
=> dce-uuid->string)
('iso9660 => iso9660-uuid->string)
- ('fat32 'fat16 'fat => fat-uuid->string)
+ ('exfat 'fat32 'fat16 'fat => fat-uuid->string)
('ntfs => ntfs-uuid->string)))
(define* (string->uuid str #:optional (type 'dce))