firefox: vaciar el checksum de los 5 crates vendorizados que tocan los parches
Sexto muro: «error: the listed checksum of third_party/rust/zeitstempel/src/unix.rs has changed». Los crates de Rust vienen VENDORIZADOS en el tarball y cargo verifica el sha de CADA fichero contra .cargo-checksum.json; en cuanto un parche de musl toca uno, el build muere. Cargo no ofrece forma de recalcularlo, así que la salida —la misma del APKBUILD de Alpine— es vaciar la lista de ficheros del manifiesto dejando el checksum del paquete. Se hacen los CINCO de una (audio_thread_priority, cc, zeitstempel, wgpu-hal, alsa) y no sólo el que reportó el error: cargo los destapa de a uno, y buscarlos por prueba y error costaría cinco vueltas de configure de las que cada una tarda minutos. El bucle falla RUIDOSO si un crate no está, en vez de seguir en silencio: si upstream mueve uno, quiero enterarme acá y no tres capas más abajo.
This commit is contained in:
@@ -136,6 +136,21 @@ export MOZ_NOSPAM=1
|
||||
# `x86_64-alpine-linux-musl` — el rustc del sandbox es el de Alpine, no el del host (el del host es
|
||||
# `x86_64-unknown-linux-gnu` y usarlo produciría un cross-compile silencioso).
|
||||
export RUST_TARGET=x86_64-alpine-linux-musl
|
||||
|
||||
# ── LOS PARCHES ROMPEN EL CHECKSUM DE LOS CRATES VENDORIZADOS ─────────────────────────────────
|
||||
# `error: the listed checksum of third_party/rust/zeitstempel/src/unix.rs has changed`. Los crates
|
||||
# de Rust vienen VENDORIZADOS en el tarball y cargo verifica el sha de CADA fichero contra
|
||||
# `.cargo-checksum.json`; en cuanto un parche de musl toca uno, el build muere. Cargo no ofrece
|
||||
# ninguna forma de recalcularlo, así que la salida —la misma del APKBUILD de Alpine— es vaciar la
|
||||
# lista de ficheros del manifiesto, dejando el checksum del paquete.
|
||||
#
|
||||
# Son los CINCO crates que tocan los parches, no uno: el error los va destapando de a uno y buscarlos
|
||||
# por prueba y error costaría cinco vueltas de configure.
|
||||
for c in audio_thread_priority cc zeitstempel wgpu-hal alsa; do
|
||||
f="third_party/rust/$c/.cargo-checksum.json"
|
||||
[ -f "$f" ] || { echo "FALTA $f — ¿upstream movió el crate?" >&2; exit 1; }
|
||||
sed -i 's/\("files":{\)[^}]*/\1/' "$f"
|
||||
done
|
||||
cat > .mozconfig <<'MOZ'
|
||||
ac_add_options --prefix=/usr
|
||||
ac_add_options --enable-application=browser
|
||||
|
||||
Reference in New Issue
Block a user