ar71xx: fix giving extra arguments to Build/mktplinkfw

The build command will always get the whole argument string in $(1),
regardless of whitespace. We need to use word/wordlist to split the string
after the first word.

Whitespace and quotation will be given to the command verbatim (make will
ignore it), so to give multiple arguments, no quotation marks may be used.

Fixes: r47174 ("ar71xx/image: add options argument to mktplinkfw step")
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 49216
This commit is contained in:
John Crispin 2016-04-21 19:47:19 +00:00
parent d35801b9c5
commit b225de37bc

View File

@ -49,14 +49,15 @@ endef
# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x) # -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
define Build/mktplinkfw define Build/mktplinkfw
-$(STAGING_DIR_HOST)/bin/mktplinkfw \ -$(STAGING_DIR_HOST)/bin/mktplinkfw \
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $2 \ -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) \
-m $(TPLINK_HEADER_VERSION) \ -m $(TPLINK_HEADER_VERSION) \
-k $(word 1,$^) \ -k $(word 1,$^) \
-r $@ \ -r $@ \
-o $@.new \ -o $@.new \
-j -X 0x40000 \ -j -X 0x40000 \
-a $(call rootfs_align,$(FILESYSTEM)) \ -a $(call rootfs_align,$(FILESYSTEM)) \
$(if $(findstring sysupgrade,$1),-s) && mv $@.new $@ || rm -f $@ $(wordlist 2,$(words $(1)),$(1)) \
$(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
endef endef
# mktplinkfw-initramfs <optional extra arguments to mktplinkfw binary> # mktplinkfw-initramfs <optional extra arguments to mktplinkfw binary>
@ -64,7 +65,7 @@ endef
# -c combined image # -c combined image
define Build/mktplinkfw-initramfs define Build/mktplinkfw-initramfs
$(STAGING_DIR_HOST)/bin/mktplinkfw \ $(STAGING_DIR_HOST)/bin/mktplinkfw \
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $2 \ -H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) $(1) \
-m $(TPLINK_HEADER_VERSION) \ -m $(TPLINK_HEADER_VERSION) \
-k $@ \ -k $@ \
-o $@.new \ -o $@.new \
@ -75,14 +76,14 @@ endef
define Build/tplink-safeloader define Build/tplink-safeloader
-$(STAGING_DIR_HOST)/bin/tplink-safeloader \ -$(STAGING_DIR_HOST)/bin/tplink-safeloader \
-B $(TPLINK_BOARD_NAME) \ -B $(TPLINK_BOARD_NAME) \
-V $(REVISION) \ -V $(REVISION) \
-k $(word 1,$^) \ -k $(word 1,$^) \
-r $@ \ -r $@ \
-o $@.new \ -o $@.new \
$2 \ -j \
-j \ $(wordlist 2,$(words $(1)),$(1)) \
$(if $(findstring sysupgrade,$1),-S) && mv $@.new $@ || rm -f $@ $(if $(findstring sysupgrade,$(word 1,$(1))),-S) && mv $@.new $@ || rm -f $@
endef endef
define Build/loader-common define Build/loader-common
@ -967,8 +968,8 @@ define Device/tl-wr2543-v1
BOARDNAME := TL-WR2543N BOARDNAME := TL-WR2543N
DEVICE_PROFILE := TLWR2543 DEVICE_PROFILE := TLWR2543
TPLINK_HWID := 0x25430001 TPLINK_HWID := 0x25430001
IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade "-v 3.13.99" IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade -v 3.13.99
IMAGE/factory.bin := append-rootfs | mktplinkfw factory "-v 3.13.99" IMAGE/factory.bin := append-rootfs | mktplinkfw factory -v 3.13.99
endef endef
TARGET_DEVICES += tl-wr2543-v1 TARGET_DEVICES += tl-wr2543-v1