diff options
author | Ludovic Courtès <ludo@gnu.org> | 2024-04-16 19:18:43 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-04-17 12:13:01 +0200 |
commit | 9f1ef201142e0b3369d55cd486e2d7d7da3a4ed7 (patch) | |
tree | 28a6e0c547730e5b4ce76e6daa6b2ac068753b52 /gnu/system | |
parent | d33965908dc8e21e9c9834ce1061cdcc664295ab (diff) | |
download | guix-9f1ef201142e0b3369d55cd486e2d7d7da3a4ed7.tar.gz guix-9f1ef201142e0b3369d55cd486e2d7d7da3a4ed7.zip |
linux-initrd: Gracefully handle lack of “modules.builtin” file.
Fixes a regression introduced in
8f8ec56052766aa5105d672b77ad9eaca5c1ab3c, whereby passing a “fake”
kernel package would no longer work.
Fixes <https://issues.guix.gnu.org/70239>.
* gnu/system/linux-initrd.scm (flat-linux-module-directory)[build-exp]:
Gracefully handle lack of “modules.builtin” file.
Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I3acf48123b20f0b6a3b9cc0bf22f76cec3e64361
Diffstat (limited to 'gnu/system')
-rw-r--r-- | gnu/system/linux-initrd.scm | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 561cfe2fd0..40ff2dc808 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -134,18 +134,23 @@ MODULES and taken from LINUX." (guix build utils) (rnrs io ports) (srfi srfi-1) - (srfi srfi-26)) + (srfi srfi-26) + (ice-9 match)) (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)))))) + (match (find-files module-dir (lambda (file stat) + (string=? (basename file) + "modules.builtin"))) + ((file . _) + (call-with-input-file file + (lambda (port) + (map file-name->module-name + (string-tokenize (get-string-all port)))))) + (_ + '()))) (define modules-to-lookup (lset-difference string=? '#$modules builtin-modules)) |