From 92d47cfe1d7e9757bbd0e6efeb19fcc36c6d91b7 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sat, 5 Sep 2026 16:37:02 +0000 Subject: [PATCH] =?UTF-8?q?mirada:=20las=20tres=20`-shared`=20que=20faltab?= =?UTF-8?q?an=20=E2=80=94=20el=20USB=20resolv=C3=ADa=20expat/zlib/libffi?= =?UTF-8?q?=20contra=20el=20lab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `scripts/vigia-sonames.py` sobre los cinco perfiles: `escritorio-mirada` era el único que aún tenía la fuga al sysroot del lab en componentes de RUNTIME. `mesa-swrast` y `wayland` salen con `NEEDED libexpat.so.1`, `libz.so.1` y `libffi.so.8`; las recetas canónicas de expat, zlib y libffi son `--disable-shared`; ningún artefacto del cierre publicaba esos SONAME. O sea que el rootfs los resolvía contra el Alpine DEL LAB y el USB sólo arrancaba donde hubiera Alpine debajo — que es peor que una dep faltante, porque el lab no entra en `hash_inputs` y el store no puede ni notarlo. Es la misma fuga que los otros cuatro perfiles cerraron el 2026-09-03. mirada quedó fuera porque su lista nació como copia literal del PKGS de `mirada-usb.sh` y nadie la revisó desde entonces. La dirección hoy está invertida —el script deriva su PKGS de `targets.py escritorio-mirada`— así que arreglarlo acá arregla el USB, y no hay dos listas que puedan divergir. Actualicé el comentario, que seguía diciendo «lift verbatim». Las tres viven en `corpus`, la misma cola del perfil, y ya están selladas ⇒ CERO rebuilds: sólo entran a la clausura. NO sumo `bzip2-shared` ni `ncurses-shared`, que sí llevan los otros perfiles: acá esos sonames los pide únicamente `python3`, que es herramienta de build y no viaja en la imagen. El vigía imprime siempre QUIÉN pide cada soname justamente para poder separar eso; sin esa columna su informe no se puede triar y uno acaba tapando ruido. Verificado: mirada pasa de 10 sonames sin proveedor a 7, y los 7 que quedan son todos de `python3` y `perl`. --- docs/state/targets.toml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/state/targets.toml b/docs/state/targets.toml index 82e1f7d3..6d7491b3 100644 --- a/docs/state/targets.toml +++ b/docs/state/targets.toml @@ -42,9 +42,26 @@ paquetes = [ [perfil.escritorio-mirada] descripcion = "rootfs slim del USB mirada: compositor Wayland propio sobre mesa software" -# Lift verbatim de PKGS (scripts/mirada-usb.sh). NO hereda base: es una imagen slim a propósito. -# El ORDEN importa (libs primero, binarios mirada al final) y se preserva. +# NO hereda base: es una imagen slim a propósito. El ORDEN importa (libs primero, binarios mirada +# al final) y se preserva. `scripts/mirada-usb.sh` deriva su PKGS de acá (`targets.py +# escritorio-mirada`), así que esta lista ES la del USB — no una copia que pueda divergir. +# +# ── Las tres `-shared` (2026-09-05) ────────────────────────────────────────────────────────────── +# Cazadas por `scripts/vigia-sonames.py`: `mesa-swrast` y `wayland` salen con `NEEDED libexpat.so.1`, +# `libz.so.1` y `libffi.so.8`, y las recetas canónicas de expat/zlib/libffi son `--disable-shared`. +# Ningún artefacto del cierre publicaba esos SONAME ⇒ el rootfs los resolvía contra el sysroot Alpine +# DEL LAB y la imagen sólo arrancaba donde hubiera Alpine debajo. +# +# Es la MISMA fuga que los otros cuatro perfiles ya cerraron el 2026-09-03; mirada quedó fuera porque +# su lista nació como copia literal del script y nadie la revisó. Van de raíces —y no de `[deps]`— +# porque son data de RUNTIME: nadie las declara como dep de BUILD, así que la clausura no las alcanza +# por ninguna arista. Las tres viven en `corpus`, la misma cola, y ya están selladas ⇒ CERO rebuilds. +# +# NO se suman `bzip2-shared` ni `ncurses-shared`, que sí llevan los otros perfiles: acá esos sonames +# los pide sólo `python3`, que es HERRAMIENTA DE BUILD y no viaja en la imagen. Lo accionable del +# vigía es lo que pide un componente de runtime, y por eso imprime siempre quién pide cada cosa. paquetes = [ + "expat-shared", "zlib-shared", "libffi-shared", "mesa-swrast", "wayland", "libdrm", "seatd", "libinput", "libudev-zero", "libxkbcommon", "pixman", "linux-pam", "mtdev", "libevdev", "mirada-compositor", "mirada-greeter", "mirada-ctl",