diff --git a/package/utils/mdadm/Makefile b/package/utils/mdadm/Makefile index 32544cc996..8ebc02cfa5 100644 --- a/package/utils/mdadm/Makefile +++ b/package/utils/mdadm/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mdadm -PKG_VERSION:=3.2.5 -PKG_RELEASE:=2 +PKG_VERSION:=4.0 +PKG_RELEASE:=1 PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_HASH:=ec1d264e4126309aafe76d76067e8f3fd6649941cff6cb0242d467a1e66a01e0 +PKG_HASH:=1d6ae7f24ced3a0fa7b5613b32f4a589bb4881e3946a5a2c3724056254ada3a9 PKG_MAINTAINER:=Felix Fietkau @@ -27,11 +27,14 @@ define Package/mdadm SUBMENU:=Disc TITLE:=A tool for managing Soft RAID under Linux URL:=http://www.kernel.org/pub/linux/utils/raid/mdadm/ - DEPENDS:=+@KERNEL_DIRECT_IO + DEPENDS:=+@KERNEL_DIRECT_IO +libpthread +kmod-md-mod +kmod-md-raid0 +kmod-md-raid10 +kmod-md-raid1 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 + install kmod-md-raid456 . endef define Package/mdadm/conffiles @@ -39,7 +42,7 @@ define Package/mdadm/conffiles /etc/config/mdadm endef -TARGET_CFLAGS += -ffunction-sections -fdata-sections +TARGET_CFLAGS += -ffunction-sections -fdata-sections -DNO_COROSYNC -DNO_DLM -DUSE_PTHREADS TARGET_LDFLAGS += -Wl,--gc-sections define Build/Compile diff --git a/package/utils/mdadm/patches/000-compile.patch b/package/utils/mdadm/patches/000-compile.patch deleted file mode 100644 index 6d47489163..0000000000 --- a/package/utils/mdadm/patches/000-compile.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/sha1.h -+++ b/sha1.h -@@ -26,8 +26,6 @@ - # include - #endif - --#include "ansidecl.h" -- - /* The following contortions are an attempt to use the C preprocessor - to determine an unsigned integral type that is 32 bits wide. An - alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but diff --git a/package/utils/mdadm/patches/100-cross_compile.patch b/package/utils/mdadm/patches/100-cross_compile.patch index 8709e57816..62bf693455 100644 --- a/package/utils/mdadm/patches/100-cross_compile.patch +++ b/package/utils/mdadm/patches/100-cross_compile.patch @@ -1,19 +1,11 @@ --- a/Makefile +++ b/Makefile -@@ -76,7 +76,6 @@ FAILED_SLOTS_DIR = /run/mdadm/failed-slo +@@ -86,7 +86,7 @@ DLM:=$(shell [ -f /usr/include/libdlm.h DIRFLAGS = -DMAP_DIR=\"$(MAP_DIR)\" -DMAP_FILE=\"$(MAP_FILE)\" DIRFLAGS += -DMDMON_DIR=\"$(MDMON_DIR)\" DIRFLAGS += -DFAILED_SLOTS_DIR=\"$(FAILED_SLOTS_DIR)\" --CFLAGS = $(CWFLAGS) $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\" $(CONFFILEFLAGS) $(DIRFLAGS) +-CFLAGS = $(CWFLAGS) $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\" $(CONFFILEFLAGS) $(DIRFLAGS) $(COROSYNC) $(DLM) ++# CFLAGS = $(CWFLAGS) $(CXFLAGS) -DSendmail=\""$(MAILCMD)"\" $(CONFFILEFLAGS) $(DIRFLAGS) $(COROSYNC) $(DLM) - # The glibc TLS ABI requires applications that call clone(2) to set up - # TLS data structures, use pthreads until mdmon implements this support -@@ -183,7 +182,7 @@ raid6check : raid6check.o mdadm.h $(CHEC - - mdassemble : $(ASSEMBLE_SRCS) $(INCL) - rm -f $(OBJS) -- $(DIET_GCC) $(ASSEMBLE_FLAGS) -o mdassemble $(ASSEMBLE_SRCS) $(STATICSRC) -+ $(CC) $(ASSEMBLE_FLAGS) -o mdassemble $(ASSEMBLE_SRCS) $(STATICSRC) - - mdassemble.static : $(ASSEMBLE_SRCS) $(INCL) - rm -f $(OBJS) + VERSION = $(shell [ -d .git ] && git describe HEAD | sed 's/mdadm-//') + VERS_DATE = $(shell [ -d .git ] && date --date="`git log -n1 --format=format:%cd --date=short`" '+%0dth %B %Y' | sed -e 's/1th/1st/' -e 's/2th/2nd/' -e 's/11st/11th/' -e 's/12nd/12th/') diff --git a/package/utils/mdadm/patches/101-mdadm.h-Undefine-dprintf-before-redefining.patch b/package/utils/mdadm/patches/101-mdadm.h-Undefine-dprintf-before-redefining.patch new file mode 100644 index 0000000000..bcff20d75f --- /dev/null +++ b/package/utils/mdadm/patches/101-mdadm.h-Undefine-dprintf-before-redefining.patch @@ -0,0 +1,38 @@ +From 6d369e8f226594632ce4260129509daf7030de0a Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 9 May 2016 22:03:57 +0000 +Subject: [PATCH] mdadm.h: Undefine dprintf before redefining + +dprintf is also defined in libc see +usr/include/bits/stdio2.h, this comes into +play especially when fortify sources is enabled +and compilers like clang reports the override + +In file included from policy.c:25: +./mdadm.h:1562:9: error: 'dprintf' macro redefined [-Werror,-Wmacro-redefined] + ^ +/mnt/oe/openembedded-core/build/tmp-glibc/sysroots/qemux86/usr/include/bits/stdio2.h:145:12: note: previous definition is here + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending + + mdadm.h | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/mdadm.h ++++ b/mdadm.h +@@ -1595,11 +1595,13 @@ static inline char *to_subarray(struct m + } + + #ifdef DEBUG ++#undef dprintf + #define dprintf(fmt, arg...) \ + fprintf(stderr, "%s: %s: "fmt, Name, __func__, ##arg) + #define dprintf_cont(fmt, arg...) \ + fprintf(stderr, fmt, ##arg) + #else ++#undef dprintf + #define dprintf(fmt, arg...) \ + ({ if (0) fprintf(stderr, "%s: %s: " fmt, Name, __func__, ##arg); 0; }) + #define dprintf_cont(fmt, arg...) \ diff --git a/package/utils/mdadm/patches/200-reduce_size.patch b/package/utils/mdadm/patches/200-reduce_size.patch index 3d8c2f421c..ae8204ccd9 100644 --- a/package/utils/mdadm/patches/200-reduce_size.patch +++ b/package/utils/mdadm/patches/200-reduce_size.patch @@ -1,6 +1,6 @@ --- a/Incremental.c +++ b/Incremental.c -@@ -1508,6 +1508,10 @@ static int Incremental_container(struct +@@ -1642,6 +1642,10 @@ static int Incremental_container(struct if (ra_all == ra_blocked) return 0; @@ -13,7 +13,7 @@ memcpy(suuid, uuid_zero, sizeof(int[4])); --- a/util.c +++ b/util.c -@@ -928,7 +928,9 @@ void wait_for(char *dev, int fd) +@@ -1151,7 +1151,9 @@ void wait_for(char *dev, int fd) struct superswitch *superlist[] = { &super0, &super1,