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 1411Shell 141Markdown 85Rust 842918 Definiciones

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).

ff0b5567d6cfb26bbba27139f901f43d2e934f23 · por Sergio · (hace 1 mes) · padre 85a393aff · ver el árbol en este commit

Delta semántico · 2

recipes/atuq/extension/inicio.js

recipes/atuq/extensions/inicio/inicio.js

8 archivos · +123 −103

diff --git a/recipes/atuq/extension/atuq128.png b/recipes/atuq/extension/atuq128.png
deleted file mode 100644
index b058a9d7..00000000
Binary files a/recipes/atuq/extension/atuq128.png and /dev/null differ
diff --git a/recipes/atuq/extension/inicio.html b/recipes/atuq/extensions/inicio/inicio.html
similarity index 100%
rename from recipes/atuq/extension/inicio.html
rename to recipes/atuq/extensions/inicio/inicio.html
diff --git a/recipes/atuq/extension/inicio.js b/recipes/atuq/extensions/inicio/inicio.js
similarity index 100%
rename from recipes/atuq/extension/inicio.js
rename to recipes/atuq/extensions/inicio/inicio.js
diff --git a/recipes/atuq/extension/manifest.json b/recipes/atuq/extensions/inicio/manifest.json
similarity index 100%
rename from recipes/atuq/extension/manifest.json
rename to recipes/atuq/extensions/inicio/manifest.json
diff --git a/recipes/firefox.toml b/recipes/firefox.toml
index 4d16baf5..c85157b5 100644
--- a/recipes/firefox.toml
+++ b/recipes/firefox.toml
@@ -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",
 ]