~ruther/guix-local

217b862f0e8dfac18874f9c6ec8cafdb2471b4fb — Ludovic Courtès 12 years ago fc4bc4b
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'.
1 files changed, 7 insertions(+), 1 deletions(-)

M gnu/system/linux-initrd.scm
M gnu/system/linux-initrd.scm => gnu/system/linux-initrd.scm +7 -1
@@ 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/"