mdadm: Fix config generation
[openwrt/openwrt.git] / package / utils / mdadm / Makefile
index 69eec5b3890afee6e36e8f000b33903f4b154605..826424247f5fcaea7d47a302fafb1831a1489cee 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mdadm
-PKG_VERSION:=3.2.5
-PKG_RELEASE:=1
+PKG_VERSION:=4.0
+PKG_RELEASE:=3
 
 PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MD5SUM:=2fd33dedcdb06f0d1461f50ddabb7e4a
+PKG_HASH:=1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9
 
-PKG_MAINTAINER:=Felix Fietkau <nbd@openwrt.org>
+PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 
 PKG_BUILD_PARALLEL:=1
 
@@ -24,16 +24,24 @@ include $(INCLUDE_DIR)/package.mk
 define Package/mdadm
   SECTION:=utils
   CATEGORY:=Utilities
+  SUBMENU:=Disc
   TITLE:=A tool for managing Soft RAID under Linux
   URL:=http://www.kernel.org/pub/linux/utils/raid/mdadm/
-  DEPENDS:=+@KERNEL_DIRECT_IO
+  DEPENDS:=+libpthread +kmod-md-mod +kmod-md-raid0 +kmod-md-raid10 +kmod-md-raid1
 endef
 
 define Package/mdadm/description
  A tool for managing Linux Software RAID arrays.
+ RAID 0, 1 and 10 support included.
+ If you need RAID 4,5 or 6 functionality please
+ install kmod-md-raid456 .
 endef
 
-TARGET_CFLAGS += -ffunction-sections -fdata-sections
+define Package/mdadm/conffiles
+/etc/config/mdadm
+endef
+
+TARGET_CFLAGS += -ffunction-sections -fdata-sections -DNO_COROSYNC -DNO_DLM -DUSE_PTHREADS -DCONFFILE="/var/etc/mdadm.conf" -DMAP_DIR="/var/run/mdadm" -DMDMON_DIR="/var/run/mdadm" -DFAILED_SLOTS_DIR="/var/run/mdadm/failed-slots"
 TARGET_LDFLAGS += -Wl,--gc-sections
 
 define Build/Compile
@@ -41,12 +49,17 @@ define Build/Compile
                CC="$(TARGET_CC)" \
                CFLAGS="$(TARGET_CFLAGS) -DHAVE_STDINT_H" \
                LDFLAGS="$(TARGET_LDFLAGS)" \
+               CHECK_RUN_DIR=0 \
                mdadm
 endef
 
 define Package/mdadm/install
        $(INSTALL_DIR) $(1)/sbin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/mdadm $(1)/sbin
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/mdadm.init $(1)/etc/init.d/mdadm
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_DATA) ./files/mdadm.config $(1)/etc/config/mdadm
 endef
 
 $(eval $(call BuildPackage,mdadm))