diff options
-rw-r--r-- | package/mtd/Config.in | 40 | ||||
-rw-r--r-- | package/mtd/mtd.mk | 45 |
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 := |