tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1572Shell 203Rust 109Markdown 993728 Definiciones

⎇ main tandas/needs-review-harkaq/README.md Markdown · 30 líneas · 2.3 KB Historia crudo

harkaq: mtdev — deuda de config.sub CERRADA con patch soberano (+ límite del modelo descubierto) a1ab8774c · sergio ·

1# Deuda que harkaq NO puede declarar sola — revisión humana
2
3De 83 recetas barridas, la deuda genuina se reduce a **3 casos**, ninguno "falta una receta grande".
4Todo lo demás era declarable (make/binutils/pkgconf…) o sondas de compilador de Alpine (gcc, cpp,
5ldd, c89, c99, getent — se deniegan y clasifican, D3). Los 3 que quedan, cada uno una historia:
6
7## ncurses — `fs.make_dir /usr/lib`  (NO es de-Alpinización)
8El `make install` de ncurses **escribe** en `/usr/lib`, no en `/out/usr/lib`. Es una escritura de
9estructura durante install, no la lectura de una lib de Alpine. Causa probable: la fase install no
10respeta `DESTDIR` para ese subárbol. **Acción:** revisar el `install` de la receta (¿pasa DESTDIR a
11todo?), no declarar nada. Conceder `/usr/lib` como `rw` sería tapar el síntoma y cegar la evidencia.
12
13## mtdev — config.sub de Alpine  ✅ CERRADO (2026-07-16), + gcc-compilador descubierto
14**config.sub: cerrado.** El `config.sub` de mtdev 1.1.6 no conoce `*-musl`, así que la receta copiaba
15el de Alpine (`/usr/share/autoconf/build-aux/`). Ahora se parchea el config.sub del propio tarball
16(`recipes/mtdev-config-sub-musl.patch`, +`-musl*` a la whitelist de OS, 11 líneas): input soberano,
17hasheado con la receta, sin tocar Alpine. Verificado: mtdev construye y no lee `/usr/share/autoconf`.
18
19**Descubierto al cerrarlo — mtdev tenía DOS deudas de Alpine:** también usa `compiler = "gcc"` (el gcc
20de Alpine, no zig). Bajo la jaula, la política deniega `/usr/bin/gcc` (sonda esperada) y el configure
21da `C compiler cannot create executables`. Es parte de la campaña **matar gcc** (kernel, cmake, mtdev),
22un frente aparte. Y revela un **límite del modelo de clasificación**: harkaq marca gcc como "sonda
23esperada" siempre, así que dice `Hermetico`, pero para una receta `compiler=gcc` el gcc es esencial y
24el build no compila sin él. harkaq no distingue "gcc sondeado (ignorable)" de "gcc = compilador".
25
26## perl — `/etc/hosts`, `/etc/resolv.conf`  (config de sistema para tests)
27Los tests de perl durante el build resuelven red y leen la config del sistema. No es un binario ni
28lib de Alpine: es config. El build **completa igual** (esos tests fallan o se saltan bajo la jaula).
29**Acción, una de:** (a) añadir `/etc/hosts`+`/etc/resolv.conf` al runtime base si se quiere que esos
30tests corran; (b) aceptar la denegación (benigna). No es de-Alpinización.

README.md

Deuda que harkaq NO puede declarar sola — revisión humana

De 83 recetas barridas, la deuda genuina se reduce a 3 casos, ninguno "falta una receta grande". Todo lo demás era declarable (make/binutils/pkgconf…) o sondas de compilador de Alpine (gcc, cpp, ldd, c89, c99, getent — se deniegan y clasifican, D3). Los 3 que quedan, cada uno una historia:

ncurses — fs.make_dir /usr/lib (NO es de-Alpinización)

El make install de ncurses escribe en /usr/lib, no en /out/usr/lib. Es una escritura de estructura durante install, no la lectura de una lib de Alpine. Causa probable: la fase install no respeta DESTDIR para ese subárbol. Acción: revisar el install de la receta (¿pasa DESTDIR a todo?), no declarar nada. Conceder /usr/lib como rw sería tapar el síntoma y cegar la evidencia.

mtdev — config.sub de Alpine ✅ CERRADO (2026-07-16), + gcc-compilador descubierto

config.sub: cerrado. El config.sub de mtdev 1.1.6 no conoce *-musl, así que la receta copiaba el de Alpine (/usr/share/autoconf/build-aux/). Ahora se parchea el config.sub del propio tarball (recipes/mtdev-config-sub-musl.patch, +-musl* a la whitelist de OS, 11 líneas): input soberano, hasheado con la receta, sin tocar Alpine. Verificado: mtdev construye y no lee /usr/share/autoconf.

Descubierto al cerrarlo — mtdev tenía DOS deudas de Alpine: también usa compiler = "gcc" (el gcc de Alpine, no zig). Bajo la jaula, la política deniega /usr/bin/gcc (sonda esperada) y el configure da C compiler cannot create executables. Es parte de la campaña matar gcc (kernel, cmake, mtdev), un frente aparte. Y revela un límite del modelo de clasificación: harkaq marca gcc como "sonda esperada" siempre, así que dice Hermetico, pero para una receta compiler=gcc el gcc es esencial y el build no compila sin él. harkaq no distingue "gcc sondeado (ignorable)" de "gcc = compilador".

perl — /etc/hosts, /etc/resolv.conf (config de sistema para tests)

Los tests de perl durante el build resuelven red y leen la config del sistema. No es un binario ni lib de Alpine: es config. El build completa igual (esos tests fallan o se saltan bajo la jaula). Acción, una de: (a) añadir /etc/hosts+/etc/resolv.conf al runtime base si se quiere que esos tests corran; (b) aceptar la denegación (benigna). No es de-Alpinización.