[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/16: vm: Preserve file permissions on /dev.
From: |
guix-commits |
Subject: |
02/16: vm: Preserve file permissions on /dev. |
Date: |
Sat, 11 Apr 2020 15:09:10 -0400 (EDT) |
civodul pushed a commit to branch core-updates
in repository guix.
commit 6a488a3504b345b193e24dfdba2a2ac6b1db1234
Author: Ludovic Courtès <address@hidden>
AuthorDate: Mon Apr 6 15:16:09 2020 +0200
vm: Preserve file permissions on /dev.
Previously, when REGISTER-CLOSURES? was false, we'd set all the files
under /dev to #o644, including /dev/null, /dev/zero, etc.
* gnu/build/vm.scm (root-partition-initializer): Call 'reset-timestamps'
separately for /dev, with #:preserve-permissions? #t.
---
gnu/build/vm.scm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 63140f1..84bb259 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -33,6 +33,7 @@
#:use-module (guix records)
#:use-module ((guix combinators) #:select (fold2))
#:use-module (ice-9 format)
+ #:use-module (ice-9 ftw)
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (ice-9 popen)
@@ -419,7 +420,16 @@ system that is passed to 'populate-root-file-system'."
;; 'register-closure' resets timestamps and everything, so no need to do it
;; once more in that case.
(unless register-closures?
- (reset-timestamps target))))
+ ;; 'reset-timestamps' also resets file permissions; do that everywhere
+ ;; except on /dev so that /dev/null remains writable, etc.
+ (for-each (lambda (directory)
+ (reset-timestamps (string-append target "/" directory)))
+ (scandir target
+ (match-lambda
+ ((or "." ".." "dev") #f)
+ (_ #t))))
+ (reset-timestamps (string-append target "/dev")
+ #:preserve-permissions? #t))))
(define (register-bootcfg-root target bootcfg)
"On file system TARGET, register BOOTCFG as a GC root."
- branch core-updates updated (916ec91 -> 5084fd3), guix-commits, 2020/04/11
- 01/16: database: 'reset-timestamps' can optionally preserve permissions., guix-commits, 2020/04/11
- 02/16: vm: Preserve file permissions on /dev.,
guix-commits <=
- 04/16: linux-boot: Add 'make-hurd-device-nodes'., guix-commits, 2020/04/11
- 03/16: linux-boot: 'make-essential-device-nodes' root parameter is optional., guix-commits, 2020/04/11
- 05/16: vm: Make the device node procedure a parameter., guix-commits, 2020/04/11
- 09/16: system: hurd: Add /etc/{passwd,shadow}., guix-commits, 2020/04/11
- 08/16: system: hurd: Add ttys symlink in "/etc/ttys"., guix-commits, 2020/04/11
- 10/16: system: hurd: Add "/bin/sh" symlink., guix-commits, 2020/04/11
- 11/16: system: hurd: Create /etc/{hostname,motd,login} and /root., guix-commits, 2020/04/11
- 14/16: system: hurd: Create a proper profile., guix-commits, 2020/04/11
- 07/16: system: hurd: Add "/etc/fstab"., guix-commits, 2020/04/11
- 13/16: gnu: hurd: "/libexec/rc" spawns the console client., guix-commits, 2020/04/11