mirror of
				https://github.com/hzyitc/openwrt-redmi-ax3000
				synced 2025-10-30 07:50:32 +08:00 
			
		
		
		
	build: include size-limits to device-metadata
Include the image and kernel size limitations defined for each device to the device metadata JSON. These informations are only added if defined. Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
		| @ -647,6 +647,8 @@ define Device/Build/initramfs | ||||
| 	VERSION_NUMBER="$(VERSION_NUMBER)" \ | ||||
| 	VERSION_CODE="$(VERSION_CODE)" \ | ||||
| 	SUPPORTED_DEVICES="$$(SUPPORTED_DEVICES)" \ | ||||
| 	KERNEL_SIZE="$$(KERNEL_SIZE)" \ | ||||
| 	IMAGE_SIZE="$$(IMAGE_SIZE)" \ | ||||
| 	$(TOPDIR)/scripts/json_add_image_info.py $$@ | ||||
| endef | ||||
| endif | ||||
| @ -781,6 +783,8 @@ define Device/Build/image | ||||
| 	VERSION_NUMBER="$(VERSION_NUMBER)" \ | ||||
| 	VERSION_CODE="$(VERSION_CODE)" \ | ||||
| 	SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \ | ||||
| 	KERNEL_SIZE="$(KERNEL_SIZE)" \ | ||||
| 	IMAGE_SIZE="$(IMAGE_SIZE)" \ | ||||
| 	$(TOPDIR)/scripts/json_add_image_info.py $$@ | ||||
|  | ||||
| endef | ||||
| @ -835,6 +839,8 @@ define Device/Build/artifact | ||||
| 	VERSION_NUMBER="$(VERSION_NUMBER)" \ | ||||
| 	VERSION_CODE="$(VERSION_CODE)" \ | ||||
| 	SUPPORTED_DEVICES="$(SUPPORTED_DEVICES)" \ | ||||
| 	KERNEL_SIZE="$(KERNEL_SIZE)" \ | ||||
| 	IMAGE_SIZE="$(IMAGE_SIZE)" \ | ||||
| 	$(TOPDIR)/scripts/json_add_image_info.py $$@ | ||||
|  | ||||
| endef | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| #!/usr/bin/env python3 | ||||
|  | ||||
| from os import getenv | ||||
| from os import getenv, path | ||||
| from pathlib import Path | ||||
| from sys import argv | ||||
| import hashlib | ||||
| @ -35,6 +35,17 @@ def get_titles(): | ||||
|     return titles | ||||
|  | ||||
|  | ||||
| def get_numerical_size(image_size): | ||||
|     if image_size.endswith("g"): | ||||
|         return int(image_size[:-1]) * 1024 * 1024 * 1024 | ||||
|     elif image_size.endswith("m"): | ||||
|         return int(image_size[:-1]) * 1024 * 1024 | ||||
|     elif image_size.endswith("k"): | ||||
|         return int(image_size[:-1]) * 1024 | ||||
|     else: | ||||
|         return int(image_size) | ||||
|  | ||||
|  | ||||
| device_id = getenv("DEVICE_ID") | ||||
|  | ||||
| sha256_hash = hashlib.sha256() | ||||
| @ -52,6 +63,8 @@ if file_path.with_suffix(file_path.suffix + ".sha256sum").exists(): | ||||
| else: | ||||
|     hash_unsigned = hash_file | ||||
|  | ||||
| file_size = path.getsize(file_path) | ||||
|  | ||||
| file_info = { | ||||
|     "metadata_version": 1, | ||||
|     "target": "{}/{}".format(getenv("TARGET"), getenv("SUBTARGET")), | ||||
| @ -67,6 +80,7 @@ file_info = { | ||||
|                     "name": getenv("FILE_NAME"), | ||||
|                     "sha256": hash_file, | ||||
|                     "sha256_unsigned": hash_unsigned, | ||||
|                     "size": file_size, | ||||
|                 } | ||||
|             ], | ||||
|             "device_packages": getenv("DEVICE_PACKAGES").split(), | ||||
| @ -76,6 +90,17 @@ file_info = { | ||||
|     }, | ||||
| } | ||||
|  | ||||
| if getenv("IMAGE_SIZE") or getenv("KERNEL_SIZE"): | ||||
|     file_info["profiles"][device_id]["file_size_limits"] = {} | ||||
|     if getenv("IMAGE_SIZE"): | ||||
|         file_info["profiles"][device_id]["file_size_limits"]["image"] = get_numerical_size( | ||||
|             getenv("IMAGE_SIZE") | ||||
|         ) | ||||
|     if getenv("KERNEL_SIZE"): | ||||
|         file_info["profiles"][device_id]["file_size_limits"]["kernel"] = get_numerical_size( | ||||
|             getenv("KERNEL_SIZE") | ||||
|         ) | ||||
|  | ||||
| if getenv("FILE_FILESYSTEM"): | ||||
|     file_info["profiles"][device_id]["images"][0]["filesystem"] = getenv( | ||||
|         "FILE_FILESYSTEM" | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 David Bauer
					David Bauer