Browse Source

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>
gn-latest-20200725
Ludovic Courtès 1 year ago
parent
commit
05f79da93f
No known key found for this signature in database GPG Key ID: 90B11993D9AEBB5
1 changed files with 8 additions and 3 deletions
  1. +8
    -3
      guix/profiles.scm

+ 8
- 3
guix/profiles.scm View File

@ -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


Loading…
Cancel
Save