guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

06/06: linux-initrd: Module check correctly handles hyphen vs. underscor


From: Ludovic Courtès
Subject: 06/06: linux-initrd: Module check correctly handles hyphen vs. underscore.
Date: Thu, 14 Jun 2018 17:36:19 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 411959bef30b488928ab2418a064c8a9b0347c41
Author: Ludovic Courtès <address@hidden>
Date:   Thu Jun 14 23:30:59 2018 +0200

    linux-initrd: Module check correctly handles hyphen vs. underscore.
    
    Fixes <https://bugs.gnu.org/31714>.
    Reported by Vagrant Cascadian <address@hidden>
    and Florian Pelz <address@hidden>.
    
    * gnu/system/mapped-devices.scm (check-device-initrd-modules): Pass
    LINUX-MODULES through 'normalize-module-name'.
    * gnu/build/linux-modules.scm (normalize-module-name): Export.
---
 gnu/build/linux-modules.scm   |  1 +
 gnu/system/mapped-devices.scm | 16 +++++++++++-----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm
index 87d2e98..2ee2f17 100644
--- a/gnu/build/linux-modules.scm
+++ b/gnu/build/linux-modules.scm
@@ -32,6 +32,7 @@
             ensure-dot-ko
             module-aliases
             module-dependencies
+            normalize-module-name
             recursive-module-dependencies
             modules-loaded
             module-loaded?
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm
index a2cca0a..c452bdd 100644
--- a/gnu/system/mapped-devices.scm
+++ b/gnu/system/mapped-devices.scm
@@ -32,7 +32,8 @@
   #:use-module (gnu system uuid)
   #:autoload   (gnu build file-systems) (find-partition-by-luks-uuid)
   #:autoload   (gnu build linux-modules)
-                 (device-module-aliases matching-modules known-module-aliases)
+                 (device-module-aliases matching-modules known-module-aliases
+                  normalize-module-name)
   #:autoload   (gnu packages cryptsetup) (cryptsetup-static)
   #:autoload   (gnu packages linux) (mdadm-static)
   #:use-module (srfi srfi-1)
@@ -127,10 +128,15 @@ DEVICE must be a \"/dev\" file name."
       (const #f)))
 
   (when aliases
-    (let ((modules (delete-duplicates
-                    (append-map (cut matching-modules <> aliases)
-                                (device-module-aliases device)))))
-      (unless (every (cute member <> linux-modules) modules)
+    (let ((modules  (delete-duplicates
+                     (append-map (cut matching-modules <> aliases)
+                                 (device-module-aliases device))))
+
+          ;; Module names (not file names) are supposed to use underscores
+          ;; instead of hyphens.  MODULES is a list of module names, whereas
+          ;; LINUX-MODULES is file names without '.ko', so normalize them.
+          (provided (map normalize-module-name linux-modules)))
+      (unless (every (cut member <> provided) modules)
         (raise (condition
                 (&message
                  (message (format #f (G_ "you may need these modules \



reply via email to

[Prev in Thread] Current Thread [Next in Thread]