summary refs log tree commit diff
path: root/pkgs/os-specific/linux/mdadm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/linux/mdadm/default.nix')
-rw-r--r--pkgs/os-specific/linux/mdadm/default.nix15
1 files changed, 11 insertions, 4 deletions
diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix
index 9de10be0553..0a80e7c8dd0 100644
--- a/pkgs/os-specific/linux/mdadm/default.nix
+++ b/pkgs/os-specific/linux/mdadm/default.nix
@@ -1,19 +1,25 @@
-{stdenv, fetchurl, groff}:
+{ stdenv, fetchurl, groff }:
 
 stdenv.mkDerivation rec {
   name = "mdadm-3.1.2";
+  
   src = fetchurl {
     url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.bz2";
     sha256 = "0s2d2a01j8cizxqvbgd0sn5bpa1j46q8976078b3jq1q7i1ir0zz";
   };
 
-  buildNativeInputs = [groff];
+  # Enable incremental activation of swraid arrays from udev.
+  patches = [ ./udev.patch ];
 
-  patchPhase = "sed -e 's@/lib/udev@\${out}/lib/udev@' -i Makefile";
+  buildNativeInputs = [ groff ];
 
+  preConfigure = "sed -e 's@/lib/udev@\${out}/lib/udev@' -i Makefile";
+
+  # Force mdadm to use /var/run/mdadm.map for its map file (or
+  # /dev/.mdadm/map as a fallback).
   preBuild =
     ''
-      makeFlagsArray=(INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man)
+      makeFlagsArray=(INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man VAR_RUN=/var/run/mdadm ALT_RUN=/dev/.mdadm)
       if [[ -n "$crossConfig" ]]; then
         makeFlagsArray+=(CROSS_COMPILE=$crossConfig-)
       fi
@@ -21,5 +27,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Programs for managing RAID arrays under Linux";
+    homepage = http://neil.brown.name/blog/mdadm;
   };
 }