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 <ros...@gmail.com> --- package/utils/mdadm/Makefile | 2 +- package/utils/mdadm/files/mdadm.init | 11 ++++---- .../utils/mdadm/patches/201-Fix-directories.patch | 31 ++++++++++++++++++++++ 3 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 package/utils/mdadm/patches/201-Fix-directories.patch diff --git a/package/utils/mdadm/Makefile b/package/utils/mdadm/Makefile index 1ed62d8174..5b2aa8e172 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 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() { diff --git a/package/utils/mdadm/patches/201-Fix-directories.patch b/package/utils/mdadm/patches/201-Fix-directories.patch new file mode 100644 index 0000000000..c795441b27 --- /dev/null +++ b/package/utils/mdadm/patches/201-Fix-directories.patch @@ -0,0 +1,31 @@ +diff --git a/mdadm.h b/mdadm.h +index 71b8afb..1d8fca3 100644 +--- a/mdadm.h ++++ b/mdadm.h +@@ -103,7 +103,7 @@ struct dlm_lksb { + * /run seems to have emerged as the best standard. + */ + #ifndef MAP_DIR +-#define MAP_DIR "/run/mdadm" ++#define MAP_DIR "/tmp/run/mdadm" + #endif /* MAP_DIR */ + /* MAP_FILE is what we name the map file we put in MAP_DIR, in case you + * want something other than the default of "map" +@@ -120,7 +120,7 @@ struct dlm_lksb { + * boot process and stays up as long as possible during shutdown. + */ + #ifndef MDMON_DIR +-#define MDMON_DIR "/run/mdadm" ++#define MDMON_DIR "/tmp/run/mdadm" + #endif /* MDMON_DIR */ + + /* FAILED_SLOTS is where to save files storing recent removal of array +@@ -128,7 +128,7 @@ struct dlm_lksb { + * slot for array recovery + */ + #ifndef FAILED_SLOTS_DIR +-#define FAILED_SLOTS_DIR "/run/mdadm/failed-slots" ++#define FAILED_SLOTS_DIR "/tmp/run/mdadm/failed-slots" + #endif /* FAILED_SLOTS */ + + #include "md_u.h" -- 2.13.6 _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev