summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/mtd/Config.in40
-rw-r--r--package/mtd/mtd.mk45
2 files changed, 78 insertions, 7 deletions
diff --git a/package/mtd/Config.in b/package/mtd/Config.in
index 0a133570f..ded0c9ecf 100644
--- a/package/mtd/Config.in
+++ b/package/mtd/Config.in
@@ -5,6 +5,44 @@ config BR2_PACKAGE_MTD
help
Build mtd/jffs utilities
+menu "MTD package selection"
+ depends on BR2_PACKAGE_MTD
+
+choice
+ prompt "Source package selection"
+ depends on BR2_PACKAGE_MTD
+ default BR2_PACKAGE_MTD_ORIG
+
+
+config BR2_PACKAGE_MTD_ORIG
+ bool "Default source"
+ depends on BR2_PACKAGE_MTD
+ help
+ Use the stable release.
+
+config BR2_PACKAGE_MTD_SNAPSHOT
+ bool "Daily snapshot"
+ depends on BR2_PACKAGE_MTD
+ help
+ Use the latest MTD daily snapshot instead of release.
+ You should probably say NO except for specific purpose.
+
+endchoice
+
+config BR2_PACKAGE_MTD_ORIG_STRING
+ string "MTD package name"
+ depends on BR2_PACKAGE_MTD_ORIG
+ default "mtd_20050122.orig.tar.gz"
+ help
+ You should not modify the file name, unless you want to
+ use a specific and private MTD package.
+ Default is mtd_20050122.orig.tar.gz
+
+endmenu
+
+menu "MTD tools selection"
+ depends BR2_PACKAGE_MTD
+
config BR2_PACKAGE_MTD_FLASH_ERASE
bool "flash_erase"
default y
@@ -104,3 +142,5 @@ config BR2_PACKAGE_MTD_DOC_LOADBIOS
bool "doc_loadbios"
default y
depends on BR2_PACKAGE_MTD
+
+endmenu
diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk
index cf6c82f91..786846913 100644
--- a/package/mtd/mtd.mk
+++ b/package/mtd/mtd.mk
@@ -3,9 +3,24 @@
# mtd provides jffs2 utilities
#
#############################################################
-MTD_SOURCE := mtd_20050122.orig.tar.gz
-MTD_SITE := http://ftp.debian.org/debian/pool/main/m/mtd
-MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd-20050122.orig
+ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y)
+# Be aware that this changes daily....
+TODAY=$(shell date -u +%Y%m%d)
+MTD_DL_SOURCE=mtd-snapshot-$(TODAY).tar.bz2
+MTD_SOURCE=mtd-snapshot.tar.bz2
+MTD_SITE=ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/cvs
+MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_snapshot
+MTD_DIR:=$(BUILD_DIR)/mtd_snapshot
+MTD_UNZIP=bzcat
+else
+MTD_SOURCE=$(shell echo -n $(BR2_PACKAGE_MTD_ORIG_STRING))
+MTD_SITE=http://ftp.debian.org/debian/pool/main/m/mtd
+MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_orig
+MTD_DIR:=$(BUILD_DIR)/mtd_orig
+MTD_UNZIP=zcat
+endif
+
+
#############################################################
#
@@ -15,15 +30,27 @@ MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd-20050122.orig
#############################################################
MKFS_JFFS2 := $(MTD_HOST_DIR)/util/mkfs.jffs2
+ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y)
+$(DL_DIR)/$(MTD_SOURCE):
+ $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_DL_SOURCE)
+ mv $(DL_DIR)/$(MTD_DL_SOURCE) $(DL_DIR)/$(MTD_SOURCE)
+$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE_GENERIC)
+ $(MTD_UNZIP) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS)
+ mv $(TOOL_BUILD_DIR)/$(shell tar tjf dl/$(MTD_SOURCE) | head -n 1 | xargs basename) $(MTD_HOST_DIR)
+ touch $(MTD_HOST_DIR)/.unpacked
+else
$(DL_DIR)/$(MTD_SOURCE):
+ echo $(DL_DIR)/$(MTD_SOURCE)
$(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE)
$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
- zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
+ $(MTD_UNZIP) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS)
+ mv $(TOOL_BUILD_DIR)/$(shell tar tjf dl/$(MTD_SOURCE) | head -n 1 | xargs basename) $(MTD_HOST_DIR)
toolchain/patch-kernel.sh $(MTD_HOST_DIR) \
package/mtd \*.patch
touch $(MTD_HOST_DIR)/.unpacked
+endif
$(MTD_HOST_DIR)/util/mkfs.jffs2: $(MTD_HOST_DIR)/.unpacked
CFLAGS=-I$(LINUX_HEADERS_DIR)/include \
@@ -44,13 +71,17 @@ mtd-host-dirclean:
# build mtd for use on the target system
#
#############################################################
-MTD_DIR := $(BUILD_DIR)/mtd-20050122.orig
-
$(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
- zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ $(MTD_UNZIP) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y)
+ mv $(BUILD_DIR)/$(shell tar tjf dl/$(MTD_SOURCE) | head -n 1 | xargs basename) $(MTD_DIR)
+ touch $(MTD_DIR)/.unpacked
+else
+ mv $(BUILD_DIR)/$(shell tar tzf dl/$(MTD_SOURCE) | head -n 1 | xargs basename) $(MTD_DIR)
toolchain/patch-kernel.sh $(MTD_DIR) \
package/mtd \*.patch
touch $(MTD_DIR)/.unpacked
+endif
MTD_TARGETS_n :=
MTD_TARGETS_y :=