From 7624035655b898c225b9bd5d09a3a70c2113b3c5 Mon Sep 17 00:00:00 2001 From: Mauro Rosero P Date: Sun, 1 Dec 2024 13:52:35 -0500 Subject: [PATCH] =?UTF-8?q?[IMPROVED]=20Distribuciones=20Linux=20soportada?= =?UTF-8?q?s:=20-=20Debian=20-=20Ubuntu=20-=20LinuxMint=20-=20Fedora=20-?= =?UTF-8?q?=20AlmaLinux=20-=20Arch=20-=20Rocky=20Linux=20-=20Fedora=20-=20?= =?UTF-8?q?Oracle=20Linux=20Idiomas=20soportados:=20-=20es=20(espa=C3=B1ol?= =?UTF-8?q?)=20Otros=20Sistemas=20Operativos=20soportados:=20-=20MacOS=20b?= =?UTF-8?q?ajo=20brew=20-=20FreeBSD=20Nuevas=20Funcionalidades:=20Bootstra?= =?UTF-8?q?p.sh=20-Intalaci=C3=B3n=20de=20python3=20y=20actualizaci=C3=B3n?= =?UTF-8?q?=20de=20OS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/bootstrap.sh | 96 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100755 bin/bootstrap.sh 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"