§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>
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +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)*