10 Commits

Author SHA1 Message Date
stornic56 c5f9158c5e fix: trap del --extract borraba la extraccion exitosa
Causa raiz (validacion end-to-end del usuario, paso 6 'Unexpected tarball
layout'): el trap 'rm -rf $DIRNAME' EXIT se registraba antes de tar y se
disparaba en TODA salida del proceso hijo, incluida la exitosa (exit 0) ->
la carpeta recien extraida se borraba -> el DEPS_SCRIPT de main.sh no la
encontraba -> error + exit 1. El intento del trap era limpiar extracciones
parciales en abort, pero un trap EXIT no distingue exito de aborto.

Fix (ataca la causa raiz): el trap se desarma en el camino de éxito
(trap - EXIT tras el tar) y se conserva para limpiar extracciones
parciales si el tar falla (if ! tar + error explícito + exit 1).

Extra: 'Moving $DIRNAME a $INSTALL_DIR' -> 'to' (residuo de español).

Verificado sin root con tarball FAKE (mismo layout): extract exitoso ->
exit=0 y la carpeta SOBREVIVE al exit (DEPS_SCRIPT existe); tarball
corrupto -> exit=1 y la carpeta parcial limpiada; bash -n OK.
2026-10-08 14:55:11 -05:00
stornic56 d3bae288f4 fix: contenido visible en ingles + cuadro del menu alineado
- Traduccion completa del contenido visible a ingles: doctor.sh (14 cadenas), menu.sh (MENU_OPTS, footer, error), uninstall.sh (9 cadenas), neo_apt.sh (2 cadenas), main.sh (2 cadenas), setup_ubuntu.sh (1 cadena), label [AVISO]->[WARNING] en common.sh
- Comentarios en español de los archivos nuevos a ingles (consistencia con el codebase)
- Cuadro del menu alineado: pad 36->38 (medicion exacta: bordes y header 48, opciones 46 — delta 2; todas las lineas del cuadro miden ahora 48)
- Verificado: medicion 10/10 lineas a 48, 0 espanol visible, bash -n en los 7 archivos, doctor en ingles TODO OK exit=0
2026-09-29 14:40:03 -05:00
stornic56 5c82b320fd feat: menu CLI minimalista (pure-bash, cero dependencias)
- core/menu.sh: show_menu() con navegacion ANSI pura (read -sn1 + clear via printf ANSI), flechas up/down + Enter, atajo numerico 1-5/0, q/ESC salir, guard EOF
- main.sh: menu como entrada por defecto (los flags --yes/--no-gpu la bypassan); despacho sin logica de negocio (MODE: full/neo/openvino + subcomandos doctor/uninstall)
- Control de flujo: MODE!=openvino salta NEO; MODE=neo finaliza tras NEO (sin abrir OpenVINO)
- Verificado: tecla 4 -> doctor completo, q/ESC/EOF -> salida limpia, opcion 2 sin root -> error de privilegios
2026-09-29 12:05:17 -05:00
stornic56 09de89f31e feat: subcomando uninstall
- core/uninstall.sh: run_uninstall() — confirmacion interactiva obligatoria (--yes la omite), rm -rf del symlink O directorio real + /opt/intel/openvino_2026.* (rm -rf no sigue symlinks), --purge-drivers opcional (dpkg -r de los 6 paquetes, best-effort con aviso)
- main.sh: dispatch en el mismo case que doctor (antes del root check); run_uninstall aplica su propio check de root
2026-09-29 11:12:24 -05:00
stornic56 d5930f2ec3 feat: logging a install.log
- Dual output en print_*: colores ANSI a stdout + texto plano a $LOG_FILE (default install.log, overridable)
- El log es auxiliar: append guardado (su fallo de escritura — p.ej. log root-owned + doctor sin root — no aborta la operacion)
- Verificado: doctor sin root escribe al log; 0 codigos ANSI en el log
2026-09-29 10:44:49 -05:00
stornic56 b042516ee9 feat: subcomando doctor (verificacion post-instalacion)
- core/doctor.sh: run_doctor_checks() — symlink estable, version.txt, clinfo, vainfo, grupos render/video; salida con print_*, exit code = numero de checks con fallo
- clinfo/vainfo con patron captura-then-parse (clinfo tiene salida enorme: grep -q SIGPIPE-mata la pipe y reportaba falso negativo bajo pipefail — verificado en sistema real con plataforma OpenCL detectada)
- main.sh: dispatch del subcomando ANTES del root check (el doctor es verificacion de usuario, sin root) — requiere el reorden routes/source antes de privilegios (resuelve la causa raiz de O2; el cambio cosmico echo->print_error queda para fase siguiente)
2026-09-28 23:55:20 -05:00
stornic56 79863de015 refactor: deps desde el tarball oficial (flujo doc oficial)
- Nuevo modo --extract en openvino_logic.sh: extrae el tarball con el trap de limpieza de extraccion parcial (O6 reubicado aqui)
- --install queda en politica replace + mv + symlink (la extraccion ya sucedio en --extract)
- main.sh reordena: download -> extract -> deps (del tarball, con validacion temprana del path install_dependencies/) -> install
- deps/ eliminado (357 lineas de fork): upstream incluye debian13+ubuntu26 nativamente; el script del tarball va siempre version-matched
2026-09-28 23:15:14 -05:00
stornic56 9a417bb195 refactor: DRY — bloque NEO compartido con variables de version
- core/neo_apt.sh: IGC_TAG/IGC_BUILD/NEO_VERSION/GMM_VERSION pinneadas, NEO_HASHES por nombre de paquete, neo_pkg_filename/neo_pkg_url, download_and_verify e install_neo_packages
- setup_debian.sh y setup_ubuntu.sh sourcean el bloque compartido; se eliminan los bloques duplicados (hashes, funcion y descargas)
- El proximo update de versiones cambia solo 3-4 lineas en core/neo_apt.sh
2026-09-28 22:58:55 -05:00
stornic56 9fa67d432c Update: OpenVINO 2026.4.0 + NEO 26.35.39758.10 + fixes de robustez y Mesa
- OpenVINO Runtime 2026.4.0.22959.99c81491cc3 (BASE_URL packages/2026.4)
- NEO 26.35.39758.10 + IGC 2.41.5+22716 (6 paquetes de produccion, sin dbgsym/-devel)
- Mesa >= 25.2 en Debian 13: mesa-libgallium sustituye mesa-va-drivers/mesa-vdpau-drivers (Rompe < 25.2.8-3)
- INSTALL_DIR derivado de la version (/opt/intel/openvino_2026.4.0) con politica replace y symlink estable
- rm -rf cubre symlink O directorio real en la limpieza previa
- deps/: set -euo pipefail + guard ${1:-} (sin abortos esporios)
- DRY flags/GPU: read -r con guard EOF, deteccion GPU sin SIGPIPE, trap EXIT en modulos, GPU_PRESENT como comparacion
- .gitignore: artefactos de instalacion fuera del repo
2026-09-28 22:41:41 -05:00
stornic56 088375348f upload 2026-04-29 17:41:37 -05:00