#!/bin/bash # # Script pentru instalare dependențe lipsă pentru UnderChat IRCd # Limba: Română # # Culori VERDE='\033[0;32m' GALBEN='\033[1;33m' ALBASTRU='\033[0;34m' ROSU='\033[0;31m' NC='\033[0m' log_info() { echo -e "${ALBASTRU}[INFO]${NC} $1" } log_success() { echo -e "${VERDE}[SUCCES]${NC} $1" } log_error() { echo -e "${ROSU}[EROARE]${NC} $1" } log_warn() { echo -e "${GALBEN}[AVERTIZARE]${NC} $1" } echo -e "${ALBASTRU}" echo "═══════════════════════════════════════" echo " Instalare Dependențe UnderChat IRCd" echo "═══════════════════════════════════════" echo -e "${NC}" # Detectează distribuzione Linux if [ -f /etc/os-release ]; then . /etc/os-release OS=$ID else log_error "Nu pot detecta distribuzione Linux!" exit 1 fi log_info "Distribuzione detectată: $OS" # Instalare dependențe pe bază de distribuzione case $OS in ubuntu|debian) log_info "Instalare pachete pe Ubuntu/Debian..." sudo apt-get update sudo apt-get install -y \ build-essential \ gcc \ make \ autoconf \ automake \ libtool \ libssl-dev \ libcrypt-dev \ perl \ git \ curl \ wget ;; rhel|centos|fedora) log_info "Instalare pachete pe RHEL/CentOS/Fedora..." sudo yum install -y \ gcc \ make \ autoconf \ automake \ libtool \ openssl-devel \ libcrypt-devel \ perl \ git \ curl \ wget ;; alpine) log_info "Instalare pachete pe Alpine Linux..." sudo apk add --no-cache \ build-base \ gcc \ make \ autoconf \ automake \ libtool \ openssl-dev \ perl ;; *) log_error "Distribuzione $OS nu este suportată!" log_warn "Instalează manual: autoconf automake libtool build-essential openssl-dev" exit 1 ;; esac # Verificare instalări echo "" echo -e "${GALBEN}═══════════════════════════════════════${NC}" echo -e "${GALBEN}Verificare dependențe${NC}" echo -e "${GALBEN}═══════════════════════════════════════${NC}" MISSING=0 # Verifică gcc if command -v gcc &> /dev/null; then log_success "GCC instalat: $(gcc --version | head -1)" else log_error "GCC nu este instalat!" MISSING=1 fi # Verifică make if command -v make &> /dev/null; then log_success "Make instalat: $(make --version | head -1)" else log_error "Make nu este instalat!" MISSING=1 fi # Verifică autoconf if command -v autoconf &> /dev/null; then log_success "Autoconf instalat: $(autoconf --version | head -1)" else log_warn "Autoconf nu este instalat (optional)" fi # Verifică automake if command -v automake &> /dev/null; then log_success "Automake instalat: $(automake --version | head -1)" else log_warn "Automake nu este instalat (optional)" fi # Verifică libtool if command -v libtool &> /dev/null; then log_success "Libtool instalat: $(libtool --version | head -1)" else log_warn "Libtool nu este instalat (optional)" fi # Verifică OpenSSL if pkg-config --exists openssl 2>/dev/null; then log_success "OpenSSL instalat" else log_warn "OpenSSL development files nu sunt instalate" fi echo "" if [ $MISSING -eq 0 ]; then echo -e "${VERDE}═══════════════════════════════════════${NC}" echo -e "${VERDE}✓ Toate dependențele obligatorii sunt instalate!${NC}" echo -e "${VERDE}═══════════════════════════════════════${NC}" echo "" echo -e "${GALBEN}Pași următori:${NC}" echo " 1. cd ~/ircu2" echo " 2. ./install.sh" exit 0 else echo -e "${ROSU}═══════════════════════════════════════${NC}" echo -e "${ROSU}✗ Lipsesc dependențe obligatorii!${NC}" echo -e "${ROSU}═══════════════════════════════════════${NC}" exit 1 fi