Skip to content

Commit a307f90

Browse files
authored
tools.func: Bugfix old gpg key for mysql & little improvements (#4916)
1 parent d97ce71 commit a307f90

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

misc/tools.func

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -302,28 +302,34 @@ install_mysql() {
302302
msg_info "MySQL $CURRENT_VERSION found, replacing with $MYSQL_VERSION"
303303
NEED_INSTALL=true
304304
else
305-
msg_ok "MySQL $MYSQL_VERSION already installed"
305+
# Check for patch-level updates
306+
if apt list --upgradable 2>/dev/null | grep -q '^mysql-server/'; then
307+
msg_info "MySQL $CURRENT_VERSION available for upgrade"
308+
$STD apt-get update
309+
$STD apt-get install --only-upgrade -y mysql-server
310+
msg_ok "MySQL upgraded"
311+
fi
312+
return
306313
fi
307314
else
308-
msg_info "MySQL not found, installing version $MYSQL_VERSION"
315+
msg_info "Installing MySQL $MYSQL_VERSION"
309316
NEED_INSTALL=true
310317
fi
311318

312319
if [[ "$NEED_INSTALL" == true ]]; then
313-
msg_info "Removing conflicting MySQL packages"
314320
$STD systemctl stop mysql >/dev/null 2>&1 || true
315-
$STD apt-get purge -y 'mysql*'
321+
$STD apt-get purge -y "^mysql-server.*" "^mysql-client.*" "^mysql-common.*" || true
316322
rm -f /etc/apt/sources.list.d/mysql.list /etc/apt/trusted.gpg.d/mysql.gpg
317323

318-
msg_info "Setting up MySQL APT Repository"
324+
local DISTRO_CODENAME
319325
DISTRO_CODENAME="$(awk -F= '/VERSION_CODENAME/ { print $2 }' /etc/os-release)"
320-
curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | gpg --dearmor -o /etc/apt/trusted.gpg.d/mysql.gpg
326+
curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 | gpg --dearmor -o /etc/apt/trusted.gpg.d/mysql.gpg
321327
echo "deb [signed-by=/etc/apt/trusted.gpg.d/mysql.gpg] https://repo.mysql.com/apt/debian/ ${DISTRO_CODENAME} mysql-${MYSQL_VERSION}" \
322328
>/etc/apt/sources.list.d/mysql.list
323329

330+
export DEBIAN_FRONTEND=noninteractive
324331
$STD apt-get update
325332
$STD apt-get install -y mysql-server
326-
327333
msg_ok "Installed MySQL $MYSQL_VERSION"
328334
fi
329335
}

0 commit comments

Comments
 (0)