linux-modules: Add "modules.alias" writer.
* gnu/build/linux-modules.scm (write-module-alias-database): New procedure. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
268896444b
commit
4f8b9d1a6f
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||||
|
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -48,7 +49,9 @@
|
||||||
device-module-aliases
|
device-module-aliases
|
||||||
known-module-aliases
|
known-module-aliases
|
||||||
matching-modules
|
matching-modules
|
||||||
missing-modules))
|
missing-modules
|
||||||
|
|
||||||
|
write-module-alias-database))
|
||||||
|
|
||||||
;;; Commentary:
|
;;; Commentary:
|
||||||
;;;
|
;;;
|
||||||
|
@ -486,4 +489,22 @@ are required to access DEVICE."
|
||||||
(remove (cut member <> provided) modules))
|
(remove (cut member <> provided) modules))
|
||||||
'()))
|
'()))
|
||||||
|
|
||||||
|
(define (write-module-alias-database directory)
|
||||||
|
"Traverse the '.ko' files in DIRECTORY and create the corresponding
|
||||||
|
'modules.alias' file."
|
||||||
|
(define aliases
|
||||||
|
(map (lambda (file)
|
||||||
|
(cons (file-name->module-name file) (module-aliases file)))
|
||||||
|
(find-files directory "\\.ko$")))
|
||||||
|
|
||||||
|
(call-with-output-file (string-append directory "/modules.alias")
|
||||||
|
(lambda (port)
|
||||||
|
(display "# Aliases extracted from modules themselves.\n" port)
|
||||||
|
(for-each (match-lambda
|
||||||
|
((module . aliases)
|
||||||
|
(for-each (lambda (alias)
|
||||||
|
(format port "alias ~a ~a\n" alias module))
|
||||||
|
aliases)))
|
||||||
|
aliases))))
|
||||||
|
|
||||||
;;; linux-modules.scm ends here
|
;;; linux-modules.scm ends here
|
||||||
|
|
Loading…
Reference in New Issue