summaryrefslogtreecommitdiff
path: root/include/image.mk
diff options
context:
space:
mode:
authorPaul Spooren <mail@aparcar.org>2021-09-12 23:44:04 -1000
committerPaul Spooren <mail@aparcar.org>2021-09-14 10:42:38 -1000
commit5ef4608c02ef6db9698c8d10011b9c14a8ca073b (patch)
tree7175c2906b6317bd8f726cead257c7cc07422d6c /include/image.mk
parent02a2b44eabf607fb5405ff0d7da4ad0748d3e1b1 (diff)
downloadopenwrt-5ef4608c02ef6db9698c8d10011b9c14a8ca073b.tar.gz
build: store artifacts in JSON
Multiple profiles create artifacts, these should be stored in the JSON file as well, allowing downstream tooling to show those files, too. Artifacts don't have specific filesystems so only the fields `name`, `type` and `sha256` are available. Rename env variable names from IMAGE_ to FILE_ prefixes to reflect that images, kernels and artifacts are added with the same command. Signed-off-by: Paul Spooren <mail@aparcar.org>
Diffstat (limited to 'include/image.mk')
-rw-r--r--include/image.mk45
1 files changed, 38 insertions, 7 deletions
diff --git a/include/image.mk b/include/image.mk
index 6298e3085e..1150f84ce5 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -494,9 +494,9 @@ define Device/Build/initramfs
DEVICE_ID="$(1)" \
BIN_DIR="$(BIN_DIR)" \
SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
- DEVICE_IMG_NAME="$$(notdir $$^)" \
- IMAGE_TYPE="kernel" \
- IMAGE_FILESYSTEM="initramfs" \
+ FILE_NAME="$$(notdir $$^)" \
+ FILE_TYPE="kernel" \
+ FILE_FILESYSTEM="initramfs" \
DEVICE_IMG_PREFIX="$$(DEVICE_IMG_PREFIX)" \
DEVICE_VENDOR="$$(DEVICE_VENDOR)" \
DEVICE_MODEL="$$(DEVICE_MODEL)" \
@@ -601,9 +601,9 @@ define Device/Build/image
DEVICE_ID="$(DEVICE_NAME)" \
BIN_DIR="$(BIN_DIR)" \
SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
- DEVICE_IMG_NAME="$(DEVICE_IMG_NAME)" \
- IMAGE_TYPE=$(word 1,$(subst ., ,$(2))) \
- IMAGE_FILESYSTEM="$(1)" \
+ FILE_NAME="$(DEVICE_IMG_NAME)" \
+ FILE_TYPE=$(word 1,$(subst ., ,$(2))) \
+ FILE_FILESYSTEM="$(1)" \
DEVICE_IMG_PREFIX="$(DEVICE_IMG_PREFIX)" \
DEVICE_VENDOR="$(DEVICE_VENDOR)" \
DEVICE_MODEL="$(DEVICE_MODEL)" \
@@ -629,7 +629,9 @@ define Device/Build/image
endef
define Device/Build/artifact
- $$(_TARGET): $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1)
+ $$(_TARGET): $(if $(CONFIG_JSON_OVERVIEW_IMAGE_INFO), \
+ $(BUILD_DIR)/json_info_files/$(DEVICE_IMG_PREFIX)-$(1).json, \
+ $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1))
$(eval $(call Device/Export,$(KDIR)/tmp/$(DEVICE_IMG_PREFIX)-$(1)))
$(KDIR)/tmp/$(DEVICE_IMG_PREFIX)-$(1): $$(KDIR_KERNEL_IMAGE) $(2)-images
@rm -f $$@
@@ -640,6 +642,35 @@ define Device/Build/artifact
$(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1): $(KDIR)/tmp/$(DEVICE_IMG_PREFIX)-$(1)
cp $$^ $$@
+ $(BUILD_DIR)/json_info_files/$(DEVICE_IMG_PREFIX)-$(1).json: $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1)
+ @mkdir -p $$(shell dirname $$@)
+ DEVICE_ID="$(DEVICE_NAME)" \
+ BIN_DIR="$(BIN_DIR)" \
+ SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \
+ FILE_NAME="$(DEVICE_IMG_PREFIX)-$(1)" \
+ FILE_TYPE="$(1)" \
+ DEVICE_IMG_PREFIX="$(DEVICE_IMG_PREFIX)" \
+ DEVICE_VENDOR="$(DEVICE_VENDOR)" \
+ DEVICE_MODEL="$(DEVICE_MODEL)" \
+ DEVICE_VARIANT="$(DEVICE_VARIANT)" \
+ DEVICE_ALT0_VENDOR="$(DEVICE_ALT0_VENDOR)" \
+ DEVICE_ALT0_MODEL="$(DEVICE_ALT0_MODEL)" \
+ DEVICE_ALT0_VARIANT="$(DEVICE_ALT0_VARIANT)" \
+ DEVICE_ALT1_VENDOR="$(DEVICE_ALT1_VENDOR)" \
+ DEVICE_ALT1_MODEL="$(DEVICE_ALT1_MODEL)" \
+ DEVICE_ALT1_VARIANT="$(DEVICE_ALT1_VARIANT)" \
+ DEVICE_ALT2_VENDOR="$(DEVICE_ALT2_VENDOR)" \
+ DEVICE_ALT2_MODEL="$(DEVICE_ALT2_MODEL)" \
+ DEVICE_ALT2_VARIANT="$(DEVICE_ALT2_VARIANT)" \
+ DEVICE_TITLE="$(DEVICE_TITLE)" \
+ DEVICE_PACKAGES="$(DEVICE_PACKAGES)" \
+ TARGET="$(BOARD)" \
+ SUBTARGET="$(if $(SUBTARGET),$(SUBTARGET),generic)" \
+ VERSION_NUMBER="$(VERSION_NUMBER)" \
+ VERSION_CODE="$(VERSION_CODE)" \
+ SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \
+ $(TOPDIR)/scripts/json_add_image_info.py $$@
+
endef
define Device/Build