summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2024-04-13 20:06:53 +0000
committerDaniil Baturin <daniil@vyos.io>2024-04-13 20:06:53 +0000
commit72c7c7ff99b86bb3c65b44f69e05cf40cb8367c0 (patch)
treec477d0ffee07bad759b58ecb2909255fed23d09e /scripts
parentc07268987cb4f55a35240972e672e7d809f7ef4a (diff)
downloadvyos-build-72c7c7ff99b86bb3c65b44f69e05cf40cb8367c0.tar.gz
vyos-build-72c7c7ff99b86bb3c65b44f69e05cf40cb8367c0.zip
build: T3664: add a sanity check for image_format
and normalize it to a list if only one format is specified
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/image-build/build-vyos-image11
1 files changed, 11 insertions, 0 deletions
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