From 4db7a9dc663c5b26e45ec35538bf68ff87acdf7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 29 Aug 2018 23:29:03 +0200 Subject: [PATCH] linux-modules: Raise an error when a kernel module cannot be found. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously we'd get an unhelpful backtrace like this: In gnu/build/linux-modules.scm: 184:47 4 (recursive-module-dependencies _ #:lookup-module _) 98:14 3 (module-dependencies _) 85:18 2 (modinfo-section-contents _) In ice-9/ports.scm: 439:11 1 (call-with-input-file #f # ?) In unknown file: 0 (open-file #f "r" #:encoding #f #:guess-encoding #f) ERROR: In procedure open-file: Wrong type (expecting string): #f builder for `/gnu/store/…-linux-modules.drv' failed with exit code 1 * gnu/build/linux-modules.scm (find-module-file): When MODULE cannot be found, raise an error instead of returning #f. This is more useful to the user. --- gnu/build/linux-modules.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index ae141b6f54..2d81175041 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -136,7 +136,7 @@ (define (file-name->module-name file) (define (find-module-file directory module) "Lookup module NAME under DIRECTORY, and return its absolute file name. NAME can be a file name with or without '.ko', or it can be a module name. -Return #f if it could not be found. +Raise an error if it could not be found. Module names can differ from file names in interesting ways; for instance, module names usually (always?) use underscores as the inter-word separator, @@ -162,7 +162,7 @@ (define names ((file) file) (() - #f) + (error "kernel module not found" module directory)) ((_ ...) (error "several modules by that name" module directory))))