--- /dev/null
+#
+# Copyright (C) 2008-2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=mdadm
+PKG_VERSION:=3.2.5
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_MD5SUM:=2fd33dedcdb06f0d1461f50ddabb7e4a
+
+PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/mdadm
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=A tool for managing Soft RAID under Linux
+ URL:=http://www.kernel.org/pub/linux/utils/raid/mdadm/
+ DEPENDS:=+@KERNEL_DIRECT_IO
+endef
+
+define Package/mdadm/description
+ A tool for managing Linux Software RAID arrays.
+endef
+
+define Build/Compile
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CC="$(TARGET_CC)" \
+ CFLAGS="$(TARGET_CFLAGS) -DHAVE_STDINT_H" \
+ LDFLAGS="$(TARGET_LDFLAGS)" \
+ mdadm mdassemble
+endef
+
+define Package/mdadm/install
+ $(INSTALL_DIR) $(1)/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/mdadm $(1)/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/mdassemble $(1)/sbin
+endef
+
+$(eval $(call BuildPackage,mdadm))
--- /dev/null
+--- a/sha1.h
++++ b/sha1.h
+@@ -26,8 +26,6 @@
+ # include <limits.h>
+ #endif
+
+-#include "ansidecl.h"
+-
+ /* The following contortions are an attempt to use the C preprocessor
+ to determine an unsigned integral type that is 32 bits wide. An
+ alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
--- /dev/null
+--- a/Makefile
++++ b/Makefile
+@@ -76,7 +76,6 @@ FAILED_SLOTS_DIR = /run/mdadm/failed-slo
+ DIRFLAGS = -DMAP_DIR=\"$(MAP_DIR)\" -DMAP_FILE=\"$(MAP_FILE)\"
+ DIRFLAGS += -DMDMON_DIR=\"$(MDMON_DIR)\"
+ DIRFLAGS += -DFAILED_SLOTS_DIR=\"$(FAILED_SLOTS_DIR)\"
+-CFLAGS = $(CWFLAGS) $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\" $(CONFFILEFLAGS) $(DIRFLAGS)
+
+ # The glibc TLS ABI requires applications that call clone(2) to set up
+ # TLS data structures, use pthreads until mdmon implements this support
+@@ -183,7 +182,7 @@ raid6check : raid6check.o mdadm.h $(CHEC
+
+ mdassemble : $(ASSEMBLE_SRCS) $(INCL)
+ rm -f $(OBJS)
+- $(DIET_GCC) $(ASSEMBLE_FLAGS) -o mdassemble $(ASSEMBLE_SRCS) $(STATICSRC)
++ $(CC) $(ASSEMBLE_FLAGS) -o mdassemble $(ASSEMBLE_SRCS) $(STATICSRC)
+
+ mdassemble.static : $(ASSEMBLE_SRCS) $(INCL)
+ rm -f $(OBJS)