mirada: las tres -shared que faltaban — el USB resolvía expat/zlib/libffi contra el lab
`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`.
This commit is contained in:
+19
-2
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user