Modifica check_dependencies pentru a rula automat install-deps.sh și a relansa daca lipsesc dependente

This commit is contained in:
mihaiitdata 2026-02-13 01:11:52 +02:00
parent c0608fa504
commit c41a7713c9
2 changed files with 73 additions and 5 deletions

View File

@ -1,4 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.14" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.14" project-jdk-type="Python SDK" />
</project>

View File

@ -86,11 +86,13 @@ check_dependencies() {
log_info "Verificare dependențe..."
local missing_deps=0
local missing_list=""
# Verifică compilatorul C
if ! command -v gcc &> /dev/null && ! command -v cc &> /dev/null; then
log_error "GCC/CC nu este instalat!"
missing_deps=1
missing_list="$missing_list\n - build-essential (GCC/CC)"
else
log_success "Compilator C găsit"
fi
@ -99,13 +101,15 @@ check_dependencies() {
if ! command -v make &> /dev/null; then
log_error "Make nu este instalat!"
missing_deps=1
missing_list="$missing_list\n - make"
else
log_success "Make găsit"
fi
# Verifică autoconf
# Verifică autoconf (opțional dar recomandat)
if ! command -v autoconf &> /dev/null; then
log_warn "Autoconf nu este instalat (optional)"
log_warn "Autoconf nu este instalat (opțional)"
# Nu e eroare critică, dar o notez
else
log_success "Autoconf găsit"
fi
@ -113,17 +117,78 @@ check_dependencies() {
# Verifică bibliotecile SSL
if command -v pkg-config &> /dev/null; then
if ! pkg-config --exists openssl; then
log_warn "OpenSSL dev nu este instalat (optional)"
log_warn "OpenSSL dev nu este instalat (opțional)"
else
log_success "OpenSSL găsit"
fi
fi
# Dacă lipsesc dependențe obligatorii, oferă opțiune pentru fix automat
if [ $missing_deps -eq 1 ]; then
log_error "Lipsesc dependențe! Instalează-le și încearcă din nou."
echo ""
echo -e "${ROSU}═══════════════════════════════════════${NC}"
echo -e "${ROSU}LIPSESC DEPENDENȚE OBLIGATORII!${NC}"
echo -e "${ROSU}═══════════════════════════════════════${NC}"
echo -e "${ROSU}Dependențe lipsă:${missing_list}${NC}"
echo ""
echo -e "${GALBEN}Opțiuni:${NC}"
echo " 1) Instalare automată cu install-deps.sh (recomandat)"
echo " 2) Instalare manuală (tu ești responsabil)"
echo " 3) Anulare"
echo ""
read -p "Alege opțiune [1-3]: " dep_choice
dep_choice=${dep_choice:-1}
case $dep_choice in
1)
echo ""
log_info "Lansare install-deps.sh..."
# Verifică dacă install-deps.sh există
if [ ! -x "./install-deps.sh" ]; then
log_error "install-deps.sh nu găsit sau nu are permisiuni!"
log_warn "Descarcă scriptul de pe repository"
return 1
fi
# Rulează install-deps.sh
./install-deps.sh
if [ $? -eq 0 ]; then
echo ""
log_success "Dependențe instalate cu succes!"
log_info "Relansare verificare dependențe..."
# Verificare din nou
check_dependencies
return $?
else
log_error "Instalare dependențe eșuată!"
return 1
fi
;;
2)
echo ""
log_warn "Continuă pe propria răspundere..."
log_warn "Dacă lipsesc dependențe, compilarea va eșua."
return 0
;;
3)
echo ""
log_error "Anulare instalare."
exit 1
;;
*)
log_error "Opțiune invalida!"
check_dependencies
return $?
;;
esac
fi
return 0
}