mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-07-30 19:46:17 +00:00
Empirical finding: with the toolchain pin, locked deps, and --remap-path-prefix all in place, two host builds of libarti_android.so at the *same* path are byte-for-byte identical, but two builds at *different* paths still differ — not in any embedded string (no path leaks into the binary) but in the order rustc lays out functions/data, which it derives from the real on-disk artifact paths. --remap-path-prefix only rewrites embedded strings, not that internal ordering. So compile in a fixed location (/tmp/amethyst-arti-build, overridable via ARTI_REPRO_DIR) in both build-arti.sh and build-arti-host.sh. Any checkout then produces matching bytes, which is what lets F-Droid / a verifier build at the same canonical path and reproduce the shipped .so. This mirrors how Rust libraries are reproduced elsewhere (F-Droid builds Rust at a fixed path too). Corrects the README, which previously implied path remapping alone gave path-independent output. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JtjUcSjjpu4auFndw1QKeU