paso 2 verificado: se hidrata y se mira, no se declara

El criterio de terminado del paso 2 decía «y la imagen los lleva», y eso no se
comprueba declarando. Hidratación real con el orden del ensamblado (busybox
primero, el userland encima, como USERLAND_COMPONENTS): ningún binario de los
declarados lo sigue ganando busybox — grep, sed, find, xargs, diff, cmp, gzip,
zcat, xz, bc, dc, vi, cpio, killall, pstree, fuser y los de coreutils salen todos
del paquete que corresponde.

Y la prueba que faltaba: hidratar la xz canónica ENCIMA de xz-tools —el escenario
que motivó quitarle lib/ e include/ a la variante— deja liblzma.a de la canónica,
usr/bin/xz de la variante, y xz --version sigue contestando. Conviven, que es lo
que la receta afirmaba y ahora está medido en vez de razonado.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sergio
2026-09-22 02:56:43 +00:00
co-authored by Claude Opus 5
parent e5485d6505
commit c8fcd04945
+18
View File
@@ -1360,3 +1360,21 @@ Recortar otra vez ahora duplica ese trabajo para la granja.
**El siguiente recorte junta todo lo que ya está decidido y se hace UNA vez:** los 6 de kmod, los 3
de /dev, y los 6 alias internos de iproute2 (`ipaddr iplink ipneigh iproute iprule iptunnel`, que no
son comandos de nadie) — **15 applets, 277 → 262**, sin escribir una línea y sin reemplazar nada.
## El paso 2, verificado en una hidratación real (2026-09-22)
El criterio de terminado del paso 2 era «cuando `build-state.py` los marca con perfil **y la imagen
los lleva**». Lo segundo no se comprueba declarando: se hidrata y se mira. Hecho, con el orden real
del ensamblado —busybox primero, el userland encima, que es lo que hace `USERLAND_COMPONENTS`:
```
grep → grep find → find diff → diffutils xz → xz (xz-tools)
sed → sed xargs → xargs cmp → diffutils bc → bc dc → bc
gzip → gzip zcat → zcat vi → vim cpio → bsdcpio
killall/pstree/fuser → psmisc chmod/uname/id/stat/ls/cat → coreutils (uutils)
```
**Ningún binario de los declarados lo sigue ganando busybox.** Y la prueba que faltaba: hidratar la
`xz` canónica ENCIMA de `xz-tools` —el escenario que motivó quitarle `lib/` e `include/` a la
variante— deja `liblzma.a` de la canónica, `usr/bin/xz` de la variante, y `xz --version` sigue
contestando. **Conviven**, que es lo que la receta afirmaba y ahora está medido en vez de razonado.