Update tools.func

This commit is contained in:
CanbiZ 2025-07-04 13:43:28 +02:00
parent d18f82a36e
commit 742f8dcb8f

View File

@ -235,14 +235,13 @@ setup_mariadb() {
DISTRO_CODENAME="$(awk -F= '/^VERSION_CODENAME=/{print $2}' /etc/os-release)" DISTRO_CODENAME="$(awk -F= '/^VERSION_CODENAME=/{print $2}' /etc/os-release)"
CURRENT_OS="$(awk -F= '/^ID=/{print $2}' /etc/os-release)" CURRENT_OS="$(awk -F= '/^ID=/{print $2}' /etc/os-release)"
msg_info "Preparing MariaDB $MARIADB_VERSION"
if ! curl -fsI http://mirror.mariadb.org/repo/ >/dev/null; then if ! curl -fsI http://mirror.mariadb.org/repo/ >/dev/null; then
msg_error "MariaDB mirror not reachable" msg_error "MariaDB mirror not reachable"
return 1 return 1
fi fi
msg_ok "MariaDB mirror reachable"
msg_info "Setting up MariaDB $MARIADB_VERSION"
# grab dynamic latest LTS version
if [[ "$MARIADB_VERSION" == "latest" ]]; then if [[ "$MARIADB_VERSION" == "latest" ]]; then
MARIADB_VERSION=$(curl -fsSL http://mirror.mariadb.org/repo/ | MARIADB_VERSION=$(curl -fsSL http://mirror.mariadb.org/repo/ |
grep -Eo '[0-9]+\.[0-9]+\.[0-9]+/' | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+/' |
@ -251,10 +250,9 @@ setup_mariadb() {
sort -Vr | sort -Vr |
head -n1) head -n1)
if [[ -z "$MARIADB_VERSION" ]]; then if [[ -z "$MARIADB_VERSION" ]]; then
msg_error "Failed to detect latest MariaDB version" msg_error "Could not determine latest GA MariaDB version"
return 1 return 1
fi fi
msg_ok "Latest version is $MARIADB_VERSION"
fi fi
local CURRENT_VERSION="" local CURRENT_VERSION=""
@ -263,45 +261,32 @@ setup_mariadb() {
fi fi
if [[ "$CURRENT_VERSION" == "$MARIADB_VERSION" ]]; then if [[ "$CURRENT_VERSION" == "$MARIADB_VERSION" ]]; then
msg_info "MariaDB $MARIADB_VERSION already present, updating if needed" $STD msg_info "MariaDB $MARIADB_VERSION, upgrading"
$STD apt-get update $STD apt-get update
$STD apt-get install --only-upgrade -y mariadb-server mariadb-client $STD apt-get install --only-upgrade -y mariadb-server mariadb-client
msg_ok "MariaDB already up to date" $STD msg_ok "MariaDB upgraded to $MARIADB_VERSION"
return 0 return 0
fi fi
if [[ -n "$CURRENT_VERSION" ]]; then if [[ -n "$CURRENT_VERSION" ]]; then
msg_info "Removing MariaDB $CURRENT_VERSION" $STD msg_info "Upgrading MariaDB $CURRENT_VERSION to $MARIADB_VERSION"
systemctl stop mariadb >/dev/null 2>&1 || true $STD systemctl stop mariadb >/dev/null 2>&1 || true
$STD apt-get purge -y 'mariadb*' || true $STD apt-get purge -y 'mariadb*' || true
rm -f /etc/apt/sources.list.d/mariadb.list /etc/apt/trusted.gpg.d/mariadb.gpg rm -f /etc/apt/sources.list.d/mariadb.list /etc/apt/trusted.gpg.d/mariadb.gpg
else
$STD msg_info "Setup MariaDB $MARIADB_VERSION"
fi fi
if curl -fsSL "https://mariadb.org/mariadb_release_signing_key.asc" | curl -fsSL "https://mariadb.org/mariadb_release_signing_key.asc" |
gpg --dearmor -o /etc/apt/trusted.gpg.d/mariadb.gpg; then gpg --dearmor -o /etc/apt/trusted.gpg.d/mariadb.gpg
msg_ok "GPG key imported"
else
msg_error "Failed to import GPG key"
return 1
fi
echo "deb [signed-by=/etc/apt/trusted.gpg.d/mariadb.gpg] http://mirror.mariadb.org/repo/${MARIADB_VERSION}/${CURRENT_OS} ${DISTRO_CODENAME} main" \ echo "deb [signed-by=/etc/apt/trusted.gpg.d/mariadb.gpg] http://mirror.mariadb.org/repo/${MARIADB_VERSION}/${CURRENT_OS} ${DISTRO_CODENAME} main" \
>/etc/apt/sources.list.d/mariadb.list >/etc/apt/sources.list.d/mariadb.list
msg_ok "Repository configured"
if $STD apt-get update; then $STD apt-get update
msg_ok "APT index updated" $STD apt-get install -y mariadb-server mariadb-client
else
msg_error "APT update failed"
return 1
fi
if $STD apt-get install -y mariadb-server mariadb-client; then msg_ok "Setup MariaDB $MARIADB_VERSION"
msg_ok "MariaDB $MARIADB_VERSION installed"
else
msg_error "MariaDB installation failed"
return 1
fi
} }
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------