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 Sutichaykuna

store-gc: `xargs -d` tampoco existe en busybox — el arreglo anterior imprimía «huérfanos ?»

El primer intento cambió `du --files0-from=-` (GNU) por `xargs -d '\n' du -sk`… y `-d` también es
extensión GNU. En la caja quedó «espacio: superados 0 · huérfanos ?». Va con `tr '\n' '\0' | xargs
-0`, que busybox sí tiene, y se probó la función suelta en las dos máquinas.

Lo que SÍ funcionó del intento anterior es el `?`: cuando el total no se puede calcular, la función
lo DICE en vez de imprimir 0. Un cero inventado habría dicho «no hay nada que ganar» justo cuando
había 150 huérfanos.

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

1ca210a311ecd2a8f8cd6db07b68853b34b27e99 · ruwaq Sergio · (1 killa ñawpaq) · tayta 4fe604620 · kay commitpi sach'ata qhaway

Semántico sayk'uy

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

1 qillqakuna · +5 −2

diff --git a/scripts/store-gc.sh b/scripts/store-gc.sh
index 5742441f..db3a64e1 100755
--- a/scripts/store-gc.sh
+++ b/scripts/store-gc.sh
@@ -159,10 +159,13 @@ espacio() {  # du sobre una lista de dirs, tolerante a lista vacía
   # ⚠ `du --files0-from=-` es de GNU coreutils y **busybox no lo tiene** (medido en la caja takana
   # el 2026-09-17): devolvía vacío, así que el gc anunciaba «espacio: superados  · huérfanos » y
   # nadie podía saber si valía la pena correrlo. Un número que falta se lee como un número chico.
-  # `xargs du -sk` anda en los dos mundos; el total lo suma awk, en KiB, y se imprime humano.
+  # `xargs -0 du -sk` anda en los dos mundos; el total lo suma awk, en KiB, y se imprime humano.
+  # ⚠ `xargs -d '\n'` NO sirve: `-d` también es extensión GNU y busybox la rechaza — el primer
+  # intento de este arreglo imprimió «huérfanos ?» en la caja. El `?` es a propósito: un total que
+  # no se pudo calcular se DICE, no se muestra como 0.
   [ -s "$1" ] || { echo "0"; return; }
   sed "s|^|$STORE/|" "$1" \
-    | xargs -d '\n' du -sk 2>/dev/null \
+    | tr '\n' '\0' | xargs -0 du -sk 2>/dev/null \
     | awk '{t+=$1} END {
         if (t=="") {print "?"; exit}
         if (t>1048576) printf "%.1fG\n", t/1048576;