summaryrefslogtreecommitdiff
path: root/gnu/packages/grub.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-10-05 15:08:38 +0200
committerLudovic Courtès <ludo@gnu.org>2016-10-05 15:11:08 +0200
commit358db0041f090ac0264c0a5ff906bce401512702 (patch)
tree983828f08011654538eb7b1a75fd3f278748e37b /gnu/packages/grub.scm
parentab2cc5cde16ec850c63fa55cc4ce82cf31683344 (diff)
gnu: grub: Make dependency on mdadm explicit.
* gnu/packages/grub.scm (grub)[arguments]: Path getroot.c in 'patch-stuff' phase. [inputs]: Add MDADM.
Diffstat (limited to 'gnu/packages/grub.scm')
-rw-r--r--gnu/packages/grub.scm15
1 files changed, 13 insertions, 2 deletions
diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index 302fd0e1ae..ffce1bf86b 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -98,13 +98,23 @@
(arguments
'(;; Two warnings: suggest braces, signed/unsigned comparison.
#:configure-flags '("--disable-werror")
+
#:phases (modify-phases %standard-phases
- (add-after
- 'unpack 'patch-stuff
+ (add-after 'unpack 'patch-stuff
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grub-core/Makefile.in"
(("/bin/sh") (which "sh")))
+ ;; Give the absolute file name of 'mdadm', used to
+ ;; determine the root file system when it's a RAID
+ ;; device. Failing to do that, 'grub-probe' silently
+ ;; fails if 'mdadm' is not in $PATH.
+ (substitute* "grub-core/osdep/linux/getroot.c"
+ (("argv\\[0\\] = \"mdadm\"")
+ (string-append "argv[0] = \""
+ (assoc-ref inputs "mdadm")
+ "/sbin/mdadm\"")))
+
;; Make the font visible.
(copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
(system* "gunzip" "unifont.bdf.gz")
@@ -118,6 +128,7 @@
#t)))))
(inputs
`(;; ("lvm2" ,lvm2)
+ ("mdadm" ,mdadm)
("gettext" ,gnu-gettext)
("freetype" ,freetype)
;; ("libusb" ,libusb)