235 lines
5.5 KiB
Markdown
235 lines
5.5 KiB
Markdown
# ⚡ 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)
|
|
```bash
|
|
./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)
|
|
```bash
|
|
./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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
# 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ă!** 🚀
|
|
|