[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
24/62: vm: Preserve file permissions on /dev.
From: |
guix-commits |
Subject: |
24/62: vm: Preserve file permissions on /dev. |
Date: |
Sat, 11 Apr 2020 11:35:49 -0400 (EDT) |
janneke pushed a commit to branch wip-hurd-vm
in repository guix.
commit 563a9a38ed452b13b0433360231b3879b6cac4a4
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."
- 32/62: system: hurd: Add guix., (continued)
- 32/62: system: hurd: Add guix., guix-commits, 2020/04/11
- 38/62: system: hurd: Add openssh, shepherd., guix-commits, 2020/04/11
- 36/62: gnu: hurd: Install a BDF font., guix-commits, 2020/04/11
- 46/62: system: hurd: Add guile-candy., guix-commits, 2020/04/11
- 47/62: system: hurd: Ensure propagated inputs are also cross-built., guix-commits, 2020/04/11
- 51/62: gnu: guix: Cross-build fixup for wrap-program., guix-commits, 2020/04/11
- 52/62: gnu: guix: Add dependency on `hurd' when building for the Hurd., guix-commits, 2020/04/11
- 50/62: gnu: Fix typo., guix-commits, 2020/04/11
- 58/62: HACK build.sh, 2GiB disk., guix-commits, 2020/04/11
- 59/62: Revert "compile: Run the load phase within 'with-target'.", guix-commits, 2020/04/11
- 24/62: vm: Preserve file permissions on /dev.,
guix-commits <=
- 29/62: linux-boot: Add 'make-hurd-device-nodes'., guix-commits, 2020/04/11
- 31/62: gnu: guix: Fix cross-compilation., guix-commits, 2020/04/11
- 37/62: gnu: openssh: Build fix for the Hurd., guix-commits, 2020/04/11
- 33/62: gnu: libdaemon: Allow cross-compilation., guix-commits, 2020/04/11
- 43/62: gnu: hurd: "/libexec/rc" spawns the console client., guix-commits, 2020/04/11
- 44/62: system: hurd: Create a proper profile., guix-commits, 2020/04/11
- 45/62: system: hurd: Add net-base and inetutils., guix-commits, 2020/04/11
- 61/62: REMOVEME gnu: guix: Bugfix for cross compiling to the Hurd., guix-commits, 2020/04/11
- 57/62: DRAFT daemon: Create wrapper for mount (2)., guix-commits, 2020/04/11
- 60/62: Revert "records: Have ABI check work well for cross-compilation.", guix-commits, 2020/04/11