add support for dmraid soft raid handling
authorEric Andersen <andersen@codepoet.org>
Mon, 10 Jul 2006 22:09:37 +0000 (22:09 -0000)
committerEric Andersen <andersen@codepoet.org>
Mon, 10 Jul 2006 22:09:37 +0000 (22:09 -0000)
package/Config.in
package/dmraid/Config.in [new file with mode: 0644]
package/dmraid/dmraid.mk [new file with mode: 0644]

index 96131d67238e8b36f60cdfb8d428513ee086edad..824111ac87edef5eaa850b5828b5c58c5ea9d689 100644 (file)
@@ -40,6 +40,7 @@ source "package/dialog/Config.in"
 source "package/directfb/Config.in"
 source "package/distcc/Config.in"
 source "package/dm/Config.in"
+source "package/dmraid/Config.in"
 source "package/dnsmasq/Config.in"
 source "package/dropbear/Config.in"
 source "package/ethtool/Config.in"
diff --git a/package/dmraid/Config.in b/package/dmraid/Config.in
new file mode 100644 (file)
index 0000000..7ec46ea
--- /dev/null
@@ -0,0 +1,5 @@
+config BR2_PACKAGE_DMRAID
+       bool "dmraid"
+       default n
+       help
+         Device-Mapper Software RAID support tool/
diff --git a/package/dmraid/dmraid.mk b/package/dmraid/dmraid.mk
new file mode 100644 (file)
index 0000000..4135ba4
--- /dev/null
@@ -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