firefox: RLBox ENCENDIDO — --without-wasm-sandboxed-libraries -> --with-wasi-sysroot

Cierra la unidad 3.b del SDD 26. El flag que se va apagaba la jaula wasm que
envuelve a los parsers de fuentes y medios (graphite, ogg, expat, woff2), o sea
el código que come entrada NO confiable de la red. Estaba apagado por una razón
honesta —«el SDK de WASI no está en ninguna cola»— que dejó de ser cierta hace
un commit: la cadena wasi-libc-headers -> wasi-compiler-rt -> wasi-libc ->
wasi-sdk sella entera.

El flag nuevo es LITERALMENTE el de Alpine, verificado hoy trayendo su mozconfig
de community/firefox: `--with-wasi-sysroot=/usr/share/wasi-sysroot`, que es la
misma ruta donde instala nuestro wasi-libc.

Las deps van las TRES y no es redundancia: en hammer las deps NO son
transitivas —el bwrap apila como overlay sólo lo que está escrito en la lista—
así que declarar sólo `wasi-sdk` no arrastraría al `wasi-libc` que necesita, y
ése es el peor fallo posible de esta cadena: el sysroot no existiría y el error
saldría horas después, hablando de un header de wasm sin nombrar a ninguna
receta. Alpine declara wasi-compiler-rt + wasi-sdk porque su wasi-sdk YA trae el
sysroot dentro; el nuestro está partido en cuatro, así que la lista es distinta
a propósito.

Esto re-hashea firefox: b3:352d7880 -> b3:dba8fbf9. Es un rebuild largo y va a
la máquina que corresponde, no a gioser (4c/7,6 G sin swap).
This commit is contained in:
Sergio
2026-09-06 01:32:05 +00:00
parent 85a393aff4
commit ff0b5567d6
5 changed files with 24 additions and 4 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

+24 -4
View File
@@ -42,9 +42,16 @@
# ══ LO DEMÁS QUE SE APAGA ══════════════════════════════════════════════════════════════════════
# --disable-jemalloc musl trae su propio allocator; jemalloc encima es la receta del
# cuelgue clásico de Firefox en Alpine.
# --without-wasm-sandboxed- exige el SDK de WASI, que no está en ninguna cola. Apaga el
# libraries sandbox wasm de algunas librerías de medios, no el sandbox del
# proceso de contenido.
# (YA NO --without-wasm- RLBox ENCENDIDO desde 2026-09-06 (SDD 26, unidad 3.b). El flag que
# sandboxed-libraries) estaba acá apagaba la jaula wasm que envuelve a los parsers de
# fuentes y medios —graphite, ogg, expat, woff2—, o sea justo el
# código que come entrada NO CONFIABLE de la red. Estaba apagado por
# una razón honesta y ya vencida: «el SDK de WASI no está en ninguna
# cola». Ahora sí está, y son cuatro recetas nuestras:
# wasi-libc-headers → wasi-compiler-rt → wasi-libc → wasi-sdk
# Se reemplaza por `--with-wasi-sysroot`, que es LITERALMENTE lo que
# pasa Alpine (verificado contra su mozconfig el 2026-09-06), a la
# misma ruta donde instala nuestro `wasi-libc`.
# --disable-crashreporter manda telemetría a Mozilla; además pide breakpad.
# --disable-updater la distro actualiza por hammer, no por un updater propio.
# --disable-tests no entran al artefacto.
@@ -230,7 +237,7 @@ ac_add_options --disable-debug-symbols
ac_add_options --disable-strip
ac_add_options --disable-install-strip
ac_add_options --disable-cargo-incremental
ac_add_options --without-wasm-sandboxed-libraries
ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
ac_add_options --enable-alsa
ac_add_options --enable-pulseaudio
ac_add_options --enable-dbus
@@ -363,4 +370,17 @@ build = [
"wayland", "wayland-protocols", "libxkbcommon", "mesa", "libdrm",
"dbus", "pipewire", "pulseaudio", "alsa-lib",
"libxml2-shared", "linux-headers",
# ── LA CADENA WASM DE RLBOX (SDD 26 §3.b) ──────────────────────────────────────────────────────
# Van las TRES, y no es redundancia: las deps de hammer NO son transitivas. En el `bwrap` sólo se
# apilan como overlay las que están escritas acá; declarar sólo `wasi-sdk` NO arrastra al
# `wasi-libc` que necesita, y el fallo sería el peor de los posibles — el sysroot no existiría y
# el error saldría a las horas, hablando de un header de wasm que no nombra a ninguna receta.
#
# wasi-libc el sysroot en sí (`/usr/share/wasi-sysroot`), que es lo que apunta el flag
# wasi-compiler-rt los builtins (`libclang_rt.builtins-wasm32.a`) SIN LOS CUALES NO ENLAZA
# nada a wasm; aterrizan en el resource dir del clang del lab
# wasi-sdk el `.cfg` de `/etc/clang22`, que hace el sysroot invisible para quien no
# pasa el flag. Con `--with-wasi-sysroot` explícito es cinturón Y tirantes:
# se declara igual porque es lo que hace Alpine y porque cuesta 28 K.
"wasi-libc", "wasi-compiler-rt", "wasi-sdk",
]