From 17c47013a12cbbc22f58eef15df6a99ef880239e Mon Sep 17 00:00:00 2001 From: trevorb Date: Mon, 21 Jul 2025 10:08:31 +1000 Subject: [PATCH] fix to allow upgrade of innodb to new pagesize as required by 12982 on install [SME: 13083] --- createlinks | 7 +++++++ .../actions/mysql-update-innodb-page-size | 21 +++++++++++++++++++ smeserver-mysql.spec | 5 ++++- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 root/etc/e-smith/events/actions/mysql-update-innodb-page-size diff --git a/createlinks b/createlinks index bb8928b..e343b4e 100755 --- a/createlinks +++ b/createlinks @@ -81,6 +81,13 @@ foreach (qw( templates2events("$_", $event); } +#-------------------------------------------------- +# actions for post-install event +#-------------------------------------------------- +$event = "post-install"; + +event_link("mysql-update-innodb-page-size", $event, "03"); + safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/mariadb"); safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/mysql.init"); safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/rsyslog"); diff --git a/root/etc/e-smith/events/actions/mysql-update-innodb-page-size b/root/etc/e-smith/events/actions/mysql-update-innodb-page-size new file mode 100644 index 0000000..5780b84 --- /dev/null +++ b/root/etc/e-smith/events/actions/mysql-update-innodb-page-size @@ -0,0 +1,21 @@ +#!/bin/sh +event=$1 +# check event is defined or return +[[ -z "$event" ]] && exit 0 +# check we run as post-install event or return +[[ "$event" == "post-install" ]] || exit 0 +# check mariadb is not running or return +/usr/bin/systemctl is-active mariadb -q && exit 0 +# ONLY delete the mysql data dirictory if it is initial state +# we assume if only mysql, test, sys and performance_schema this is the case +validdirs="/var/lib/mysql/mysql/ /var/lib/mysql/performance_schema/ /var/lib/mysql/sys/ /var/lib/mysql/test/" +for dir in $(ls -d /var/lib/mysql/*/) ; do + [[ $(echo ${validdirs} | grep ${dir}) ]] || exit 0 +done + +# we should be safe to reset dir content +# we use find as glob will ignore dot starting filename +# rm -rf /var/lib/mysql/* +find /var/lib/mysql -mindepth 1 -maxdepth 1 -print0 | xargs -0 rm -rf +return 0 + diff --git a/smeserver-mysql.spec b/smeserver-mysql.spec index cc3763f..b8e8a2c 100644 --- a/smeserver-mysql.spec +++ b/smeserver-mysql.spec @@ -2,7 +2,7 @@ Summary: Koozali SME Server specific mysql configuration and templates. %define name smeserver-mysql Name: %{name} %define version 11.0.0 -%define release 17 +%define release 18 Version: %{version} Release: %{release}%{?dist} License: GPL @@ -81,6 +81,9 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root) %changelog +* Mon Jul 21 2025 Trevor Batley 11.0.0-18.sme +- add fix to allow upgrade of innodb to new pagesize as required by 12982 on install [SME: 13083] + * Thu Jun 05 2025 Jean-Philippe Pialasse 11.0.0-17.sme - fix conflict with MariaDB-server-compat [SME: 13024]