From 716ca530e1c4515d8683c9d5be3d56b301758b66 Mon Sep 17 00:00:00 2001 From: James <> Date: Wed, 4 Nov 2015 11:49:21 +0000 Subject: trunk-47381 --- package/utils/mdadm/Makefile | 52 ++++++++++++++++++++++ package/utils/mdadm/patches/000-compile.patch | 11 +++++ .../utils/mdadm/patches/100-cross_compile.patch | 19 ++++++++ package/utils/mdadm/patches/200-reduce_size.patch | 25 +++++++++++ 4 files changed, 107 insertions(+) create mode 100644 package/utils/mdadm/Makefile create mode 100644 package/utils/mdadm/patches/000-compile.patch create mode 100644 package/utils/mdadm/patches/100-cross_compile.patch create mode 100644 package/utils/mdadm/patches/200-reduce_size.patch (limited to 'package/utils/mdadm') diff --git a/package/utils/mdadm/Makefile b/package/utils/mdadm/Makefile new file mode 100644 index 0000000..69eec5b --- /dev/null +++ b/package/utils/mdadm/Makefile @@ -0,0 +1,52 @@ +# +# Copyright (C) 2008-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=mdadm +PKG_VERSION:=3.2.5 +PKG_RELEASE:=1 + +PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_MD5SUM:=2fd33dedcdb06f0d1461f50ddabb7e4a + +PKG_MAINTAINER:=Felix Fietkau + +PKG_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/mdadm + SECTION:=utils + CATEGORY:=Utilities + TITLE:=A tool for managing Soft RAID under Linux + URL:=http://www.kernel.org/pub/linux/utils/raid/mdadm/ + DEPENDS:=+@KERNEL_DIRECT_IO +endef + +define Package/mdadm/description + A tool for managing Linux Software RAID arrays. +endef + +TARGET_CFLAGS += -ffunction-sections -fdata-sections +TARGET_LDFLAGS += -Wl,--gc-sections + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS) -DHAVE_STDINT_H" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + mdadm +endef + +define Package/mdadm/install + $(INSTALL_DIR) $(1)/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/mdadm $(1)/sbin +endef + +$(eval $(call BuildPackage,mdadm)) diff --git a/package/utils/mdadm/patches/000-compile.patch b/package/utils/mdadm/patches/000-compile.patch new file mode 100644 index 0000000..6d47489 --- /dev/null +++ b/package/utils/mdadm/patches/000-compile.patch @@ -0,0 +1,11 @@ +--- 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 new file mode 100644 index 0000000..8709e57 --- /dev/null +++ b/package/utils/mdadm/patches/100-cross_compile.patch @@ -0,0 +1,19 @@ +--- a/Makefile ++++ b/Makefile +@@ -76,7 +76,6 @@ FAILED_SLOTS_DIR = /run/mdadm/failed-slo + 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) + + # 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) diff --git a/package/utils/mdadm/patches/200-reduce_size.patch b/package/utils/mdadm/patches/200-reduce_size.patch new file mode 100644 index 0000000..3d8c2f4 --- /dev/null +++ b/package/utils/mdadm/patches/200-reduce_size.patch @@ -0,0 +1,25 @@ +--- a/Incremental.c ++++ b/Incremental.c +@@ -1508,6 +1508,10 @@ static int Incremental_container(struct + if (ra_all == ra_blocked) + return 0; + ++#ifndef MDADM_FULL ++ return 0; ++#endif ++ + /* Now move all suitable spares from spare container */ + domains = domain_from_array(list, st->ss->name); + memcpy(suuid, uuid_zero, sizeof(int[4])); +--- a/util.c ++++ b/util.c +@@ -928,7 +928,9 @@ void wait_for(char *dev, int fd) + struct superswitch *superlist[] = + { + &super0, &super1, ++#ifdef MDADM_FULL + &super_ddf, &super_imsm, ++#endif + &mbr, &gpt, + NULL }; + -- cgit v1.2.3