gioser

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 Sutichaykuna

§6.52: el driver de C queda entregado, y su control destapó un profile.d mudo

El envoltorio existe y está puesto: /usr/bin/cc y c++ sobre el seed-zig que ya estaba en el store,
más las tres banderas en profile.d. No mete nada nuevo en el corpus; volver a zig el compilador
oficial de la distro sigue siendo decisión de ADR.

Y el cuarto control —preguntar por la VARIABLE en una shell de login, no por el fichero— encontró que
en esta caja /etc/profile.d no lo leía nadie porque /etc/profile no existía: las banderas habrían
quedado presentes, con contenido y sin efecto, y el bash_completion.sh que ya estaba ahí llevaba
quién sabe cuánto igual de mudo.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

f126be86917211accd785861af0d22ce452aed9d · ruwaq Sergio · (1 killa ñawpaq) · tayta 41b21755b · kay commitpi sach'ata qhaway

Semántico sayk'uy

Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.

1 qillqakuna · +20 −10

diff --git a/docs/28-servidor-de-produccion.md b/docs/28-servidor-de-produccion.md
index a9198b7b..a157a946 100644
--- a/docs/28-servidor-de-produccion.md
+++ b/docs/28-servidor-de-produccion.md
@@ -3219,19 +3219,29 @@ Con eso, la cadena completa que nunca había compilado:
   3. y el estático de siempre ⇒ sigue enlazando
 ```
 
-#### Lo que falta es una DECISIÓN, no trabajo
+#### Entregado: `scripts/servidor/cc-por-zig.sh`
 
-`seed-zig` **no tiene receta en `recipes/`**: es un producto del bootstrap (SDD 11), como
-`stage1-rootfs`. Convertirlo en el `cc` del sistema es elegir el compilador de C de la distro, y eso
-se decide, no se hace de paso. Las opciones, honestas:
+El envoltorio existe y está puesto en la caja. **No mete nada nuevo en el corpus**: usa el `seed-zig`
+que YA está en el store —producto del bootstrap (SDD 11), como `stage1-rootfs`— y sólo lo envuelve en
+`/usr/bin/cc` y `/usr/bin/c++`, más las tres banderas en `/etc/profile.d/`. Volver a zig el
+compilador de C **oficial** de la distro es otra cosa —ahí sí haría falta receta y pin propios— y es
+decisión de ADR, no de un guion de puesta a punto.
 
-- **receta `zig` + `/usr/bin/cc`** — pinear el tarball de zig por sha256 y envolverlo. Da un driver de
-  C de verdad a cualquier caja takana, útil mucho más allá de Rust.
-- **dejarlo como está y documentar las tres banderas** — cero coste, y quien compile una proc-macro
-  tiene que saberlas.
+Es idempotente y sus cuatro controles preguntan por el HECHO:
 
-Mientras no se decida, **lo medido vale igual**: la capacidad existe y está probada; lo que no hay es
-el envoltorio.
+```
+  ✓ C: C en takana                                  ← compila y EJECUTA un hola mundo
+  ✓ rust: proc-macro: 42                            ← la macro enlaza, el que la usa corre
+  ✓ rust estático (sin banderas): estático ok       ← el remedio no rompió lo que funcionaba
+  ✓ entorno: una shell de login trae RUSTFLAGS puesto
+```
+
+Ese último control encontró algo de paso, y es la clase de cosa que este repo persigue: **en la caja
+`/etc/profile.d` no lo leía NADIE**, porque `/etc/profile` no existía. El fichero de las banderas
+habría quedado presente, con contenido y sin ningún efecto — y el `bash_completion.sh` que ya estaba
+ahí llevaba quién sabe cuánto igual de mudo. Se creó el `/etc/profile` con el bucle estándar. La
+caché de `zig cc` vive en `/work/zig-cache` (54 M) y **no** en la raíz de 5,9 G, por lo aprendido en
+§6.50 quinquies.
 
 ### 6.51 🔥 Me dejé afuera de la caja — 20 minutos caída, y tres causas encadenadas *(2026-09-17)*