tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1373Shell 116Rust 74Markdown 641915 Definiciones

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.

141eb9afd7ecacc178332b2f439a9cfeb68bb55c · por Sergio · (hace 1 mes) · padre fee383ff6 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +15 −0

diff --git a/recipes/firefox.toml b/recipes/firefox.toml
index 216af9f3..04066bcb 100644
--- a/recipes/firefox.toml
+++ b/recipes/firefox.toml
@@ -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