~ruther/guix-local

8f8ec56052766aa5105d672b77ad9eaca5c1ab3c — Hilton Chain 2 years ago 7fd0975
linux-initrd: Avoid looking up builtin modules.

* gnu/system/linux-initrd.scm (flat-linux-module-directory)
[build-exp]<builtin-modules,modules-to-lookup>: New variables.
<modules>: Use ‘modules-to-lookup’ to avoid looking up builtin modules.

Change-Id: I60fdae0211bb6632508b1c63582e013e78186cd1
1 files changed, 13 insertions(+), 1 deletions(-)

M gnu/system/linux-initrd.scm
M gnu/system/linux-initrd.scm => gnu/system/linux-initrd.scm +13 -1
@@ 132,15 132,27 @@ MODULES and taken from LINUX."
        #~(begin
            (use-modules (gnu build linux-modules)
                         (guix build utils)
                         (rnrs io ports)
                         (srfi srfi-1)
                         (srfi srfi-26))

            (define module-dir
              (string-append #$linux "/lib/modules"))

            (define builtin-modules
              (call-with-input-file
                  (first (find-files module-dir "modules.builtin$"))
                (lambda (port)
                  (map file-name->module-name
                       (string-tokenize
                        (get-string-all port))))))

            (define modules-to-lookup
              (lset-difference string=? '#$modules builtin-modules))

            (define modules
              (let* ((lookup  (cut find-module-file module-dir <>))
                     (modules (map lookup '#$modules)))
                     (modules (map lookup modules-to-lookup)))
                (append modules
                        (recursive-module-dependencies
                         modules