diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-06-18 14:35:46 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-06-18 14:48:17 +0200 |
commit | 05f79da93fb4fd5216feb41510bf0a41f8eedf5b (patch) | |
tree | 797ace2236a4847b4e41e5f4ca01b5813eb1aecd | |
parent | fea072d7275958a67fe24ab7bd9b661b2f3f8972 (diff) | |
download | guix-05f79da93fb4fd5216feb41510bf0a41f8eedf5b.tar.gz |
profiles: 'linux-module-database' hooks gracefully handles module-less kernels.
Fixes <https://bugs.gnu.org/41924>. * guix/profiles.scm (linux-module-database)[build]: Arrange so 'directory-entries' always returns a list. Add 'match' clause for the empty list. Co-authored-by: Ivan Kozlov <kanichos@yandex.ru>
-rw-r--r-- | guix/profiles.scm | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index f7af01b9b2..f34f73e17e 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1221,9 +1221,10 @@ This is meant to be used as a profile hook." inputs)) (directory-entries (lambda (directory) - (scandir directory - (lambda (basename) - (not (string-prefix? "." basename)))))) + (or (scandir directory + (lambda (basename) + (not (string-prefix? "." basename)))) + '()))) ;; Note: Should usually result in one entry. (versions (delete-duplicates (append-map directory-entries @@ -1234,6 +1235,10 @@ This is meant to be used as a profile hook." (setenv "PATH" #+(file-append kmod "/bin")) (make-linux-module-directory inputs version #$output) (setenv "PATH" old-path))) + (() + ;; Nothing here, maybe because this is a kernel with + ;; CONFIG_MODULES=n. + (mkdir #$output)) (_ (error "Specified Linux kernel and Linux kernel modules are not all of the same version"))))))) (gexp->derivation "linux-module-database" build |