fix: instalar-fuentes.sh fallaba en macOS por usar stat de GNU
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.
This commit is contained in:
@@ -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
|
- **MENOR** — características nuevas que no rompen lo anterior
|
||||||
- **PARCHE** — arreglos de errores
|
- **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
|
## [1.18.1] — 2026-08-08
|
||||||
### Corregido
|
### Corregido
|
||||||
|
|||||||
+13
-2
@@ -13,8 +13,14 @@
|
|||||||
# Fuente: paquetes npm oficiales de IBM servidos por unpkg — el mismo origen
|
# Fuente: paquetes npm oficiales de IBM servidos por unpkg — el mismo origen
|
||||||
# del que ya se descargan React y Babel durante la instalación.
|
# 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
|
# 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
|
set -uo pipefail
|
||||||
|
|
||||||
@@ -43,7 +49,12 @@ for url in $URLS; do
|
|||||||
printf " %-32s" "$archivo"
|
printf " %-32s" "$archivo"
|
||||||
# -w escribe el código HTTP para poder diagnosticar si algo va mal
|
# -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)
|
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
|
if [ "$codigo" = "200" ] && [ "$tam" -gt 10000 ]; then
|
||||||
echo "ok ($((tam/1024)) KB)"
|
echo "ok ($((tam/1024)) KB)"
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user