From: Daniel Dickinson Date: Thu, 15 Oct 2015 10:23:26 +0000 (-0400) Subject: mdadm: Fix missing conffile and add initscript X-Git-Tag: v17.01.0-rc1~2762 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3e08637e878c32a40cdcb84c6030fcdd0cb88196;p=openwrt%2Fstaging%2Fxback.git mdadm: Fix missing conffile and add initscript Start arrays on boot, stop them on shutdown, and enable monitoring to syslog. Signed-off-by: Daniel Dickinson --- diff --git a/package/utils/mdadm/Makefile b/package/utils/mdadm/Makefile index 69eec5b389..0d5848c218 100644 --- a/package/utils/mdadm/Makefile +++ b/package/utils/mdadm/Makefile @@ -33,6 +33,11 @@ define Package/mdadm/description A tool for managing Linux Software RAID arrays. endef +define Package/mdadm/conffiles +/etc/mdadm.conf +/etc/config/mdadm +endef + TARGET_CFLAGS += -ffunction-sections -fdata-sections TARGET_LDFLAGS += -Wl,--gc-sections @@ -47,6 +52,10 @@ 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)) diff --git a/package/utils/mdadm/files/mdadm.config b/package/utils/mdadm/files/mdadm.config new file mode 100644 index 0000000000..536228fae4 --- /dev/null +++ b/package/utils/mdadm/files/mdadm.config @@ -0,0 +1,3 @@ +config mdadm + option email root + diff --git a/package/utils/mdadm/files/mdadm.init b/package/utils/mdadm/files/mdadm.init new file mode 100644 index 0000000000..9da4684fb1 --- /dev/null +++ b/package/utils/mdadm/files/mdadm.init @@ -0,0 +1,34 @@ +#!/bin/sh /etc/rc.common + +START=13 +STOP=98 + +USE_PROCD=1 +PROG=/sbin/mdadm +NAME=mdadm + +mdadm_email() { + local cfg="$1" + if [ ! -x /sbin/sendmail ]; then + return + fi + config_get email "$cfg" email +} + +start_service() { + local email + + config_load mdadm + config_foreach mdadm_email mdadm + + $PROG --assemble --scan + + procd_open_instance + procd_set_param command "$PROG" --monitor ${email:+--mail=$email} --syslog --scan + procd_close_instance +} + +stop_service() { + $PROG --stop --scan +} +