lab: musl-libintl — el rootfs traia los runtimes pero no `libintl.h`
Decision del usuario. La reconstruccion en la granja destapo que toda la zona
grafica del corpus muere en cadena con
/usr/include/glib-2.0/glib/gi18n-lib.h:25:10: fatal error: 'libintl.h' file not found
y con ella gdk-pixbuf, appstream, gjs, gdm, mutter, gnome-shell, wireplumber,
sway, swaybg, swaylock, xdg-desktop-portal... El header no estaba en NINGUNA de
las dos maquinas (labs identicos, mismo sha256), asi que no era divergencia de
worker: era el corpus.
En Alpine `libintl.h` NO lo trae musl-dev: lo trae `musl-libintl`, que es
justo lo que faltaba. Verificado: `checking for libintl.h... yes`, y glib,
python3, meson y el resto de la base ya sellan contra el lab nuevo.
El apk va contra EDGE, que es rodante, asi que lo que importa no es solo que
funcione sino que NO ARRASTRE: el lock del toolchain cambia en UNA linea
(+musl-libintl-1.2.6-r2), ni una version movida. La vez anterior un `apk add`
se llevo de propina ncurses 6.5→6.6 y readline 8.3.1→8.3.3.
Se eligio `musl-libintl` y no `gettext-dev` a proposito: el segundo mete `.pc`
que compiten con los del store en la resolucion de pkg-config, que es
exactamente como freetype autodetecto bzip2 y tumbo fontconfig con 27 recetas
detras. Este no trae ninguno.
`openssl-dev` sigue FUERA, respetando el veto de 6ab29b1: el host-tool del
kernel enlaza el openssl del corpus desde el overlay. python3 sigue sin `_ssl`
⇒ gjs/gdm/spidermonkey siguen cayendo por esa via, que es otro frente.
Coste asumido: el corpus se re-hashea otra vez.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xd5DComN9Nu47TBpYMBHBn
Semantic delta
No definition changed: this change is text, documentation or data.
2 files · +2 −1
diff --git a/docs/state/lab-toolchain.lock b/docs/state/lab-toolchain.lock
index 5cadec8a..13bc7096 100644
--- a/docs/state/lab-toolchain.lock
+++ b/docs/state/lab-toolchain.lock
@@ -81,6 +81,7 @@ mpc1-1.3.1-r1
mpfr4-4.2.2-r0
musl-1.2.6-r2
musl-dev-1.2.6-r2
+musl-libintl-1.2.6-r2
musl-utils-1.2.5-r23
ncurses-dev-6.6_p20260516-r0
ncurses-terminfo-base-6.6_p20260516-r0
diff --git a/scripts/bootstrap-devfs.sh b/scripts/bootstrap-devfs.sh
index 5e799677..2bef14aa 100755
--- a/scripts/bootstrap-devfs.sh
+++ b/scripts/bootstrap-devfs.sh
@@ -79,7 +79,7 @@ mkdir -p "$DEVFS" "$TOOLS" "$CACHE" "$WORK"
# `--from-scratch` recupera el camino viejo (minirootfs + apk). Es como se FABRICA una imagen nueva:
# ./scripts/bootstrap-devfs.sh --from-scratch && ./scripts/lab-image.sh --crear
# y después se pinea el sha nuevo acá abajo. Reconstruir el corpus es el precio de ese cambio.
-LAB_IMAGE_SHA256="${LAB_IMAGE_SHA256:-3c9c1ef3e88a3fea998e6a7ec036d7a573359f8d1c464565f9773a0f19aa1fff}"
+LAB_IMAGE_SHA256="${LAB_IMAGE_SHA256:-8ae9792aa66477457bf2f69287838fb68707964904a81e5f70d08feed9ec9ca2}"
if [[ $FROM_SCRATCH -eq 0 ]] && [[ ! -f "$ROOTFS/bin/busybox" ]]; then
log "rootfs: trayendo la imagen pineada del lab"