fix(scripts): install-arje no esconde el build — chequeo previo + salida visible
El `>/dev/null` del paso 1 ocultaba lo que pasaba: si faltaba un prerrequisito o el build moría, sólo se veía «paso 1/5» y el script salía silencioso. Cambios: - Paso 0 nuevo: chequeo de cargo / musl-gcc / busybox / cpio / gzip / rust target con mensajes accionables por distro (Fedora + Debian). - El build de cargo deja fluir su salida a la terminal — incluida la espera de 10-20 min la primera vez, así no parece un cuelgue. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -59,8 +59,31 @@ if [ ! -e /sbin/init ] && [ ! -e /lib/systemd/systemd ] && [ ! -e /usr/lib/syste
|
|||||||
[ "$ans" = "y" ] || exit 3
|
[ "$ans" = "y" ] || exit 3
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Chequeo de prerrequisitos antes de arrancar la compilación, así un
|
||||||
|
# fallo da un mensaje accionable en vez de irse silencioso a /dev/null.
|
||||||
|
echo "[install-arje] paso 0/5: chequeo de prerrequisitos"
|
||||||
|
missing=()
|
||||||
|
command -v cargo >/dev/null 2>&1 || missing+=("cargo (rustup: curl https://sh.rustup.rs -sSf | sh)")
|
||||||
|
command -v musl-gcc >/dev/null 2>&1 || missing+=("musl-gcc (Fedora: dnf install musl-gcc musl-libc-static · Debian: apt install musl-tools)")
|
||||||
|
command -v busybox >/dev/null 2>&1 || missing+=("busybox-static (Fedora: dnf install busybox · Debian: apt install busybox-static)")
|
||||||
|
command -v cpio >/dev/null 2>&1 || missing+=("cpio")
|
||||||
|
command -v gzip >/dev/null 2>&1 || missing+=("gzip")
|
||||||
|
if [ "${#missing[@]}" -gt 0 ]; then
|
||||||
|
echo "[install-arje] faltan prerrequisitos:" >&2
|
||||||
|
printf " - %s\n" "${missing[@]}" >&2
|
||||||
|
exit 6
|
||||||
|
fi
|
||||||
|
SYSROOT="$(rustc --print sysroot 2>/dev/null || true)"
|
||||||
|
if [ -z "$SYSROOT" ] || [ ! -d "$SYSROOT/lib/rustlib/$TARGET" ]; then
|
||||||
|
echo "[install-arje] falta el target Rust '$TARGET' (sysroot=$SYSROOT)" >&2
|
||||||
|
echo " Instalalo con: rustup target add $TARGET" >&2
|
||||||
|
exit 7
|
||||||
|
fi
|
||||||
|
|
||||||
echo "[install-arje] paso 1/5: compilar binarios musl-static"
|
echo "[install-arje] paso 1/5: compilar binarios musl-static"
|
||||||
"$SCRIPT_DIR/build-arje-initrd.sh" "$SEED" /tmp/arje-noop.cpio.gz >/dev/null
|
echo " (la PRIMERA vez tarda 10-20 minutos en una VPS de 4 GB; la salida"
|
||||||
|
echo " de cargo va a fluir directo a esta terminal — no es un cuelgue)"
|
||||||
|
"$SCRIPT_DIR/build-arje-initrd.sh" "$SEED" /tmp/arje-noop.cpio.gz
|
||||||
rm -f /tmp/arje-noop.cpio.gz
|
rm -f /tmp/arje-noop.cpio.gz
|
||||||
BIN_DIR="$REPO_DIR/target/$TARGET/release"
|
BIN_DIR="$REPO_DIR/target/$TARGET/release"
|
||||||
EX_DIR="$BIN_DIR/examples"
|
EX_DIR="$BIN_DIR/examples"
|
||||||
|
|||||||
Reference in New Issue
Block a user