diff --git a/bin/bootstrap.sh b/bin/bootstrap.sh new file mode 100755 index 0000000..91ffadb --- /dev/null +++ b/bin/bootstrap.sh @@ -0,0 +1,96 @@ +#!/bin/bash +#bootstrap.sh +# +# Derechos de Autor (C) [2024] [Mauro Rosero P. ] +# +# 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 +# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia, +# o (a su elección) cualquier versión posterior. +# +# Este programa se distribuye con la esperanza de que sea útil, +# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de +# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la +# Licencia Pública Affero General de GNU para obtener más detalles. +# +# Debería haber recibido una copia de la Licencia Pública Affero General +# junto con este programa. Si no la recibió, consulte . + +DEVSPATH=developers +DEVSTEAM=odoo +BIN_HOME=$HOME/$DEVSPATH/$DEVSTEAM +BIN_MESG=bin/msg +BIN_LIBS=bin/lib +PYTHON_PACKAGE=python3 + +# CHECK SHELL LANGUAGE +BIN_LANG=${LANG:0:2} + +# LOAD BASE BASH LIBRARY +source $BIN_HOME/$BIN_LIBS/base.lib +#baselib_test + +load_bootstrap_msg() { + + local BIN_PATH=$1 + local MSG_PATH=$2 + local LANGUAGE=$3 + + # Load head messages + load_messages $BIN_PATH $MSG_PATH $LANGUAGE "head" + + # Load bootstrap messages + load_messages $BIN_PATH $MSG_PATH $LANGUAGE "bootstrap" + +} + +install() { + local BIN_PATH=$1 + local LIBRARY=$2 + local MESSAGES=$3 + local INSTALL_LANG=$4 + + # Load base bash library + source $BIN_PATH/$LIBRARY/base.lib + + + # Load bootstrap bash library + source $BIN_PATH/$LIBRARY/bootstrap.lib + + # Load bootstrap messages + load_bootstrap_msg $BIN_PATH $MESSAGES $INSTALL_LANG + + # Install or Update python from OS Packages + command_installed $PYTHON_PACKAGE + if [ $? -eq 0 ] + then + os_update + else + python3_install + fi + + # Verificar distribución y ejecutar la función correspondiente para instalar Ansible + #if [ -f /etc/debian_version ] || [ -f /etc/os-release ]; then + # install_ansible_debian + #elif [ -f /etc/redhat-release ]; then + # install_ansible_redhat + #elif [ "$(uname)" == "Darwin" ]; then + # install_ansible_macos + #elif [ -f /etc/arch-release ]; then + # install_ansible_arch + #elif [ -f /etc/rc.conf ]; then + # install_ansible_bsd + #else + # echo "${pymsg_014}" + # exit 1 + #fi +} + +# Load messages +load_bootstrap_msg $BIN_HOME $BIN_MESG $BIN_LANG + +# Display Headers +display_text_header $BIN_HOME "$bomsg_000 $head_000" + +# Run install with sudo +sudo bash -c "$(declare -f load_bootstrap_msg; declare -f install); install $BIN_HOME $BIN_LIBS $BIN_MESG $BIN_LANG"