From: Rosen Penev Date: Tue, 17 Oct 2017 16:28:39 +0000 (-0700) Subject: mdadm: Fix config generation X-Git-Tag: v17.01.5~304 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=6c1b6e8221bc3633e7f4482856cd3740f01c7140;p=openwrt%2Fopenwrt.git mdadm: Fix config generation 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 [rewrap commit message] Signed-off-by: Jo-Philipp Wich (cherry picked from commit 8eadec40bdc205568e34e19b07b2a3035c9223fb) --- 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() {