Isolate Linux cross-build dependencies.

This commit is contained in:
Hermes Agent
2026-08-14 11:53:36 +00:00
parent 7fa37ddf6e
commit 87d2cc2a1f
2 changed files with 16 additions and 0 deletions

View File

@@ -42,6 +42,11 @@ case "$target" in
'/^Architectures:/d; /^Types: deb$/a Architectures: arm64' \
"$native_sources"
# The full runner image includes these Architecture: all Python tools.
# They are unrelated to the build, but make apt replace native Python
# while resolving foreign-architecture development packages.
sudo env DEBIAN_FRONTEND=noninteractive apt-get remove -y mercurial python3-importlib-metadata python3-jwt
sudo dpkg --add-architecture amd64
{
printf '%s\n' \

View File

@@ -169,12 +169,23 @@ fn tagged_releases_are_built_and_packaged_with_rust_tools() {
"libwebkit2gtk-4.1-dev:amd64",
"gcc-x86-64-linux-gnu",
"Architectures: arm64",
"remove -y mercurial python3-importlib-metadata python3-jwt",
] {
assert!(
linux_dependencies.contains(required),
"Linux dependency setup is missing {required}"
);
}
let cleanup = linux_dependencies
.find("remove -y mercurial python3-importlib-metadata python3-jwt")
.expect("runner Python cleanup");
let multiarch = linux_dependencies
.find("dpkg --add-architecture amd64")
.expect("amd64 architecture setup");
assert!(
cleanup < multiarch,
"runner-only Python packages must be removed before enabling multiarch"
);
let workspace_manifest = fs::read_to_string(workspace.join("Cargo.toml")).unwrap();
let core_manifest = fs::read_to_string(workspace.join("crates/bds-core/Cargo.toml")).unwrap();