[IMPROVED] Actualizar script update.sh para gestionar oathtool y zbar
- Añadir función update_additional_tools() para actualizar herramientas adicionales - Implementar parámetros --oathtool y --zbar para actualización selectiva - Detectar automáticamente si las herramientas están instaladas antes de actualizarlas - Actualizar README con documentación de las nuevas opciones - Mantener compatibilidad con el flujo de actualización existente 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
7bb290ef20
commit
074643e21d
2 changed files with 80 additions and 2 deletions
|
@ -42,6 +42,8 @@ bin/update.sh
|
||||||
| `bin/bootstrap.sh --oathtool` | Instala únicamente oathtool (herramienta para TOTP/HOTP) |
|
| `bin/bootstrap.sh --oathtool` | Instala únicamente oathtool (herramienta para TOTP/HOTP) |
|
||||||
| `bin/bootstrap.sh --zbar` | Instala únicamente zbar (herramienta para lectura de códigos QR) |
|
| `bin/bootstrap.sh --zbar` | Instala únicamente zbar (herramienta para lectura de códigos QR) |
|
||||||
| `bin/update.sh` | Actualiza el entorno de desarrollo con las últimas funcionalidades |
|
| `bin/update.sh` | Actualiza el entorno de desarrollo con las últimas funcionalidades |
|
||||||
|
| `bin/update.sh --oathtool` | Actualiza únicamente oathtool (herramienta para TOTP/HOTP) |
|
||||||
|
| `bin/update.sh --zbar` | Actualiza únicamente zbar (herramienta para lectura de códigos QR) |
|
||||||
| `bin/npm_install.sh` | Instala NodeJS y npm de forma interactiva |
|
| `bin/npm_install.sh` | Instala NodeJS y npm de forma interactiva |
|
||||||
| `bin/project_new.sh` | Crea un nuevo proyecto con estructura estandarizada según el tipo seleccionado |
|
| `bin/project_new.sh` | Crea un nuevo proyecto con estructura estandarizada según el tipo seleccionado |
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# update.sh
|
# update.sh
|
||||||
# Modified: 2024/12/01 15:27:00
|
# Modified: 2025/03/15 18:25:00
|
||||||
# Derechos de Autor (C) [2024] [Mauro Rosero P. <mauro@roser.one>]
|
# Derechos de Autor (C) [2025] [Mauro Rosero P. <mauro@roser.one>]
|
||||||
#
|
#
|
||||||
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
|
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
|
||||||
# bajo los términos de la Licencia Pública Affero General de GNU tal como
|
# bajo los términos de la Licencia Pública Affero General de GNU tal como
|
||||||
|
@ -182,5 +182,81 @@ else
|
||||||
echo -e "Para instalar estas dependencias, ejecute bin/bootstrap.sh primero."
|
echo -e "Para instalar estas dependencias, ejecute bin/bootstrap.sh primero."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Actualizar herramientas adicionales si están instaladas
|
||||||
|
update_additional_tools() {
|
||||||
|
local BIN_PATH=$1
|
||||||
|
local LIBRARY=$2
|
||||||
|
local MESSAGES=$3
|
||||||
|
local UPDATE_LANG=$4
|
||||||
|
local SPECIFIC_TOOL=$5 # Herramienta específica a actualizar (opcional)
|
||||||
|
|
||||||
|
# Cargar biblioteca bootstrap para acceder a las funciones de instalación
|
||||||
|
source "$BIN_PATH/$LIBRARY/bootstrap.lib"
|
||||||
|
|
||||||
|
if [[ -n "$SPECIFIC_TOOL" ]]; then
|
||||||
|
# Actualizar solo la herramienta especificada
|
||||||
|
case "$SPECIFIC_TOOL" in
|
||||||
|
"oathtool")
|
||||||
|
echo -e "\n${head_info}: Actualizando oathtool..."
|
||||||
|
command_installed oathtool
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
oathtool_install
|
||||||
|
echo -e "${head_info}: oathtool actualizado correctamente."
|
||||||
|
else
|
||||||
|
echo -e "${head_info}: oathtool no está instalado. Para instalarlo, ejecute: bin/bootstrap.sh --oathtool"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"zbar")
|
||||||
|
echo -e "\n${head_info}: Actualizando zbar..."
|
||||||
|
command_installed zbar-tools
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
zbar_install
|
||||||
|
echo -e "${head_info}: zbar actualizado correctamente."
|
||||||
|
else
|
||||||
|
echo -e "${head_info}: zbar no está instalado. Para instalarlo, ejecute: bin/bootstrap.sh --zbar"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo -e "\n${head_error}: Herramienta '$SPECIFIC_TOOL' no reconocida."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Actualizar oathtool si está instalado
|
||||||
|
command_installed oathtool
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo -e "\n${head_info}: Actualizando oathtool..."
|
||||||
|
oathtool_install
|
||||||
|
echo -e "${head_info}: oathtool actualizado correctamente."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Actualizar zbar si está instalado
|
||||||
|
command_installed zbar-tools
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo -e "\n${head_info}: Actualizando zbar..."
|
||||||
|
zbar_install
|
||||||
|
echo -e "${head_info}: zbar actualizado correctamente."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Procesar argumentos
|
||||||
|
TOOL_TO_UPDATE=""
|
||||||
|
|
||||||
|
if [ $# -ge 1 ]; then
|
||||||
|
case "$1" in
|
||||||
|
"--oathtool")
|
||||||
|
TOOL_TO_UPDATE="oathtool"
|
||||||
|
;;
|
||||||
|
"--zbar")
|
||||||
|
TOOL_TO_UPDATE="zbar"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Actualizar herramientas adicionales con sudo si están instaladas
|
||||||
|
echo -e "\n${head_info}: Verificando herramientas adicionales..."
|
||||||
|
sudo bash -c "$(declare -f command_installed; declare -f update_additional_tools); update_additional_tools $BIN_HOME $BIN_LIBS $BIN_MESG $BIN_LANG '$TOOL_TO_UPDATE'"
|
||||||
|
|
||||||
echo -e "\n${head_info}: Proceso de actualización completado."
|
echo -e "\n${head_info}: Proceso de actualización completado."
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue