diff --git a/recipes/firefox.toml b/recipes/firefox.toml index 215db017..300c83b0 100644 --- a/recipes/firefox.toml +++ b/recipes/firefox.toml @@ -80,6 +80,19 @@ compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" flags = [] +# ══ `strip_debug`: SIN ESTO EL ARTEFACTO SERÍA INMANEJABLE ═════════════════════════════════════ +# Medido en el `nodejs` que acaba de sellar sin strip: su binario pesa **984 MB, de los cuales +# `.debug_info` son 497 MB y `.debug_line` otros 43** — más de la mitad del artefacto es información +# de depuración. Firefox es varias veces V8, así que sin strip su artefacto entraría en varios GB, y +# el store no es sólo disco: se sincroniza hub↔worker y se respalda. +# +# Es además el hallazgo del SDD 23: el 79% del contenido binario del store era `.debug_*`, y quitarlo +# hace que artefactos que no reproducían PASEN a reproducir, porque lo que difería eran las rutas del +# árbol de build embebidas en esas secciones. +# +# Entra en `hash_inputs` A PROPÓSITO (cambia el contenido del artefacto), y usa `zig objcopy`, que +# siempre está en el sandbox ⇒ no agrega una dep de build. +strip_debug = true [build.phases] configure = ''' diff --git a/recipes/nodejs.toml b/recipes/nodejs.toml index 658efa93..b79e824d 100644 --- a/recipes/nodejs.toml +++ b/recipes/nodejs.toml @@ -35,6 +35,11 @@ compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" flags = [] +# `strip_debug`: la primera vuelta selló SIN esto y el binario salió de **984 MB, con `.debug_info` +# de 497 MB y `.debug_line` de 43** — más de la mitad del artefacto era información de depuración, +# para una herramienta que nadie va a depurar. Entra en `hash_inputs` a propósito (cambia el +# contenido) y usa `zig objcopy`, que ya está en el sandbox. +strip_debug = true [build.phases] # ⚠ `SIMDJSON_IMPLEMENTATION_ICELAKE=0` — el simdjson que Node bundlea trae un kernel AVX-512 y