Isolate Linux cross-build dependencies.
This commit is contained in:
@@ -42,6 +42,11 @@ case "$target" in
|
|||||||
'/^Architectures:/d; /^Types: deb$/a Architectures: arm64' \
|
'/^Architectures:/d; /^Types: deb$/a Architectures: arm64' \
|
||||||
"$native_sources"
|
"$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
|
sudo dpkg --add-architecture amd64
|
||||||
{
|
{
|
||||||
printf '%s\n' \
|
printf '%s\n' \
|
||||||
|
|||||||
@@ -169,12 +169,23 @@ fn tagged_releases_are_built_and_packaged_with_rust_tools() {
|
|||||||
"libwebkit2gtk-4.1-dev:amd64",
|
"libwebkit2gtk-4.1-dev:amd64",
|
||||||
"gcc-x86-64-linux-gnu",
|
"gcc-x86-64-linux-gnu",
|
||||||
"Architectures: arm64",
|
"Architectures: arm64",
|
||||||
|
"remove -y mercurial python3-importlib-metadata python3-jwt",
|
||||||
] {
|
] {
|
||||||
assert!(
|
assert!(
|
||||||
linux_dependencies.contains(required),
|
linux_dependencies.contains(required),
|
||||||
"Linux dependency setup is missing {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 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();
|
let core_manifest = fs::read_to_string(workspace.join("crates/bds-core/Cargo.toml")).unwrap();
|
||||||
|
|||||||
Reference in New Issue
Block a user