~ruther/guix-local

4af3262d9857405aff0a4a855403247f0f485e15 — Josselin Poiret 4 years ago 0831dfa
system: Filter out boot dependencies from swap-space.

* gnu/systems.scm (swap-services): Filter them.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 19 insertions(+), 1 deletions(-)

M gnu/system.scm
M gnu/system.scm => gnu/system.scm +19 -1
@@ 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)