From 9b511bf61ff55282c38785d69d2e95d20db66aba Mon Sep 17 00:00:00 2001 From: Runar Borge Date: Mon, 1 Nov 2021 19:14:27 +0100 Subject: T3965: arm: build script: inheritence in flavor_configs and bootloader options --- scripts/build-config | 18 ++++++++++++++++-- scripts/live-build-config | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/build-config b/scripts/build-config index fa0b3512..4f4a8c08 100755 --- a/scripts/build-config +++ b/scripts/build-config @@ -48,14 +48,27 @@ def get_validator(optdict, name): except KeyError: return None +def load_config(filename): + with open(filename, 'r') as f: + print(f'Loading {filename}') + this_config = json.load(f) + + if not 'inherit_from' in this_config: + print(f'No inheritance detected') + return this_config + + inherited_config = load_config(this_config['inherit_from']) + del this_config['inherit_from'] + inherited_config.update(this_config) + return inherited_config + # Load the build flavor file build_flavor = os.getenv('VYOS_BUILD_FLAVOR') if build_flavor is None: build_flavor = defaults.DEFAULT_BUILD_FLAVOR try: - with open(build_flavor, 'r') as f: - build_defaults = json.load(f) + build_defaults = load_config(build_flavor) except Exception as e: print("Failed to open the build flavor file {0}: {1}".format(build_flavor, e)) sys.exit(1) @@ -143,6 +156,7 @@ if env_check_retval > 0: args['kernel_version'] = build_defaults['kernel_version'] args['kernel_flavor'] = build_defaults['kernel_flavor'] +args['bootloaders'] = build_defaults['bootloaders'] # Save to file diff --git a/scripts/live-build-config b/scripts/live-build-config index c9d6ee1d..1813e608 100755 --- a/scripts/live-build-config +++ b/scripts/live-build-config @@ -39,7 +39,7 @@ lb config noauto \ --bootappend-live-failsafe "live components memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vga=normal console=ttyS0,115200 console=tty0 net.ifnames=0 biosdevname=0" \ --linux-flavours {{kernel_flavor}} \ --linux-packages linux-image-{{kernel_version}} \ - --bootloader syslinux,grub-efi \ + --bootloader {{bootloaders}} \ --binary-images iso-hybrid \ --checksums 'sha256 md5' \ --debian-installer none \ -- cgit v1.2.3