diff options
| author | Christian Breunig <christian@breunig.cc> | 2026-08-08 19:46:01 +0000 |
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2026-08-08 22:39:56 +0200 |
| commit | 28b9d9d6bf304586bb4ba3529e5294047f649b73 (patch) | |
| tree | efbc6ee071643456a14134ead2a172a4f61693a6 /scripts/package-build/linux-kernel | |
| parent | 24f6ed6ee8fa009dd7e7fbf4db8c70ef5f6ef04b (diff) | |
| download | vyos-build-28b9d9d6bf304586bb4ba3529e5294047f649b73.tar.gz vyos-build-28b9d9d6bf304586bb4ba3529e5294047f649b73.zip | |
Kernel: T9181: stop re-reading data/defaults.toml during build
build-kernel.sh parsed kernel_flavor out of defaults.toml itself via a
brittle awk one-liner, even though build.py already has that value from
its own defaults.toml read.
Pass kernel_flavor down as an env var instead, so defaults.toml is read
in exactly one place (build.py's main) and everything downstream flows
through kernel-vars or explicit parameters.
Diffstat (limited to 'scripts/package-build/linux-kernel')
| -rwxr-xr-x | scripts/package-build/linux-kernel/build-kernel.sh | 7 | ||||
| -rwxr-xr-x | scripts/package-build/linux-kernel/build.py | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/scripts/package-build/linux-kernel/build-kernel.sh b/scripts/package-build/linux-kernel/build-kernel.sh index a4a4fc3c..dea71aa9 100755 --- a/scripts/package-build/linux-kernel/build-kernel.sh +++ b/scripts/package-build/linux-kernel/build-kernel.sh @@ -22,8 +22,13 @@ if [ -d /usr/lib/ccache/ ]; then export PATH=/usr/lib/ccache:$PATH fi +if [ -z "${KERNEL_FLAVOR}" ]; then + echo "E: KERNEL_FLAVOR is not set, run via ./build.py so it can be passed from data/defaults.toml" + exit 1 +fi + KERNEL_VERSION=$(make kernelversion) -KERNEL_SUFFIX=-$(awk -F "= " '/kernel_flavor/ {print $2}' ../../../../data/defaults.toml | tr -d \") +KERNEL_SUFFIX=-${KERNEL_FLAVOR} echo "I: Generate Kernel config" ARCH=$(dpkg --print-architecture) diff --git a/scripts/package-build/linux-kernel/build.py b/scripts/package-build/linux-kernel/build.py index f2cc9145..46a6a2ba 100755 --- a/scripts/package-build/linux-kernel/build.py +++ b/scripts/package-build/linux-kernel/build.py @@ -137,7 +137,7 @@ def build_package(package: dict, dependencies: list, # Execute the build command if package['build_cmd'] == 'build_kernel': - source_dir = build_kernel(package['kernel_version']) + source_dir = build_kernel(package['kernel_version'], package['kernel_flavor']) if linux_kernel_tarball is not None: linux_kernel_tarball.clear() linux_kernel_tarball['package_name'] = package['name'] @@ -191,7 +191,7 @@ def merge_dicts(defaults, package): return {**defaults, **package} -def build_kernel(kernel_version) -> str: +def build_kernel(kernel_version, kernel_flavor) -> str: """Build the Linux kernel""" source_dir = 'linux' # Git source repo name - preferred over TAR if not os.path.exists(source_dir): @@ -205,7 +205,9 @@ def build_kernel(kernel_version) -> str: source_dir = f'linux-{kernel_version}' os.symlink(source_dir, 'linux') - run(['./build-kernel.sh'], check=True) + # kernel_flavor is only known here (merged from data/defaults.toml); pass it down + # via the environment so build-kernel.sh doesn't need to re-read defaults.toml itself. + run(['./build-kernel.sh'], check=True, env={**os.environ, 'KERNEL_FLAVOR': kernel_flavor}) return(source_dir) |
