diff options
author | Felix Fietkau <nbd@nbd.name> | 2016-11-14 17:31:53 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2016-11-19 11:24:10 +0100 |
commit | 77265e00c70a7f6c01d2bc68c3a41de34b18deb3 (patch) | |
tree | 417d3e7546724e3ddb8f38855e37ba639afbffd8 | |
parent | cc853810a4aae04f1afcad3439bf9db6fc1f4852 (diff) | |
download | upstream-77265e00c70a7f6c01d2bc68c3a41de34b18deb3.tar.gz upstream-77265e00c70a7f6c01d2bc68c3a41de34b18deb3.tar.bz2 upstream-77265e00c70a7f6c01d2bc68c3a41de34b18deb3.zip |
build: add support code for appending metadata to images
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r-- | include/image-commands.mk | 18 | ||||
-rw-r--r-- | include/image.mk | 5 |
2 files changed, 22 insertions, 1 deletions
diff --git a/include/image-commands.mk b/include/image-commands.mk index 6386e55b79..083a389031 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -172,3 +172,21 @@ define Build/sysupgrade-tar --rootfs $(call param_get_default,rootfs,$(1),$(IMAGE_ROOTFS)) \ $@ 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 diff --git a/include/image.mk b/include/image.mk index 8b183ab58a..d1dcdd6bad 100644 --- a/include/image.mk +++ b/include/image.mk @@ -346,6 +346,8 @@ define Device/Init BOARD_NAME := UIMAGE_NAME := + SUPPORTED_DEVICES := + IMAGE_METADATA := FILESYSTEMS := $(TARGET_FILESYSTEMS) endef @@ -355,7 +357,8 @@ DEFAULT_DEVICE_VARS := \ DEVICE_DTS DEVICE_DTS_DIR BOARD_NAME CMDLINE \ UBOOTENV_IN_UBI KERNEL_IN_UBI \ 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 $(1) : $(2):=$$($(2)) |