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…

rust: la guarda del stage0 gritaba de más — `\\.` en un string TOML de comillas simples es literal

El configure abortó con «stage0 NO es 1.97.0: rustc 1.97.0» — o sea, la guarda rechazando
exactamente la versión que exige. La causa: en un string multilínea con comillas SIMPLES, TOML no
procesa escapes, así que `grep -q '1\\.97\\.0'` busca una barra invertida literal y nunca casa.
Va `'1[.]97[.]0'`, que no depende de cómo el formato trate las barras.

Un guardián que falla sobre lo que debería aceptar es tan inútil como uno que nunca falla — pero al
menos éste falló RUIDOSAMENTE y en el primer minuto, no tres horas después.

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

5c83e906e63f5f937236272f01e941da93738d0d · por Sergio · (hace 1 mes) · padre 026eb4467 · ver el árbol en este commit

Delta semántico

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

1 archivos · +1 −1

diff --git a/recipes/rust.toml b/recipes/rust.toml
index 609a2ad3..6d3ca125 100644
--- a/recipes/rust.toml
+++ b/recipes/rust.toml
@@ -76,7 +76,7 @@ cp bootstrap.toml config.toml
 # La versión del stage0 se COMPRUEBA, no se asume: `local-rebuild` sólo es correcto si el compilador
 # de arranque es exactamente esta versión, y si alguien mueve el pin de `rust-toolchain-bin` esto
 # tiene que fallar acá y no tres horas después.
-rustc --version | grep -q '1\\.97\\.0' || { echo "stage0 NO es 1.97.0: $(rustc --version)" >&2; exit 1; }
+rustc --version | grep -q '1[.]97[.]0' || { echo "stage0 NO es 1.97.0: $(rustc --version)" >&2; exit 1; }
 llvm-config --version
 '''
 compile = "python3 x.py build --stage 2"