From e1589f1d6827cde80c88c1fa2b14cff9e1956afc Mon Sep 17 00:00:00 2001 From: pikaro Date: Sat, 8 Aug 2026 19:27:23 +0200 Subject: [PATCH] fix: instalar-fuentes.sh fallaba en macOS por usar stat de GNU MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Comprobaba el tamaño con 'stat -c%s'. macOS trae la versión BSD, que usa -f%z, así que el comando fallaba, caía en el '|| echo 0' y el script daba por fallida una descarga correcta: 'FALLÓ (HTTP 200, 0 bytes)'. El 200 decía que había ido bien; lo roto era la comprobación. Ahora usa wc -c, igual en los dos sistemas, y comprueba que el archivo exista. La cabecera ya no dice 'ejecutar en el nodo': si el dashboard puede vivir en una carpeta cualquiera, su instalador de fuentes también. --- CHANGELOG.md | 17 +++++++++++++++++ instalar-fuentes.sh | 15 +++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3015ba..51ffa8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,23 @@ y el versionado sigue [Versionado Semántico](https://semver.org/lang/es/): - **MENOR** — características nuevas que no rompen lo anterior - **PARCHE** — arreglos de errores +--- +## [1.18.2] — 2026-08-08 +### Corregido +- **`instalar-fuentes.sh` daba por fallidas descargas que habían ido bien, en + macOS.** Comprobaba el tamaño con `stat -c%s`, que es sintaxis GNU. macOS + trae la versión BSD de `stat`, que usa `-f%z`, así que el comando fallaba, + caía en el `|| echo 0` y el script informaba **«FALLÓ (HTTP 200, 0 bytes)»**. + El `HTTP 200` decía que la descarga había funcionado; lo roto era la + comprobación. + - El mensaje además engañaba: se lee como un problema de red o del servidor + de fuentes, y era una incompatibilidad de shell entre dos sistemas. + - Ahora usa `wc -c`, que se comporta igual en Linux y en macOS, y comprueba + antes que el archivo exista. + - La cabecera del script decía «Ejecutar EN EL NODO». Ya no: si el dashboard + puede vivir en una carpeta cualquiera, su instalador de fuentes tiene que + funcionar ahí también. + --- ## [1.18.1] — 2026-08-08 ### Corregido diff --git a/instalar-fuentes.sh b/instalar-fuentes.sh index eab2f5b..11af2e4 100755 --- a/instalar-fuentes.sh +++ b/instalar-fuentes.sh @@ -13,8 +13,14 @@ # Fuente: paquetes npm oficiales de IBM servidos por unpkg — el mismo origen # del que ya se descargan React y Babel durante la instalación. # -# Ejecutar EN EL NODO: +# Funciona igual en Linux (el nodo) y en macOS, por si quieres tener una copia +# del dashboard en tu propio ordenador. +# +# En el nodo: # chmod +x instalar-fuentes.sh && sudo ./instalar-fuentes.sh +# +# En otra carpeta cualquiera (sin sudo si es tuya): +# ./instalar-fuentes.sh ~/donde-sea/vendor/fonts # ───────────────────────────────────────────────────────────────────────────── set -uo pipefail @@ -43,7 +49,12 @@ for url in $URLS; do printf " %-32s" "$archivo" # -w escribe el código HTTP para poder diagnosticar si algo va mal codigo=$(curl -sSL -o "$archivo" -w "%{http_code}" "$url" 2>/dev/null) - tam=$(stat -c%s "$archivo" 2>/dev/null || echo 0) + # `wc -c` en vez de `stat`: stat -c%s es sintaxis GNU y macOS trae la versión + # BSD, que usa -f%z. En un Mac el stat fallaba, caía en el `|| echo 0` y el + # script daba por fallida una descarga que había ido bien — "FALLÓ (HTTP 200, + # 0 bytes)", que se lee como un problema de red y era una incompatibilidad de + # shell. `wc -c` se comporta igual en los dos sistemas. + if [ -f "$archivo" ]; then tam=$(wc -c < "$archivo" | tr -d ' '); else tam=0; fi if [ "$codigo" = "200" ] && [ "$tam" -gt 10000 ]; then echo "ok ($((tam/1024)) KB)" else