From aa68ac00f33d8039ecc0d867b67f2775ba0ef11a Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Wed, 16 Apr 2025 14:35:19 -0400 Subject: [PATCH 1/2] build-edk2: Deduplicate stuart build options Add common_build_opt/tpm_build_opt vars so that we don't have to repeat the verbose "BLD_*_..." options. --- build-edk2/Dockerfile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/build-edk2/Dockerfile b/build-edk2/Dockerfile index 27fe1b6..e843447 100644 --- a/build-edk2/Dockerfile +++ b/build-edk2/Dockerfile @@ -30,24 +30,28 @@ RUN . venv/bin/activate && pip install -r pip-requirements.txt --upgrade ENV toolchain=GCC5 RUN . venv/bin/activate && python BaseTools/Edk2ToolsBuild.py -t "${toolchain}" +# Build options. +ENV common_build_opt="BLD_*_NETWORK_HTTP_ENABLE=1" +ENV tpm_build_opt="BLD_*_TPM1_ENABLE=1 BLD_*_TPM2_ENABLE=1" + # Build AARCH64. ENV GCC5_AARCH64_PREFIX="/usr/bin/aarch64-linux-gnu-" ENV build_target=RELEASE -ENV stuart_opts="-c ArmVirtPkg/PlatformCI/QemuBuild.py -a AARCH64 Target=${build_target} TOOL_CHAIN_TAG=${toolchain} BLD_*_NETWORK_HTTP_ENABLE=1" +ENV stuart_opts="-c ArmVirtPkg/PlatformCI/QemuBuild.py -a AARCH64 Target=${build_target} TOOL_CHAIN_TAG=${toolchain} ${common_build_opt}" RUN . venv/bin/activate && stuart_setup ${stuart_opts} && stuart_update ${stuart_opts} && stuart_build ${stuart_opts} # Build RiscV. ENV GCC5_RISCV64_PREFIX="/opt/riscv/bin/riscv64-unknown-elf-" ENV build_target=RELEASE -ENV stuart_opts="-c OvmfPkg/PlatformCI/QemuBuild.py -a RISCV64 Target=${build_target} TOOL_CHAIN_TAG=${toolchain} BLD_*_NETWORK_HTTP_ENABLE=1" +ENV stuart_opts="-c OvmfPkg/PlatformCI/QemuBuild.py -a RISCV64 Target=${build_target} TOOL_CHAIN_TAG=${toolchain} ${common_build_opt}" RUN . venv/bin/activate && stuart_setup ${stuart_opts} && stuart_update ${stuart_opts} && stuart_build ${stuart_opts} # Build IA32. -ENV stuart_opts="-c OvmfPkg/PlatformCI/PlatformBuild.py -a IA32 Target=${build_target} TOOL_CHAIN_TAG=${toolchain} BLD_*_NETWORK_HTTP_ENABLE=1 BLD_*_TPM1_ENABLE=1 BLD_*_TPM2_ENABLE=1" +ENV stuart_opts="-c OvmfPkg/PlatformCI/PlatformBuild.py -a IA32 Target=${build_target} TOOL_CHAIN_TAG=${toolchain} ${common_build_opt} ${tpm_build_opt}" RUN . venv/bin/activate && stuart_setup ${stuart_opts} && stuart_update ${stuart_opts} && stuart_build ${stuart_opts} # Build X64. -ENV stuart_opts="-c OvmfPkg/PlatformCI/PlatformBuild.py -a X64 Target=${build_target} TOOL_CHAIN_TAG=${toolchain} BLD_*_NETWORK_HTTP_ENABLE=1 BLD_*_TPM1_ENABLE=1 BLD_*_TPM2_ENABLE=1" +ENV stuart_opts="-c OvmfPkg/PlatformCI/PlatformBuild.py -a X64 Target=${build_target} TOOL_CHAIN_TAG=${toolchain} ${common_build_opt} ${tpm_build_opt}" RUN . venv/bin/activate && stuart_setup ${stuart_opts} && stuart_update ${stuart_opts} && stuart_build ${stuart_opts} # Create the output bin dir. From 9fea6f7a61615a7001b693b4f7651e58706f75bb Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Wed, 16 Apr 2025 14:52:23 -0400 Subject: [PATCH 2/2] build-edk2: Enable the NETWORK_TLS build option This allows https requests to work. --- build-edk2/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-edk2/Dockerfile b/build-edk2/Dockerfile index e843447..4035d7a 100644 --- a/build-edk2/Dockerfile +++ b/build-edk2/Dockerfile @@ -31,7 +31,7 @@ ENV toolchain=GCC5 RUN . venv/bin/activate && python BaseTools/Edk2ToolsBuild.py -t "${toolchain}" # Build options. -ENV common_build_opt="BLD_*_NETWORK_HTTP_ENABLE=1" +ENV common_build_opt="BLD_*_NETWORK_HTTP_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1" ENV tpm_build_opt="BLD_*_TPM1_ENABLE=1 BLD_*_TPM2_ENABLE=1" # Build AARCH64.