From 72c7c7ff99b86bb3c65b44f69e05cf40cb8367c0 Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Sat, 13 Apr 2024 20:06:53 +0000 Subject: build: T3664: add a sanity check for image_format and normalize it to a list if only one format is specified --- scripts/image-build/build-vyos-image | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'scripts') diff --git a/scripts/image-build/build-vyos-image b/scripts/image-build/build-vyos-image index f213767c..c852694d 100755 --- a/scripts/image-build/build-vyos-image +++ b/scripts/image-build/build-vyos-image @@ -287,12 +287,23 @@ if __name__ == "__main__": if has_nonempty_key(build_config["architectures"], "packages"): build_config["packages"] += build_config["architectures"][arch]["packages"] + ## Check if image format is specified, + ## else we have no idea what we are actually supposed to build. + if not has_nonempty_key(build_config, "image_format"): + print("E: image format is not specified in the build flavor file") + sys.exit(1) + ## Add default boot settings if needed if "boot_settings" not in build_config: build_config["boot_settings"] = defaults.boot_settings else: build_config["boot_settings"] = merge_dicts(defaults.default_consolede, build_config["boot_settings"]) + ## Convert the image_format field to a single-item list if it's a scalar + ## (like `image_format = "iso"`) + if type(build_config["image_format"]) != list: + build_config["image_format"] = [ build_config["image_format"] ] + ## Dump the complete config if the user enabled debug mode if debug: import json -- cgit v1.2.3