guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

16/19: system: Filter out boot dependencies from swap-space.


From: guix-commits
Subject: 16/19: system: Filter out boot dependencies from swap-space.
Date: Tue, 23 Nov 2021 04:26:36 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 4af3262d9857405aff0a4a855403247f0f485e15
Author: Josselin Poiret <dev@jpoiret.xyz>
AuthorDate: Mon Nov 15 20:26:30 2021 +0000

    system: Filter out boot dependencies from swap-space.
    
    * gnu/systems.scm (swap-services): Filter them.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/system.scm | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/gnu/system.scm b/gnu/system.scm
index 2e5a5ff..9de0f79 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -601,7 +601,25 @@ See \"(guix) operating-system Reference\" for more 
details.~%")))
 
 (define (swap-services os)
   "Return the list of swap services for OS."
-  (map swap-service (operating-system-swap-devices os)))
+  (define early-userspace-file-systems
+    (filter file-system-needed-for-boot?
+            (operating-system-file-systems os)))
+
+  (define early-userspace-mapped-devices
+    (operating-system-boot-mapped-devices os))
+
+  (define (filter-deps swap)
+    (if (swap-space? swap)
+        (swap-space
+         (inherit swap)
+         (dependencies (remove (lambda (dep)
+                                 (or (member dep 
early-userspace-mapped-devices)
+                                     (member dep 
early-userspace-file-systems)))
+                               (swap-space-dependencies swap))))
+        swap))
+
+  (map (compose swap-service filter-deps)
+       (operating-system-swap-devices os)))
 
 (define* (system-linux-image-file-name #:optional
                                        (target (or (%current-target-system)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]