aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/image.mk45
-rwxr-xr-xscripts/json_add_image_info.py24
2 files changed, 52 insertions, 17 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
diff --git a/scripts/json_add_image_info.py b/scripts/json_add_image_info.py
index 38cd3c487d..23033f9fc4 100755
--- a/scripts/json_add_image_info.py
+++ b/scripts/json_add_image_info.py
@@ -12,10 +12,10 @@ if len(argv) != 2:
json_path = Path(argv[1])
bin_dir = Path(getenv("BIN_DIR"))
-image_file = bin_dir / getenv("DEVICE_IMG_NAME")
+file_path = bin_dir / getenv("FILE_NAME")
-if not image_file.is_file():
- print("Skip JSON creation for non existing image ", image_file)
+if not file_path.is_file():
+ print("Skip JSON creation for non existing file", file_path)
exit(0)
@@ -37,9 +37,9 @@ def get_titles():
device_id = getenv("DEVICE_ID")
-image_hash = hashlib.sha256(image_file.read_bytes()).hexdigest()
+file_hash = hashlib.sha256(file_path.read_bytes()).hexdigest()
-image_info = {
+file_info = {
"metadata_version": 1,
"target": "{}/{}".format(getenv("TARGET"), getenv("SUBTARGET")),
"version_code": getenv("VERSION_CODE"),
@@ -50,10 +50,9 @@ image_info = {
"image_prefix": getenv("DEVICE_IMG_PREFIX"),
"images": [
{
- "type": getenv("IMAGE_TYPE"),
- "filesystem": getenv("IMAGE_FILESYSTEM"),
- "name": getenv("DEVICE_IMG_NAME"),
- "sha256": image_hash,
+ "type": getenv("FILE_TYPE"),
+ "name": getenv("FILE_NAME"),
+ "sha256": file_hash,
}
],
"device_packages": getenv("DEVICE_PACKAGES").split(),
@@ -63,4 +62,9 @@ image_info = {
},
}
-json_path.write_text(json.dumps(image_info, separators=(",", ":")))
+if getenv("FILE_FILESYSTEM"):
+ file_info["profiles"][device_id]["images"][0]["filesystem"] = getenv(
+ "FILE_FILESYSTEM"
+ )
+
+json_path.write_text(json.dumps(file_info, separators=(",", ":")))