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>
Semantic delta
No definition changed: this change is text, documentation or data.
1 files · +24 −1
diff --git a/scripts/install-arje-as-init.sh b/scripts/install-arje-as-init.sh
index fbe0ba7..25314a0 100755
--- a/scripts/install-arje-as-init.sh
+++ b/scripts/install-arje-as-init.sh
@@ -59,8 +59,31 @@ if [ ! -e /sbin/init ] && [ ! -e /lib/systemd/systemd ] && [ ! -e /usr/lib/syste
[ "$ans" = "y" ] || exit 3
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"
-"$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
BIN_DIR="$REPO_DIR/target/$TARGET/release"
EX_DIR="$BIN_DIR/examples"