build: add support code for appending metadata to images

Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Felix Fietkau 2016-11-14 17:31:53 +01:00
parent cc853810a4
commit 77265e00c7
2 changed files with 22 additions and 1 deletions

View file

@ -172,3 +172,21 @@ define Build/sysupgrade-tar
--rootfs $(call param_get_default,rootfs,$(1),$(IMAGE_ROOTFS)) \ --rootfs $(call param_get_default,rootfs,$(1),$(IMAGE_ROOTFS)) \
$@ $@
endef endef
json_quote=$(subst ','\'',$(subst ",\",$(1)))
#")')
metadata_devices=$(if $(1),$(subst "$(space)","$(comma)",$(strip $(foreach v,$(1),"$(call json_quote,$(v))"))))
metadata_json = \
'{ $(if $(IMAGE_METADATA),$(IMAGE_METADATA)$(comma)) \
"supported_devices":[$(call metadata_devices,$(1))], \
"version": { \
"dist": "$(call json_quote,$(VERSION_DIST))", \
"version": "$(call json_quote,$(VERSION_NUMBER))", \
"revision": "$(call json_quote,$(REVISION))", \
"board": "$(call json_quote,$(BOARD))" \
} \
}'
define Build/append-metadata
$(if $(SUPPORTED_DEVICES),echo $(call metadata_json,$(SUPPORTED_DEVICES)) | fwtool -I - $@)
endef

View file

@ -346,6 +346,8 @@ define Device/Init
BOARD_NAME := BOARD_NAME :=
UIMAGE_NAME := UIMAGE_NAME :=
SUPPORTED_DEVICES :=
IMAGE_METADATA :=
FILESYSTEMS := $(TARGET_FILESYSTEMS) FILESYSTEMS := $(TARGET_FILESYSTEMS)
endef endef
@ -355,7 +357,8 @@ DEFAULT_DEVICE_VARS := \
DEVICE_DTS DEVICE_DTS_DIR BOARD_NAME CMDLINE \ DEVICE_DTS DEVICE_DTS_DIR BOARD_NAME CMDLINE \
UBOOTENV_IN_UBI KERNEL_IN_UBI \ UBOOTENV_IN_UBI KERNEL_IN_UBI \
BLOCKSIZE PAGESIZE SUBPAGESIZE VID_HDR_OFFSET \ BLOCKSIZE PAGESIZE SUBPAGESIZE VID_HDR_OFFSET \
UBINIZE_OPTS UIMAGE_NAME UBINIZE_PARTS UBINIZE_OPTS UIMAGE_NAME UBINIZE_PARTS \
SUPPORTED_DEVICES IMAGE_METADATA
define Device/ExportVar define Device/ExportVar
$(1) : $(2):=$$($(2)) $(1) : $(2):=$$($(2))