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 1457Shell 147Markdown 90Rust 853012 Definiciones

campana-deuda: PODA_FUENTES=1 — la campaña se poda sola, dentro del bucle

Las 71 recetas KDE de la cascada de kcoreaddons se muelen en ESTA máquina (sin worker de pago) y
`work/sources` vive en `/mnt/vvv`, que arrancó la campaña con 16 G libres. A ~300 MB de árbol por
receta, sin podar la campaña se come el disco antes de la onda 4 — y con el disco lleno git falla a
mitad y deja el índice a medias, que ya pasó.

La poda va DENTRO del bucle y no en un cron paralelo, que es el punto: ahí tenemos el lock Y
acabamos de terminar un build, así que no hay ningún bwrap usando un árbol. Correr
`poda-fuentes.sh` en paralelo sería el ADR 0012 en su forma más directa — su propio encabezado
avisa de que el mtime NO distingue «viejo» de «lento».

No cuesta nada: `fetch.rs` borra y re-extrae el árbol en CADA build, nunca lo reutiliza.
Default apagado (0), para no cambiarle el comportamiento al worker.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YGXe6mShYYw6V8ea1dQ13u

7448e106b898c4588abae585b174061688a5642d · por Sergio · (hace 1 mes) · padre 5b24d8b03 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +10 −0

diff --git a/scripts/farm/campana-deuda.sh b/scripts/farm/campana-deuda.sh
index 2de83c2f..0e43c2d1 100755
--- a/scripts/farm/campana-deuda.sh
+++ b/scripts/farm/campana-deuda.sh
@@ -88,6 +88,16 @@ for r in $DEUDA; do
   else
     fail=$((fail + 1)); falladas="$falladas $r"; echo "$(ts) [$i/$total] ✗ $r" | tee -a "$LOG"
   fi
+  # PODA_FUENTES=1 — borra el árbol de fuentes DENTRO del bucle, que es el único sitio donde es
+  # seguro: acá tenemos el lock Y acabamos de terminar un build, así que no hay ningún `bwrap`
+  # usando un árbol. Es lo contrario de correr `poda-fuentes.sh` en paralelo, que sería el ADR 0012
+  # en su forma más directa (su propio encabezado avisa que el mtime NO distingue «viejo» de «lento»).
+  # No cuesta nada: `fetch.rs` borra y re-extrae el árbol en CADA build, no lo reutiliza jamás.
+  # Nace en la cascada de kcoreaddons (2026-09-03), 71 recetas KDE en una máquina con 16 G libres:
+  # a ~300 MB de árbol por receta, sin esto la campaña se come el disco antes de la onda 4.
+  if [ "${PODA_FUENTES:-0}" = 1 ]; then
+    rm -rf "$HAMMER_DIR"/work/sources/* 2>/dev/null || true
+  fi
 done
 
 echo "$(ts) campaña-deuda fin: $ok selladas, $fail fallidas de $total" | tee -a "$LOG"