[LEDE-DEV] [PATCH] mdadm: Fix config generation
Rosen Penev
rosenp at gmail.com
Tue Oct 17 09:28:39 PDT 2017
The init script generated something like "DEVICE=/dev/sda" when it should have been generating "DEVICE /dev/sda". mdadm errors on this. Patch by jow.
Also changed the default sendmail path to /usr/sbin/sendmail. No package in LEDE provides /sbin/sendmail. msmtp provides /usr/sbin/sendmail so use that.
Also add a patch to fix file paths for mdadm runtime files. mdadm currently errors on them since /run is missing. Once /run is added to stock LEDE, this patch can be removed.
Signed-off-by: Rosen Penev <rosenp at gmail.com>
v2: Get rid of patch in favor of Makefile options. Also remove /etc/mdadm.conf as a conffile since /var/etc/mdadm.conf seems to be used instead.
---
package/utils/mdadm/Makefile | 9 ++++-----
package/utils/mdadm/files/mdadm.init | 11 +++++------
2 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/package/utils/mdadm/Makefile b/package/utils/mdadm/Makefile
index 1ed62d8174..826424247f 100644
--- a/package/utils/mdadm/Makefile
+++ b/package/utils/mdadm/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=mdadm
PKG_VERSION:=4.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
@@ -32,17 +32,16 @@ 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
+ RAID 0, 1 and 10 support included.
+ If you need RAID 4,5 or 6 functionality please
install kmod-md-raid456 .
endef
define Package/mdadm/conffiles
-/etc/mdadm.conf
/etc/config/mdadm
endef
-TARGET_CFLAGS += -ffunction-sections -fdata-sections -DNO_COROSYNC -DNO_DLM -DUSE_PTHREADS
+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
diff --git a/package/utils/mdadm/files/mdadm.init b/package/utils/mdadm/files/mdadm.init
index e6624a776e..64a50b35de 100644
--- a/package/utils/mdadm/files/mdadm.init
+++ b/package/utils/mdadm/files/mdadm.init
@@ -34,14 +34,13 @@ mdadm_common() {
local cfg="$1"
local email devices
- if [ -x /sbin/sendmail ]; then
- append_option email "$cfg" email "MAILADDR"
-
+ if [ -x /usr/sbin/sendmail ]; then
+ config_get email "$cfg" email
+ [ -n "$email" ] && printf "MAILADDR %s\n" "$email" >> $CONF
fi
- append_option devices "$cfg" devices DEVICE " "
-
- printf "%s\n%s\n" "$email" "$devices" >> $CONF
+ config_list_foreach "$cfg" devices append_list_item devices " "
+ [ -n "$devices" ] && printf "DEVICE %s\n" "$devices" >> $CONF
}
mdadm_array() {
--
2.13.6
More information about the Lede-dev
mailing list