[source] mdadm: Fix config generation

LEDE Commits lede-commits at lists.infradead.org
Thu Oct 26 17:32:39 PDT 2017


jow pushed a commit to source.git, branch master:
https://git.lede-project.org/8eadec40bdc205568e34e19b07b2a3035c9223fb

commit 8eadec40bdc205568e34e19b07b2a3035c9223fb
Author: Rosen Penev <rosenp at gmail.com>
AuthorDate: Tue Oct 17 09:28:39 2017 -0700

    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 <rosenp at gmail.com>
    [rewrap commit message]
    Signed-off-by: Jo-Philipp Wich <jo at mein.io>
---
 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 1ed62d8..8264242 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 e6624a7..64a50b3 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() {



More information about the lede-commits mailing list