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 1373Shell 116Rust 74Markdown 641915 Sutichaykuna

fix(instalador): una herramienta que tiene alternativa se busca, no se exige

La resolucion de la herramienta que pone la etiqueta abortaba el guion entero si
no la encontraba. Pero esa herramienta es opcional desde el commit anterior: si
no esta, la etiqueta la escribe el propio binario del instalador, que viaja en
el mismo medio.

El resultado medido en una maquina que podia perfectamente adoptar: la
instalacion fallaba arriba de todo con «falta la herramienta», sin llegar nunca
al camino que si existia. No se habia roto nada, simplemente nadie podia usarlo.

El sintoma es benigno —se planta antes de tocar el disco— pero el diagnostico
que da es falso, y eso es lo que cuesta caro: manda a instalar una herramienta
que no hace falta.

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

18893cc64d5ebd5dc1fcb01269def700908cda0f · ruwaq sergio · (20 p'unchaw ñawpaq) · tayta f1e662831 · kay commitpi sach'ata qhaway

Semántico sayk'uy

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

1 qillqakuna · +6 −1

diff --git a/scripts/takana-install-partition.sh b/scripts/takana-install-partition.sh
index a65d4b91..ed510bb2 100755
--- a/scripts/takana-install-partition.sh
+++ b/scripts/takana-install-partition.sh
@@ -122,9 +122,14 @@ SFDISK=$(herramienta util-linux sbin/sfdisk sfdisk) || exit 1
 # `e2label` sólo hace falta para `--adopt`, que no formatea: ahí la etiqueta por la que el arranque
 # encuentra la raíz hay que ponerla a mano. Se resuelve acá arriba —con el resto— y sólo cuando se
 # pidió adoptar, para no exigir una herramienta que el camino normal no usa.
+# ⚠ **Sin `|| exit 1`, y eso es el punto.** `e2label` es OPCIONAL: cuando no está, la etiqueta la
+# escribe `takana fs-label`, que viaja en el mismo medio. Con el `|| exit 1` que tenía, el script se
+# moría acá arriba —antes de tocar nada, sí, pero también antes de llegar al plan B— y la
+# instalación entera fallaba con «falta e2label» sobre una máquina que podía perfectamente adoptar.
+# Medido en QEMU el 2026-10-02. Una herramienta con alternativa no se exige: se busca.
 E2LABEL=""
 if [ -n "$ADOPT" ]; then
-    E2LABEL=$(herramienta e2fsprogs sbin/e2label e2label) || exit 1
+    E2LABEL=$(herramienta e2fsprogs sbin/e2label e2label 2>/dev/null || true)
 fi
 # Releer la tabla es su propio problema: tras añadir una entrada, el kernel NO se entera solo y el
 # device nuevo no aparece. `partx -a` se lo dice; `blockdev --rereadpt` es el ioctl crudo, que falla