Sfoglia il codice sorgente

add support for dmraid soft raid handling

Eric Andersen 19 anni fa
parent
commit
a8c92e8083
3 ha cambiato i file con 71 aggiunte e 0 eliminazioni
  1. 1 0
      package/Config.in
  2. 5 0
      package/dmraid/Config.in
  3. 65 0
      package/dmraid/dmraid.mk

+ 1 - 0
package/Config.in

@@ -40,6 +40,7 @@ source "package/dialog/Config.in"
 source "package/directfb/Config.in"
 source "package/directfb/Config.in"
 source "package/distcc/Config.in"
 source "package/distcc/Config.in"
 source "package/dm/Config.in"
 source "package/dm/Config.in"
+source "package/dmraid/Config.in"
 source "package/dnsmasq/Config.in"
 source "package/dnsmasq/Config.in"
 source "package/dropbear/Config.in"
 source "package/dropbear/Config.in"
 source "package/ethtool/Config.in"
 source "package/ethtool/Config.in"

+ 5 - 0
package/dmraid/Config.in

@@ -0,0 +1,5 @@
+config BR2_PACKAGE_DMRAID
+	bool "dmraid"
+	default n
+	help
+	  Device-Mapper Software RAID support tool/

+ 65 - 0
package/dmraid/dmraid.mk

@@ -0,0 +1,65 @@
+#############################################################
+#
+# dmraid
+#
+#############################################################
+
+DMRAID_VERSION=1.0.0.rc10
+DMRAID_SOURCE:=dmraid-$(DMRAID_VERSION).tar.bz2
+DMRAID_SITE:=http://people.redhat.com/~heinzm/sw/dmraid/src
+DMRAID_DIR:=$(BUILD_DIR)/dmraid/$(DMRAID_VERSION)
+DMRAID_CAT:=bzcat
+DMRAID_BINARY:=dmraid
+DMRAID_STAGING_BINARY:=$(DMRAID_DIR)/STAGING_DIR)/tools/$(DMRAID_BINARY)
+DMRAID_TARGET_BINARY:=$(TARGET_DIR)/sbin/$(DMRAID_BINARY)
+
+$(DL_DIR)/$(DMRAID_SOURCE):
+	 $(WGET) -P $(DL_DIR) $(DMRAID_SITE)/$(DMRAID_SOURCE)
+
+$(DMRAID_DIR)/.unpacked: $(DL_DIR)/$(DMRAID_SOURCE)
+	$(DMRAID_CAT) $(DL_DIR)/$(DMRAID_SOURCE) | tar -C $(BUILD_DIR) -xvf -
+	$(SOURCE_DIR)/patch-kernel.sh $(DMRAID_DIR) $(SOURCE_DIR) dmraid\*.patch
+	touch $(DMRAID_DIR)/.unpacked
+
+$(DMRAID_DIR)/.configured: $(DMRAID_DIR)/.unpacked
+	(cd $(DMRAID_DIR); rm -rf config.cache; \
+		$(TARGET_CONFIGURE_OPTS) \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		./configure \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		$(DISABLE_NLS) \
+		$(DISABLE_LARGEFILE) \
+		--with-user=$(shell id -un) --with-group=$(shell id -gn) \
+	);
+	touch $(DMRAID_DIR)/.configured
+
+$(DMRAID_DIR)/tools/$(DMRAID_BINARY): $(DMRAID_DIR)/.configured
+	$(MAKE1) -C $(DMRAID_DIR)
+	-$(STRIP) $(DMRAID_DIR)/tools/$(DMRAID_BINARY)
+	-$(UPX) --best $(DMRAID_DIR)/tools/$(DMRAID_BINARY)
+	touch -c $(DMRAID_DIR)/tools/$(DMRAID_BINARY)
+
+$(DMRAID_TARGET_BINARY): $(DMRAID_DIR)/tools/$(DMRAID_BINARY)
+	$(INSTALL) -m 0755 $? $@
+	$(INSTALL) -m 0755 $(SOURCE_DIR)/dmraid.init $(TARGET_DIR)/etc/init.d/dmraid
+
+dmraid: uclibc dm $(DMRAID_TARGET_BINARY)
+
+dmraid-clean:
+	rm $(DMRAID_TARGET_BINARY)
+	$(MAKE) -C $(DMRAID_DIR) clean
+
+dmraid-dirclean:
+	rm -rf $(DMRAID_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_DMRAID)),y)
+TARGETS+=dmraid
+endif