diff --git a/misc/tools.func b/misc/tools.func index 5233c07c08..dd35c5c7fd 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -2940,9 +2940,16 @@ setup_mariadb() { # Resolve "latest" to actual version if [[ "$MARIADB_VERSION" == "latest" ]]; then if ! curl -fsI --max-time 10 http://mirror.mariadb.org/repo/ >/dev/null 2>&1; then - msg_warn "MariaDB mirror not reachable - trying cached package list fallback" - # Fallback: try to use a known stable version - MARIADB_VERSION="12.0" + msg_warn "MariaDB mirror not reachable - trying mariadb_repo_setup fallback" + # Try using official mariadb_repo_setup script as fallback + if curl -fsSL --max-time 15 https://r.mariadb.com/downloads/mariadb_repo_setup 2>/dev/null | bash -s -- --skip-verify >/dev/null 2>&1; then + msg_ok "MariaDB repository configured via mariadb_repo_setup" + # Extract version from configured repo + MARIADB_VERSION=$(grep -oP 'repo/\K[0-9]+\.[0-9]+\.[0-9]+' /etc/apt/sources.list.d/mariadb.list 2>/dev/null | head -n1 || echo "12.2") + else + msg_warn "mariadb_repo_setup failed - using hardcoded fallback version" + MARIADB_VERSION="12.2" + fi else MARIADB_VERSION=$(curl -fsSL --max-time 15 http://mirror.mariadb.org/repo/ 2>/dev/null | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+/' | @@ -2952,8 +2959,14 @@ setup_mariadb() { head -n1 || echo "") if [[ -z "$MARIADB_VERSION" ]]; then - msg_warn "Could not parse latest GA MariaDB version from mirror - using fallback" - MARIADB_VERSION="12.0" + msg_warn "Could not parse latest GA MariaDB version from mirror - trying mariadb_repo_setup" + if curl -fsSL --max-time 15 https://r.mariadb.com/downloads/mariadb_repo_setup 2>/dev/null | bash -s -- --skip-verify >/dev/null 2>&1; then + msg_ok "MariaDB repository configured via mariadb_repo_setup" + MARIADB_VERSION=$(grep -oP 'repo/\K[0-9]+\.[0-9]+\.[0-9]+' /etc/apt/sources.list.d/mariadb.list 2>/dev/null | head -n1 || echo "12.2") + else + msg_warn "mariadb_repo_setup failed - using hardcoded fallback version" + MARIADB_VERSION="12.2" + fi fi fi fi