Skip to content

Fix host tool selection in armhf cross builds - #66

Draft
tzhengus wants to merge 4 commits into
RPi-Distro:pios/trixiefrom
tzhengus:codex/armhf-cross-build-host-tools
Draft

Fix host tool selection in armhf cross builds#66
tzhengus wants to merge 4 commits into
RPi-Distro:pios/trixiefrom
tzhengus:codex/armhf-cross-build-host-tools

Conversation

@tzhengus

Copy link
Copy Markdown
Contributor

What changed

Fix four host/target mismatches in the armhf cross-build path, as four focused commits:

  1. select esbuild:native because the build host executes esbuild;
  2. select rustfmt:native because source generation executes rustfmt;
  3. make Perfetto's run_binary.py prepend HOST_EXEC_WRAPPER when set;
  4. make dump_app_syms.py wrap the target dump_syms binary while leaving the later system strip command native.

Tracks #62.

Why

With dpkg-buildpackage -B --host-arch armhf -Pcross on an x86-64 Trixie builder, unqualified build-tool dependencies resolve to armhf and cannot be executed natively. Chromium 150 also has runners that execute generated armhf helpers without the cross-exe-wrapper path already used elsewhere in the Debian packaging.

These changes affect build dependencies and build-time process launching only; they do not change Chromium runtime behavior.

Validation

  • cross-profile dependency resolution was checked for esbuild and rustfmt;
  • both Python patches pass syntax checks;
  • command-level smoke tests confirm HOST_EXEC_WRAPPER is applied to the intended target binary;
  • the real armhf package build has progressed past the original esbuild, rustfmt, and Perfetto failures;
  • the complete package build, including the final Breakpad symbol action and .deb output, is still running.

This PR is intentionally a draft. I will add the final armhf package result before marking it ready. The four commits can be split into separate PRs if that is easier to review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant