summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRunar Borge <runar@borge.nu>2021-11-01 19:14:27 +0100
committerRunar Borge <runar@borge.nu>2021-11-03 21:18:09 +0100
commit9b511bf61ff55282c38785d69d2e95d20db66aba (patch)
tree672cd8f128243860baa564b109598f2093524d99 /scripts
parent2264c8a812325f57fe0361fca9dad992048e572f (diff)
downloadvyos-build-9b511bf61ff55282c38785d69d2e95d20db66aba.tar.gz
vyos-build-9b511bf61ff55282c38785d69d2e95d20db66aba.zip
T3965: arm: build script: inheritence in flavor_configs and bootloader options
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build-config18
-rwxr-xr-xscripts/live-build-config2
2 files changed, 17 insertions, 3 deletions
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 \