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:
+13
-2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user