#!/bin/bash

# Detener el script si ocurre algún error
set -e

echo "=========================================================="
echo " Iniciando instalación de Python 2.7 en Ubuntu 24.04"
echo " Basado en la guía de: repo.yosoyhendrix.com"
echo "=========================================================="

# 1. Verificar si se está ejecutando como root
if [ "$EUID" -ne 0 ]; then
  echo "❌ Por favor, ejecuta este script como root (usando sudo)."
  exit 1
fi

# 2. Actualizar el sistema
echo "--> Actualizando repositorios y paquetes del sistema..."
apt update && apt upgrade -y

# 3. Instalar dependencias necesarias
echo "--> Instalando dependencias de compilación..."
apt install -y build-essential zlib1g-dev checkinstall libncurses5-dev \
libncurses-dev libnss3-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev \
libc6-dev libbz2-dev libffi-dev libreadline-dev libdb-dev curl

# 4. Descargar el código fuente de Python 2.7.18
echo "--> Descargando código fuente de Python 2.7.18..."
cd /usr/src
# Usamos -O para asegurar el nombre del archivo
wget https://repo.yosoyhendrix.com/yosoyhendrix/Python-2.7/raw/main/Python-2.7.18.tgz -O Python-2.7.18.tgz

# 5. Descomprimir
echo "--> Descomprimiendo archivos..."
tar xzf Python-2.7.18.tgz
cd Python-2.7.18

# 6. Configurar y Compilar
echo "--> Configurando compilación (esto tomará unos minutos)..."
# Usamos la opción estándar recomendada en la guía para evitar conflictos
./configure --prefix=/usr/local/python2.7

echo "--> Compilando (make)..."
make

echo "--> Instalando (make install)..."
make install

# 7. Crear enlace simbólico para poder usar el comando 'python2.7' globalmente
echo "--> Creando enlace simbólico en /usr/local/bin/python2.7..."
if [ -L /usr/local/bin/python2.7 ]; then
    rm /usr/local/bin/python2.7
fi
ln -s /usr/local/python2.7/bin/python2.7 /usr/local/bin/python2.7

# 8. Verificar instalación de Python
echo "--> Verificación de versión de Python:"
python2.7 -V

# 9. Instalar PIP para Python 2.7
echo "--> Descargando e instalando pip..."
cd /usr/src
curl https://repo.yosoyhendrix.com/yosoyhendrix/Python-2.7/raw/main/get-pip.py -o get-pip.py

# Ejecutamos con el binario recién instalado
/usr/local/python2.7/bin/python2.7 get-pip.py

# Crear enlace simbólico para pip2.7
echo "--> Creando enlace simbólico para pip2.7..."
if [ -L /usr/local/bin/pip2.7 ]; then
    rm /usr/local/bin/pip2.7
fi
ln -s /usr/local/python2.7/bin/pip2.7 /usr/local/bin/pip2.7

# 10. Limpieza y Finalización
echo "=========================================================="
echo " ¡Instalación completada con éxito!"
echo "=========================================================="
echo "Versiones instaladas:"
python2.7 --version
pip2.7 --version
echo "=========================================================="