ircu2/AUTO_FIX_DEPENDENCIES.md

5.5 KiB

AUTO-FIX: install.sh Acum Instalează Automat Dependențe

Feature: Auto-detection și fix automat al dependențelor
Data: 13 februarie 2026
Status: IMPLEMENTAT


🎯 Noua Comportare

Cand rulezi ./install.sh și lipsesc dependențe obligatorii, script-ul:

  1. Detectează ce lipsește (gcc, make, etc.)
  2. Oferă 3 opțiuni:
    • Instalare automată cu install-deps.sh (Recomandată)
    • ⚠️ Continuă pe propria răspundere
    • Anulare
  3. Dacă alegi opțiunea 1:
    • Rulează install-deps.sh automat
    • Instaleaza dependențele
    • Revenine și verifică din nou
    • Continuă instalarea

📋 Flux Nou

Înainte (Manual)

./install.sh
[EROARE] GCC/CC nu este instalat!
[EROARE] Lipsesc dependențe! Instalează-le și încearcă din nou.
# Tu trebuia să rulezi manual install-deps.sh

Acum (Automat)

./install.sh

# Detectează lipsuri
[INFO] Verificare dependențe...
[EROARE] GCC/CC nu este instalat!
[EROARE] Make nu este instalat!

═══════════════════════════════════════
LIPSESC DEPENDENȚE OBLIGATORII!
═══════════════════════════════════════
Dependențe lipsă:
  - build-essential (GCC/CC)
  - make

Opțiuni:
  1) Instalare automată cu install-deps.sh (recomandat)
  2) Instalare manuală (tu ești responsabil)
  3) Anulare

Alege opțiune [1-3]: 1

# Rulează automat install-deps.sh
[INFO] Lansare install-deps.sh...
═══════════════════════════════════════
  Instalare Dependențe Nefarious IRCd
═══════════════════════════════════════

Distribuzione detectată: ubuntu
[INFO] Instalare pachete pe Ubuntu/Debian...
# ... instalează dependențele ...
[SUCCES] Toate dependențele obligatorii sunt instalate!

# Revenire și verificare din nou
[SUCCES] Dependențe instalate cu succes!
[INFO] Relansare verificare dependențe...

# Continuă cu compilarea
[INFO] Configurare Nefarious IRCd...
# ... rest instalare ...

🎯 Opțiuni Disponibile

Opțiunea 1: Instalare Automată (Recomandată)

✅ Script-ul face totul
✅ Auto-detect OS
✅ Instaleaza autoconf, automake, libtool, gcc, make, ssl-dev
✅ Revine și continuă instalare
✅ Zero manual input după aceasta

Opțiunea 2: Manual

⚠️ Tu ești responsabil
⚠️ Script continua și sperează că vei instala dependențele
⚠️ Daca lipsesc, compilarea va eșua mai târziu

Opțiunea 3: Anulare

❌ Ieșire din script
❌ Tu instalezi manual dependențele
❌ Relansezi ./install.sh

📝 Exemplu Complet

ircd@stream05-radio-com-ro:~$ cd ircu2
ircd@stream05-radio-com-ro:~/ircu2$ git pull origin main
ircd@stream05-radio-com-ro:~/ircu2$ ./install.sh

[INFO] Verificare dependențe...
[SUCCES] Compilator C găsit
[SUCCES] Make găsit
[SUCCES] Autoconf găsit
[SUCCES] OpenSSL găsit

# Daca nu gaseste ceva:

[ERROR] GCC/CC nu este instalat!
[ERROR] Make nu este instalat!

═══════════════════════════════════════
LIPSESC DEPENDENȚE OBLIGATORII!
═══════════════════════════════════════
Dependențe lipsă:
  - build-essential (GCC/CC)
  - make

Opțiuni:
  1) Instalare automată cu install-deps.sh (recomandat)
  2) Instalare manuală (tu ești responsabil)
  3) Anulare

Alege opțiune [1-3]: 1

# ... install-deps.sh se execută ...
# ... dependențe se instalează ...
# ... script revine și continuă ...

[SUCCES] Dependențe instalate cu succes!
[INFO] Relansare verificare dependențe...
[SUCCES] Compilator C găsit
[SUCCES] Make găsit

[INFO] Configurare Nefarious IRCd...
# ... rest instalare ...

GATA! Server pornit pe localhost:6667

Avantaje

✅ Zero manual input dacă alegi opțiunea 1
✅ Auto-detect OS și dependențe
✅ Instalare completă fără interruption
✅ Script relansează de unde a rămas
✅ User-friendly (3 opțiuni simple)
✅ Siguranță (oferă control utilizatorului)

🔄 Flow Diagram

./install.sh
    ↓
Verificare dependențe
    ↓
Lipsesc dependențe? 
    ├─ NU → Continuă cu compilare
    └─ DA → Oferă 3 opțiuni
        ├─ Opțiunea 1 → Rulează install-deps.sh → Reverificare → Continuă
        ├─ Opțiunea 2 → Continuă (pe propria răspundere)
        └─ Opțiunea 3 → Anulare

📊 Fișiere Modificate

install.sh - Funcția check_dependencies() expandată cu:

  • Detectare mai detaliată a dependențelor
  • Meniu de opțiuni (1-2-3)
  • Lansare automată install-deps.sh
  • Reverificare după instalare
  • Relansare recursivă check_dependencies

🚀 Utilizare

# Pe server, pur și simplu:
cd ~/ircu2
./install.sh

# Alege opțiunea 1 dacă apare meniu
# Gata! Script-ul face totul automat

Status

✓ Auto-detection dependențe
✓ Meniu opțiuni (1-2-3)
✓ Auto-run install-deps.sh
✓ Relansare recursivă
✓ Continuare automată
✓ Push pe repository
✓ Production ready

📝 Commit

c41a771 - Modifica check_dependencies pentru a rula automat install-deps.sh și a relansa

Acum instalarea e cu adevărat automată! 🚀