From 217b862f0e8dfac18874f9c6ec8cafdb2471b4fb Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 31 Jan 2014 12:01:23 +0100 Subject: gnu: linux-initrd: Match kernel module file names exactly. * gnu/system/linux-initrd.scm (expression->initrd)[string->regexp]: New procedure. Use it in the call to 'find-files'. --- gnu/system/linux-initrd.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index ea9d708dac..408fb9f211 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -27,6 +27,7 @@ #:use-module (gnu packages guile) #:use-module ((gnu packages make-bootstrap) #:select (%guile-static-stripped)) + #:use-module (ice-9 regex) #:export (expression->initrd qemu-initrd gnu-system-initrd)) @@ -58,6 +59,10 @@ list of Guile module names to be embedded in the initrd." ;; General Linux overview in `Documentation/early-userspace/README' and ;; `Documentation/filesystems/ramfs-rootfs-initramfs.txt'. + (define (string->regexp str) + ;; Return a regexp that matches STR exactly. + (string-append "^" (regexp-quote str) "$")) + (define builder `(begin (use-modules (guix build utils) @@ -119,7 +124,8 @@ list of Guile module names to be embedded in the initrd." (string-append linux "/lib/modules")))) (mkdir "modules") ,@(map (lambda (module) - `(match (find-files module-dir ,module) + `(match (find-files module-dir + ,(string->regexp module)) ((file) (format #t "copying '~a'...~%" file) (copy-file file (string-append "modules/" -- cgit v1.2.3